Государственная информационная
система маркировки товаров
Структура
Для маркировки товаров используется штриховой код GS1 DataMatrix. Он позволяет кодировать идентификационные ключи системы GS1, а также любую дополнительную информацию о товаре (вес, срок годности, номер серии, номер партии, дата изготовления).
С введением обязательной маркировки — формировать, печатать и проверять коды GS1 DataMatrix необходимо уметь практически в каждой организации.
Как правильно сформировать GS1 DataMatrix:
- ASCII 232 (FNC1).
- (01) Код продукта (GTIN).
- (21) Серийный номер.
- Разделитель групп данных ASCII 29 (GS).
- (91) Ключ проверки, предоставляемый оператором системы в составе кода проверки;
- Разделитель групп данных ASCII 29 (GS).
- Электронную подпись, предоставляемую оператором системы в составе кода проверки, 88 символов (цифры, строчные и прописные буквы латинского алфавита, а также специальные символы) — криптохвост.
*При формировании используется таблица символов Base64
В соответствии с требованиями GS1 DataMatrix Guideline, в начало получаемой строки кода необходимо добавлять признак символики – ASCII232 (так называемый FNC1).
FNC1 — специальный символ, который указывает, что закодированная последовательность является штрихкодом GS1. В случае отсутствия этого символа технические средства не распознают код правильно и не смогут его корректно обработать.
В конце полей переменной длины необходимо использовать специальные символы GS1 — разделители. Они нужны для того чтобы идентифицировать отдельные блоки штрихкода. В качестве разделителей допустимо использовать символ ASCII 29 (GS).
Обращаем ваше внимание, что использовать FNC1 в качестве разделителя — настоятельно не рекомендуется, так как теряется порядок учета полей.
Визуально в подписи DataMatrix кода такие разделители не отображаются.
Важно. Приложение Честный Знак может распознавать различные виды DataMatrix. Даже QR-коды. Тот факт, что код распознался и информация о товаре отобразилась, не является показателем, что DataMatrix сформирован правильно и имеет структуру GS1 DataMatrix.
Оператор ЦРПТ выпустили пояснение, как правильно генерировать коды. Из-за большого числа кодов с ошибками они признали коды без FNC1 валидными, но, все-таки, рекомендуют генерировать GS1 DataMatrix.
К сожалению, достаточно большой процент DataMatrix кодов от субъектов приходит с ошибками.
Когда Коды Маркировки заказаны и сгенерированы. Их можно забрать через API в текстовом виде, в ТХТ как файл с текстом.
Если открыть файл в notepad++(блокнот), можно увидеть строки такого вида. Серым цветом выделены скрытые символы разделители ASCII 29 в виде <0x1d>. В последующем эти символы при печати должны быть преобразованы в разделители строк формата GS1 DataMatrix
Аналогично если забираете в ТХТ формате, то никогда, ни при каких обстоятельствах, не следует открывать и сохранять его в excel. В excel есть функция автосохранения. В момент сохранения excel может самым непредсказуемым образом видоизменить ваши коды. Рекомендуем использовать notepad++(блокнот) для просмотра кодов.
При преобразовании перед печатью полученные Коды Маркировки могут приобрести следующий вид:
Третий код — невалидный (у него отсутствуют разделители GS).
Несмотря на то, что при подготовке файла к печати или генерации GS1 DataMatrix, для работы с системой через личный кабинет или API используется оригинальный Код Маркировки содержащий скрытые символы разделители ASCII 29 в виде <0x1d>
Генерация (преобразование) кода маркировки в Средство Идентификации
В постановлении правительства РФ 860 указан ГОСТ, согласно которому необходимо формировать DataMatrix. Так же в ППР 860 указано обязательное использование идентификаторов применения. Обратите внимание, что в стандарте DataMatrix нет понятия «идентификаторы применения». Они есть только в стандарте GS1 DataMatrix. Основное различие: в GS1 DataMatrix первый символ должен быть FNC1. Символ GS не должен стоять на первом месте в DataMatrix, только FNC1.
FNC1 нельзя просто взять и добавить в строку как GS. Его должна добавлять программа, генерирующая DataMatrix.
Предлагаем разработчикам программного обеспечения ознакомится с собранными ссылками по тематике формирования GS1 DataMatrix и использовать данный опыт для доработки учетных систем:
- https://its.1c.ru/db/metod8dev#content:5963:hdoc
- https://infostart.ru/public/1179190/
- https://expert.chistov.pro/public/1176899/
Бесплатное приложение по преобразованию Кодов Маркировки в Средства Идентификации (без поддержки / распространяется как есть): barCodesFX download | SourceForge.netГотовое решение на платформе 1с, для работы с системой маркировки и оборудованием: Сервис «Электронный кабинет» — Электронный знак (datamark.by)
Основные ошибки, которые допускаются при формировании GS1 DataMatrix:
- в начале не вставлен FNC1 (1 специальный символ);
- вместо спецсимвола FNC1 в начале вставлен текст «FNC1» (4 символа);
- вместо спецсимвола FNC1 в начале вставлен GS;
- не вставлены разделители групп данных GS после полей переменной длины (например, после серийного номера);
- разделители групп данных вставлены не туда, где они должны быть (например, после поля (01) GTIN, которое имеет фиксированную длину и не требует в конце разделителя);
- вместо спецсимвола GS вставлен текст «GS»;
- используются программы или алгоритмы для печати, которые непоправимо искажают информацию (например, удаляют из кода символы, которые они считают лишними. Зачастую это арифметические символы, скобки и т.п.).
Для проверки работоспособности двумерного сканера с Личным кабинетом ГИС «Электронный знак» можно воспользоваться следующей формой: