Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не срабатывает ОбработкаВнешнегоСобытия при сканировании штрих кода
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
Leschyu
Доброго времени суток!
Столкнулся с проблемой в самописной конфигурации на дистрибутиве Lubuntu 18.04 и версии платформы 1С:Предприятие 8.3 (8.3.12.1440) (на Windows все отрабатывает без всяких проблем).
В конфигурацию добавил Библиотеку Подключаемого Оборудования и на её базе подключил сканер штрих кодов с помощью драйверов NativeApi.
Но суть не в этом, все работает. Проблема заключается в том, что после сканирования ничего не происходит, а для того, что бы ОбработкаВнешнегоСобытия сработала нужно нажать любую клавишу либо кликнуть мышкой.
Может кто-то сталкивался, помогите пожалуйста.
Vidocq05
Цитата(Leschyu @ 10.07.18, 12:30) необходимо зарегистрироваться для просмотра ссылки
для того, что бы ОбработкаВнешнегоСобытия сработала нужно нажать любую клавишу либо кликнуть мышкой

Она точно не срабатывает? В отладчике проверяли? Возможно она сработала и нужно просто обновить форму, или еще что то.
Leschyu
Vidocq05 @ Сегодня, 13:28 необходимо зарегистрироваться для просмотра ссылки ,
Проверял в отладчике. Срабатывает только после клика или нажатие какой либо клавиши.
Vidocq05
Leschyu @ Сегодня, 14:03 необходимо зарегистрироваться для просмотра ссылки ,
Что находится в "Источник", "Событие", "Данные"?
Leschyu
Vidocq05 @ Сегодня, 14:49 необходимо зарегистрироваться для просмотра ссылки ,
ПОСЛЕ клика или нажатия любой клавиши срабатывает ОбработкаВнешнегоСобытия в модуле управляемого приложеня и в ней:
Источник = InputDevice#1
Событие = Штрихкод
Данные = BE000000002
sava1
А что может находиться, если не отработало ?
batlcat
Версия библиотеки какая (версия драйвера) ???

Вроде как в ноябрьской что то исправляли касаемо работы в Linux
Leschyu
batlcat @ Сегодня, 16:01 необходимо зарегистрироваться для просмотра ссылки ,
Версия NativeApi 8.1.8.1 
batlcat
Leschyu @ Сегодня, 16:07 необходимо зарегистрироваться для просмотра ссылки ,
lsusb

И посмотреть что он отдает

sudo tail -f /dev/[порт на который он зацепился]
Vidocq05
Leschyu @ Сегодня, 16:07 необходимо зарегистрироваться для просмотра ссылки ,
По видимому с драйвером косяк. По драйверу ничего не подскажу.
Leschyu
batlcat @ Сегодня, 16:27 необходимо зарегистрироваться для просмотра ссылки ,
Там он все нормально отдает.
igor@igor-desktop:~$ sudo tail -f /dev/bus/usb/003/008
.
    �X    "��        !"?�
BE000000002
BE000000003
BE000000002
BE000000004
Vidocq05
Leschyu @ Сегодня, 16:57 необходимо зарегистрироваться для просмотра ссылки ,
Из просторов интернета:

Сам сканер ШК при сканировании генерит КОД, который может состоять собственно из самого ШК и префикса с суффиксом... Для того, чтобы сработало "внешнее событие" и ОбработкаВнешнегоСобытия() - должен быть в настройках программы(драйвера) корректно описан СУФФИКС ШК - т.е. спец.символ(последовательность спец.символов), которые "говорят" что ШК "закончился"... можно его "обрабатывать"... т.е.
- со сканера идет: <Префикс><ОтсканированныйШК><Суффикс>;
- <Префикс> и <Суффикс> настраиваются по книжке с настройками сканера;
- если правильно В ДРОВАХ настроены <Префикс> и <Суффикс> (т.е. такие же, как у сканера), то дрова их отбрасывают, оставляя <ОтсканированныйШК> для 1С-ны.
- если правильно В ДРОВАХ настроен <Суффикс>, то по его приходу и генерится "Внешнее событие". Иначе - ждем это событие до второго пришествия...
- <Суффикс> - это символ(спец.код), который говорит компу о том, что переданная от железа последовательность закончилась;
- <Префикс> - символ, позволяющий отличать "нашу" последовательность (со сканера) от "не нашей" (с фиг знает еще какого устройства) или, например, <префикс> можно использовать чтобы отличать наши "внутренние" ШК от ШК производителей/поставщиков.
Leschyu
Vidocq05 @ Сегодня, 17:05 необходимо зарегистрироваться для просмотра ссылки ,
В настройках оборудования выставлен суффикс 13 (CR). Такой же я при помощи штрих кодов забил в сканер.
Пытался заставить работать с другим суффиксом (выставлял и в настройках, и забивал в сканер) - безрезультатно. Либо не работает вообще, либо так же ждет нажатия клавиши или клика.
twilight_dream
Значится и постфикс надо настроить, например "Ввод"
Leschyu
twilight_dream @ Вчера, 14:24 необходимо зарегистрироваться для просмотра ссылки ,
Перерыл всю инструкцию по программированию сканера, но там нету "постфикса".
А там и так после сканирования кода шлет ещё "Ввод"(CR).
batlcat
Вопрос
Как он у вас настроен
Клавиатура или эмуляции СОМ
Сможете показать диалог настройки в 1С
На какой порт вы его настроили

И покажите
lsusb
Интересно все же что за сканер у вас
Как он опознавался в системе
Подставилось родное в качестве драйвера или [Generic USB K/B]
Leschyu
batlcat @ 13.07.18, 13:46 необходимо зарегистрироваться для просмотра ссылки ,
В системе он настроен как клавиатура.
Сканер Honeywell Eclipse MS5145.

Vofka
batlcat, обратите внимание на пункт 1 необходимо зарегистрироваться для просмотра ссылки
batlcat
ВЫ не замечаете некоторого диссонанса в том как его опознала система и от кого ждет события 1С

Попробуйте поменять "HID устройства" такой же как его опознала система



Согласно ссылке на тех поддержку сканер дожен нормально работать в режиме эмуляции СОМ порта

необходимо зарегистрироваться для просмотра ссылки

Думаю в таком режиме будет работать более предсказуемо

Voyager 1300g у меня на оборудовании с linux embedded работают как раз в режиме эмуляции COM
agrigoryev
Leschyu @ 17.07.18, 16:44 необходимо зарегистрироваться для просмотра ссылки ,
Здравствуйте. у меня подобная проблема. сканер переводил как в режим эмуляции com так и в клавиатурном режиме.
1С:Розница также реагирует как у Вас.
Победить удалось?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.