Как исправить дублирование подразделений при синхронизации 1С:ЗУП и 1С:Бухгалтерия?

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

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

Метод 1. Синхронизация с дополнительными параметрами

Часто встречается заблуждение, что сопоставить объекты вручную можно только при самом первом запуске обмена. На самом деле, мы можем вызвать окно сопоставления в любой момент. Разберем, как это сделать:

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

В этом окне мы увидим две колонки: данные из ЗУП и данные из БП. Проанализируем ситуацию: если система не нашла автоматического соответствия, она пометит объекты как не сопоставленные. Мы можем вручную указать программе, какому подразделению в ЗУП соответствует конкретное подразделение в БП. После завершения сопоставления нажмем Записать и закрыть. Теперь при выполнении обмена дубли создаваться не будут, так как связь между объектами зафиксирована.

Метод 2. Использование обработки «Поиск и удаление дублей»

Если синхронизация уже прошла и в базе «1С:Бухгалтерия» появилось множество одинаковых подразделений, ручное сопоставление может быть слишком трудоемким. В этом случае воспользуемся стандартным инструментом:

Перейдем в раздел Администрирование — Обслуживание — Корректировка данных — Поиск и удаление дублей. В поле «Искать в» выберем Подразделения. В качестве критерия поиска укажем Наименование (совпадает). Проанализируем полученный список. Выберем «правильный» элемент (оригинал) и дубли, которые нужно к нему присоединить.

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

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

Рассмотрим более технический способ, который полезен, когда нужно точно настроить связь на уровне идентификаторов. Каждая связь между объектами в разных базах хранится в регистре сведений СоответствияОбъектовИнформационныхБаз.

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

  1. Найдем уникальный идентификатор (GUID) подразделения в базе-источнике (ЗУП).
  2. Найдем соответствующее подразделение в базе-приемнике (БП).
  3. В регистре соответствий создадим или отредактируем запись, где поле Уникальный идентификатор источника будет содержать GUID из ЗУП, а поле Ссылка — указывать на нужный элемент в БП.

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

Пример логики поиска записи в коде (для понимания структуры):


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

Метод 4. Настройка полей поиска и иерархии

Проанализируем, почему дубли вообще появляются. По умолчанию система ищет подразделения по Наименованию и Родителю. Если в ЗУП подразделение находится в группе «Производство», а в БП — в корне справочника, система посчитает их разными объектами и создаст дубль.

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

Дополнительные рекомендации

Рассмотрим еще несколько критически важных моментов, которые помогут в работе:

1. Очистка кэша регистрации изменений. Иногда после исправления дублей они появляются снова. Это происходит потому, что в плане обмена уже зарегистрированы «старые» объекты. Рекомендуется зайти в Состав отправляемых данных, найти справочник Подразделения и отменить регистрацию для тех элементов, которые были удалены или исправлены. Это «очистит память» обмена.

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

3. Режим детализации. В настройках синхронизации в ЗУП можно выбрать вариант: «С детализацией по сотрудникам» или «Сводно по сотрудникам». Выясним разницу: при сводном режиме аналитика по подразделениям все равно передается (через документы Отражение зарплаты в бухучете), но требования к точному соответствию каждой группы могут быть мягче. Однако для корректного формирования проводок по счетам затрат (20, 25, 26, 44) порядок в подразделениях необходим в обоих режимах.

Таким образом, мы разобрали основные инструменты борьбы с дублями. Рекомендуем начать с Метода 1 (интерактивное сопоставление), так как он является наиболее безопасным и штатным. Если же объем данных исчисляется сотнями позиций, используйте Метод 2 (удаление дублей), предварительно создав резервную копию информационной базы.

← На главную