AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2011, 17:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,644 / 848 (80) +++++++
Регистрация: 28.10.2006
emeadaxsupport: BarcodeCode128 and Tilde Character
Источник: http://blogs.msdn.com/b/emeadaxsuppo...character.aspx
==============

Recently we came across an issue with BarcodeCode128 barcodes - when using a tilde character (~) within a BarcodeCode128 barcode in AX the resulting barcode can be unreadable by scanners.

The reason for this is that Code128 has three different code sets associated with it – using an escape character in the barcode string to switch between these code sets. Different applications do this in different ways using different characters, in AX we use the tilde character to inform the program that we want to use another code set.

Once AX has picked up a tilde it expects to receive a specific value next in the barcode string: c, d, e, f, or g, these are the control characters which have the ASCII numerical value of 99-105 which will change the code set and create the first few bars of the barcode which tell the reader which code set is being used and continue on to create a new barcode.

If a different character is placed after the tilde (anything other than c, d, e, f, or g) then it never finds the desired code set, doesn’t create the first few lines of the barcode that tell the reader what it is supposed to be reading and leads to an unreadable barcode – it does not produce an error, it will simply create a corrupted barcode, which is why it is important to understand this process.

Here you can see the corrupted barcode, on the right hand side they are identical, however the beginning has been entirely left out in the ~A example:

With the barcode string "~A":



With the barcode string "~gA":



When entering the value ~gA (~ = escape character, g = control character instigating code set B) then barcode is readable and displays ‘A’ as with the second example above.
It is important to either keep tildes out of barcodes where possible or – if you must have tildes in your barcode strings then you would need to write a modification, bear in mind that any changes here may cause further problems in the future when using the BarcodeCode128 class for its original purpose. The specific place where this logic is used is: Classes\BarcodeCode128.encodeString()

Specifically the following line where the escChar parameter holds the value 126 (tilde):

if ((charVal == #escChar) && (char2num(textcvt, tichr+1) != 0)) // tilda character #126




--author: Nikita Hickson --editor: Nikita Hickson --date: 17/May/2011


Источник: http://blogs.msdn.com/b/emeadaxsuppo...character.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:22.