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