|
Не сканируется созданный штрихкод | ☑ | ||
---|---|---|---|---|
0
ATI_MSC
02.04.14
✎
14:05
|
перевожу строку в штрихкод EanGnivc
Функция СформироватьСтрокуEanGnivc(ШтрихкодСтрокойСимволов) Экспорт Попытка Тест = Число(ШтрихкодСтрокойСимволов); Исключение ВызватьИсключение "Штрихкод может содержать только цифры"; КонецПопытки; СимволыСпособовКодирования = "#$%&'()*+,"; ЛевыйЗащитныйШаблон = "!"; СреднийЗащитныйШаблон = "-"; ПравыйЗащитныйШаблон = "!"; СимволыШрифтаПоТипамКодов = Новый Соответствие; СимволыШрифтаПоТипамКодов.Вставить("L", "0123456789"); СимволыШрифтаПоТипамКодов.Вставить("G", "ABCDEFGHIJ"); СимволыШрифтаПоТипамКодов.Вставить("R", "abcdefghij"); СпособыКодированияЛевойЧасти = Новый Массив; СпособыКодированияЛевойЧасти.Добавить("LLLLLL"); СпособыКодированияЛевойЧасти.Добавить("LLGLLG"); СпособыКодированияЛевойЧасти.Добавить("LLGGLG"); СпособыКодированияЛевойЧасти.Добавить("LLGGGL"); СпособыКодированияЛевойЧасти.Добавить("LGLLGG"); СпособыКодированияЛевойЧасти.Добавить("LGGLLG"); СпособыКодированияЛевойЧасти.Добавить("LGGGLL"); СпособыКодированияЛевойЧасти.Добавить("LGLGLG"); СпособыКодированияЛевойЧасти.Добавить("LGLGGL"); СпособыКодированияЛевойЧасти.Добавить("LGGLGL"); СпособКодированияПравойЧасти = "RRRRRR"; Если СтрДлина(ШтрихкодСтрокойСимволов) = 13 Тогда КоличествоСимволовВГруппе = 6; ИначеЕсли СтрДлина(ШтрихкодСтрокойСимволов) = 8 Тогда КоличествоСимволовВГруппе = 4; СимволыСпособовКодирования = ""; ШтрихкодСтрокойСимволов = "0"+ШтрихкодСтрокойСимволов; Иначе ВызватьИсключение "Поддерживаются только штрихкоды длиной 13 и 8 символов"; КонецЕсли; ИндексСпособаКодирования = Число(Лев(ШтрихкодСтрокойСимволов,1)); ЛеваяЧастьКода = ""; ПраваяЧастьКода = ""; Для ИндексСимвола = 1 По КоличествоСимволовВГруппе Цикл ЛеваяЧастьКода = ЛеваяЧастьКода + Сред(СимволыШрифтаПоТипамКодов[Сред(СпособыКодированияЛевойЧасти[ИндексСпособаКодирования],ИндексСимвола,1)] ,Число(Сред(ШтрихкодСтрокойСимволов,(ИндексСимвола+1),1))+1 ,1); ПраваяЧастьКода = ПраваяЧастьКода + Сред(СимволыШрифтаПоТипамКодов[Сред(СпособКодированияПравойЧасти,ИндексСимвола,1)] ,Число(Сред(ШтрихкодСтрокойСимволов,(ИндексСимвола+КоличествоСимволовВГруппе+1),1))+1 ,1); КонецЦикла; Результат = "" + Сред(СимволыСпособовКодирования,ИндексСпособаКодирования+1,1) + ЛевыйЗащитныйШаблон + ЛеваяЧастьКода + СреднийЗащитныйШаблон + ПраваяЧастьКода + ПравыйЗащитныйШаблон; Возврат Результат; КонецФункции ШтрихКод создаётся, но сканером невозможно считать, подскажите ,возможно данный штрих этим шрифтом невозможно считать сканером? |
|||
1
ATI_MSC
02.04.14
✎
14:35
|
Хелп
|
|||
2
Базис
naïve
02.04.14
✎
14:39
|
Картинку штрихкода выложи на фотохостинг, у кого есть сканер - сможет с экрана считать. И цифры выложи - может, у тебя контрольный разряд неправильно посчитан.
|
|||
3
ATI_MSC
02.04.14
✎
14:55
|
(2)хм....а контрольную цифру вычислять надо? нельзя произвольный ряд цифр в штрихкод заложить?
|
|||
4
antoneus
02.04.14
✎
14:56
|
(3) надо.
|
|||
5
Shurjk
02.04.14
✎
15:08
|
Было как то раз такое, при чем не читалось именно в терминальной сессии. Т.е. если локально то тот же штрих код но локально тем же сканером читался. Решилось тем что подкрутив параметры печати сделал картину покрупнее.
|
|||
6
Базис
naïve
02.04.14
✎
15:40
|
Почитай, что такое ШК. В случае EAN-13 это 12 любых цифр и контрольный разряд, рассчитанный по этим 12-ти.
Традиции форума рекомендуют красивым девушкам помещать собственное фото в карточку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |