|
Проблема с чтением ШК | ☑ | ||
---|---|---|---|---|
0
pers200590
21.09.11
✎
10:55
|
ЗДравствуйте
Проблема такая: не читаются штрих-коды. Имеется два штрих-кода. Один на тетрадке, второй распечатывал сам. Делал новый табличный документ, вставлял туда цифры, менял шрифт на EanGnivc. В первом случае (с тетрадки) сканер читает, во втором случае даже не пищит. Что это за мистика? |
|||
1
Vakhrin
21.09.11
✎
10:59
|
код один и тот же с точностью до последней цифири?
|
|||
2
Wobland
21.09.11
✎
11:00
|
(1) кстати, о последних цифирях. неверная контрольная цифра как-то влияет?
|
|||
3
Повелитель
21.09.11
✎
11:01
|
Сканер обычно настраивается на определенный формат штрихкода. Возможно EanGnivc не того формата
|
|||
4
szhukov
21.09.11
✎
11:01
|
(0) Если сканер читает штрих-кода с каких-нибудь товаров (сигареты, диски и т.п.) то с вероятностью 99% проблема в вашем напечатанном ШК :)
|
|||
5
Повелитель
21.09.11
✎
11:01
|
(2) Цифра не влияет
|
|||
6
Wobland
21.09.11
✎
11:02
|
(3) а они разные бывают?
|
|||
7
Tatitutu
21.09.11
✎
11:03
|
(0)
это совершенно разные вещи ты просто взал цифры написал ШК и выставил нужный шрифт ? - ню ню - удачи. Прочитай как нужно, на форуме куча примеров и алгоритмов |
|||
8
Tatitutu
21.09.11
✎
11:04
|
(0) посмотри сам внешне взглядом - палочки отличаются
у тебя не штрихкод, а имитации его |
|||
9
pers200590
21.09.11
✎
11:04
|
(2) контрольная цифра не влияет
|
|||
10
pers200590
21.09.11
✎
11:05
|
(4) что проблема в моем штрихкоде я немного стал понимать , может даже проблема в шрифте
|
|||
11
pers200590
21.09.11
✎
11:06
|
(7) в общем смотри есть конфа УТ 11. В макете этикетки Вставил текст Штрихкод, а не картинку. Далее установил шрифт EanGnivc и запустил ОБработкуПечатиЦенниковИЭтикеток. Распечатал его, а сканер на него не реагирует
|
|||
12
pers200590
21.09.11
✎
11:07
|
(9) почему имитация он разве не преобразовывает его
|
|||
13
Tatitutu
21.09.11
✎
11:07
|
(10)
смотри чтобы правильно ШК сформировалось с этим шрифтом передаем значение %!00IJ7A-abaaad! хотя выглядеть цифрами будет как 2008970010003 попробуй подставь и посмотри что получится |
|||
14
Повелитель
21.09.11
✎
11:08
|
(6) Конечно, у нас на фирме используется EAN13 и EAN13 c UPC-A. Сканер переключаем. Есть режим когда совмесно работает и EAN13 и EAN13 c UPC-A но нам этот режим не нужен.
|
|||
15
Tatitutu
21.09.11
✎
11:09
|
(12)нет
вставь в любом редакторе %!00IJ7A-abaaad! и 2008970010003 цифры по шк будут одинаковы (2008970010003) но первый сканер поймет, а второй нет |
|||
16
pers200590
21.09.11
✎
11:13
|
(15) не понял
|
|||
17
Wobland
21.09.11
✎
11:15
|
(16) не цифры надо писать, а вот такую белиберду, чтобы сканер понял. правда, я не понял, откуда Tatitutu такую ерунду получил...
|
|||
18
Tatitutu
21.09.11
✎
11:16
|
(16) открой EXCEL выбери две ячейки
установи шрифт для них EanGnivc в одну вставь %!00IJ7A-abaaad! а в другую 2008970010003 и сравни результат |
|||
19
Tatitutu
21.09.11
✎
11:17
|
(17) вот отсюда
Функция КонтрольныйСимволШК(ШтрКод) Экспорт Чет = 0; Нечет = 0; х = 0; ДлинаШК = СтрДлина(ШтрКод); Пока х < ДлинаШК Цикл Символ = Сред(ШтрКод, ДлинаШК-х, 1); Если х%2 = 0 тогда // четный символ Чет = Чет+ Число(Символ) Иначе Нечет= Нечет+ Число(Символ) КонецЕсли; х = х + 1; КонецЦикла; КонтЦифра= 10- (Нечет+ Чет*3)%10; Возврат ?(КонтЦифра=10, "0", Строка(КонтЦифра)); КонецФункции // глКонтрольныйСимволШК() Функция NumberToUpperChar( Num ) Экспорт UpperCharSet = "ABCDEFGHIJ"; Num = Число(Прав(Num,1)); Стр = Сред(UpperCharSet, Num + 1, 1); Возврат Стр; КонецФункции Функция NumberToLowerChar( Num ) Экспорт LowerCharSet = "abcdefghij"; Num = Число(Прав(Num,1)); Стр = Сред(LowerCharSet, Num + 1, 1); Возврат Стр; КонецФункции Функция СформироватьКодEAN13(код) Экспорт // Проверки Если ТипЗначения(код) <> 1 Тогда Сообщить("Код для EAN13 должен числовым."); Возврат ""; КонецЕсли; Если СтрДлина(код) > 13 Тогда Сообщить("Код для EAN13 должен быть длинной не более 12 символов."); Возврат ""; КонецЕсли; // Разбор строки ПервыйФлаг = Число(Сред(код,1,1)); левстр = Сред(код,2,6); правстр = Сред(код,8,6); правкод = ""; Для Поз = 1 По 6 Цикл правкод = правкод + NumberToLowerChar(Сред(правстр,Поз,1)); КонецЦикла; // Формирование левой части кода зависит от значениа ПервыйФлаг Если ПервыйФлаг = 0 Тогда // 0 A A A A A левкод = "#!" + Лев(левстр,1) + Сред(левстр,2,1) + Сред(левстр,3,1) + Сред(левстр,4,1) + Сред(левстр,5,1) + Сред(левстр,6,1); ИначеЕсли ПервыйФлаг = 1 Тогда // 1 A A B A B B левкод = "$!" + Лев(левстр,1) + Сред(левстр,2,1) + NumberToUpperChar(Сред(левстр,3,1)) + Сред(левстр,4,1) + NumberToUpperChar(Сред(левстр,5,1)) + NumberToUpperChar(Сред(левстр,6,1)); ИначеЕсли ПервыйФлаг = 2 Тогда // 2 A A B B A B левкод = "%!" + Лев(левстр,1) + Сред(левстр,2,1) + NumberToUpperChar(Сред(левстр,3,1)) + NumberToUpperChar(Сред(левстр,4,1)) + Сред(левстр,5,1) + NumberToUpperChar(Сред(левстр,6,1)); ИначеЕсли ПервыйФлаг = 3 Тогда // 3 A A B B B A левкод = "&!" + Лев(левстр,1) + Сред(левстр,2,1) + NumberToUpperChar(Сред(левстр,3,1)) + NumberToUpperChar(Сред(левстр,4,1)) + NumberToUpperChar(Сред(левстр,5,1)) + Сред(левстр,6,1); ИначеЕсли ПервыйФлаг = 4 Тогда // 4 A B A A B B левкод = "'!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + Сред(левстр,3,1) + Сред(левстр,4,1) + NumberToUpperChar(Сред(левстр,5,1)) + NumberToUpperChar(Сред(левстр,6,1)); ИначеЕсли ПервыйФлаг = 5 Тогда // 5 A B B A A B левкод = "(!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + NumberToUpperChar(Сред(левстр,3,1)) + Сред(левстр,4,1) + Сред(левстр,5,1) + NumberToUpperChar(Сред(левстр,6,1)); ИначеЕсли ПервыйФлаг = 6 Тогда // 6 A B B B A A левкод = ")!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + NumberToUpperChar(Сред(левстр,3,1)) + NumberToUpperChar(Сред(левстр,4,1)) + Сред(левстр,5,1) + Сред(левстр,6,1); ИначеЕсли ПервыйФлаг = 7 Тогда // 7 A B A B A B левкод = "*!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + Сред(левстр,3,1) + NumberToUpperChar(Сред(левстр,4,1)) + Сред(левстр,5,1) + NumberToUpperChar(Сред(левстр,6,1)); ИначеЕсли ПервыйФлаг = 8 Тогда // 8 A B A B B A левкод = "+!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + Сред(левстр,3,1) + NumberToUpperChar(Сред(левстр,4,1)) + NumberToUpperChar(Сред(левстр,5,1)) + Сред(левстр,6,1); ИначеЕсли ПервыйФлаг = 9 Тогда // 9 A B B A B A левкод = ",!" + Лев(левстр,1) + NumberToUpperChar(Сред(левстр,2,1)) + NumberToUpperChar(Сред(левстр,3,1)) + Сред(левстр,4,1) + NumberToUpperChar(Сред(левстр,5,1)) + Сред(левстр,6,1); КонецЕсли; // Получение строки - результата кодстр = левкод + "-" + правкод + "!"; Возврат кодстр; КонецФункции // СформироватьКодEAN13() //******************************************* Функция СимволыВЦифры(СтрСимв) Экспорт СтрЦифр = ""; Для х= 1 По СтрДлина(СтрСимв) Цикл ТекСимв = Сред(СтрСимв, х, 1); Если Найти("1234567890", ТекСимв)= 0 Тогда // преобразуем символ в цифру ТекСимв = Строка(КодСимв(ТекСимв) % 10); КонецЕсли; СтрЦифр = СтрЦифр + ТекСимв; КонецЦикла; Возврат СтрЦифр; КонецФункции // СимволыВЦифры() //******************************************* Функция глСформироватьШтрихкод(Префикс, ПредвКод, ТипКода=13) Экспорт Если ТипКода = 13 Тогда ИспКолво = 10; Иначе ИспКолво = 6; КонецЕсли; Штрихкод = СимволыВЦифры(Прав(СокрЛП(ПредвКод), ИспКолво)); Штрихкод = Префикс + СтрЗаменить(Формат(Штрихкод, "С"+ИспКолво), " ", "0"); Штрихкод = СформироватьКодEAN13(Число(СокрЛП(Штрихкод) + КонтрольныйСимволШК(Штрихкод))); Возврат Штрихкод; КонецФункции // СформироватьШтрихкод() |
|||
20
pers200590
21.09.11
✎
11:21
|
(18) в итоге да палки разные . ТАм мне как быть прочитай (11)
|
|||
21
BayoNet
21.09.11
✎
11:26
|
(0) Не берусь утверждать на 100%, но по-моему EanGnivc не читается обычными сканерами.
|
|||
22
pers200590
21.09.11
✎
11:27
|
(21) а какой шрифт читается обычный сканером?
|
|||
23
pers200590
21.09.11
✎
15:11
|
где все пропали
|
|||
24
BayoNet
21.09.11
✎
16:57
|
EanGnivc это наш российский штрих код придуманный для ГНИ. У них там по ходу и сканеры специальные.
|
|||
25
Любопытная
21.09.11
✎
17:03
|
(0) В аську выйди уже
|
|||
26
kittystark
21.09.11
✎
17:06
|
заюзать ActiveBarcode.ocx чем не подходит?
|
|||
27
pers200590
22.09.11
✎
03:50
|
тема продолжается
|
|||
28
pers200590
22.09.11
✎
03:51
|
какие шрифты считываются сканером штрих-кодов?
|
|||
29
Злопчинский
22.09.11
✎
04:02
|
гуглим "2 из 5"
|
|||
30
pers200590
22.09.11
✎
04:17
|
(29)чего гуглим
|
|||
31
Rie
22.09.11
✎
04:54
|
(30) Какая буква или цифра во фразе "2 из 5" непонятна? :-)
По штрих-коду. Не бери EanGnivc, найди более другой шрифт для EAN-13. Посмотри на размер штрих-кода и на размеры отдельных палочек. Сделаешь слишком мелко/непропорционально - сканер поймёт, что над ним издеваются и читать не станет. |
|||
32
pers200590
22.09.11
✎
07:35
|
кто подскажет (11)
|
|||
33
Любопытная
22.09.11
✎
07:40
|
(32) Я тебе тут решение проблемы накопала, У тебя на партнерский форум доступ есть?
|
|||
34
КонецЕсли
22.09.11
✎
14:56
|
Элемент управления "1С: Печать штрихкодов". Должно быть на диске ИТС.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |