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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2010, 14:05   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
? Формирование штрих-кода: Code-128 A, B, C
Подскажите, где можно почитать о формировании штрих-кодов в Аксапте?
Мне необходимо сформировать один штрих-код в формате Code-128 A и один в формате Code-128 C. До сих пор я был уверен, что все, что требуется сделать - это выбрать тип штрих-кода на форме BarcodeSetup, а метод encode() впоследствии сам преобразует исходную строку в требуемый формат, что-то вроде:
X++:
void test(BarcodeSetupId _barcodeSetupId, BarCodeString _barCodeContents )
{
    BarCodeSetup    barcodeSetup    = BarcodeSetup::find(_barcodeSetupId);
    Barcode         barcode         = barcodeSetup.barcode();
    ;

    if (barcodeSetup.validateBarcode(_barCodeContents))
    {
        barCode.string(true, _barCodeContents);
        barCode.encode();
    }
    else
    {
        throw(error(strfmt("@SYS41409", barCode.barcodeType(), _barCodeContents)));
    }

    info (barCode.barcodeStr());
}

Но судя по методу BarcodeCode128.optimizeCodesets(), CodesetA или CodesetC выбирается автоматически в зависимости от содержимого исходной строки.

Я в работе со штрих-кодами пока что не очень хорошо разбираюсь. Подскажите, надо ли каким-либо образом кодировать исходную строку перед использованием класса BarCode? Где об этом можно почитать?
Старый 10.06.2010, 14:31   #2  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
В конечном итоге посоветовал потестировать у клиента, как сканеры понимают стандартный аксаптовский Code128, и не мучаться.

Интернет подсказывает, что в Code 128 имеется три режима кодировки: A, B и C. Стартовый символ штрих-кода определяет, какой режим будет использоваться. Но режим кодировки может поменяться посреди штрих-кода, и эта функция по умолчанию и используется в AX. Например, в строке AB12345678 имеет смысл для первых двух символов использовать режим A, а для остальных - режим C, в котором числа кодируются в два раза компактнее.

Я подозреваю, что все сканеры должны понимать такой смешанный режим кодировки, и никаких доработок в AX делать не надо. Посмотрим, что покажет тест.

На википедии тоже неплохая статья об этом коде.
Старый 11.06.2010, 01:40   #3  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Если не секрет: какая бизнес-задача потребовала такого штрих-кода, в котором режим кодировки может поменяться посреди штрих-кода?
Старый 11.06.2010, 13:03   #4  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
Цитата:
Сообщение от Zabr Посмотреть сообщение
какая бизнес-задача потребовала такого штрих-кода, в котором режим кодировки может поменяться посреди штрих-кода?

Кодовый набор C - только числа (00-99), то есть две цифры в штрих-коде записываются одним символом.
Кодовый набор B - цифры и прописные и строчные буквы латинского алфавита.
Кодовый набор A - цифры, прописные буквы и управляющие коды.
Стандарт Code 128 предусматривает использование более одного кодового набора в одном штрих-коде. Для чего? Думаю, что для уплотнения закодированной информации. Я приводил пример в предыдущем посте. Да и управляющие коды в базовый кодовый набор, наверное, не помещались.

Исходная задача как-раз заключалась в том, чтобы в одном штрих-коде использовать только кодовый набор A, а в другом только кодовый набор C. В стандартной AX, вроде, такой возможности нет, хотя ее должно быть достаточно легко добавить. Вот только надо ли? Я пока что предполагаю, что все сканеры должны понимать смешанный набор Code 128, и нужды в доработках нет. Возможно, что я ошибаюсь.
Теги
barcode, штрихкод

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема печати Штрих-кода Hammer DAX: Программирование 22 31.08.2012 13:22
Проблема с раскладкой при считывании штрих кода Must_Die DAX: Программирование 2 26.05.2009 12:37
Шрифт штрих-кода "как в 1С" Владимир Максимов DAX: Программирование 7 27.04.2009 10:50
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Печать ШТРИХ-КОДА Nic DAX: Функционал 11 19.01.2005 08:16

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

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

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