Как объединить несколько полей для матрицы данных GS1 (BXN) в Zebra Programming Lang (ZPL)

Я пытаюсь показать некоторые данные в матрице данных GS1, в которой разделители полей (FNC1,GS) передаются внутри переменной в шаблон zpl.

Первоначально в ZebraDesigner я не мог заставить zpl позволить мне передавать разделители внутри параметра / переменной. Разделители будут отображаться только как текст внутри данных, а не как управляющие символы для сканера. (Я смог передать разделители как Fix Data, однако он должен работать с параметром).

В качестве альтернативы я надеялся отредактировать zpl и объединить управляющие символы и значения QR в одну распечатанную информацию для Datamatrix.

Это zpl с использованием одной переменной QRCode: (это работает, но не с пропущенными разделителями)

^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FN18^FDQRCode^FS

Это использует фиксированные данные, где FNC1 равен \7E, а GS - \1D: (работает, но не использует переменные / параметры)

^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FD\7E188text234567890\1Dmoretext^FS

Это моя попытка объединить разделители и переменные QRData1...:

^BY208,208^FT448,1123^BXN,8,200,0,0,1,~
^FH\^FD\7E^FN18^FDQRData1^FN22^FD\1D^FDQRData2^FD\1D^FN23^FDQRData3^FS

К сожалению, QR-код показывает только значение для последней переменной QRData3

1 ответ

Побег ваш шестнадцатеричный код полевого сепаратора с _ (подчеркивание), а не с обратной косой чертой.
И использовать только один ^FD команда, как в вашем втором примере.

Для справки смотрите страницы команд ^FD, ^FH а также ^BX в программировании Zebra ZPL II

Как выяснил ОП, полевой сепаратор _d029 работал на него! Это шестнадцатеричное значение (0xD029) для управляющего символа.

Более подробную информацию можно найти здесь:

Кодировать GS,RS и EOT для кода 128 и PDF417

GS ~ 029
RS ~ 030
EOT ~004

Пример:
[)><RS>06<GS>13V12GG7<GS>1P029-102489-157<GS>NC-411-661478-1<RS><EOT>

Введите данные как:
[)>~03006~d02913V12GG7~0291P029-102489-157~029NC-411-661478-1~030~004

Кодировать GS,RS и EOT для матрицы данных, ацтеков и QR-кода

GS ~ d029
RS ~ d030
EOT ~d004

Пример:
[)><RS>06<GS>13V12GG7<GS>1P029-102489-157<GS>NC-411-661478-1<RS><EOT>

Введите данные как:
[)>~d03006~d02913V12GG7~d0291P029-102489-157~d029NC-411-661478-1~d030~d004

Другие вопросы по тегам