Перейти к содержимому

Идентификатор применения GS1 (AI)

Идентификатор применения GS1 (AI) — числовой префикс из 2–4 цифр в GS1-коде: он сообщает сканеру, какие данные идут следом и в каком формате — GTIN, партия, срок годности, серийный номер.

Идентификатор применения (Application Identifier, AI) — это числовой префикс из двух-четырёх цифр, с которого начинается каждое поле данных в системе GS1. AI работает как метка формата: он говорит декодеру, что за значение идёт следом, какой у него смысл и сколько символов занимает. Благодаря этому в один код — GS1-128, GS1 DataMatrix или GS1 QR — упаковывается сразу несколько атрибутов товара, а не один номер.

Как устроен идентификатор применения

Строка данных GS1 — это цепочка блоков вида «AI + значение». Сначала идёт префикс, дальше — данные ровно того типа, который он задаёт. Часть идентификаторов имеют поле фиксированной длины: (01) всегда несёт 14 цифр, (17) — 6 цифр даты. Другие — переменной длины: например, (10) для партии допускает до 20 символов, и где именно поле заканчивается, заранее неизвестно. Скобки вокруг цифр печатают только для человека под кодом; в самих данных их нет — там идёт сплошная строка.

Частые AI и что они кодируют

Полный справочник GS1 насчитывает сотни идентификаторов, но в рознице и логистике встречается небольшой рабочий набор.

AIЧто кодируетДлина
(00)SSCC — код логистической единицы18
(01)GTIN товара14
(10)Номер партииперем., до 20
(17)Срок годности, ГГММДД6
(21)Серийный номерперем., до 20

Пример строки: (01)04600000000015(10)A1B2(17)271231. В ней декодер читает GTIN, номер партии A1B2 и срок годности 31 декабря 2027 года.

Связь с FNC1

Поля переменной длины создают проблему: сканеру надо понять, где значение заканчивается. Её решает служебный символ FNC1. Первый FNC1 в начале кода помечает всю строку как GS1. Дальше FNC1 ставится разделителем после каждого поля переменной длины и означает «значение кончилось, дальше новый AI». После полей фиксированной длины разделитель не нужен — декодер и так знает, сколько знаков отсчитать. Поэтому идентификаторы в коде обычно располагают так, чтобы фиксированные поля шли первыми, а переменные — в конце, экономя символы-разделители.

Частые вопросы

Чем идентификатор применения отличается от GTIN?

GTIN — это само значение, номер товара из 14 цифр. AI (01) — префикс перед ним, который сообщает сканеру, что дальше идёт именно GTIN, а не партия или дата. Один задаёт смысл поля, другой несёт данные. В строке (01)04600000000015 первые две цифры (01) — идентификатор применения, остальные 14 — GTIN товара.

Почему у AI бывает 2 или 4 цифры?

Длина префикса заложена в стандарт GS1. Большинство базовых идентификаторов двухзначные — (01), (10), (17). Для групп однотипных данных вводят четырёхзначные: например (310x) — вес нетто в килограммах, где последняя цифра задаёт положение десятичной точки. Сканер определяет длину AI по первым цифрам и отсчитывает нужное число знаков значения.

Зачем рядом с идентификаторами нужен FNC1?

FNC1 решает проблему полей переменной длины. У партии (10) или серийного номера (21) число символов заранее неизвестно, поэтому после такого поля ставят разделитель FNC1 — он сообщает декодеру, что значение закончилось и дальше новый AI. А первый FNC1 в начале кода помечает всю строку как GS1-данные, а не произвольный текст.

В каких кодах используют идентификаторы применения?

AI работают в нескольких носителях GS1: линейном GS1-128 для логистических этикеток, двумерном GS1 DataMatrix (маркировка «Честный знак», медицина) и в GS1 QR. Набор идентификаторов один и тот же во всех трёх — меняется только символика штрихкода. Обычные EAN-13 и QR-коды без префикса GS1 идентификаторы применения не используют.

Печатаются ли скобки в самом штрихкоде?

Нет. Скобки вокруг AI — (01), (17) — нужны только человеку, который читает расшифровку под кодом. В машиночитаемых данных скобок нет: там сплошная строка цифр, а границы полей сканер находит по длине фиксированных AI и по разделителям FNC1 после переменных. Печать скобок внутрь самих данных — типичная ошибка при генерации кода.