gifts2017

Пример работы со сканером штрихкода

Опубликовал Сергей (avasl) в раздел Оборудование - Сканер штрих-кода

Этот пример позволяет быстро разобраться и подключить сканер штрихкода (com-порт  или usb в режиме эмуляции com-порта) к конфигурации в которой нет стандартной подсистемы работы с торговым оборудованием и, соответственно, не получится в готовом виде использовать типовую обработку обслуживания от 1с.

Для работы нужна компонента 1C: Сканер штрихкода версии 8.0.8. Обработку ОбслуживаниеСканераШК нужно добавить в конфигурацию - это простейшая обработка обслуживания сканера на базе типовой обработки. Настройки com-порта, для простоты, прописаны в коде самой обработки - по умолчанию com-порт №5. Обработка ТестСканера - позволяет сканировать и видеть результат, код обработки показывает пример подключения сканера и обработки события. Работа проверялась на популярном сканере Metrologic (Honeywell) Eclipse MS 5145 с интерфейсом USB.

Как подключить сканер Metrologic (Honeywell) Eclipse MS 5145 с интерфейсом USB? Возможно это будет кому-нибудь полезно, порядок действий:

1) скачать с сайта производителя драйвер USB Serial Emulation Driver (uni-directional).

2) Скачать с пользовательского сайта 1С (или ИТС) и установить компоненту.

3) Подключить сканер к компьютеру. По умолчанию данный сканер определяется как USB-клавиатура и, например, в блокноте сразу можно видеть результат сканирования.

4) С помощью книги из поставки сканера перепрограммировать интерфейс (последовательно сканируются штрихкоды "enter/exit configuration mode" - "enable uni-directional  USB Serial Emulation mode" - "enter/exit configuration mode").

5) После этого сканер должен появится в системе и нужно установить скачанный ранее драйвер, указав к нему путь в мастере установки драйверов windows) . Номер виртуального com-порта можно менять в диспетчере устройств windows.

6) Подключить к конфигурации обработки и проверить параметры порта.

upd: Если сканер подключен к компьютеру в режиме эмуляции клавиатуры(usb) или в разрыв клавиатуры (ps/2) то все совсем просто - не требуется никаких драйверов, сканер готов к работе сразу. Как я писал уже выше, сканер Metrologic (Honeywell) Eclipse MS 5145 с интерфейсом USB по умолчанию включается именно так. Как же использовать его в конфигурации без применения стороннего ПО и обрабатывать данные сканера в открытой форме, например обработки?

Как вариант, в этом случае сканеру нужно назначить пользовательский префикс. Например F7 - т.е. перед посылкой штрихкода сканер будет вызывать нажатие клавиши F7. Для рассматриваемого сканера нужно разобраться с примером из раздела "Code Bytes Usage" руководства и настроить префикс. Нужный суффикс - нажатие Enter - присутствует по умолчанию. Действия в 1С - в нужной форме создается кнопка с горячей клавишей F7, на которую вешается процедура обработки штрихкода. Пример см. в обработке ТестСканера(клавиатура) - код минимален.

Однако, подключение в com представляется мне более надежным, с той точки зрения, что сканер в разрыв клавиатуры активен всегда и возможен случайный ввод данных там, где это не требуется, чего можно избежать при подключении в com, обрабатывая событие от сканера только там, где это необходимо.

Скачать файлы

