Внешняя компонента, для чтения информации от сканера штрих-кода или считывателя магнитных карт

Компонента, написанная на C#, для перехвата событий клавиатуры и интерпретации полученного штрих-кода или данных магнитной карты во внешнее событие.

Существует множество аппаратов, которые посылают данные через нажатия клавиатуры, с завершающим символом #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

7 Comments

  1. Tahallus

    Может я что-то не знаю, но компонента от 1С умеет работать в режиме клавиатуры. Какие плюсы от вашей компоненты?

    Reply
  2. LexxStorm

    Плюс один — здесь выложены исходники из которых можно понять методику построения внешних компонент для 1С на С#, работу с потоками и мьютексами внутри компоненты и организации последовательного буффера для работы с клавиатурой.

    Reply
  3. Tahallus

    Когда я писал исходников не было )

    Reply
  4. alexruzh67

    Возможно ли скомпилировать исходники для ОС линукс? Очень актуально.

    Reply
  5. LexxStorm

    Под линукс не получится.

    Reply
  6. a.b.vorobjev

    (1) Типовая в поставке 10.3 не умеет. Если выдирать из УТ.11 то тамошняя компонента не работает в режиме обычного приложения. Во всяком случае мне не удалось.

    Reply
  7. a.b.vorobjev

    Спасибо автору. Немного подпилили «рашпилем по контуру» и успешно функционирует в нашей старенькой 1Ске.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *