Имя: Пароль:
1C
1С v8
Печать штрих кода Interleaved 2 of 5 без Контрольного Символа возможно ли?!
0 resonance
 
27.01.17
19:59
Добрый день, всем! Помогите - опускаются руки. Говорят этот форум Волшебный...
Суть задачи - печатать на принтер этикеток (Zebra 2824) штрихкоды в кодировке "Interleaved 2 of 5", кол-во символов в коде у меня 10(!) и не может быть изменено (такой бизнес-процесс) весь товар маркируется только 10-значным кодом и только кодировкой "Interleaved 2 of 5", так как штрих-коды считывает спец. оборудование, а не человек со сканером... В общем...

1С 8.3 УФ (8.3.9.2033), в общих модулях нашел Штрихкодирование. Он использует компоненту ПодключитьВнешнююКомпоненту(ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64), на макете разместил картинку с именем КартинкаШтрихкода в общем все печатается НО. Если я передаю в компоненту 9-ти значный код = компонента генерирует КС и делает 10 - все хорошо и красиво, но если я передаю 10-ти значные уже готовый код, компонента пытается подставить свой КС и получается уже нечетное число - соответственно =  Invalid Barcode! В параметрах компоненты:

    ВнешняяКомпонента.СодержитКС = Ложь;
    
    ВнешняяКомпонента.ВидимостьКС = Ложь;

Не помогают. КС все равно рассчитывается и пытается "втулится" вот сюда: ВнешняяКомпонента.ЗначениеКода = Штрихкод;
Что и вызывает ошибку. Кто ни будь с таким воевал?
P.S. Конфигурация Поликлиника 1.3
P.S.S. Обновился на последнюю версию платформы - ноль эффекта.
P.S.S.S. Попробовал с другого сервера - ноль эффекта.
Может эта кодировка просто не умеет работать без КС? Кто поможет - ящик пива! (ну или, что Вы там пьете)))
1 resonance
 
27.01.17
20:00
И еще для информации, наткнулся на старую тему (2010г.) с точно такой же проблемой и без единого ответа, может я многого хочу... v8: Штрихкод Interleaved 2 of 5 - 1c вылетает
2 Злопчинский
 
27.01.17
21:12
Пояндекси code39 или code128
На крайняк определи какие форматы штрих-кодов есть интерлив 2из5
При печати шк выбери конкретный тип штрих-кода из полходящих
3 Torquader
 
27.01.17
23:14
Если очень хочется напечатать штрих-код, то ищем шрифт, которым печатается штрих-код. Самый простой шрифт - это чёрный и белый квадратики - их количество определяет какой будет штрих-код.
Только, нужно проверить, что такой штрих-код считается сканером.
Насколько я помню, есть ещё какой-то 2 из 5 зеркальный, в котором просто нет контрольной суммы, но он другой - у вас случаем не он ?
4 dmpl
 
28.01.17
09:24
(0) А согласится ли ваше оборудование читать ШК без КС? Если там все настолько жестко - то и КС может быть обязателен.
5 resonance
 
28.01.17
10:54
(2) code39,code128 - печатает без проблем, но их не читает сканер, точнее читает но неверно.
штрих-кодов есть интерлив 2из5 - поясните пожалуйста, имеет в виду что как EAN13 который и есть интерлив  но 13 значный? Вы это имеет в виду найти аналогичную кодировку?

    Формат EAN13
    Формат EAN8
    Формат Code 39
    Формат Code 93
    Industrial 2 of 5
    Interleaved 2 of 5
    Codabar
    Code 128
    EAN128
    RSS 14
    Code 16k
    PDF-417
Вот те что доступны мне. https://its.1c.ru/db/metod8dev#content:1619:hdoc
6 resonance
 
28.01.17
10:56
(3) По поводу зеркального не знаю, но мой точно выдает ошибку  если ему дать четное кол-во символов = он автоматом добавляет контрольный, появляется нечетная последовательность -"Неверный штрих код". Почитаю про зеркальный и вообще виды интерлива
7 resonance
 
28.01.17
10:59
(4) оборудование должно получить 10. цифр. Это главное условие, 10 цифр уникальных, которые не повторяются, 9 цифр я передаю без проблем, но десятую (КС) компонента вставляет свой, и получается последовательность 10 знаков, цифр все круто, кроме того что 10-ю цифру я должен вставить свою, определенную для каждого товара (порядковый № контейнера), меня бы устроило, просто подменять КС своим и все. Но как я не старался не получается... похоже придется использовать альтернативные методы...
8 dmpl
 
28.01.17
15:00
(6) Не, там количество символов всегда четное - ITF кодирует символы парами. Поэтому, скорее всего, в начале просто добавляется 0, если передать четное число символов и добавить КС.

(7) Т.е. оборудование не проверяет контрольный символ? Это точно известно?
9 resonance
 
