Генератор штрих-кода GS1-128

GS1-128 — это Code 128, к которому добавили грамматику. Штрихи те же самые, меняется другое: данные перестают быть непрозрачной строкой и становятся набором полей, каждое со своим идентификатором применения, который говорит, что означают следующие знаки и сколько их читать. (01) — номер товара, всегда четырнадцать цифр. (17) — срок годности, всегда шесть. (10) — партия, до двадцати знаков, пока что-нибудь не скажет остановиться. Ради этой грамматики всё и затевалось: принимающая сторона вытаскивает срок годности из символа, который видит впервые. По той же причине символ с правильными цифрами в неправильной структуре хуже, чем отсутствие символа.

Оформление
Размеры
Подпись
Положение подписи
Выключка подписи
Цвета

462 × 296 px в PNG

Единицы размера

Спецификация

Набор символов
буквы и цифры
Длина
от 1 до 48 символов
Контрольная цифра
в этой символике не используется

Где применяется

  • Транспортные этикетки на паллетах и коробах, где SSCC за идентификатором (00) связывает физическое грузовое место с отгрузочным уведомлением
  • Короба с продуктами питания и лекарствами, где рядом с номером товара обязаны быть партия и срок: отзыв идёт по партии, а не по товару
  • Весовой товар, где идентификатор (310n) несёт вес нетто, а положение запятой закодировано в самом идентификаторе
  • Прослеживаемые единицы, где (21) добавляет к номеру товара серийный номер и различимой становится каждая штука, а не только товарная позиция

Чем отличается

От обычного Code 128 отличаются не штрихи, а договор. Code 128 закодирует что угодно, и смысл живёт в соглашении между вами и тем, кто читает; GS1-128 кладёт смысл в сами данные, и потому паллету понимает склад, который с вами никогда не разговаривал. Плата за это — ширина: каждый идентификатор это два-четыре знака, не несущих полезных данных, и символ с номером, партией и сроком заметно длиннее тех же цифр, упакованных голым Code 128. С ITF-14 размен обратный. ITF-14 несёт номер товара и больше ничего, печатается крупно и переживает гофрокартон; GS1-128 несёт всё остальное, но просит печатную этикетку, а не прямую флексопечать, потому что тонкие элементы у него мельче. На практике короб часто получает оба: ITF-14 с номером и GS1-128 с партией и датой.

Типичные ошибки

  • Вводить скобки как данные. Круглые скобки вокруг идентификатора — это соглашение о человекочитаемой подписи под штрихами, они не кодируются. Поля в символе разделяет FNC1, служебный знак, который генератор ставит сам. Закодируете скобки буквально — получите символ, данные которого начинаются со знака препинания, и ни один считыватель GS1 не разберёт его как идентификатор.
  • Забыть разделитель после поля переменной длины. Идентификаторам фиксированной длины после себя ничего не нужно: за (01) всегда ровно четырнадцать цифр. Переменные — (10) партия, (21) серийный номер — тянутся, пока их не остановят. Пропустите разделитель, и следующее поле утонет в номере партии; выглядеть она будет правдоподобно и будет неверной.
  • Дополнять номер товара не с той стороны. Идентификатор (01) берёт всегда четырнадцать цифр: GTIN-13 ставится по правому краю с одним ведущим нулём, GTIN-12 — с двумя. Выровняйте влево или дополните справа — и получится номер, проходящий проверку контрольной цифры, но принадлежащий другому товару. Это тот самый отказ, при котором символ читается безупречно и опознаёт чужую продукцию.
  • Писать даты в привычном порядке. Идентификаторы (11), (15) и (17) берут шесть цифр в порядке ГГММДД, и ничто в символе не отличает 010203 как 3 февраля 2001 года от тех же цифр, задуманных как 2 января 2003 года. Единственное исключение, которое стоит помнить: день 00 допустим и означает последний день месяца.
  • Печатать так же мелко, как розничный код. На транспортной этикетке ширина модуля начинается от 0.495 мм — примерно в полтора раза крупнее розничного, — потому что читают её через пандус, а не под стеклом кассы. Уменьшение GS1-128 ради вёрстки этикетки и есть самая частая причина, по которой паллету приходится сканировать дважды.

Вопросы и ответы

Чем GS1-128 отличается от UCC/EAN-128?
Только названием. Символику переименовали в GS1-128, когда организации UCC и EAN объединились в GS1; старая документация и немалая часть работающего программного обеспечения по-прежнему называют её UCC/EAN-128 или просто EAN-128. Если техническое задание требует любое из этих названий, речь об этом символе.
Нужен ли префикс GS1?
Для всего, что выходит за пределы вашего склада, — да. Идентификаторы осмысленны лишь потому, что номера за ними уникальны в мире, а уникальность даёт лицензированный на вас префикс предприятия. SSCC или GTIN, собранный из выдуманных цифр, может уже принадлежать другой компании, и принимающая система найдёт её запись, а не вашу.
Сколько полей помещается в один символ?
Сколько влезет, и вот это «влезет» и есть настоящее ограничение. GS1 ограничивает символ 48 закодированными знаками, а каждый идентификатор тратит два-четыре ещё до полезных данных. На практике номер плюс партия плюс срок помещаются свободно, а номер плюс партия плюс срок плюс серийный номер плюс вес — уже нет, и правильный ответ здесь второй символ на той же этикетке, а не один, ужатый до отказа.
Почему символ шире, чем Code 128 с теми же цифрами?
Потому что он несёт больше, чем цифры. Кодируются и все идентификаторы, и все разделители, и ни один из них не часть ваших данных. Это плата за символ, который объясняет себя незнакомому читателю, — и заодно причина, по которой коробу, которому нужен только номер товара, лучше подходит ITF-14.
Можно ли поставить GS1-128 на потребительскую упаковку?
Прочитается, но не пробьётся. Кассовые системы ищут в розничном символе GTIN-13 или GTIN-12 и не обязаны разбирать идентификаторы применения на кассе. Потребительской единице полагается EAN-13 или UPC-A, а GS1-128 — короб, паллета и отгрузочная этикетка.