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

FNC1

FNC1 — служебный символ в GS1-кодах (GS1-128, GS1 DataMatrix, GS1 QR): в первой позиции включает режим GS1, внутри данных разделяет поля переменной длины, заменяя разделитель GS (ASCII 29).

FNC1 (Function 1) — служебный символ в штрихкодах и 2D-кодах, у которого нет собственного печатного значения. Он не кодирует данные, а управляет тем, как декодер читает остальную строку. Встречается в форматах семейства GS1: GS1-128, GS1 DataMatrix и GS1 QR Code.

Зачем нужен FNC1

Без FNC1 сканер видит просто последовательность цифр и символов и не знает, что перед ним структура GS1. Именно FNC1 в самом начале сообщает: дальше идут идентификаторы применения (AI) по стандарту GS1 — GTIN, номер партии, срок годности, серийный номер. По этому флагу учётная система разбирает строку на поля и понимает смысл каждого. Уберите FNC1 — и тот же код прочитается как бессмысленный набор символов.

Признак GS1 и разделитель полей

У FNC1 две разные роли в зависимости от позиции.

В первой позиции — это флаг режима GS1. Сканер по нему включает разбор по AI и обычно добавляет к данным идентификатор символики: ]C1 для GS1-128, ]d2 для GS1 DataMatrix, ]Q3 для GS1 QR.

Внутри данных — это разделитель полей переменной длины. Поля фиксированной длины декодер отмеряет сам: GTIN по AI (01) — 14 цифр, срок годности по AI (17) — 6 цифр. А после поля переменной длины, например номера партии (10) или серийного номера (21), нужен явный конец — его и ставит FNC1. При передаче сканер отдаёт этот разделитель как символ GS (Group Separator, ASCII 29).

Где встречается

FNC1 работает во всех GS1-символиках: линейном GS1-128 на логистических этикетках, а также в GS1 DataMatrix и GS1 QR. В российской маркировке «Честный знак» коды Data Matrix собирают именно так: GTIN (01) плюс серийный номер (21), затем разделитель GS, затем криптохвост (91) и (92). Без корректных разделителей FNC1/GS такой код не пройдёт проверку. Собрать линейный код с полями GS1 можно в генераторе штрихкодов.