Как сформировать штрих-код GS1 DataMatrix с полем переменной длины?
Здравствуйте.
Проблема указана в заголовке темы.
Как проверял (FastReport VCL2022):
1) Вставляем в отчёт объект "Штрихкод" DataMatrix. Открываем окно редактора (двойной клик по объекту) и для параметра GS1Rule ставим значение True.
2) В этом же окне редактора вставляем для примера вот такую строку кода: (01)04600000000000(12)000000(93)2222. Здесь идентификаторы 01, 12, 93 задают поля заданной длины. Редактор формирует штрих-код. Сканируем его программой на телефоне (или сканером). Сканер выдаёт код: 010460000000000012000000932222. Всё корректно. Сканер распознал штрих-код GS1 DataMatrix.
3) Теперь нужно сформировать штрих-код вот для такой строки: (01)04600000000000(21)000000000000(93)1111. Здесь идентификатор 21 задаёт поле переменной длины. Вставляем эту строку в редактор. Редактор формирует штрих-код. Сканируем его. Сканер выдаёт код: 010460000000000021000000000000(93)1111. Не корректно!!! Сканер не распознал идентификатор 93. И всё его содержимое включил в содержимое поля 21. Редактор НЕ правильно сгенерировал штрих-код. По идее перед идентификатором (93) нужно вставить символ <GS>, но как это сделать?
Комментарии
Ещё уточню что нужно получить в конечном итоге для данного примера:
Сейчас так сделать не получается. И либо я что-то не так делаю, либо это ошибка в FastReport