|
23.07.2004, 05:58 | #1 |
Участник
|
Еще раз о подключении сканнера штрих кодов
Начало темы лежит на http://forum.mazzy.ru/index.php?showtopic=962
Очень похожая тема есть здесь http://www.axforum.info/forums/showt...EA%E0%ED%E5%F0 Но к сожалению ответа на главный вопрос "как отловить внешнее событие из другого процесса/потока в аксапте" никто не знает, создаётся впечатление что это невозможно сделать . Одно из реальных решений - опрашивать драйвер сканнера из самой аксапты по таймеру (напр. 1 сек) на предмет наличия новых данных (благо OPOS драйвер хорошо поддерживает такой подход). Видимо придется остановится на этом варианте, но хотелось бы еще подолбить эту тему, может появились уже свежие идеи. Есть еще одно решение - использовать сканнеры подключаемые в разьем клавиатуры. Необходимость в дровах и синхронизации с внешними событиями отпадает, но появляется новый вопрос: Как в аксапте удобным образом перехватить поступаемые со сканнера подключаемого в разьем клавиатуры данные? Опять же, как и в случае с COM драйвером я уже имею прекрасно работающее готовое решение в 1С - это "горячие клавиши". Я программирую сканнеры таким образом, чтобы они перед подачей самого сосканированного штрих-кода засылают в буфер клавиатуры код нажатия функциональной клавиши (в моём случае - F3), а в 1С в формах которые предполагают использование сканнера делаю невидимую кнопку, которой присваюваю hotkey F3. При нажатии на эту кнопку 1С открывает модальный диалог "введите штрих код". Поступившие из сканнера данные преспокойненько туда забиваются и последним символом поступает ENTER, который соответственно закрывает диалог и далее код в программе уже решает что делать с этим штрих-кодом. Т.о. где бы на форме не находился фокус ввода, сканирование штрих-кода приводит к корректному поступлению его в программу и автоматическому запуску самых разнообразных процедур. Столкнувшись с трудностью отлавливания внешнего события из Axapta я начал прорабатывать этот вариант и... столкнулся с опять же непреодолимой трудностью. Оказывается (судя из этого же форума) в Axapta практически нельзя назначить горячие клавиши кнопкам! Вариант с task не предлагать, ибо все task-и по функиональным клавишам нужны в самой Axapta. Вариант когда пользователь вынужден сперва спозиционироваться на нужное поле в форме и потом только сканировать тоже не пройдет вследствии своей жуткой неудобности. Есть ли у кого нибудь реальные наработки и решения в данной области? Что то я совсем перестал понимать как в самой Axapta разработчики предполагали подключать сканнеры (как COM, так и разьем с клавиатуры). Не верю что никто и никогда не подключал к Axapta сканнеры штрих-кодов. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
«Обрезание» длинных штрих-кодов | 7 | |||
Подвисает сканер штрих-кодов | 0 | |||
AX 4.0 + сканеры штрих кодов | 11 | |||
Еще раз про сканеры штрих кодов | 14 | |||
Нужен совет по сканеру штрих-кодов | 5 |
|