Идентификатор применения 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 после переменных. Печать скобок внутрь самих данных — типичная ошибка при генерации кода.