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