Имя: Пароль:
1C
1C 7.7
v7: Ошибка метода FormEx "НарисоватьШтрихКод"
0 MWWRuza
 
гуру
18.11.22
14:24
Добрый день!
Нужно напечатать ШтрихКод маркировки DataMatrix, GS1. Вот он:

0104630086153039215Sd_,r93ACAN3103001034

Как видим, в нем два символа-разделителя "GS1"(КодСимвола(29)). Так, естественно строка на печать не вывелется.
Подготавливаем, вырезаем GS1 а следующие за ними два символа оборачиваем в квадратные скобки. Получаем:

[01]04610017097151[21]5eY4K:[93]A8Ih[31]03001630

Не выводится... Пустые картинки, и возвращает метод ошибку:

"Error 260: Invalid AI value (31)"

Почему? Чем ему так 31 ненравится? Если туда принудительно пихнуть например 93, то все печатает...
Но, мне именно 31 нужно, так, как это весовой товар, и символы сдедующие за кодом применения 31 говорят об этом и содержат в себе вес единицы товара...

Как это можно обойти?
1 MWWRuza
 
гуру
18.11.22
14:57
Разобрался.
Я не знаю, что там FormEx не нравится печатать [31], но, это и не верно - там код применения [3103].
Так - печатает. Х.з., как он это понимает, но так.
2 Djelf
 
18.11.22
21:31
(0) Попрошу на FormEx не наезжать!
Для вывода ШК используется обертка библиотеки Zint https://zint.org.uk
Т.е. "Error 260: Invalid AI value (31)" выдает не FormEx, а Zint, вот к Zint и все претензии...
3 MWWRuza
 
гуру
18.11.22
22:16
Да не... Они молодцы, это я лопухнулся, не знал, что "код применения" это из спецификации ШК GS1, а не из ЧестногоЗнака их хотелка.
Когда стал разбираться, действительно такого AI нет, но есть 3103. FormEx(ну, или точнее Zint) знали об этом, поэтому и не печатали, а я нет :-(  Теперь, знаю :-)
4 victuan1
 
19.11.22
23:02
Скажу вдобавок, нужно использовать одну из крайних версий Формекс, т.к. в него включена новая сборка Zint, в которой исправлены ошибки неверного вывода Датаматрикс в некоторых случаях.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.