Из каких групп состоит код
Код маркировки в DataMatrix — строка из цифр, латинских букв и знаков. Она собрана из групп: каждая начинается с идентификатора из двух цифр, за ним идёт значение. Чтобы расшифровать код, достаточно найти эти группы по порядку.
- 01 — GTIN — номер товара, ровно 14 цифр. Это тот же штрихкод товара, дополненный нулём спереди до 14 знаков.
- 21 — серийный номер — то, чем отличаются единицы одного товара. Длина зависит от группы товаров, поэтому после него ставится разделитель GS.
- 91 и 92 — криптохвост: ключ проверки и код проверки. Что это и почему он «отсутствует» — в статье о криптохвосте.
- 93 — короткий код проверки — в группах с короткой структурой кода вместо 91 и 92.
Длина кода в разных группах товаров
Длина кода зависит от товарной группы: серийный номер и криптохвост бывают разной длины. Поэтому код нельзя проверять «по числу символов» — только по группам.
| Группа товаров | Серийный номер (21) | Криптохвост | Источник |
|---|---|---|---|
| Одежда и текстиль (лёгкая промышленность) | 13 символов | 91 (4) + 92 (44) | ЦРПТ, разд. 3.1.15 |
| Обувь | 13 символов | 91 (4) + 92 (88) | ЦРПТ, разд. 3.1.23 |
| Игрушки | 6 или 13 символов | 93 (4) — при 6 символах или 91 (4) + 92 (44) — при 13 символах | ЦРПТ, разд. 3.1.9 |
| Косметика и бытовая химия | 6 символов | 93 (4) или 91 (4) + 92 (44) | ЦРПТ, разд. 3.1.13 |
| Молочная продукция | 6 символов | 93 (4) | ЦРПТ, разд. 3.1.17 |
| Упакованная вода | 13 символов | 93 (4) | ЦРПТ, разд. 3.1.44 |
| БАД и спецпитание | 13 символов | 93 (4) или 91 (4) + 92 (44) | ЦРПТ, разд. 3.1.37 |
| Радиоэлектроника | 20 символов | 93 (4) или 91 (4) + 92 (44) | ЦРПТ, разд. 3.1.31 |
| Строительные материалы | 13 символов | 93 (4) или 91 (4) + 92 (44) | ЦРПТ, разд. 3.1.39 |
Длина серийного номера — с кодом страны: первый символ серийного номера обозначает страну. В скобках — сколько символов в группе криптохвоста. Источник — ЦРПТ, «Описание вариантов передачи КМ / КИ / КиЗ…», раздел 3.1, версия 85.0. Если вашей группы нет в таблице, её состав кода — в том же документе.
Разделитель GS и знак FNC1
GS — невидимый служебный символ с кодом 29. Он стоит после групп переменной длины, например после серийного номера, и показывает, где группа кончилась. На экране его не видно, но без него код уже другой.
FNC1 — служебный знак в самом начале DataMatrix. Он говорит сканеру, что дальше идут группы GS1, а не произвольный текст. Код без него — обычный DataMatrix, и проверка его не примет.
Так же устроен линейный штрихкод GS1-128: FNC1 в начале, дальше группы с идентификаторами. Например, номер короба или паллеты SSCC идёт с идентификатором (00) — такой код делает генератор SSCC.
В текстовых выгрузках GS иногда записан словами: <GS>, {GS}, \u001d. Это та же информация, просто в другом виде.
Ошибка «отсутствуют разделители GS»
Такие сообщения — «отсутствуют разделители GS», «в структуре кода маркировки отсутствует…» — пишут программы и сервисы, когда в строке кода не нашлось разделителя после серийного номера: тогда серийный номер не отделить от криптохвоста. Точный текст зависит от программы, которая проверяет код.
Чаще всего разделитель теряется в Excel: файл с кодами открыли, чтобы посмотреть, и сохранили. Редактор таблиц выбрасывает непечатаемый символ или превращает его в текст. Строка выглядит так же, как раньше, но уже без GS.
- Выгрузите коды заново и берите файл как есть — без пересохранения в Excel.
- Не собирайте коды вручную из разных столбцов и не склеивайте строки формулами.
- Если GS записан текстом, проверка штрихкода поймёт такую запись и покажет, где был разделитель.
Как расшифровать свой код
- Откройте проверку кода маркировки.
- Вставьте строку кода из файла или наведите камеру на DataMatrix.
- Посмотрите разбор: GTIN с проверкой контрольной цифры, серийный номер, криптохвост и найденные разделители GS.
- Если всё на месте, этикетки с кодом и штрихкодом можно собрать на странице «Честный знак».
Частые вопросы
Почему у разных товаров код разной длины?
Длина серийного номера и криптохвоста зависит от товарной группы. Поэтому проверять код по числу символов бесполезно — смотрите на группы 01, 21 и криптохвост.
Как найти GTIN внутри кода?
GTIN — это 14 цифр сразу после «01» в начале кода. Он должен совпасть со штрихкодом товара с поправкой на ноль впереди. Проверка штрихкода выделит GTIN и пересчитает контрольную цифру.
Можно ли увидеть GS в тексте?
Обычно нет: символ невидимый. Иногда в выгрузке он записан текстом — <GS> или \u001d. Чтобы проверить, есть ли разделитель на самом деле, разберите код в проверке штрихкода.
Почему код читается сканером, но не принимается?
Сканер читает символы, но не проверяет структуру. Код без разделителя GS, без криптохвоста или без FNC1 прочитается, а проверку не пройдёт.
Отправляется ли код на сервер при разборе?
Нет, разбор идёт в браузере. Поэтому проверка показывает только структуру: статус кода и то, чей он, видны в личном кабинете «Честного знака» и в его приложении.