Помогите разобраться с печатью code128

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. markovki 19 03.08.16 13:45 Сейчас в теме
Доброе время суток, уважаемые форумчане.
Конфигурация Розница 2.2.3.10 (Платформа 8.3.8.1747).
Есть штрихкод RT_00000290_20 Тип штрихкода code128, но при печати вместо штрихкода выдает Invalid Barcode, обновил до 2.2.4.17, тоже самое. Посмотрев в отладчике наткнулся на функцию, которая определяет тип штрихкода как ITF14, попробовал на версии 2.2.2.15 - штрихкод печатается. Также только что заметил, что в любой конфигурации, при создании штрихкода "RT_00000290_20" автоматом подставляется тип штрихкода ITF14, а если использовать любой другой штрихкод не заканчивающийся на "...0", например "RT_00000290_22", то всё в порядке. Читал в интернете по поводу code128 - ничего конкретного не выяснил.
Может кто может объяснить, это ошибка разработчиков, либо по каким-то причинам штрихкода заканчивающегося на ноль не должно быть? Каковы принципы формирования code128, желательно сразу на практическом примере.
Если это важно, у нас формируется данный штрихкод программно, через самописную обработку, что-то вроде:
"RT-"+"КодНоменклатуры"+"_"+"Характеристика"
где Характеристика это число в диапазоне 12-46.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 03.08.16 14:20 Сейчас в теме
(1) markovki, возможно ошибка в коде определения типа штрихкода.
в розница 2.2.2.20 есть такая проверка для ITF14:
Если ВремКодСимвола < 48 Или ВремКодСимвола > 57 Тогда
 Прервать;
КонецЕсли;

В ITF14 допускаются только цифры.
А по поводу RT_00000290_20. По всей видимости последняя цифра соответствует вычисляемой контрольной цифре. Хотя само вычисление уже ошибочно, из-за не прохождения проверки на "только цифры в коде".
3. markovki 19 03.08.16 14:33 Сейчас в теме
(2) spacecraft, вы правы, эта процедура определения типа штрихкода есть во всех упомянутых сегодня конфигурациях, разница в том, что в 2.2.2.15 она не используется при печати, а в 2.2.3.10 она используется и соответственно при попытке напечатать выдает ошибку.
Мне лично не совсем понятна методика проверки типа штрихкода, читал в интернете, что вроде как code128 не использует контрольную цифру и может быть составлен произвольного вида, а другие пишут, что состоит он из 14-ти символов, где 12-й - контрольная цифра, четкой и понятной информации по методу формирования данного типа штрихкода к сожалению не нашел. Разработчикам также вчера звонил, обещали отписаться по этому вопросу, пока также ничего.
6. spacecraft 03.08.16 15:02 Сейчас в теме
(3) markovki, CODE128 есть 3 набора. Но реальной проверки в 1С на это нет. Вся проверка только на то, чтоб код символа не был больше 127.
По поводу контрольных цифр. В отличие от EAN13 и других такого же плана типов штрихкодов, "контрольный символ" не печатается и не участвует в формировании кода. Он просто нужен для сканера.
7. markovki 19 03.08.16 15:17 Сейчас в теме
(6) spacecraft, есть ли какие то подозрения на вот такой формат формирования штрихкода?
"RT-"+"КодНоменклатуры"+"_"+"Характеристика"
где Характеристика это число в диапазоне 12-46.

Мне например кажется странным, что штрихкод становится корявым только при нуле в окончании.
Если я переделаю например формирование кода вот в такой вид:
"RT"+"КодНоменклатуры"+"_"+"Характеристика"+"9"
сохранив при этом количество знаков равным 14, то проблема с нулем решится, но не возникнет ли других непредвиденных последствий...?
8. spacecraft 03.08.16 15:29 Сейчас в теме
(7) markovki, возможно не там ищите проблему. Я бы начал с самописной обработки. Именно там формируется штрихкод и заносится в регистр с определенным типом.
9. markovki 19 03.08.16 15:33 Сейчас в теме
(8) spacecraft, в том то и дело, что готов переписать обработку, но не понимаю, как правильно сформировать code128, конкретных примеров не нашел.
10. spacecraft 03.08.16 17:46 Сейчас в теме
(9) markovki, проблема не в правильности формирования code128. Вот ссылка.
В типовой функции 1С по определению типа штрихкода, code128 проверяется в последнюю очередь. И если раньше обнаружится соответствие штрихкода другому типу, то тот тип и будет использоваться.
Смотрите свою обработку, или показывайте ее код. Там в ней проверяете тип, или принудительно его указываете?
11. markovki 19 04.08.16 11:07 Сейчас в теме
(10) spacecraft, Тип не проверяется.
Спасибо за участие, решил, что если служба поддержки не поможет, то буду просто формировать без нуля в окончании.
12. dmt 66 04.08.16 11:41 Сейчас в теме
(9) markovki, довольно просто.
Формируете набор из любых символов A-Z, цифр и спецсимволов. И называете этот набор штрих кодом, с типом code128/
13. markovki 19 04.08.16 15:46 Сейчас в теме
(12) dmt, как уже говорил любой набор сформировать получается, а при распечатке определяется другой тип штрихкода, если в окончании ноль
14. spacecraft 04.08.16 15:58 Сейчас в теме
(13) markovki, используйте не 14 символов, а 15 или больше.
15. markovki 19 04.08.16 16:48 Сейчас в теме
(14) spacecraft, в общем решили использовать привычные EAN13.
Всем спасибо, тему можно считать закрытой
4. markovki 19 03.08.16 14:36 Сейчас в теме
(2) spacecraft, в том то и дело, что ВОЗМОЖНО ошибка в коде разработчиков, т.е. по сути сейчас стоит вопрос, либо это признают ошибкой и необходимо ждать обновления, либо дорабатывать обработку в которой формируется штрихкод и здесь как раз-таки всплывает второй вопрос, как правильно формировать этот тип штрихкода.
Служба поддержки молчит, а время идет )
5. spacecraft 03.08.16 14:52 Сейчас в теме
(4) markovki, для начало проверить самописную обработку. Возможно в ней уже заносится штрихкод в регистр с неправильным типом.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот