В конфигурации 1С:Зарплата и управление персоналом 3 предусмотрена функциональная опция Не использовать начисление зарплаты. При ее включении база переходит в чисто кадровый режим. Однако при попытке выстроить архитектуру с разделением на отдельную кадровую базу и расчетную базу специалисты сталкиваются с отсутствием типовых механизмов синхронизации формата «ЗУП — ЗУП». Разберем, какая методология заложена разработчиками в этот режим, почему нет готового обмена и какими способами можно организовать разделение кадровых и расчетных данных.
Проанализируем, для каких сценариев предназначена опция отключения начисления зарплаты. Включение этой настройки скрывает из пользовательского интерфейса все расчетные документы, регистры, правила расчета начислений, удержаний и налогов, а также снимает контроль обязательного заполнения зарплатных реквизитов в формах.
Основными сценариями использования такого режима являются:
Выясним причину, по которой фирма «1С» не реализовала готовый механизм синхронизации между двумя идентичными конфигурациями ЗУП. В редакции 3.0 и 3.1 архитектура учета кардинально отличается от редакции 2.5:
ПриемНаРаботу, КадровыйПеревод) совмещают в себе как кадровые реквизиты (подразделение, должность, график работы), так и расчетные (тарифная ставка, плановые начисления, аванс). Разделение этих данных на две разные базы разрывает логику проведения документов и нарушает ссылочную целостность.ОтражениеЗарплатыВБухучете), но не для синхронизации незавершенных оперативных кадровых документов с целью их последующего досчета в другой базе.Рассмотрим штатный подход, заложенный разработчиками платформы. Вместо физического разделения информационной базы на две части рекомендуется использовать единую базу данных с гибкой настройкой прав доступа и разделением зон ответственности.
Разберем по шагам, как реализуется этот сценарий:
Кадровик без прав на просмотр зарплатных данных и расчетных документов. При необходимости включается механизм ограничения доступа на уровне записей (RLS).Такой подход исключает рассинхронизацию справочников, устраняет дублирование ввода и сохраняет полную функциональность механизмов перерасчетов.
Если требования безопасности или распределенная структура филиалов категорически требуют физического разделения баз, обмен настраивается индивидуально с помощью конфигурации «1С:Конвертация данных».
При проектировании правил конвертации объектов соблюдаем следующие принципы:
ФизическиеЛица, Сотрудники, Подразделения, Должности и ШтатноеРасписание. Синхронизация выполняется по уникальным идентификаторам (GUID), СНИЛС или кодам.Рассмотрим современный программный вариант интеграции. В кадровой базе настраивается публикация событий через HTTP-сервисы или брокеры сообщений. При изменении кадрового статуса сотрудника формируется JSON-пакет, передаваемый в расчетную базу.
Посмотрим на пример программной обработки входящего кадрового события в HTTP-сервисе расчетной базы:
Функция ОбработатьКадровоеСобытие(ДанныеЗапроса)
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ДанныеЗапроса);
ДанныеСобытия = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
// Поиск физического лица по ключевому идентификатору (СНИЛС)
ФизЛицо = Справочники.ФизическиеЛица.НайтиПоРеквизиту("СтраховойНомерПФР", ДанныеСобытия.СНИЛС);
Если Не ЗначениеЗаполнено(ФизЛицо) Тогда
// Создание нового физического лица при отсутствии
ФизЛицоОбъект = Справочники.ФизическиеЛица.СоздатьЭлемент();
ФизЛицоОбъект.Наименование = ДанныеСобытия.ФИО;
ФизЛицоОбъект.СтраховойНомерПФР = ДанныеСобытия.СНИЛС;
ФизЛицоОбъект.Записать();
ФизЛицо = ФизЛицоОбъект.Ссылка;
КонецЕсли;
Возврат Новый HTTPСервисОтвет(200);
КонецФункции
Использование программных интерфейсов позволяет точно контролировать состав передаваемых реквизитов и гарантировать целостность данных в обеих системах.