GS1 DataBar Expanded Stacked — многострочный штрихкод для товаров, которым недостаточно обычного GTIN. Он позволяет кодировать дополнительные сведения — например, срок годности, вес и номер партии — и размещать их в компактной области этикетки. В этой статье разберём, какие данные поддерживает символика, как устроено её считывание и как параметр Segments влияет на форму штрихкода в FastReport .NET.
GS1 DataBar Expanded Stacked — многострочная разновидность GS1 DataBar Expanded. Она предназначена для случаев, когда расширенный штрихкод в одну строку не помещается по ширине. Данные распределяются по нескольким строкам, поэтому символ можно разместить на узкой этикетке или упаковке с ограниченным пространством.
В зависимости от доступного места штрихкод может быть относительно широким и невысоким либо более узким и высоким. По данным GS1, символика вмещает до 74 цифровых или 41 буквенно-цифрового символа; в версии Stacked данные могут располагаться максимум в 11 строках.
В отличие от GS1 DataBar Omnidirectional и Limited, которые предназначены главным образом для GTIN, версия Expanded Stacked поддерживает идентификаторы применения GS1 (AI). Они указывают, как интерпретировать следующие за ними данные.
В одном штрихкоде можно закодировать:
Набор применяемых AI зависит от задачи и правил маркировки конкретного товара. GS1 DataBar Expanded Stacked используют, в частности, для дополнительной информации о свежих продуктах, таких как вес и срок годности.
GS1 DataBar Expanded Stacked разработан для считывания многоплоскостными сканерами в розничной торговле. Однако возможность чтения зависит от совместимости и настройки оборудования: не каждый сканер автоматически распознаёт этот тип символики.
Строки штрихкода разделяются специальными паттернами. Они помогают сканеру распознать структуру символа и правильно объединить данные из разных строк. Согласно спецификации, высота разделительного паттерна составляет 3 модуля, а высота строки — 34 модуля.
В символике используется контрольное значение, рассчитываемое по алгоритму modulo 211. Оно помогает обнаруживать ошибки при декодировании, но не гарантирует считывание повреждённого штрихкода во всех случаях.
Ниже приведены два примера строк с идентификаторами применения.
Короткий код: (01)09501101530003(17)250101
В этом примере данных немного, поэтому штрихкод может занимать меньше строк, чем более длинный код. Фактическая компоновка зависит от настроек сегментов и доступного пространства.
Длинный (сложный) код: (01)08684225231863(3103)000000(17)251230(251)TR03008228992(7007)251215
Чем больше данных нужно закодировать, тем больше места может потребоваться. Если ограничить ширину символа, данные распределятся по большему числу строк.
В FastReport .NET за разбиение символа на строки отвечает параметр Segments. Он определяет количество пар сегментов данных в одной горизонтальной строке и влияет на соотношение ширины и высоты штрихкода.
Segments = 2 — минимальное значение: штрихкод получается уже и, как правило, выше, поскольку данные распределяются по большему числу строк.Segments = 4, 6, 8... — с увеличением значения штрихкод становится шире, а число строк обычно уменьшается.Segments = 20 — максимальная ширина для многострочного варианта; при подходящем объёме данных символ может уместиться в одну строку.При этом Segments должно быть чётным числом от 2 до 20. Эти значения соответствуют диапазону ширины GS1 DataBar Expanded Stacked, указанному в спецификации.
GS1 DataBar Expanded Stacked помогает разместить на товарной этикетке не только GTIN, но и дополнительные сведения — например, вес, срок годности и номер партии. Многострочная структура делает его удобным для узких этикеток, а настройка Segments в FastReport .NET позволяет подобрать нужное соотношение ширины и высоты. При подготовке к печати важно проверить корректность данных и убедиться, что используемый сканер поддерживает этот тип штрихкода.