После обновления конфигурации «1С:Розница» до релиза 2.3.25.17 многие пользователи столкнулись с неприятной ситуацией: при попытке продать некоторые маркированные товары (особенно одежду, текстиль и обувь) в Рабочем месте кассира (РМК) возникает критическая ошибка проверки кода разметки — её решает исправление ошибок проверки кодов маркировки в РМК. Программа блокирует продажу, при этом часть товаров пробивается абсолютно нормально, а на других стабильно воспроизводится сбой.
В этой статье мы подробно разберем, почему изменилось поведение системы, проанализируем причины возникновения ошибок проверки кодов маркировки и рассмотрим пошаговые инструкции по их устранению. Для этой задачи есть расширение типового функционала маркировки для 1С:Розницы.
Ранее при возникновении проблем с кодами маркировки администраторы или кассиры могли временно обойти ограничения. Для этого использовались настройки интеграции с ИС МП, где снимались флажки контроля:
Контролировать статусы кодов маркировкиКонтролировать владельцев кодов маркировкиПроанализируем ситуацию в релизе 2.3.25.17. Разработчики 1С кардинально переработали механизмы интеграции с системой «Честный Знак» (ГИС МТ) в связи с вступлением в силу обязательного разрешительного режима на кассах. Теперь эти опции стали неактивными (пассивными) в интерфейсе. Программа больше не позволяет отключать контроль в ручном режиме, так как каждый код теперь обязан проходить валидацию на стороне серверов маркировки в реальном времени перед пробитием чека.
Эта проблема наиболее актуальна для торговых точек, где на одном рабочем месте ведется торговля от лица нескольких юридических лиц — для этого подойдёт модуль для продаж от нескольких организаций на одной ККТ (например, ООО продает алкоголь, а ИП — одежду и легпром).
Выясним причину ее возникновения. При сканировании кода маркировки под пользователем в РМК система автоматически пытается сопоставить владельца кода маркировки с текущей выбранной организацией в сессии продажи. Если код маркировки числится в системе «Честный Знак» за ИП, а чек по умолчанию пытается оформиться на ООО, программа мгновенно заблокирует операцию.
Как решить эту проблему без изменения программного кода:
В новой версии Розницы ужесточились требования к внутренней структуре считываемых штрихкодов DataMatrix в соответствии с требованиями формата фискальных документов ФФД 1.2.
Проанализируем структуру кода. Полный код маркировки состоит из кода идентификации (GTIN + серийный номер) и кода проверки (так называемого криптохвоста). Между этими блоками обязательно должен присутствовать непечатный управляющий символ-разделитель GS (ASCII-код 29). Если этот символ отсутствует или поврежден, система выдаст ошибку верификации структуры.
Типичные ситуации, когда криптохвост теряется:
GS. В этом случае сканер просто «срезает» символ-разделитель, склеивая строки кода, и учетная система 1С распознает структуру кода как поврежденную.Пошаговое решение по настройке сканера:
GS (в некоторых моделях он преобразуется в комбинацию клавиш, например, F12 или отображается как управляющий символ #29).Для товаров легкой промышленности (одежда, белье) исторически применялись разные структуры кодов. При упрощенной маркировке остатков использовались короткие коды длиной 25 символов. При стандартной и новой маркировке длина кода составляет 31 символ.
С выходом обновления 2.3.25.17 встроенные алгоритмы проверки 1С жестко ориентируются на полные стандарты ФФД 1.2. Если в базе числятся старые остатки, промаркированные по упрощенной схеме, их структура может вызывать конфликты при валидации.
Как минимизировать влияние этой проблемы:
Часто ошибки возникают после переноса данных (например, отложенных чеков или справочников штрихкодов) из старых баз данных при помощи правил обмена или конвертации данных. Рассмотрим, почему это происходит. При стандартном переносе строковых данных спецсимволы и криптохвосты очень часто обрезаются или заменяются обычными пробелами. Обновленная конфигурация «1С:Розница» не сможет распознать такие данные.
В этом случае настоятельно рекомендуем очистить кэш считанных штрихкодов в документе и отсканировать DataMatrix с физического товара заново непосредственно перед пробитием чека.