Почему в 1С:Розница не находится штучный товар по сгенерированному штрихкоду после подключения весов?

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

При автоматизации розничной торговли нередко возникает ситуация: после успешной настройки весов с печатью этикеток в рабочем месте кассира (РМК) перестают считываться штрихкоды штучных товаров. При сканировании или ручном поиске через сочетание клавиш Alt+F7 программа выдает сообщение: «Данные по коду не найдены: 2200000008497», хотя штрихкод стандарта EAN13 зарегистрирован в карточке товара, товар оприходован, а цены назначены. При этом этикетки, напечатанные на весах, считываются без сбоев.

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

Причина коллизии: логика разбора штрихкодов формата EAN-13

Рассмотрим подробнее, как платформа обрабатывает входящий поток данных со сканера. Когда в программу поступает 13-значная строка стандарта EAN13, типовой алгоритм в первую очередь сверяет ее первые символы со служебными настройками префиксов весовых и фасованных товаров.

Внутренние штрихкоды предприятий по стандарту GS1 находятся в диапазоне префиксов с 20 по 29. Если начальные цифры кода совпали с установленным префиксом весового товара, система не выполняет стандартный поиск по всей 13-значной строке в регистре сведений штрихкодов. Вместо этого включается парсер весового кода, который разбивает считанную последовательность по шаблону:

  1. Первые 2 цифры (префикс весового товара): определяют, что перед нами весовой товар (например, 22).
  2. Следующие 5 цифр (код PLU): код весовой номенклатуры в базе. В случае со строкой 2200000008497 система выделяет значение 00000.
  3. Следующие 5 цифр (вес товара): программа воспринимает их как вес, в данном примере — 08497.
  4. Последняя цифра: контрольное число.

Поскольку товара с кодом PLU 0 в справочнике весовых товаров нет, программа мгновенно возвращает ошибку о том, что данные по коду не найдены. До проверки таблицы штучных штрихкодов алгоритм просто не доходит. Именно поэтому штрихкоды других стандартов (например, Code 39 или Code 128) продолжают успешно находиться — к ним парсер весовых EAN13 не применяется.

Проверим текущие настройки в информационной базе. Перейдем в раздел Администрирование → Настройки номенклатуры → Штрихкодирование и откроем подраздел Штрихкодирование товаров на весах. Если для штучного штрихкода задан префикс 2 (а с учетом номера узла РИБ формируется префикс 22), и в то же время префикс весового товара (2X) настроен как 2, возникает полное наложение диапазонов.

Способ 1. Разведение префиксов без перемаркировки штучного товара

Разберем основной вариант решения проблемы, который позволяет сохранить уже напечатанные и наклеенные этикетки штучных товаров.

  1. Откроем меню Администрирование → Настройки номенклатуры → Штрихкодирование товаров на весах.
  2. Изменим Префикс штрихкода весового товара (2X). Установим цифру, отличную от префикса штучных товаров (например, укажем 1, 3 или 8, чтобы результирующий весовой префикс стал 21, 23 или 28).
  3. Сохраним измененные параметры.
  4. Откроем настройки обмена с весами с печатью этикеток и укажем новый весовой префикс в параметрах весов.
  5. Выполним полную выгрузку товаров в весы.

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

Способ 2. Изменение префикса штучного товара и перемаркировка

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

  1. Перейдем в раздел Администрирование → Настройки номенклатуры → Штрихкодирование.
  2. Скорректируем Префикс внутреннего штрихкода штучного товара (H) или префикс узла РИБ таким образом, чтобы результирующее начало кода не пересекалось с весовым префиксом (например, формировало 20 или 24).
  3. Для проблемных штучных товаров сформируем новые штрихкоды и распечатаем новые этикетки.

Особенности настройки штрихкодирования в РИБ

Проанализируем поведение системы при работе в распределенной информационной базе (РИБ). По умолчанию 1С:Розница формирует внутренние штрихкоды штучного товара по правилу: Префикс внутреннего штрихкода + Префикс узла РИБ + Порядковый номер. Если префикс штучного товара равен 2, а узлу РИБ присвоен номер 2, штрихкоды автоматически начинаются с 22.

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

  1. Выделить фиксированные префиксы для оборудования: например, 28 — для весового товара, 29 — для штучного фасованного на весах.
  2. Для узлов распределенной базы выделить диапазоны с 20 по 27, жестко контролируя соответствие номеров узлов, чтобы они не совпадали с весовыми префиксами.

В качестве альтернативного решения для штучной продукции без заводской маркировки можно использовать штрихкоды формата Code 128 на принтере этикеток. В таком случае конфликты с шаблонами весовых кодов EAN13 исключаются полностью.

← На главную