Почему дублируются виды номенклатуры при синхронизации 1С:УНФ и 1С:Розница и как это исправить?

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

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

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

Проанализируем ситуацию. Основная причина кроется в механизме поиска объектов при обмене через формат EnterpriseData. Когда данные передаются из УНФ в Розницу, система пытается найти существующий объект в базе-приемнике. Если поиск по уникальному идентификатору (GUID) и полям поиска не дает результата, создается новый объект.

Рассмотрим основные факторы, провоцирующие проблему:

Шаг 1. Проверка и обновление правил обмена

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

  1. Перейдем в раздел Администрирование — Синхронизация данных.
  2. Откроем Настройки синхронизации данных и выберем нужный узел обмена.
  3. Нажмем кнопку Загрузить комплект правил.
  4. Проверим дату правил. Если они устарели, необходимо загрузить актуальный комплект из дистрибутива конфигурации 1С:Розница (обычно файл ExchangeRules.zip).

Важно: Версии конфигураций УНФ и Розницы должны быть совместимы. Несоответствие версий формата EnterpriseData (например, передача в 1.15 при ожидании 1.10) гарантированно ведет к потере полей поиска и дублированию.

Шаг 2. Ручное сопоставление объектов

Если обмен уже запущен и дубли созданы, нам необходимо «подружить» объекты в двух базах. Для этого воспользуемся стандартным механизмом сопоставления.

Рассмотрим порядок действий:

  1. В узле синхронизации данных выберем пункт Сопоставление данных.
  2. Найдем в списке справочник Виды номенклатуры.
  3. Выполним автоматическое сопоставление по наименованию.
  4. Те позиции, которые не сопоставились автоматически, сопоставим вручную, указывая соответствие между объектом УНФ и объектом Розницы.

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

Шаг 3. Использование обработки «Поиск и замена дублей»

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

  1. Запустим обработку (раздел Администрирование — Обслуживание — Корректировка данных).
  2. Выберем область поиска: Виды номенклатуры.
  3. В качестве правила поиска укажем Наименование (точное совпадение).
  4. В списке найденных дублей крайне важно правильно выбрать Оригинал.

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

Шаг 4. Исправление правил в «Конвертации данных» (для продвинутых)

Если стандартные методы не помогают, проанализируем ситуацию на уровне кода правил обмена. Нам потребуется выгрузить правила в конфигурацию Конвертация данных.

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

Технические нюансы EnterpriseData

Проанализируем техническую составляющую. В последних версиях формата EnterpriseData в объекте Виды номенклатуры появились новые реквизиты, такие как ВариантОформленияПродаж или настройки наборов. Если УНФ передает эти поля пустыми, а в Рознице они обязательны для заполнения, механизм сопоставления может игнорировать существующий объект с заполненными полями, считая его «другим».

Для исправления можно попробовать в узле синхронизации на стороне УНФ снять флаг «Выгружать настройки видов номенклатуры». В этом случае система будет передавать только ссылку на объект, а настройки в Рознице останутся нетронутыми.

Очистка кэша соответствий

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

Выполним очистку:

  1. Откроем регистр через Все функции (Функции для технического специалиста).
  2. Установим отбор по типу объекта СправочникСсылка.ВидыНоменклатуры.
  3. Удалим записи, которые ведут к некорректным дублям. При следующем обмене система инициирует процедуру поиска заново, используя обновленные правила и сопоставления.

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

← На главную