Как решить проблему сопоставления физических лиц при синхронизации между ЗУП 3.1 и БП 3.0?

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

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

Выясним причину: почему автоматическое сопоставление не срабатывает?

Для начала проанализируем ситуацию. Синхронизация в современных конфигурациях 1С строится на базе универсального формата EnterpriseData. Когда мы запускаем обмен, программа пытается найти соответствия объектов в двух базах. Существует несколько технических факторов, блокирующих этот процесс:

  1. Различия в формате данных. Система крайне чувствительна к написанию ИНН и СНИЛС. Наличие лишнего пробела, дефиса в номере СНИЛС или скрытых непечатных символов приводит к тому, что алгоритм считает записи разными.
  2. Особенности направления обмена. Важно понимать, что в типовом обмене ЗУП 3.1 — БП 3.0 справочник Физические лица является ведущим в ЗУП. По умолчанию данные передаются из зарплатной программы в бухгалтерию. Как отмечается в практике, физические лица из БП не переносятся в ЗУП «просто так» — они подтягиваются только в контексте документов (например, ведомостей на выплату зарплаты).
  3. Отсутствие регистрации объектов. В окне сопоставления часто не видны объекты из другой базы, потому что они не были включены в пакет обмена. Если в Бухгалтерии объекты не менялись, они не зарегистрированы на узле синхронизации и программа их «не видит» при попытке подбора.
  4. История прошлых обменов. Если базы ранее уже синхронизировались (или переносились из версии 2.5), в регистре Соответствия объектов информационных баз могли сохраниться старые записи с некорректными уникальными идентификаторами (GUID), которые блокируют создание новых связей.

Метод 1: Принудительная регистрация объектов для обмена

Чтобы программа «увидела» физических лиц из БП 3.0 в окне сопоставления ЗУП 3.1, их необходимо принудительно зарегистрировать к выгрузке. Рассмотрим, как это сделать:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем список настроенных синхронизаций и нажмем на значок состава отправляемых данных (иконка с монитором).
  3. В открывшемся окне найдем справочник Физические лица.
  4. Нажмем кнопку Зарегистрировать — Все объекты выбранных типов.
  5. После этого запустим процесс синхронизации снова. Теперь в окне сопоставления при нажатии кнопки выбора программа должна показать список физлиц из базы БП.

Метод 2: Работа через очистку соответствий и поиск дублей

Если автоматика не справляется, а объем данных велик, разберем альтернативный и часто самый быстрый путь — «слияние» через загрузку дублей. Рассмотрим этот алгоритм подробнее:

Проигнорируем на первом этапе отсутствие сопоставления и завершим синхронизацию. В базе БП 3.0 появятся дубли физических лиц: оригинальные (которые были в БП изначально) и новые (пришедшие из ЗУП). Далее выполним следующие действия:

  1. Воспользуемся встроенной обработкой «Поиск и удаление дублей» (раздел Администрирование — Обслуживание — Корректировка данных).
  2. В поле «Искать в» выберем Физические лица.
  3. Настроим критерии поиска по ФИО, ИНН или СНИЛС.
  4. Важный момент: при объединении в качестве «Оригинала» необходимо выбрать карточку, которая пришла из ЗУП. Это гарантирует, что в будущем связь между объектами не разорвется.
  5. Нажмем «Удалить дубли». Программа заменит все ссылки в документах бухгалтерии на правильные объекты, связанные с ЗУП.

Метод 3: Программная проверка регистра соответствий

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


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |   Соответствия.СобственныйОбъект,
    |   Соответствия.УникальныйИдентификаторИсточника,
    |   Соответствия.УникальныйИдентификаторПриемника
    |ИЗ
    |   РегистрСведений.СоответствияОбъектовИнформационныхБаз КАК Соответствия
    |ГДЕ
    |   Соответствия.ТипОбъекта = ""Справочник.ФизическиеЛица""";

Результат = Запрос.Выполнить().Выгрузить();
// Проанализируем результат на наличие пустых ссылок или дублирующих связей

Если записи в этом регистре указывают на неверные объекты, их следует удалить. После удаления записей при следующей синхронизации программа снова предложит выполнить сопоставление для этих элементов справочника ФизическиеЛица.

Рекомендации по подготовке данных перед синхронизацией

Чтобы минимизировать проблемы в будущем, проанализируем состояние данных перед первым запуском обмена:

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

← На главную