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