|
Странное поведение Сканера Штрихкода | ☑ | ||
---|---|---|---|---|
0
zhukovia
22.06.13
✎
15:27
|
Странно ведет себя драйвер для сканера Штрихкода от 1С. Если считывать штрихкоды не спеша (с интервалом 0,5-1 сек) то все проходит нормально коды нормально отображаются, но если быстро поводить взад вперед вдоль 5-10 разложенных рядом штрихкодов то программа потом при считывании другого штрихкода (не из этих 5-10) еще какое то количество считываний продолжает выдавать коды из разложеных баркодов. Так и должно быть?
Я так понимаю он их берет из какого то буфера в драйвере, куда видимо при быстром считывании записываются отсканированные штрихкоды, но почему то не успевают передаться в ОбработкаОповещения. И поэтому он какое то время продолжает вытаскивать данные из этого буфера. Можно как то очищать этот буфер при получении очередного считанного кода? Или как то получать не один код, а все что передал сканер? |
|||
1
Тьма
22.06.13
✎
16:04
|
попробуйте настроить использование префикса и суффикса штрихкода - на сканере и в драйвере
|
|||
2
zhukovia
22.06.13
✎
16:10
|
У меня суфикс на сканере CR LF, а в драйвере только LF. Может это влияет?
|
|||
3
zhukovia
22.06.13
✎
16:16
|
(1) И кстати префикс в драйвере от 1с почему то неактивный.
|
|||
4
AlexNew
22.06.13
✎
16:23
|
Сканер не сканирует, пока от компа не получит команду, что предыдущий ШК обработан.
|
|||
5
zhukovia
22.06.13
✎
16:25
|
(4) И что?
|
|||
6
zhukovia
22.06.13
✎
16:27
|
(4) При тесте сканера при быстром сканировании в одну строку выводится по несколько штрихкодов.
|
|||
7
AlexNew
22.06.13
✎
16:37
|
Тогда суффикс, хотя странно. Ну перепрограммь суффикс сканера на LF.
|
|||
8
zhukovia
22.06.13
✎
17:06
|
(7) Не помогло. Все так же пихает куда то, а потом пока все запиханые не выведет по одному не успокоится. может есть у драйвера какой то буфер и надо его уменьшить?
|
|||
9
zhukovia
22.06.13
✎
17:08
|
А ещё можно как нибудь узнать в каком формате передан код?
|
|||
10
banco
22.06.13
✎
17:13
|
может это поможет?
ПосылкаДанных (DataEventEnabled) Число Если свойство имеет значение 1, то уведомление о поступлении сообщения отправляется немедленно. Иначе – данные ставятся в очередь. |
|||
11
zhukovia
22.06.13
✎
17:19
|
(10) B relf 'nj gjcnfdbnm&
|
|||
12
zhukovia
22.06.13
✎
17:19
|
(10) И куда это поставить?
|
|||
13
banco
22.06.13
✎
17:22
|
(12) это свойство внешней компоненты
|
|||
14
zhukovia
22.06.13
✎
17:56
|
(10) Не очень помогло. Я поставил в модуль обрабатывающий поступление события от драйвера, там кстати стоял 0.
ОбъектДрайвера.ПосылкаДанных = 1; Но все по прежнему. Может еще что попробовать? |
|||
15
zhukovia
22.06.13
✎
18:00
|
При тесте устройства при быстром считывании он просто выводит строку с 2-5 кодами разделенными LF и потом правильно (без вытаскивания из буфера) выводит следующий считанный код. Тест устройства производится командой драйвера
Команда = "CheckHealth" Значит где то в недрах 1С происходит накопление. Или я чего не так понимаю? |
|||
16
zhukovia
22.06.13
✎
18:05
|
Есть где то описание команд драйвера?
|
|||
17
zhukovia
22.06.13
✎
18:06
|
(16) Сам уже нашел. В комплекте поставки драйвера. :)
|
|||
18
zhukovia
23.06.13
✎
14:09
|
Выщел из положения уменьшением на сканере интервала до считывания следующего кода до 100 мсек.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |