Почему не переносятся контрагенты и лицевые счета из 1С:Бухгалтерии 3.0 в 1С:ЗУП 3.1 при синхронизации?

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

При настройке обмена между 1С:Бухгалтерия 3.0 (БП) и 1С:Зарплата и управление персоналом 3.1 (ЗУП) многие технические специалисты и бухгалтеры сталкиваются с неожиданным поведением системы: после включения синхронизации и успешной выгрузки данных справочник Контрагенты в ЗУП остается пустым. Даже принудительная регистрация объектов к обмену не дает результата — данные попросту не появляются в приемнике.

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

Разбор основной причины: Логика направления обмена

Первое и самое важное, что нам необходимо уяснить: типовая синхронизация между БП 3.0 и ЗУП 3.1 разработана в первую очередь для передачи результатов расчета заработной платы и отражения их в бухгалтерском учете. Это означает, что основной поток данных направлен из ЗУП в БП.

Рассмотрим подробнее, почему справочник Контрагенты не мигрирует из Бухгалтерии в Зарплату:

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

Решение 1: Использование Помощника начальной настройки

Если вы только начинаете работу в ЗУП 3.1 и вам необходимо перенести данные из уже работающей БП 3.0, не стоит пытаться сделать это через «Синхронизацию данных». Для этих целей существует специализированный механизм.

Выполним следующие шаги:

  1. При первом запуске программы 1С:Зарплата и управление персоналом 8 (ред. 3) выберите пункт «Перенести данные из программы 1С:Бухгалтерия 8, редакция 3.0».
  2. Если программа уже настроена, данный помощник можно найти в разделе Администрирование — Перенос данных.
  3. Этот механизм использует иные правила переноса, нежели постоянная синхронизация. Он позволяет перенести физических лиц, сотрудников, штатное расписание и, что немаловажно, данные для расчета среднего заработка.

Важный нюанс: Даже этот помощник может не перенести всех контрагентов. Он ориентирован на данные, необходимые для учета кадров и начислений.

Решение 2: Перенос лицевых счетов сотрудников

Часто пользователи ожидают, что лицевые счета сотрудников перенесутся вместе с контрагентами-банками. Однако в ЗУП 3.1 структура хранения этих данных принципиально отличается от старых версий или БП.

Проанализируем ситуацию: в ЗУП лицевые счета хранятся в регистре сведений Лицевые счета сотрудников по зарплатным проектам. Чтобы они появились, в системе должны быть созданы:

Если данные не перенеслись автоматически, мы рекомендуем воспользоваться функцией загрузки из файла:

  1. Перейдите в раздел Выплаты — Исполнение чартерных программ/Зарплатные проекты.
  2. Используйте кнопку «Ввод лицевых счетов».
  3. Многие банки предоставляют списки счетов в формате Excel. ЗУП 3.1 поддерживает загрузку из файлов такого типа, что гораздо быстрее, чем ручной ввод или попытка отладки сложного обмена.

Решение 3: Универсальный перенос данных через XML

В случаях, когда вам критически важно перенести конкретную группу контрагентов (например, налоговые комитеты или ГЦВП для Казахстана), и вы не хотите вводить их вручную, следует использовать обработку ВыгрузкаЗагрузкаДанныхXML.epf.

Рассмотрим алгоритм действий:

  1. Запустите обработку в базе-источнике (БП 3.0).
  2. Найдите в списке Справочник.Контрагенты.
  3. Обязательно настройте фильтр! Не выгружайте всех контрагентов. Выберите только те папки или конкретные элементы, которые имеют отношение к выплатам зарплаты и налогов.
  4. Сформируйте файл выгрузки.
  5. Запустите ту же обработку в базе-приемнике (ЗУП 3.1) и выполните загрузку.

Поскольку метаданные справочника Контрагенты в типовых конфигурациях 1С во многом идентичны, данные загрузятся напрямую, минуя логические фильтры EnterpriseData.

Работа с удержаниями в пользу третьих лиц

Выясним причину, по которой контрагенты могут быть недоступны для выбора в документах ЗУП даже после их создания. Чтобы в документах по удержаниям (например, Исполнительный лист) можно было выбрать контрагента-получателя, необходимо проверить настройки программы.

Выполним проверку:

  1. Зайдем в Настройка — Расчет зарплаты.
  2. Убедимся, что используются необходимые виды удержаний.
  3. В карточке удержания должен быть установлен флаг «Удержание производится в пользу третьих лиц».

Практический совет: Если вы создаете нового контрагента в ЗУП вручную, при следующей синхронизации он уйдет в БП. Чтобы избежать дублирования, система сопоставит его по ИНН и КПП. Таким образом, направление «ЗУП -> БП» для контрагентов работает гораздо стабильнее, чем обратное.

Технические подробности для разработчиков

Для тех, кто готов к доработке системы на уровне кода, стоит обратить внимание на объект МенеджерОбменаЧерезУниверсальныйФормат. В нем содержатся процедуры, отвечающие за сопоставление полей.

Пример логики, которую можно встретить в коде (условно):


Процедура ПР_ПринятьДанные_Справочник_Контрагенты(ДанныеИксДТиО, ЭлементСправочника)
    // Если направление обмена из БП в ЗУП, 
    // здесь часто стоит пустой код или возврат, 
    // что и блокирует загрузку.
КонецПроцедуры

Если вы используете расширения, вы можете переопределить логику обработки входящих данных, но помните, что это может привести к трудностям при последующих обновлениях конфигурации. Использование штатной обработки ВыгрузкаЗагрузкаДанныхXML для разового наполнения базы является более предпочтительным и безопасным методом.

Резюме

Подводя итог, можно сказать следующее: отсутствие миграции контрагентов из БП в ЗУП — это не ошибка, а осознанное ограничение разработчиков 1С.

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

← На главную