Наименование Файл Версия Размер
Сканирование 424
.zip 10,18Kb
13.04.11
424
.zip 10,18Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. v_id (v_id) 12.04.11 17:16
А чего описание обработки одним куском, трудно на абзацы разбить?
2. Сергей (avasl) 12.04.11 17:47
3. Олег (simol) 13.04.11 11:30
Эх, только вчера купил COM сканер :(
4. Олег (simol) 13.04.11 11:34
А можно не двумя файлами, а архивом? А то за 2 дня качать неудобно
6. Виталий (nafa) 13.04.11 12:09
(3) А в чем проблема с COM сканером? Для 1С он по любому лучше клавиатурного.
7. Олег (simol) 13.04.11 14:15
(6)Компы пошли без сом портов, раздражает наличие конвертора usb-com
8. Виталий (nafa) 13.04.11 19:36
(7)
[quote]раздражает наличие конвертора usb-com[/quote]
Ну, например, кабель к Cipherlab 1500L USB как раз и представляет собой этот самый конвертор и внешне и программно (в системе появляется Virtual COM порт), так что хрен редьки не слаще.
9. Олег (simol) 15.04.11 23:38
У меня сейчас крыша съедит. Я тут 2 дня мучал сканер COM. В том числе в Вашей обработке. Вопросы следующие, может подскажете:

Если я комментирую в обработке установку параметров портов, даже номер порта, то сканер все равно работает. Почему? Я вместо установки сделал Сообщить(Драйвер.БитДанных) и остальные паарметры тоже вывел. Выводятся параметры (которые наверно по умолчанию), но почему выдает верный ком порт (на компе их 2, настоящий и usb-com. Сканер подключен к usb-com)? В частности БитДанных выводится 8. Даже если я сделаю Драйвер.БитДанных = 7, все равно за ним Сообщить(Драйвер.БитДанных) выдаст 8. В чем прикол?
10. Олег (simol) 15.04.11 23:41
+(9)Даже если я на сканере устанавливаю и 7 и 8 бит. Стоповых и 1 и 2. Все равно сканирует и выдает с Сообщить настройку: 8, Com3, 9600, 1
11. Олег (simol) 15.04.11 23:57
+(9)
Выполняю код:

ХочуУстановить = 7;
Драйвер.БитДанных = ХочуУстановить;
Сообщить("Хочу установить: " + ХочуУстановить);
Сообщить("Установлено: " + Драйвер.БитДанных);

получаю:
Хочу установить: 7
Установлено: 8
12. Сергей (avasl) 16.04.11 00:45
Касаемо подключения через эмуляцию com-порта - 1)Обратите внимание, что в настройках виртуального COM-порта в диспетчере устройств, из настроек, по крайней мере у меня, присутствует только номер порта. Иных настроек, каковые имеются в свойствах реального COM-порта нет. 2) Установка номера порта имеет значение, причем важен порядок следования строк в коде - сначала БитДанных, а затем номер порта, иначе возникают проблемы. Также важно установить верный стоп символ - префикс. Насчет настроек Скорость = 9600 и СтопБит = 0 - я не могу сказать о них определенно в данном случае (виртуальный порт).
Советую вам исходить из того, что есть закрытая компонента, написанная 1с и соответствующая ей обработка обслуживания, сделанная той-же 1с. Свою обработку я сделал на базе стандартной, фактически оставив только самое главное - подключение/отключение и обработку события и это решение работает. Просто сделайте также.
13. Сергей Масловец (serpol87) 01.07.11 08:08
Почему именно USB Serial Emulation Driver (uni-directional)? Есть ссылка на не битый архив, если есть возможность то выложи здесь. Плиззз
14. Nata (Nata) 17.09.11 01:02
Если бы не публикация, билась бы весь день. Спасибо.
15. Валера (val1979) 20.09.11 19:21
конфигурация Альфа - авто. Не могу подключить сканер. Вроде все есть и оборудование видит, а работать отказывается. может кто подскажет куда копать?
16. Сергей (avasl) 21.09.11 09:55
(14) спасибо за голос. (15) обратитесь к документации по конфигурации.
18. Александр (smit1c) 04.06.12 19:11
Спасибо, как раз выдернуто то что необходимо из типовых!
19. Ильшат (shatt) 26.09.12 12:07
Спасибо большое, нужная вещь в нужное время! :)
20. Alexey K (kanalex) 01.02.13 19:50
4) С помощью книги из поставки сканера перепрограммировать интерфейс (последовательно сканируются штрихкоды "enter/exit configuration mode" - "enable uni-directional USB Serial Emulation mode" - "enter/exit configuration mode").

В книге (листочек А3) есть код USB Serial Emulation, однако после его сканирования ничего в оборудовании не появляется:(
Что-то я уже начал вообще сомневаться, что конкретно этот сканер умеет работать в режиме эмуляции СОМ порта:(

Honeywell Eclipse 5145

Префикс тоже не катит, т.к. программа написана на отлов события. Придется переписывать...
Не очень сложно, конечно, Но префикс поставить тоже не получилось:(
21. Ростислав Пуме (Millet) 24.12.14 18:21
Спасибо, было полезно.

Всегда подключал сканеры в режиме эмулятора ввода с клавиатуры, а сейчас понадобилось подключить напрямую.
22. Дмитрий Иванов (ikekoval) 27.11.15 15:48
(20) kanalex, На сайте Honeywell ищем по модели сканера документацию: "Configuration Guide".
На стр. 1-1 код ввода и вывода режима конфигуратора.
На стр. 8-1 коды для ввода до 10 кнопок префикса.
На стр. 16-1 коды битов. Биты надо вводить в десятеричной системе. Таблица соответствия клавиш на страницах с 16-2 по 16-8.

Во вложении коды для программирования клавиши F7 в 1 кнопку префикса.
Для задания f12 сканим не "150", а "155".

Для корректной работы в 1с возможно придется изменить задержку меджу префиксом и кодом. Это там тоже есть (в большой английской книге).
Прикрепленные файлы:
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа