AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.07.2004, 05:58   #1  
Alks is offline
Alks
Участник
 
336 / 41 (2) +++
Регистрация: 23.07.2004
Адрес: г. Новокузнецк
Еще раз о подключении сканнера штрих кодов
Начало темы лежит на 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 сканнеры штрих-кодов.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
«Обрезание» длинных штрих-кодов gl00mie DAX: Программирование 7 17.10.2008 18:16
Подвисает сканер штрих-кодов KingPeas DAX: Программирование 0 10.10.2008 09:01
AX 4.0 + сканеры штрих кодов Vitals DAX: Прочие вопросы 11 20.06.2008 17:35
Еще раз про сканеры штрих кодов doo DAX: Программирование 14 22.12.2006 15:47
Нужен совет по сканеру штрих-кодов slava09 DAX: Программирование 5 27.01.2005 03:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:34.