Как настроить односторонний обмен между 1С:ЗУП 3 и 1С:Бухгалтерия предприятия 3 и избежать дублирования документов?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет IT и автоматизация бизнеса
← На главную

Типовой механизм синхронизации данных между конфигурациями 1С:Зарплата и управление персоналом и 1С:Бухгалтерия предприятия (ред. 3.0) через формат EnterpriseData изначально спроектирован как двусторонний. На практике часто возникает потребность передавать данные строго в одном направлении: из ЗУП в БП. Если обратная передача не заблокирована, пользователи сталкиваются с тем, что документы прошлых периодов (например, ведомости на выплату зарплаты) регистрируются к выгрузке в БП, переносятся обратно в ЗУП и задваиваются, нарушая учет.

Разберем подробнее причины такого поведения и рассмотрим все доступные способы организации строго одностороннего обмена данными.

Почему документы переносятся обратно в ЗУП и задваиваются

Выясним причину возникновения дублей при штатной синхронизации:

  1. Регистрация изменений в БП при проведении: когда выгруженная из ЗУП ведомость проводится в бухгалтерской базе или привязывается к банковской выписке/кассовому ордеру, конфигурация БП расценивает это как изменение объекта и автоматически ставит его в очередь на выгрузку в узел ЗУП.
  2. Сбой сопоставления объектов: если сопоставление по ключевым идентификаторам (GUID, номер, дата, организация) не зафиксировалось или документ был вручную перевыбран/отредактирован в БП, при обратной загрузке в ЗУП создается новый дублирующий документ вместо обновления существующего.
  3. Ручное создание документов в бухгалтерской базе: любой документ зарплатного блока, созданный непосредственно в БП, безусловно регистрируется к отправке в ЗУП.

Способ 1. Установка даты начала переноса документов в будущее (быстрый способ)

Проанализируем самый простой способ ограничения выгрузки документов из Бухгалтерии в ЗУП без изменения программного кода и правил обмена:

  1. Перейдем в базу 1С:Бухгалтерия предприятия в раздел Администрирование — Синхронизация данных — Настройки синхронизации данных.
  2. Откроем параметры подключения к 1С:ЗУП и перейдем по ссылке Состав отправляемых данных или Настроить правила отправки данных.
  3. В поле Дата начала использования (дата, начиная с которой документы отправляются в ЗУП) укажем заведомо недостижимую дату в далеком будущем (например, 01.01.3000).
  4. Сохраним настройки. В результате программа БП перестанет регистрировать и передавать любые документы в ЗУП, так как их даты всегда будут меньше установленной границы.

Способ 2. Установка даты запрета загрузки данных в ЗУП

Чтобы гарантировать сохранность данных в базе расчета зарплаты и исключить перезапись закрытых периодов со стороны БП, настроим дату запрета загрузки:

  1. Откроем 1С:ЗУП и перейдем в Администрирование — Синхронизация данных.
  2. Установим флаг Даты запрета загрузки данных и нажмем ссылку Настроить.
  3. Для узла информационной базы Бухгалтерии укажем актуальную дату запрета (например, конец прошлого месяца или текущую дату).
  4. При попытке загрузить пакет из БП программа ЗУП автоматически отклонит любые изменения документов, дата которых меньше установленного запрета.

Способ 3. Очистка очереди регистрации изменений в БП

Если в очереди выгрузки БП уже накопились документы, которые не должны попасть в ЗУП, их необходимо принудительно удалить из плана обмена:

  1. В базе 1С:Бухгалтерия откроем окно синхронизации данных и нажмем кнопку Состав отправляемых данных.
  2. Найдем в дереве объектов ветки документов: Ведомость в банк, Ведомость на счета, Ведомость в кассу и кассовые документы.
  3. Выделим соответствующие ветки и нажмем Отменить регистрацию для всех выбранных объектов.

Способ 4. Корректировка правил регистрации объектов (ПРО) через расширение

Для полного исключения регистрации документов на уровне алгоритмов конфигурации БП настроим правила регистрации в конфигурации Конвертация данных 3.0 или переопределим логику регистрации через расширение конфигурации.

Посмотрим на пример кода в модуле менеджера или обработчике регистрации, который блокирует регистрацию документов зарплатного блока для узла обмена с ЗУП:


// Пример обработчика в правилах регистрации объектов (ПРО) для плана обмена
Если ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыВБанк")
	ИЛИ ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыВКассу")
	ИЛИ ТипЗнч(Объект) = Тип("ДокументСсылка.ВедомостьНаВыплатуЗарплатыПеречислением") Тогда
	
	Отказ = Истина;
КонецЕсли;

Установка параметра Отказ = Истина полностью блокирует запись изменений указанных объектов в таблицы плана обмена, делая исходящий поток документов из БП абсолютно пустым.

Способ 5. Настройка сводного учета зарплаты в БП

Разберем альтернативный вариант организации учета, при котором ведомости вообще не передаются между базами:

  1. Если в бухгалтерском учете на счете 70 не требуется аналитика в разрезе каждого физического лица, переключим выгрузку в режим Сводно по сотрудникам.
  2. В этом сценарии из ЗУП в БП перегружается только документ Отражение зарплаты в бухучете и Отражение удержанного НДФЛ в бухучете.
  3. Ведомости на выплату зарплаты остаются исключительно в ЗУП, а фактическая выплата в БП отражается списанием с расчетного счета или РКО на общую сумму без привязки к зарплатным ведомостям.
  4. В настройках параметров учета БП (Зарплата и кадры — Настройки зарплаты) убедимся, что переключатель Учет расчетов по зарплате и кадровый учет ведутся установлен в положение Во внешней программе.

Комплексное применение указанных настроек позволяет добиться стабильного одностороннего обмена данными и исключить появление дублей в базе 1С:ЗУП.

← На главную