Генератор штрих-кода GS1-128
GS1-128 — это Code 128, к которому добавили грамматику. Штрихи те же самые, меняется другое: данные перестают быть непрозрачной строкой и становятся набором полей, каждое со своим идентификатором применения, который говорит, что означают следующие знаки и сколько их читать. (01) — номер товара, всегда четырнадцать цифр. (17) — срок годности, всегда шесть. (10) — партия, до двадцати знаков, пока что-нибудь не скажет остановиться. Ради этой грамматики всё и затевалось: принимающая сторона вытаскивает срок годности из символа, который видит впервые. По той же причине символ с правильными цифрами в неправильной структуре хуже, чем отсутствие символа.
Оформление
462 × 296 px в PNG
Спецификация
- Набор символов
- буквы и цифры
- Длина
- от 1 до 48 символов
- Контрольная цифра
- в этой символике не используется
Сгенерировать GS1-128 списком
Кодов нужно много, а не один? Сгенерировать GS1-128 списком
Где применяется
- Транспортные этикетки на паллетах и коробах, где 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 — короб, паллета и отгрузочная этикетка.
Регистрация префикса
Генератор рисует корректный штрих-код GS1-128, но одного изображения недостаточно, чтобы продавать под ним товар в рознице. Префикс выдаёт GS1 — его нужно зарегистрировать там до печати кода на упаковке.