Типовой механизм синхронизации данных между конфигурациями 1С:Зарплата и управление персоналом и 1С:Бухгалтерия предприятия (ред. 3.0) через формат EnterpriseData изначально спроектирован как двусторонний. На практике часто возникает потребность передавать данные строго в одном направлении: из ЗУП в БП. Если обратная передача не заблокирована, пользователи сталкиваются с тем, что документы прошлых периодов (например, ведомости на выплату зарплаты) регистрируются к выгрузке в БП, переносятся обратно в ЗУП и задваиваются, нарушая учет.
Разберем подробнее причины такого поведения и рассмотрим все доступные способы организации строго одностороннего обмена данными.
Выясним причину возникновения дублей при штатной синхронизации:
Проанализируем самый простой способ ограничения выгрузки документов из Бухгалтерии в ЗУП без изменения программного кода и правил обмена:
Администрирование — Синхронизация данных — Настройки синхронизации данных.Состав отправляемых данных или Настроить правила отправки данных.01.01.3000).Чтобы гарантировать сохранность данных в базе расчета зарплаты и исключить перезапись закрытых периодов со стороны БП, настроим дату запрета загрузки:
Администрирование — Синхронизация данных.Настроить.Если в очереди выгрузки БП уже накопились документы, которые не должны попасть в ЗУП, их необходимо принудительно удалить из плана обмена:
Ведомость в банк, Ведомость на счета, Ведомость в кассу и кассовые документы.Для полного исключения регистрации документов на уровне алгоритмов конфигурации БП настроим правила регистрации в конфигурации Конвертация данных 3.0 или переопределим логику регистрации через расширение конфигурации.
Посмотрим на пример кода в модуле менеджера или обработчике регистрации, который блокирует регистрацию документов зарплатного блока для узла обмена с ЗУП:
// Пример обработчика в правилах регистрации объектов (ПРО) для плана обмена
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыВБанк")
ИЛИ ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыВКассу")
ИЛИ ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыПеречислением") Тогда
Отказ = Истина;
КонецЕсли;
Установка параметра Отказ = Истина полностью блокирует запись изменений указанных объектов в таблицы плана обмена, делая исходящий поток документов из БП абсолютно пустым.
Разберем альтернативный вариант организации учета, при котором ведомости вообще не передаются между базами:
Отражение зарплаты в бухучете и Отражение удержанного НДФЛ в бухучете.Зарплата и кадры — Настройки зарплаты) убедимся, что переключатель Учет расчетов по зарплате и кадровый учет ведутся установлен в положение Во внешней программе.Комплексное применение указанных настроек позволяет добиться стабильного одностороннего обмена данными и исключить появление дублей в базе 1С:ЗУП.