1С: Настройка миграции внутренних штрихкодов в узлы РИБ
Проблема дублирования и потери штрихкодов в РИБ
В распределенных информационных базах (РИБ) при создании новых карточек товаров или генерации штрихкодов в периферийных узлах (на точках продаж, удаленных складах) возникает рассинхронизация: сгенерированные штрихкоды не попадают в центральный узел либо задваиваются с ошибкой: Запись с такими ключевыми полями уже существует (РегистрСведений.ШтрихкодыНоменклатуры).
| Тип узла | Симптом | Причина |
|---|---|---|
| Периферийный узел | Сгенерированный EAN-13 отсутствует в центральной базе | Регистр сведений не включен в состав плана обмена РИБ |
| Центральный узел | Конфликт коллизий при синхронизации узлов | Одновременная генерация одинакового префикса диапазона штрихкодов |
| Кассовый узел | Сканер не находит товар по новому штрихкоду | Пакет изменений заблокирован ошибкой валидации структуры метаданных |
Решение коллизий и настройка миграции штрихкодов
- Проверка состава плана обмена: откройте базу в режиме Конфигуратор:
- Перейдите в ветку: Планы обмена > [ИмяВашегоПланаОбмена] > вкладка «Состав».
- Найдите регистр сведений
ШтрихкодыНоменклатуры(илиШтрихкодыв старых редакциях). - Убедитесь, что переключатель Авторегистрация установлен в положение
Разрешить(Auto-record).
- Разделение диапазонов генерации штрихкодов по узлам: чтобы узлы не генерировали одинаковые штрихкоды формата EAN-13, настройте уникальные префиксы:
- В режиме предприятия перейдите в НСИ и администрирование > Настройка параметров системы > Печать префиксов / Номенклатура.
- Задайте уникальный префикс штрихкода узла (например, для Центра — 20, для Склада 1 — 21, для Склада 2 — 22).
- Принудительная регистрация изменений регистра для узлов: если штрихкоды зависли, зарегистрируйте их к отправке с помощью внешней обработки «Регистрация изменений для обмена»:
// Программная регистрация набора записей регистра сведений в узел РИБ: План = ПланыОбмена.[ИмяПлана].НайтиПоКоду("Узел_01"); Набор = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей(); ПланыОбмена.ЗарегистрироватьИзменения(План, Набор.Метаданные()); - Устранение коллизий дубликатов: используйте типовую процедуру объединения дублей номенклатуры и штрихкодов через встроенную подсистему БСП.
Важно: Если в конфигурации штрихкоды привязаны к характеристикам и упаковкам, убедитесь, что подчиненные справочники ХарактеристикиНоменклатуры и УпаковкиЕдиницыИзмерения также имеют авторегистрацию в этом же плане обмена.
Частые вопросы (FAQ)
Почему штрихкод генерируется в узле, но не считывается на кассе другого узла?
Штрихкод еще не передался пакетом обмена. Проверьте состояние очереди обмена в мониторе синхронизации данных (наличие ошибок или неотправленных пакетов .xml).
Что такое коллизия штрихкода в РИБ?
Ситуация, когда два независимых узла РИБ без связи с центром присвоили разным товарам один и тот же номер штрихкода EAN-13. При слиянии баз запись центрального узла перезапишет данные периферии.
Как сделать штрихкодирование весового товара в РИБ?
Настройте единый префикс весового товара (обычно 28 или 29) во всех узлах, а уникальность определяйте кодом PLU весов.
Можно ли отключить миграцию штрихкодов для определенных магазинов?
Да, используя механизм правил подписки на события (ПриОтправкеДанныхПодчиненному), программно фильтруя набор записей по условию организации или склада.