28.01.17
15:48
(8) Оборудование не проверяет КС! Известно точно! Главное передать ему уникальную строку из 10 "цифр"/символов, последним должен стоят номер контейнера, вот в этом все и загвоздка... если я передаю в компоненту вот сюда ВнешняяКомпонента.ЗначениеКода = Штрихкод; нечетное кол-во символов - проблем нет, компонента сама добавляет 10й (не говорю уже о том что у меня стоит параметр ВнешняяКомпонента.ВидимостьКС = Ложь;) а она его все равно отбражает но это ладно... Самый интерес начинается когда я передаю сразу нужное кол-во (четно) вот тогда ->
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
Падает 1Ска (платформа я так пологаю). Платформу обновил -> ничего, и к стати такая же ошибка если я скажем выберу теп кода ITF14 и передам в компоненту 14-значный код...тоже самое упадет все приложение...
10 resonance
 
28.01.17
15:51
(8) Если передаю четное (Кол-во символов скажем 10)в ITF14 -> Будет сгенерирована картинка с надписью Invalid Barcode!. Если я в ITF14 передаю 13 символов -> добавиться 14 контрольный но не тот что мне нужно... если я передам 14 символов - падает платформа! При чем если взять онлайн генераторы штрих кодов то там при вводе нечетного кол-ва система сама добавляет в начали нули (меня бы и это устроило) а если вводишь готовый код нужной длины - просто его отображает. Сервер 2012 R2, MS SQL 2012. Получается что то с базой?
11 dmpl
 
28.01.17
15:55
(10) Не, у меня 1С-ная компонента тоже падала при определенных условиях и валила платформу. Так может дополнять 10-символьный ШК нулем и генерить с КС?
12 resonance
 
28.01.17
16:25
(11) В аппарат должен зайти номер, вот реальный пример 6897300441, т.е. если я передам скажем в ITF14->0006897300441 то на этикетке получаю 00068973004415, т.е. в аппарат попадет одинадцатизначная цифра с петеркой на конце т.е. 68973004415, я уже думаю отключить вывод текста в компоненте, получать просто штрих а сам код выводить в макет отдельной строкой под штрих кодом, но одна загвоздка - аппарат все равно считает из штрих кода 11 цифр...

да и для уточнения у меня 8.3.9.2033, в режиме совместимости с 8.2.16... может отключить совместимость и попробовать (сервер тестовый естественно)...
13 Torquader
 
28.01.17
19:48
Попробуйте CODE128 в режиме цифр - он как раз кодирует чётное число цифр и пишет контрольную сумму, которую сканер хоть и рассчитывает, но не передаёт.
И, самое главное, что CODE128 - это самый узкий из всех.
(У меня для 10,16 и 20 цифр как раз использовался он).
14 resonance
 
30.01.17
12:26
(13) Спасибо за совет CODE 128-отличная вещь, только засада в том, что сканер читает ТОЛЬКО ITF. А ITF - не печатается, точнее печатается, но как я писал выше - либо с КС, либо падает платформа... А мне нужно четная кол-во символов и последний символ я должен проставлять тот который нужен, а компонента проставляет КС.
15 Fragster
 
гуру
30.01.17
12:29
zint
16 Serega103
 
06.02.17
01:20
(14) такая же проблема была: Interleaved 2 of 5 и 9-ти значный код, при попытке поставить "0" в начале строки платформа вылетает. целый день мучений, в результате решил вот как. отказался от 1с-ной печати штрихкодов, а установил компоненту barcode.ocx которая использовалась еще в 1сv77. Она отличнейшим образом вывела 2 of 5, правда старая версия не поддерживает вращение штрихкода (мне нужно чтобы штрихкод выводился вертикально), но уж с этим я справился, хотя и пришлось переделывать макет. Надеюсь что мой совет помог))
17 resonance
 
18.02.17
08:28
(15) Проблема РЕШЕНА. ZINT помог. Отличная библиотека. Устанавливается на сервер. И при генерации картинки штрих-кода 1С обращается не к встроенным модулям, а к этой компоненте. В и итоге все получилось. Interleaved 2 of 5 - генерируется как надо. Проект успешно сдан. Спасибо всем участвовавшим, а особенно Fragster. Куда отправлять магарыч?)
18 resonance
 
18.02.17
08:30
К стати таким же образом реализовал генерацию PDF файлов из макетов и ШМД. С помощью wkhtmltopdf. Принцип тот же, передаются параметры, а программа wkhtmltopdf установленна на сервере возвращет адрес файла во временном хранилище 1С, и его дальше можно скопировать, отправить по почте, открыть, в общем все, что душе угодно.  1С еще раз доказала, что может работать практически со всеми компонентами операционной системы, сети, принтерами, просто подключи внешний модуль выполняющий ту или иную функцию и платформа будет его использовать...