gifts2017

Эмуляция работы сканера штрих-кода. Настройка подключения сканера штрих-кода в 1С 7.7 и 1С 8.

Опубликовал Семен (1st) в раздел Оборудование - Сканер штрих-кода

Если под рукой нет сканера штрих-кода, а нужно проверить, отладить, работу программы. Работу сканера штрих-кода можно эмулировать с помощью программ. Описан пример эмуляции: настройка используемых программ и настройка подключения сканера штрих-кода в 1С 7.7 и 1С 8.
 

Эмуляция работы сканера штрихкода

Если под рукой нет сканера штрихкода, а нужно проверить, отладить, работу программы.
Есть два варианта:

  • использовать стандартные средства для работы со сканером штрихкода и эмулировать сам сканер штрихкода, как будто он физически подключен к COM-порту (рассматривается в этой статье);
    преимущества: проверяется полная работоспособность 1С работы со сканером штрихкода, как в рабочих условиях;
    недостатки: установка и настройка дополнительного ПО.
  • использовать специальные обработки эмулирующие события (для 1С 8 - через стандартные процедуры, для 1С 7.7 - через внешние компоненты - см. ссылки в конце статьи);
    преимущества: более простая установка и настройка ПО и обработок;
    недостатки: исключает проверку настроек и библиотек работы со сканером штрихкода, т.к. генерируется само событие (нужно знать параметры события для правильного вызова)

Работу сканера штрихкода можно эмулировать с помощью программ.

Для посылки данных на COM-порт можно использовать программу "COM Port Data Emulator" (бесплатная). "COM Port Data Emulator" эмулирует устройство подключенное к COM или Ethernet.

Для эмуляции COM-порта, а точнее для создания виртуально связанной между собой пары COM-портов можно использовать программу "Virtual Null Modem" (trial) или "Virtual Serial Ports emulator" (бесплатная).

Создание виртуальных COM-портов будет рассмотрено как  с использованием Virtual Null Modem, так и с использованием Virtual Serial Ports emulator.  

1. Для начала создадим связанную пару виртуальных COM портов. Порты будут связаны между собой так, как будто это порты на разных устройствах соединенные между собой кабелем (в нашем случае: порт на ПК и порт на сканере ШК).

1.(1) Создание связанной пару виртуальных COM портов с использованием Virtual Null Modem.
Устанавливаем и запускаем Virtual Null Modem (VNM).

В окне VNM создаем пару COM портов:  «Устройства - Добавить виртуальный нуль-модем»

Virtual Null Modem 

 Окно «Виртуальные порты»:

Первый виртуальный порт - COM10.

Второй виртуальный порт - COM11.

Тип нуль-модема:  «С полным контролем передачи».

Окно Виртуальные порты

Нажимаем  «ОК»

Если тип старта «Ручной», то для активации портов в системе нужно выбрать пункт меню: «Система - Активировать все виртуальные нуль-модемы».

1.(2) Создание связанной пару виртуальных COM портов с использованием Virtual Serial Ports Emulator.
Устанавливаем и запускаем Virtual Serial Ports Emulator.

Для начала, установим русский язык интерфейса:  «Language - Russian»

В окне VSPE переходим к созданию пары COM портов:  «Устройство - Создать»

VSPE - запуск настройки 

 Окно «Тип устройства»:

Окно Тип устройства

Здесь выбираем тип устройства «Pair» (т.е. "Пара"). Нажимаем «Далее».

 Окно «Тип устройства»:

Здесь выбираем тип устройства «Pair» (т.е. "Пара")

Первый виртуальный порт - COM10.

Второй виртуальный порт - COM11.

Окно Характеристики устройства

Запуск эмуляции:

 Для запуска выбираем в меню «Эмуляция - Запуск»

Окно VSPE - эмуляция


2. Теперь настраиваем подключение сканера штрихкода в 1С.

Показаны примеры подключения как для 1С: Предприятие 7.7, так и 1С: Предприятие 8.

2.(1) Настройка подключения сканера штрихкода в 1С: Предприятие 7.7.

 Настройка подключения в 1С 77

2.(2) Настройка подключения сканера штрихкода в 1С: Предприятие 8.

 Настройка поключения в 1С 8


Когда сканер штрихкода настроен, можно его проверить.

3. Непосредственно эмуляция сканера штрихкода 

Устанавливаем и запускаем COM Port DE (эмулятор).

COM Port Data Emulator

На начальной вкладке  «Device»: выбираем пункт «Serial port», устанавливаем следующие параметры «11»; «9600,8,N,1»; «None». Как на рисунке.  «11» - это номер COM-порта, указанного в VNM вторым.

Переходим ко второй вкладке  «Data source». Здесь есть множество настроек. Разберем самый простой вариант использования.

Data source 

Устанавливаем режим «Data source» в «Text strings» (т.е. источник данных – это строки текста).

Далее два варианта:

1. Простой. Вводим одну строку текста – нужный штрихкод. При нажатии кнопки «Start» программа через COM 11 отправит штрихкод на COM 10, как и настроено, так как будто это реальный сканер штрихкода, подключенный к .COM 10. Замечание: даже если задано будет несколько строк со штрихкодами, отправлена будет только первая.

2. Списком. Вводим несколько строк со штрихкодами, например, как на рисунке. Включаем флаг автоматической отправки с интервалом «Auto sending interval (ms)». Выбираем режим интервала «Fixed» (фиксированный), указываем интервал, в миллисекундах. При нажатии кнопки «Start» программа будет отправлять штрихкоды построчно, с указанным интервалом времени между строк.

Остановить цикл отправки можно нажав кнопку «Stop» на вкладке «Log», где отражаются все отправленные данные.

 Log

Важное замечание

 Не пытайтесь проверить эмуляцию сканера штрихкода встроенной функцией "Тест устройства" (одинаково для 1С 77 и 1С 8):

Тест устройства

Как видно из рисунка, данная функция занимает все порты в системе, в том числе и порт COM 11 являющийся связующим звеном в связке COM 10 - COM 11. Таким образом эмулятор не сможет отправить штрихкод на COM 10 через COM 11, так как COM 11 уже занят этим "тестом". Эмулятор выдаст соответствующую ошибку о занятости порта.

___________________________________________________

Варианты эмуляции работы сканера штрихкода с помощью обработок, генерирующих события

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Федор (tdr1225) 22.05.13 09:31
(1) Статью не читал, т.к. много букв.
Мне для эмуляции сканера хватает ВнешнееСобытие() из FormEx'a
Описание, как это делается, можно уместить в 2-3 строки.
2. qweasd qweasdzc (serega3333) 22.05.13 12:59
крутой мануал, надо будет покурить когда столкнусь
3. Семен (1st) 22.05.13 17:35
(1) tdr1225, в случае непосредственной генерации события не отработает библиотека сканера штрихкода.
Кроме того, полагаю, что для генерации события необходимо знать параметры вызова, чтобы событие было обработано так как нужно. Хоть эти параметры и нетрудно узнать, но для этого понадобится генерация этих события библиотекой, т.е. нужен подключенный сканер.
При всем этом соглашусь с Вами, что, если не учитывать все нюансы с генерацией через FormEx, генерация события в большинстве случаев была бы достаточна.
4. aspirator 23 (aspirator23) 23.05.13 21:09
Интересно описана эмуляция сканера. А как эмулировать com-порт для настоящего сканера на Windows х64?
Есть известный эмулятор com-портов для х32.
5. Семен (1st) 24.05.13 20:19
(4) aspirator23, не могу понять Ваш вопрос. У Вас есть USB сканер, но Вы его не можете подключить к Windows (какой кстати?) х64, потому что не смогли найти 64битные драйвера USB с эмуляцией COM-порта?
6. aspirator 23 (aspirator23) 24.05.13 20:37
(5) К Windows 7 х64 не могу подключить USB сканер.Не могу найти драйвер для эмуляции сом порта .На х32 работает - есть эмулятор.
7. Семен (1st) 24.05.13 21:44
(6) aspirator23. Если производитель HoneyWell то у них на сайте есть драйвер (см. в архиве - там для х32 и х64): honeywellaidc.com - Выбор сканера - после выбора сканера на закладке SoftWare.
8. aspirator 23 (aspirator23) 25.05.13 06:51
(7) Спасибо за информацию
9. IR IR (Artemuch2) 25.05.13 18:59
ДА штука безусловно нужная и полезная особенно для разработчиков
10. Игорь Матюшин (Nebiros777) 19.02.14 15:35
Что-то не ловит у меня внешнее событие по этим настройкам. Несколько раз все перепроверил и ноль реакции. Правда и "Предприятие" у меня запускается через внешнюю обработку. У кого-нибудь кроме автора работает?
11. Семен (1st) 03.03.14 19:55
(10) Nebiros777, Уточни, речь идет о настройке сканера ШК в 1С, или об эмуляции COM-порта. Какая версия 1С:Предприятие? Какая версия Windows?
12. александр (whtblck) 13.03.14 13:39
сто лет назад качнул себе приблуду - эмулятор сканера ШК.
по сей день пользуюсь без всего вышеописанного и горя не знаю
CheBurator; Imelior; +2 Ответить 2
13. александр (whtblck) 26.03.14 17:11
для пользователя "Wing"
Не могу отправить личное сообщение, требуют бабок.
Давай мыло, намылю
14. - - (Rebelx) 12.04.14 12:17
(12) Поделись плиз эмулятором сканера ШК
15. александр (whtblck) 18.04.14 12:35
16. Stas B (bsa28000) 31.07.14 14:45
(15) whtblck, а можно его же и на адрес bsa28000@gmail.com?
17. Алексей Ахмадеев (Alexey_A) 20.08.14 12:17
(15) whtblck, можно и мне? 794655@mail.ru
спасибо!
18. Илья Рязанцев (Imelior) 31.08.14 22:25
(12) whtblck, Можно и мне такую приблуду, очень нужно. E-mail: kirich_88@mail.ru Буду благодарен!
19. Семен (1st) 01.09.14 02:05
(16) bsa28000, (17) Alexey_A, (18) Imelior,
Смотрите ссылки в конце статьи:
1С 7.7: http://infostart.ru/public/14587/
1С 8.2: http://infostart.ru/public/283453/
20. Александр Заболотнов (mnitsi) 14.10.14 15:04
Спасибо за статью, очень выручила!!! Единственное, почему то COM Port DE (эмулятор) на Рознице 2.1 в режиме РМК не сразу срабатывал, только после нажатия постоянного считывания эмуляция считывания сканером происходила в 1С.
21. Семен (1st) 14.10.14 21:22
(20) mnitsi, не совсем понял фразу "постоянного считывания" - имеется ввиду "Repeat Mode" (циклом) в программе CPDE?
Скорее всего у Вас так получилось потому, что в момент передачи штрихкодов программой CPDE, само окно 1С8 не было активно, либо не было активно окно формы, принимающей штрихкоды. Дело в том что в 1С8 в процедуре обработки события формы есть проверка на активность окна, и если окно не активно - событие не обрабатывается (пропускается).
22. Вячеслав Клюев (slavik27) 29.10.14 17:06
спасибо, отличная статья. все работает и эмулирует
23. Александр Цегельников (markers) 24.08.16 18:59
Спасибо! Тот самый момент когда надо проверить реакцию программы на штрихкод, а в программе есть условие "ВводДоступен()" и как на зло, нет сканера под рукой.
24. ulugbek kirgizbaew (kirulbek) 24.08.16 20:44
(15) whtblck, если можно мне тоже отправляйте kirulbek@gmail.com
25. александр (whtblck) 25.08.16 08:42
(24) kirulbek, в (19) ведь 1st написал - есть ссылки, качать можно, бесплатно.
у меня эмулятор только 7-рочный, там еще есть и 8-рочный.
7-рочный намылил
26. Ярослав Володимирович (myr4ik07) 31.10.16 11:40
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа