Как исправить задвоение физических лиц при синхронизации ЗУП и БП и вызвать окно сопоставления данных повторно?

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

Проблема задвоения справочника ФизическиеЛица при обмене данными между конфигурациями «Зарплата и управление персоналом» (ЗУП) и «Бухгалтерия предприятия» (БП) является одной из самых распространенных. Это происходит, когда система не может автоматически сопоставить записи в двух базах по ключевым полям. В рамках данной статьи мы разберем, как принудительно вызвать окно сопоставления, как отредактировать уже существующие связи и какими инструментами лучше всего пользоваться для очистки базы от дублей.

Способ 1. Запуск синхронизации с дополнительными параметрами

Если автоматическая синхронизация уже прошла и создала дубли, либо если вы хотите проконтролировать процесс сопоставления вручную, нам необходимо вызвать специальное диалоговое окно, которое обычно появляется только при первой настройке обмена. Рассмотрим, как это сделать в современных версиях программ на базе 1С v8.3.

Для вызова окна сопоставления выполним следующие действия:

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем список Настройки синхронизации данных.
  3. Выберем нужную настройку обмена с ЗУП (или БП) и нажмем кнопку Еще на верхней панели формы.
  4. В выпадающем меню выберем пункт Синхронизировать с дополнительными параметрами.

После этого запустится помощник, который на втором или третьем шаге (в зависимости от наличия данных к отправке) предложит нам проанализировать данные. Мы увидим таблицу сопоставления. Проанализируем ситуацию: если в колонке «Состояние» указано, что объект не сопоставлен, мы можем вручную указать ссылку на нужное физическое лицо из текущей базы, чтобы система «склеила» их и запомнила этот выбор на будущее.

Способ 2. Использование инструмента «Сопоставление данных для обмена»

В актуальных версиях конфигураций, использующих Библиотеку стандартных подсистем (БСП), существует отдельный интерфейс для работы со связями объектов. Разберем, как им воспользоваться, не запуская сам процесс получения или отправки данных:

Найдем в меню Администрирование пункт Параметры синхронизации данных (внутри настроек конкретного обмена). Там будет доступна гиперссылка Сопоставление данных. Этот инструмент позволяет:

Способ 3. Прямое редактирование регистра соответствий

Иногда возникают ситуации, когда сопоставление выполнено неверно, и система «запомнила» неправильную связь. В этом случае даже удаление дубля может не помочь: при следующем обмене 1С снова создаст тот же объект, так как в регистре осталась запись. Выясним причину этого поведения, заглянув «под капот» системы.

Вся информация о связях объектов хранится в регистре сведений СоответствияОбъектовИнформационныхБаз. Рассмотрим подробнее его структуру:

Если вы хотите «разорвать» неправильную связь или заменить одно физлицо на другое, вам необходимо найти соответствующую запись в этом регистре. Для этого можно воспользоваться обработкой «Групповое изменение реквизитов» (чтобы открыть сам регистр, так как он часто скрыт из интерфейса) или через Функции для технического специалиста найти Соответствия объектов информационных баз.

Важно: При ручной замене физического лица в этом регистре, убедитесь, что вы обновляете УникальныйИдентификаторПриемника. Как только вы укажете правильный идентификатор существующего в базе физлица, синхронизация начнет обновлять именно его, а не создавать дубль.

Способ 4. Типовая обработка «Поиск и удаление дублей»

Рассмотрим ситуацию, когда дубли уже созданы и по ним проведены документы (например, начисление зарплаты или отражение в учете). В этом случае простым удалением карточки не обойтись. Посмотрим на алгоритм исправления через типовую обработку:

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

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

Способ 5. Радикальный метод через «Поиск и замену значений»

Если стандартная обработка удаления дублей не справляется (например, из-за сложных блокировок или битых ссылок), проанализируем использование внешней или встроенной обработки «Поиск и замена значений». Этот инструмент позволяет принудительно переписать все вхождения ссылки ФизическоеЛицо_Дубль на ФизическоеЛицо_Оригинал.

Этот метод считается более «чистым» для регистров накопления и сведений, так как он напрямую меняет значения в таблицах базы данных. Однако после его применения обязательно выполните пересчет итогов и проверьте целостность данных.

Нюансы автоматического сопоставления (алгоритм 1С)

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

  1. GUID (Уникальный идентификатор). Если объекты ранее уже синхронизировались, связь ищется по нему через регистр сведений.
  2. ИНН и СНИЛС. Это самые надежные поля. Если у физического лица в обеих базах заполнены эти реквизиты, вероятность дублирования практически исключена.
  3. ФИО + Дата рождения. Этот метод используется, если ИНН или СНИЛС не заполнены. Обратите внимание, что наличие лишнего пробела, точки в инициалах или замена буквы «ё» на «е» приведет к тому, что система не найдет соответствия и создаст новый объект.

Рекомендация: Перед запуском синхронизации всегда проверяйте заполнение ИНН и СНИЛС в базе-источнике (ЗУП). Это сэкономит время на последующую борьбу с дублями.

Связь «Физические лица» и «Сотрудники»

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

Если вы удалили дубль физлица в БП, обязательно проверьте карточку соответствующего сотрудника (если они ведутся в БП). Поле Физическое лицо в карточке сотрудника должно указывать на оставшийся «правильный» экземпляр. В противном случае при формировании регламентированной отчетности по НДФЛ или взносам в Бухгалтерии данные могут «потеряться» или отразиться некорректно, так как аналитика учета часто привязана именно к идентификатору физлица.

Для программной проверки GUID объекта можно использовать следующий фрагмент кода (например, во внешней обработке):


// Получаем Уникальный Идентификатор ссылки
СсылкаНаФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию("Иванов Иван Иванович");
Если Не СсылкаНаФизЛицо.Пустая() Тогда
    Сообщить("GUID объекта: " + Строка(СсылкаНаФизЛицо.УникальныйИдентификатор()));
КонецЕсли;

Использование этих методов в совокупности позволит вам полностью контролировать процесс обмена данными и поддерживать чистоту в справочниках 1С.

← На главную