Существует множество аппаратов, которые посылают данные через нажатия клавиатуры, с завершающим символом #13 (ENTER). Так же есть драйвер АТОЛ версии 6, пока не стал платным, который перехватывает нажатия клавиш и интерпретирует во внешнее событие (минус этого решения — были замечены «отпадания» клавиатуры, временами клавиатура перестает реагировать на нажатия клавиш), так же есть все последующие драйвера АТОЛ (минус — платные). Было принято решение написать компоненту самому и исключить глюки драйвера АТОЛ 6.
Для работы компоненты необходим Net.Framework 4
Компонента может находится в любой папке на диске, регестрировать ее необходимо командой:
RegAsm.exe hservice.dll /codebase
RegAsm должен быть 32-битный, для исключения «танцев с бубном» при доступе к 64-битной компоненте из 1С.
После регистрации: Типы зарегестрированы успешно. Можно добавить новое торговое оборудование: Сканер штрихкода, с прилагаемой внешней обработкой (слегка переделанной обработкой от АТОЛ). Из параметров важен только параметр «Чувствительность» — измеряется в миллисекундах и указывает максимальное количество миллисекунд между нажатиями клавиш.
Обрабатываются все нажатия клавиш с завершающим символом #13 (ENTER). То есть все сканеры штрих-кодов и ридера магнитных карт, с интерфейсом USB и генерацией нажатий клавиш.
Компонента тестировалась на платформе 1С 8.2, 1С 8.3 на кофигурации: УТ 10.3, УТ 11
Может я что-то не знаю, но компонента от 1С умеет работать в режиме клавиатуры. Какие плюсы от вашей компоненты?
Плюс один — здесь выложены исходники из которых можно понять методику построения внешних компонент для 1С на С#, работу с потоками и мьютексами внутри компоненты и организации последовательного буффера для работы с клавиатурой.
Когда я писал исходников не было )
Возможно ли скомпилировать исходники для ОС линукс? Очень актуально.
Под линукс не получится.
(1) Типовая в поставке 10.3 не умеет. Если выдирать из УТ.11 то тамошняя компонента не работает в режиме обычного приложения. Во всяком случае мне не удалось.
Спасибо автору. Немного подпилили «рашпилем по контуру» и успешно функционирует в нашей старенькой 1Ске.