Обязательно ли заводить коды маркировок в базу «1С:Розница»?

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

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

Часто на практике наблюдается следующая ситуация: кассир сканирует марку (DataMatrix) с коробки нового товара, который только что поступил, но программа «1С:Розница» никак не реагирует на сканирование или же выводит окно с предложением вручную выбрать номенклатуру из справочника. Давайте подробно разберем, почему так происходит, как устроена работа с маркированной продукцией изнутри и как правильно настроить систему, чтобы процесс продаж на кассе происходил быстро, автоматически и без лишних ручных действий.

Как устроена структура кода маркировки (DataMatrix)

Для того чтобы понять логику работы программы, проанализируем структуру двумерного штрихкода DataMatrix, который наносится на маркированный товар. Этот код формируется по стандартам международной организации GS1 и содержит в себе несколько обязательных групп данных (информационных полей):

  1. GTIN (Global Trade Item Number) — международный код товара, состоящий из 14 цифр. По сути, это глобальный аналог привычного нам линейного штрихкода EAN-13, но дополненный ведущим нулем в начале.
  2. Индивидуальный серийный номер — уникальная последовательность из 13 (или другого количества, в зависимости от товарной группы) символов, которая присваивается каждой конкретной единице товара (например, каждой отдельной паре обуви).
  3. Криптографический хвост (код и ключ проверки) — специальный блок данных, формируемый оператором «Честный Знак» (ЦРПТ) для подтверждения подлинности марки.

Сочетание GTIN и индивидуального серийного номера образует уникальный идентификатор конкретной единицы товара — так называемый sGTIN (Serialized GTIN). Именно он позволяет однозначно идентифицировать конкретную коробку обуви или пачку сигарет во всей стране.

Нужно ли хранить все индивидуальные марки в базе «1С» заранее?

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

Выясним, как работает система при продаже на кассе в Рабочем месте кассира (РМК):

  1. Кассир сканирует код DataMatrix сканером в режиме РМК.
  2. Сканер передает считанную строку в программу «1С».
  3. Программа «1С» на лету «выкусывает» (декодирует) из этой строки 14-значный GTIN товара.
  4. По этому GTIN система ищет товар в регистре сведений ШтрихкодыНоменклатуры.
  5. Если товар найден, программа автоматически добавляет его в табличную часть чека, а уникальный серийный номер и криптохвост временно помещает в специальное скрытое поле (в документе Чек ККМ).
  6. При пробитии чека на онлайн-кассе эти данные передаются в фискальный накопитель и уходят в ОФД (в составе тега 1162 или новых тегов 1163 в зависимости от версии ФФД), откуда поступают в систему «Честный Знак» для вывода товара из оборота.

Таким образом, хранить всю марку целиком в базе на постоянной основе нет никакого практического смысла. Базе достаточно знать только один параметр — GTIN товара, чтобы понять, какую именно номенклатуру добавили в чек.

Почему «1С» не распознает марку при сканировании: проблема GTIN и EAN-13

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

Обратим внимание на разрядность кодов. Обычный линейный штрихкод, напечатанный на коробке (EAN-13), состоит из 13 цифр. Например: 4601234567890. В то же время, GTIN, зашитый в DataMatrix маркировки, всегда строго 14-значный. Он дополняется ведущим нулем в начале: 04601234567890.

Если в вашей базе «1С» в карточке товара зарегистрирован только стандартный 13-значный штрихкод EAN-13, то при сканировании DataMatrix программа выделит из него 14-значный GTIN (с ведущим нулем) и попытается найти его в регистре штрихкодов. Так как точного совпадения по 14 символам не будет, «1С» решит, что этот штрихкод ей неизвестен, и предложит сопоставить его вручную. Если же вы сначала сканируете обычный штрихкод, «1С» находит товар, а затем при требовании марки сопоставляет считанный серийный номер с уже выбранной строкой номенклатуры.

