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