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

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

Синхронизация данных между конфигурациями «1С:Бухгалтерия предприятия 3.0» (БП) и «1С:Зарплата и управление персоналом 3.1» (ЗУП) — это сложный процесс, управляемый правилами Библиотеки стандартных подсистем (БСП). Часто пользователи и администраторы сталкиваются с ситуацией, когда объект (например, Подразделение) явно зарегистрирован для обмена вручную через обработку «Регистрация изменений объектов», но после выполнения синхронизации он так и не появляется в базе-приемнике. Разберем детально, почему это происходит и как обеспечить корректную передачу данных.

Анализ настроек регистрации изменений

Когда мы используем стандартную обработку «Регистрация изменений объектов для обмена», мы ожидаем, что выбранный элемент будет включен в следующий пакет выгрузки. Однако в интерфейсе регистрации существуют скрытые «Дополнительные настройки», которые могут блокировать выгрузку. Рассмотрим этот момент подробнее:

  1. Откроем окно регистрации изменений для узла обмена с ЗУП.
  2. Нажмем кнопку «Еще» и перейдем в «Дополнительные настройки».
  3. Проанализируем установленные флаги. Если включены опции, ограничивающие выгрузку только теми объектами, которые удовлетворяют общим правилам (фильтрам) обмена, то ручная регистрация может быть проигнорирована программным кодом формирования выгрузки. Для гарантированной передачи объекта рекомендуется временно снять ограничивающие флаги в этом меню.

Проверка фильтров по организациям и подразделениям

Проанализируем настройки самого узла плана обмена. В версии ПРОФ синхронизация обычно настраивается «По организациям». Это означает, что для каждого объекта система проверяет его «владельца».

Если справочник Подразделения имеет владельцем Организацию, которая не включена в состав обмена (в настройках синхронизации не стоит галочка напротив этой организации), то объект не будет выгружен, даже если он зарегистрирован вручную. В случае с обособленными подразделениями ситуация усложняется: система может проверять не только непосредственного владельца, но и признак головной организации. Убедимся, что структура подчиненности корректна и головная организация участвует в обмене.

Влияние признака «Использование миграции»

В современных релизах 1С, использующих механизмы Enterprise Data, существует скрытый механизм управления составом данных через регистры настроек. Посмотрим на параметр Использование миграции. Если в метаданных или в регистре сведений «Настройки транспортного каталога» (или аналогичных системных таблицах БСП) для справочника ПодразделенияОрганизаций установлено значение «Не установлено», система будет игнорировать любые изменения этого объекта.

Чтобы проверить это, воспользуемся интерфейсом «Функции для технического специалиста»:

  1. Найдем план обмена, через который осуществляется синхронизация (например, СинхронизацияДанныхЧерезУниверсальныйФормат).
  2. Проверим состав плана обмена. Справочник ПодразделенияОрганизаций должен быть включен в состав с включенной авторегистрацией или разрешенной ручной регистрацией.
  3. Если миграция отключена на уровне кода правил, объект не попадет в XML-файл (или JSON-пакет) обмена.

Специфика отображения новых данных в ЗУП

Иногда проблема кроется не в выгрузке, а в отображении данных в приемнике. Рассмотрим ситуацию со стороны 1С:Зарплата и управление персоналом. В справочнике Подразделения в ЗУП есть особенность: новые объекты, пришедшие из бухгалтерии, могут не отображаться в общем списке до тех пор, пока не будет установлена соответствующая настройка формы.

Выясним, как это проверить:

  1. Зайдем в ЗУП в справочник Подразделения.
  2. Найдем кнопку или флаг «Показывать новые» (в некоторых релизах это может быть скрыто в настройках списка или вызываться через «Еще — Настроить список»).
  3. Убедимся, что объект не попал в «Помеченные на удаление», так как при конфликтах сопоставления объект может быть создан и сразу помечен на удаление.

Программный перехват и отладка выгрузки

Если визуальные настройки не помогают, проанализируем ситуацию программно. Основная логика отсечения «лишних» объектов при обмене сосредоточена в модуле плана обмена или в специализированных обработках выгрузки. Для перехвата регистрации и анализа причин игнорирования объекта можно использовать следующие методы:

Разберем пример кода для поиска места фильтрации. В модуле плана обмена (или в подписках на события) нас интересует процедура ПриОтправкеДанныхПодчиненному. Именно здесь система решает, отправлять ли конкретный ЭлементДанных в пакет.


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

КонецПроцедуры

Также стоит обратить внимание на правила регистрации объектов (ПРО). Если вы используете обмен через «Универсальный формат», правила регистрации хранятся в самой конфигурации (или во внешнем файле). В них может быть жестко прописано условие: Выгружать только те подразделения, по которым есть движения в документах за текущий период. В этом случае ручная регистрация «пустого» подразделения (без связанных проводок в периоде обмена) будет сброшена системой автоматически.

Резюме и рекомендации

Для решения проблемы рекомендуем следующий алгоритм действий:

  1. Проверка периода: Убедитесь, что дата создания подразделения не попадает в закрытый период (дату запрета загрузки) в базе ЗУП.
  2. Сброс настроек регистрации: В окне «Регистрация изменений» снимите все галочки в «Дополнительных настройках», которые могут накладывать фильтры поверх вашей ручной регистрации.
  3. Сопоставление данных: Проверьте в ЗУП, нет ли уже подразделения с таким же кодом или наименованием. Возможно, объект выгрузился, но «склеился» с существующим элементом, и вы просто не видите изменений.
  4. Обновление правил: Если вы используете обмен через ED (Enterprise Data), проверьте актуальность версии формата. Иногда в релизах 3.0.111 наблюдались ошибки обработки флага ОбособленноеПодразделение, которые исправляются обновлением на более свежий патч или минорный релиз.

Следование этим шагам позволит выявить, на каком этапе (регистрация, формирование файла или загрузка) происходит потеря данных, и успешно завершить синхронизацию справочника подразделений.

← На главную