Решение этой проблемы: для всех маркированных товаров в регистр сведений ШтрихкодыНоменклатуры необходимо заносить именно 14-значные GTIN (с ведущим нулем). В современных версиях «1С:Розница» при записи штрихкода система умеет автоматически преобразовывать EAN-13 в 14-значный вид для корректного сопоставления с маркировкой.

Проблема настройки торгового оборудования: почему сканирование не дает результата

Если при сканировании кода DataMatrix в программе вообще ничего не происходит, это сигнализирует о неверной настройке 2D-сканера штрихкодов. Рассмотрим эту ситуацию подробнее.

Коды формата DataMatrix используют специальные управляющие символы (например, скрытый символ разделителя GS с ASCII-кодом 29), которые разделяют разные группы данных (GTIN, серийный номер, ключи проверки). Если ваш сканер работает в обычном режиме эмуляции клавиатуры (USB-HID), он передает данные в систему так, будто вы быстро вводите их на клавиатуре. При этом скрытые символы-разделители очень часто теряются, "заменяются" на другие знаки или просто игнорируются драйвером операционной системы.

Когда «1С» получает такую поврежденную "сплошную" строку, она не может корректно распарсить ее структуру, отделить GTIN от криптохвоста и распознать марку. В результате сканирование либо игнорируется, либо отрабатывает с ошибками.

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

  1. Переведите ваш 2D-сканер штрихкодов в режим эмуляции COM-порта (USB-VCP). Для этого потребуется отсканировать специальный управляющий штрихкод из инструкции к сканеру.
  2. Установите соответствующий драйвер виртуального COM-порта от производителя сканера (или используйте стандартный драйвер от Microsoft в современных ОС).
  3. В самой программе «1С» в разделе настроек торгового оборудования добавьте сканер штрихкодов, выберите порт подключения (например, COM3 или виртуальный порт) и протестируйте корректность передачи данных. В режиме эмуляции COM-порта драйвер передаст в «1С» «сырые» данные со всеми необходимыми разделителями, и программа безошибочно расшифрует код маркировки.

Современные реалии: Онлайн-проверка и Разрешительный режим

С момента обсуждения этой темы на форумах законодательство и функционал программ «1С» существенно развились. Начиная с 2024–2025 годов, в России вводится обязательный разрешительный режим для розничной торговли маркированными товарами. Проанализируем, как это меняет работу кассира:

Теперь при сканировании марки DataMatrix на кассе программа «1С» делает следующее:

  1. Программа не просто ищет локальный GTIN товара. Она мгновенно отправляет зашифрованный запрос по API напрямую в государственную систему маркировки «Честный Знак».
  2. Система «Честный Знак» в режиме реального времени проверяет этот конкретный код: числится ли он в обороте, не был ли продан ранее, принадлежит ли он данному юрлицу, не заблокирован ли он и не истекли ли сроки годности.
  3. Если проверка прошла успешно, «Честный Знак» возвращает положительный статус, и «1С» разрешает добавить товар в чек и пробить его.
  4. Если проверка вернула ошибку (например, товар уже списан или заблокирован), программа физически блокирует продажу, предотвращая тем самым продажу контрафакта и защищая магазин от крупных штрафов.

Для работы разрешительного режима в «1С» необходимо обязательно настроить токен авторизации (полученный в личном кабинете «Честного Знака») и включить соответствующие настройки проверки в администрировании интеграции с ИС МП.

Учет одинаковых GTIN для разных характеристик (размеров и цветов)

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

Если при сканировании марки программа определяет GTIN, к которому привязано несколько характеристик (например, размеры 39, 40, 41), на экране кассира появится быстрое всплывающее окно. Система предложит кассиру выбрать конкретную характеристику (размер), ориентируясь на текущие остатки в магазине. После выбора позиция корректно добавляется в чек с привязкой к конкретному серийному номеру марки.

Резюме и практические рекомендации

Подведем итоги нашего разбора:

← На главную