Из чего состоит код КИЗ: расшифровка GS1 DataMatrix
Опубликовано 4 октября 2026 г.

Если отсканировать код маркировки обычным сканером в текстовое поле, вы увидите длинную строку вроде 0104600000000006211111111111111 и дальше ещё несколько десятков знаков. Это не случайный набор цифр: строка разбита на сегменты, а перед каждым сегментом стоит короткий числовой префикс. Такие префиксы в стандарте GS1 называются идентификаторами применения (Application Identifiers, AI). Они говорят читающей программе, что именно идёт дальше.
Сам DataMatrix — это только способ упаковки: квадратная матрица из тёмных и светлых модулей. Содержимое задаётся стандартом GS1, поэтому код называют GS1 DataMatrix. Он читается любым сканером, который умеет двумерные коды, и телефонной камерой.
AI (01): GTIN
После префикса 01 идут 14 цифр: глобальный номер товарной позиции (GTIN). Он описывает модель товара: у всех единиц одной модели GTIN одинаковый. По нему система понимает, что это за товар, но не какой именно экземпляр.
AI (21): серийный номер
Префикс 21 открывает серийный номер конкретной единицы. Сочетание GTIN и серийного номера уникально для каждого экземпляра, поэтому именно оно делает код «паспортом» одной вещи. Длина серийного номера зависит от товарной группы, поэтому после него в строке нужен разделитель.
AI (91), (92) и (93): проверочная часть
Завершает код проверочная часть. У большинства товарных групп это пара: ключ проверки (91) и электронная подпись (92). У некоторых групп используется укороченный вариант с префиксом 93. Эта часть показывает, что код выпущен оператором системы, а не придуман: проверить подпись может только тот, у кого есть соответствующие ключи.
Практический вывод простой: изменить в коде нельзя ни одного символа. Если поправить хотя бы одну цифру в серийном номере, подпись перестанет сходиться, и код будет считаться недействительным. Поэтому «исправить» повреждённый код вручную не получится, а подбор кодов бессмыслен.
Разделитель GS
Поля переменной длины в GS1 DataMatrix отделяются друг от друга служебным символом GS (управляющий символ с кодом 29, в стандарте — FNC1). Он невидим: в тексте его не видно, а некоторые каналы его теряют или заменяют. Чаще всего такое случается при копировании через мессенджеры, буфер обмена, часть таблиц и выгрузок из учётных систем.
Без разделителя код выглядит слитным и либо не сканируется, либо отвергается проверкой. Что делать в этом случае:
- Не пытайтесь вставить разделитель руками в текстовом редакторе: символ невидим, ошибиться легко.
- Возьмите код из первоисточника: сканируйте заново или берите из исходной выгрузки, а не из пересланного текста.
- Если код уже потерял разделители, сервис ДАТАМАТРИКС ОНЛАЙН пытается восстановить их перед построением этикетки и сообщает, если строку разобрать не удалось.
Как это связано с повторной печатью
При дубле все сегменты копируются один в один, вместе с разделителями. Если вы печатаете этикетку по строке, полученной из надёжного источника, результат считывается так же, как оригинал. Если строка уже была «побита» при пересылке, дубль унаследует ту же проблему. Подробнее о причинах нечитаемости — в статье «Код маркировки не читается».
Пример разбора условной строки
Возьмём условную строку из тестовых данных (это не настоящий код, он нужен только для иллюстрации):
0104600000000006211111111111111<GS>93TEST
01и следующие 14 цифр (04600000000006) — GTIN;21и следующий блок цифр (1111111111111) — серийный номер переменной длины;<GS>— невидимый разделитель, который обозначает конец серийного номера;93иTEST— укороченная проверочная часть.
В настоящем коде проверочная часть длиннее и состоит из «случайных» знаков, а разделитель в тексте выглядит как пустое место или квадратик, в зависимости от программы.


