Как отключить уникальность штрихкодов в 1С:Управление торговлей 11 и настроить подбор товаров

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

При ведении розничной и оптовой торговли пользователи часто сталкиваются с ситуацией, когда одному и тому же штрихкоду EAN-13 соответствуют несколько позиций. Классический пример — продажа табачной продукции с различными значениями максимальной розничной цены (МРЦ), одежда разных размеров и расцветок в рамках одной модели или пересортица от поставщиков. В конфигурации «1С:Розница» возможность привязки одного штрихкода к разным номенклатурным позициям или характеристикам предусмотрена давно, однако при обмене с «1С:Управление торговлей 11» (УТ 11) многие сталкиваются с тем, что новая запись затирает предыдущую. Разберем архитектурные причины такого поведения платформы, проанализируем структуру данных и рассмотрим доступные варианты решения проблемы.

Архитектурная причина поведения регистра штрихкодов в УТ 11.1–11.2

Для того чтобы понять, почему при записи нового товара или характеристики перезаписывается старая привязка, обратимся к структуре метаданных. Вся информация о штрихкодах хранится в регистре сведений ШтрихкодыНоменклатуры.

В ранних редакциях УТ (в частности, 11.1 и 11.2) разработчики конфигурации применили следующую структуру:

  1. Измерения: единственным измерением регистра выступает поле Штрихкод (тип Строка).
  2. Реквизиты: поля Номенклатура, Характеристика, Упаковка, ТипШтрихкода.

По правилам платформы 1С:Предприятие уникальность записи в непериодическом регистре сведений определяется исключительно составом его измерений. Поскольку поле Штрихкод является единственным измерением, регистр может содержать ровно одну запись для каждого конкретного значения штрихкода. При попытке записать тот же штрихкод для другой характеристики или другой номенклатуры СУБД выполняет операцию обновления (UPDATE), тем самым затирая прежнюю ссылку.

Штатная настройка неуникальных штрихкодов в современных версиях УТ 11 (11.4 и 11.5)

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

  1. Перейдем в раздел «НСИ и администрирование» — «Номенклатура» — «Настройки создания».
  2. Установим флаг «Неуникальные штрихкоды номенклатуры». Эта настройка отключает жесткую системную проверку дублирования записей при ручном вводе и загрузке данных.
  3. Откроем справочник «Виды номенклатуры» и перейдем в карточку нужного вида товара.
  4. В табличной части настройки видимости и контроля уникальности для реквизита штрихкода разрешим сохранение неуникальных значений для выбранной категории номенклатуры.

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

Решение задачи для версий без штатной поддержки неуникальности

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

Вариант 1. Изменение структуры регистра через расширение конфигурации

Наиболее корректный способ доработки — изменение состава измерений регистра сведений ШтрихкодыНоменклатуры с помощью механизма расширений (без снятия конфигурации с поддержки):

  1. Создадим расширение конфигурации и добавим в него регистр сведений ШтрихкодыНоменклатуры.
  2. Перенесем реквизиты Номенклатура, Характеристика и Упаковка в состав измерений регистра. Теперь ключом уникальности станет комбинация полей «Штрихкод + Номенклатура + Характеристика + Упаковка».
  3. Адаптируем общий модуль подсистемы штрихкодирования (модули ШтрихкодированиеСервер / МенеджерОборудованияСервер). В процедурах поиска номенклатуры по штрихкоду изменим логику: если запрос к регистру возвращает более одной строки, вызываем модальное окно выбора или возвращаем массив найденных ссылок в форму документа для уточнения пользователем.

Вариант 2. Использование серийного учета вместо характеристик

Если задача заключается в фиксации изменяющейся цены (например, партия товара с определенной стоимостью или партия табака с конкретной МРЦ), рассмотрим применение механизма серий:

  1. Штрихкод регистрируется один раз на саму позицию номенклатуры без привязки к характеристикам.
  2. Для вида номенклатуры настраивается политика учета серий с типом политики «Партия товаров».
  3. При сканировании штрихкода товар без задержек добавляется в чек или документ, а выбор конкретной партии или серии с нужной МРЦ выполняется оператором из списка остатков на складе.

Современная специфика работы с маркированной продукцией (МРЦ сигарет)

Проанализируем задачу продажи табачной продукции с различными МРЦ в современных реалиях. Ранее разделение цен решалось созданием множества характеристик с одинаковым кодом EAN-13. На сегодняшний день вся табачная продукция подлежит обязательной маркировке средствами идентификации Честный ЗНАК.

При реализации табака применяются следующие правила:

  1. На пачку нанесен двумерный код DataMatrix, который уже содержит в себе зашифрованную информацию о производителе, уникальном идентификаторе единицы товара и установленной максимальной розничной цене.
  2. Кассиру в РМК достаточно отсканировать код DataMatrix. Типовые алгоритмы 1С автоматически извлекают значение МРЦ из кода маркировки и устанавливают итоговую цену в чеке.
  3. Необходимость создавать искусственные характеристики под каждую МРЦ и отключать уникальность штрихкодов формата EAN-13 для табачной продукции полностью отпадает.
← На главную