25.11.2010, 16:01 | #1 |
Участник
|
BarCode EAN128 ограничения длины штрихкода
Кто-нить знает зачем в ax2009 в методе
\Classes\BarcodeCode128\encodeString стоит проверка на длину штрихкода : X++: if (outputCnt > #MaxReturnStringSize - 7) // 3 start + 4 stop throw(error("@SYS90717")); Насколько мне известно, в формате EAN128 нет ограничения на длину штрихкода. В ax3.0 таких ограничений тоже не было. |
|
25.11.2010, 17:16 | #2 |
Ищущий знания...
|
и действительно странно.
то что длина не ограничена подтверждает и wiki: (EAN-128 (GS1-128)). вот здесь тоже обсуждалась похожая тема. и в ней говориться: Цитата:
Сообщение от gl00mie
Помимо какого-нить EAN13 зачастую используют "длинные" штрих-коды (типа EAN128 или Code128), позволяющие закодировать в штрих-коде самую различную информацию, используемую организацией во внутреннем документо- и товарообороте: номер документа, сумму, количество, общий вес, etc. Так вот, в Аксапте столкнулись с тем, что такие длинные штрих-коды почему-то обрезались и, как следствие, ни в какую не читались сканерами. Поначалу грешили на dll-ку, генерирующую штрих-коды, но все оказалось проще: у строкового EDT BarcodeString, используемого в семействе классов Barcode для переменной, хранящей перекодированную в штрих-код информацию, оказалась установлена недостаточная длина - всего 60 символов (в 4-ке - уже целых 70 ), при том что для EAN128 нужно, насколько я понимаю, порядка 400. После изменения длины этого EDT штрих-коды стали отображаться и печататься нормально.
складывается впечатление что в Microsoft не знают, что у некоторых форматов штрих-кодов не ограниченна длина.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
Теги |
ax2009, barcode |
|
|