Показать сообщение отдельно
Старый 10.04.2012, 11:13   #25  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от AndyD Посмотреть сообщение
Кстати, а точно на рисунке EAN13?

Для приведенного ш/к контрольный разряд должен быть 0, а не 9
Для проверки можно воспользоваться Онлайн Генератор Штрихкодов.
Там можно заодно увидеть его изображение
Точно EAN13. И на конце должны быть 9. По приведенной ссылке если последний знак не указывать как раз и сформирует контрольный разряд 9. Сам штрих-код в данном случае - это значение 5051126700089

Проблема в том, что штатный алгоритм расчета контрольного разряда в Axapta barcode.insertModulo10CheckDigit() определяет четные и не четные позиции считая справа на лево. С конца строки. Это означает, что если общее количество символов НЕ четное, то все в порядке, но если общее количество символов четное, то происходит "сдвиг" алгоритма. Поэтому прежде, чем передать ему значение для контроля надо сделать количество символов нечетным. Или переписать алгоритм, чтобы он читал строку слева-направо.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...