Часто при переходе на маркировку товаров в аптеке или розничном магазине пользователи сталкиваются с проблемой: обычный штрихкод EAN-13 считывается корректно, а код маркировки Data Matrix — нет. Возникает закономерный вопрос: нужно ли настраивать сканер на «отсечение» лишних символов, чтобы программа видела только нужную часть кода? Давайте разберемся, как устроена работа с маркировкой в 1С:Розница, и почему ручное редактирование данных сканера — это путь к ошибкам.
Важно уяснить главное: код маркировки (КМ) не является простым штрихкодом. Внутри Data Matrix зашита структура данных, соответствующая международному стандарту GS1. В нем содержится не только GTIN (идентификатор товара), но и серийный номер, ключ проверки и другие параметры, разделенные специальными служебными символами.
Система 1С при сканировании КМ не должна получать «обрезанную» строку. Напротив, она ожидает получить полный код, чтобы самостоятельно, используя встроенные алгоритмы парсинга, «выкусить» из него GTIN. Именно этот GTIN затем используется для поиска номенклатуры в справочнике Штрихкоды упаковок и товаров.
Для того чтобы 1С могла успешно идентифицировать товар по Data Matrix, выполним следующие действия:
Дополнительно или в списке штрихкодов заполнен GTIN. Помните, что GTIN — это 14-значный код. Если у вас заведен только 13-значный EAN-13, система может не сопоставить их автоматически. Добавьте GTIN именно в формате 14 символов (иногда с ведущим нулем).COM-порта (если используется драйвер 1С) или настроен на корректную передачу управляющих символов (разделителей). Если сканер передает спецсимволы некорректно, 1С не сможет распознать структуру кода.Рознице 2.3 реализован механизм привязки. Если вы сканируете новую марку, которой еще нет в базе, система предложит привязать ее к номенклатуре. В этот момент 1С сама запишет информацию в справочник Штрихкоды упаковок и товаров. После первой привязки последующее сканирование будет работать автоматически.Если товар все равно не находится, воспользуйтесь стандартной обработкой Тест драйвера сканера штрихкода. Посмотрите на «сырые» данные, которые приходят в программу при сканировании.
Разберем, на что обратить внимание:
]d2, это префикс стандарта Data Matrix. Это нормально.GS) передаются странные символы или они просто отсутствуют, значит сканер «съедает» структуру. В этом случае нужно менять настройки префикса/суффикса или параметры передачи символов группы в настройках оборудования 1С.Попытки физически обрезать строку в настройках сканера приведут к тому, что вы потеряете остальные данные маркировки (серийный номер, криптохвост). Это сделает невозможным выполнение операций ввода в оборот или вывода из оборота через ИС МП (Честный знак). Вся логика 1С построена на том, что мы работаем с полным объектом данных Data Matrix.
Для программистов: если необходимо детально изучить процесс, посмотрите код модуля обработки сканирования, где вызываются методы работы с форматом GS1. Обычно это функции, которые анализируют входящую строку на наличие разделителей ASCII 29 (код GS) и извлекают подстроку по идентификаторам применения (01, 21 и т.д.).
GTIN в карточке товара.COM-эмуляция).Тест драйвера.Соблюдение этих правил обеспечит корректную работу с маркировкой в аптеке и исключит ошибки при продаже товаров.