сканер штрих кодов в разрыв клавиатуры
Как сканер с COM портом заставить работать “в разрыв клавиатуры”
Интерфейс сканера штрихкодов “в разрыв клавиатуры” работает как эмулятор клавиатуры и набирает кнопки, соответствующие символам сканируемого штрихкода. То есть, если в Windows запустить блокнот и отсканировать штрихкод, то мы увидим его в рабочей области блокнота. Работа и настройка с интерфейсом проста и не требует установки доп драйверов. А некоторые программы работают только через “разрыв клавиатуры”. Неудобство же заключается в том что необходимо следить за текущей раскладкой клавиатуры (должна соответствовать штрихкоду) и курсор должен находится в поле ввода штрихкода.
Работа в режиме COM порта более надежна, но зачастую требует предварительной установки драйверов и настройки для программ, в том числе и 1с.
Сканеры штрихкодов не всегда имеют интерфейс “в разрыв клавиатуры”, но можно заставить их работать в этом режиме.
Через программу ComKey
Скачиваем и запускаем программу – она появляется в трее:
По правой кнопки мыши вызывается меню настроек, где указывается Порт и Скорость,которые соответствуют установленному сканеру
Если все указано верно, то сканер работает в разрыв клавиатуры.
Теперь остается добавить ярлык в папку Автозагрузки Windows. Но у меня выявилась проблема: порт и скорость не сохранялись после перезагрузки.
Эти параметры на время сеанса программа хранит в HKEY_CURRENT_USER\Software\RKD\ComKey\SettingsПараметры Baud (REG_DWORD) – скорость
Значение Baud | Скорость |
00000001 | 110 |
00000002 | 300 |
00000003 | 600 |
00000004 | 1200 |
00000005 | 2400 |
00000006 | 4800 |
00000007 | 9600 |
00000008 | 14400 |
00000009 | 38400 |
и Port (REG_DWORD) – Порт.
Значение Port | Порт |
00000001 | COM1 |
00000002 | COM2 |
00000003 | COM3 |
00000004 | COM4 |
Сделал Bat файл, который прописывает параметры и потом запускает ComKey :
Установка префикса для сканера MINDEO CS2190 для работы с 1С в режиме разрыва клавиатуры
Инструкция по установке префикса для сканера MINDEO CS2190 для работы с 1С Предприятие в режиме разрыва клавиатуры.
Рассмотрим настройку сканера MINDEO CS2190 с USB кабелем для работы с 1С Предприятие в режиме разрыва клавиатуры или имитации клавиатуры.
Сам сканер легко подключается к компьютеру в любой порт USB, и Windows быстро и легко сама устанавливает необходимые драйвера. После чего сканер готов работе, и это можно проверить сканированием в блокнот. Но для работы сканера с 1С, которая находится еще удаленно на терминале, придется немного изменить настройки сканера.
Сканер MINDEO CS2190 может имитировать подключение в след. вариациях:
1. Для включения режима клавиатура, необходимо просканировать след. штрихкод:
2. Далее необходимо включить имитацию задержки ввода символов, тк при передаче данных сканером окно ввода штрихкода быстро закрывалось. Для соединения с 1С по RDP мне было достаточно 40 мс. Сканируем сканером это значение:
Примечание: альтернативный вариант вызова задержки: несколько раз вызвать нажатие клавиши F7
3. Для вызова в 1С окна ввода штрихкода, необходимо в качестве префикса штрихкода передавать символ нажатия клавиши F7. Добавим данный префикс. Сканируем последовательно сверху вниз:
Далее сканируем закрывающую операцию:
4. Сканер после ввода штрихкода автоматически имитирует нажатие Enter, поэтому суффикс к штрихкоду добавлять не требуется. Но на всякий случай опишу как это сделать с данным сканером:
сканируем последовательно сначала первую колонку, затем вторую
Полная таблица ASC кодов символов, если нужно вызвать нажатие другой любой клавиши или символа:
После проведенных манипуляций, сканер при сканировании будет сначала нажимать кнопку F7, затем заполнять сканируемый штрихкод и нажимать Enter.
Имея такой алгоритм ввода, можно без труда в 1С написать соответствующие обработчики на создание новой номенклатуры при ненайденном штрихкоде и реализовать автозаполнения документа в 1С.
Полная документация по сканеру доступна с офф. сайта производителя.
Настройка префикса «F7» и суффикса «Enter» для сканера Honeywell Voyager 1430/1450g/1452g/1450g2DHR
Данный способ подключения может быть удобен, кода работа с 1С идет через RDP-соединение или есть проблемы с настройкой драйверов и обработок обслуживания.
При подключении сканера в «разрыв клавиатуры» работа в 1С происходит по следующему алгоритму: в документе нажимается клавиша F7, открывается окно ввода штрихкода, сканером считывается штрихкод с этикетки, нажимается кнопка «ОК» (или клавиша «Enter»), 1С находит товар по штрихкоду и добавляет его в табличную часть документа. Если в документ необходимо добавить несколько товаров или есть необходимость отойти со сканером от компьютера (подбор товара в зале, инвентаризация), то данный алгоритм работы вызывает ряд неудобств. Чтобы избежать данной ситуации, можно запрограммировать сканер штрихкодов на выполнение автоматических действий при одном нажатии на кнопку сканера. В этом случае сканер будет выдавать следующую последовательность:
где [F7] – префикс штрихкода, [Штрихкод] – штрихкод товара на этикетке, [Enter] – суффикс штрихкода.
При таком режиме работы сканера товар в документ 1С будет добавляться автоматически без каких-либо дополнительных нажатий на клавиатуре или мыши.
Настройка префикса «F7» и суффикса «Enter» для сканера Honeywell Voyager 1430/1450g/1452g/1450g2DHR
1. Сканируем системный штрихкод, который сбросит настройки сканера на заводские настройки (при необходимости).
2. Сканируем системный штрихкод, ответственный за программирование префикса.
3. Сканируем набор кодов, соответствующих клавише F7: 9, 9, 1, С, сохраняем данные
4. Сканируем штрихкод, ответственный за программирование суффикса «Enter»
На этом настройка сканера завершена.
Кроме описанного способа программирования сканера, можно воспользоваться утилитой EZConfig (подробная информация по настройке сканера и использованию утилиты EZConfig содержится в инструкции по программированию на сайте производителя оборудования Honeywellaidc).
Мой опыт подключения сканеров штрих-кода в RDP
Раньше никогда этого не делал, поэтому делюсь опытом.
Проброс COM- портов
Проброс портов делается элементарно, нужно в свойствах RDP подключения указать галочку «Использовать порты».
Настройка сканера ШК в 1С
Режим разрыва клавиатуры
В режиме разрыва клавиатуры сканер просто набирает клавиши, которые соответствуют символам штрих-кода. Не требуется никаких драйверов, чтобы сканер заработал в 1С.
Во всех типовых конфигурациях по кнопке F 7 открывается окно ввода штрих-кода. Поэтому достаточно сканеру запрограммировать префикс F 7 и все, он будет поддерживаться 1С.
Если конфигурация дорабатывалась и в некоторых участках забыли прописать типовую поддержку F 7, проще дописать эту поддержку. Но в качестве альтернативы можно использовать драйвер Атол старых версий, где выбрать в качестве порта «Разрыв клавиатуры».
Новые версии драйверов Атол платные, а бесплатные делают 10-секундную задержку перед обработкой штрих-кода.
Способ прост для подключения, но неудобен в работе.
Поэтому лучше все же, если используется разрыв клавиатуры, не использовать драйвер Атол (это лишние потери времени и символов), а просто запрограммировать префикс F 7.
В моем случае был интересный глюк – буквы на некоторых штрих-кодах преобразовывались в верхний регистр. Я долго мучался, но мне подсказали, что нужно включить режим посимвольной передачи штрих-кода, а не пакетный, который стоял по умолчанию.
Режим COM- порта
Работает более быстро и надежно. Событие в 1С подхватывается независимо от раскладки клавиатуры и текущего активного элемента в форме.
Драйвер Атол можно использовать только старых версий. Для сканера это не имеет особого смысла, поэтому лучше применять бесплатный драйвер Scanopos от 1с.
Случайно нашел тему об этом и решение тут. Там один комментатор писал, что когда он заменил scanopos предложенной версией этой компоненты, то чуть не заплакал – все заработало.
Но возникла другая проблема – в 1С от сканера не доходил первый символ 0 штрих-кода. Видимо, драйвер преобразовывал штрих-код в число и терял ноль.
Я достаточно много времени потратил на поиск решения, но все решилось просто – достаточно установить любой префикс и прописать этот префикс в подключении торгового оборудования. Я использовал для общности F7.
Настройка префикса штрих-кода
Чтобы настроить префикс F 7 пришлось помучаться.
У всех сканеров код этой клавиши разный, поэтому я заглянул в таблицу шестнадцатеричных кодов:
Но ошибся и вместо шестнадцатиричного 15 (десятичтного 21) запрограммировал префикс 51. Потом понял, что не то, когда сканер в разрыв клавиатуры не нажимал F 7.
Сама процедура программирования префиксов тоже описана не явно, пришлось писать себе памятку, переводя язык инструкции на нормальный человеческий:
1. Считать ШК «Вход в конфигурирование»
2. Считать ШК «Установка префикса»
3. Считать ШК с цифрами «1», «5» для клавиши F7
4. Считать ШК «Validate»
5. Считать ШК «Update»
Дополнительные замечания
Ездить каждый раз к пользователям сканеров не получалось. Поэтому я научил одного сотрудника на месте распечатывать нужные страницы из руководства и сканировать нужные мне последовательности команд.
Сканер штрихкода
Какой нужно приобрести сканер штрихкодов? Будет ли мой сканер штрихкодов работать с программой Тирика-Магазин?
Такие вопросы мы получаем от каждого четвертого потенциального покупателя программы. И неспроста: в отличие от «обычного» электронного оборудования производители и импортеры сканеров штрихкодов отчего-то считают, что их продукцией будут пользоваться только квалифицированные технические специалисты. В результате счастливый покупатель сканера после покупки остается один на один с инструкцией по эксплуатации, не только не переведенной на русский язык, но и написанной таким техническим английским, что с ним не в состоянии совладать даже инженер, не имеющий опыта настройки сканеров штрихкодов.
В этой статье мы попробуем разобраться в том, какие бывают сканеры штрихкодов.
Режимы работы сканера штрихкодов
Оказывается, сканер подключается к программе не как сканер штрихкодов (в отличие от клавиатуры и мыши, компьютер не знает такого типа устройств), а либо как клавиатура, либо как устройство под названием «COM-порт».
Как же это, скажете вы, ведь к моему компьютеру уже подключена одна клавиатура? В этом-то и заключается фокус. Сканер, работающий в режиме эмуляции клавиатуры, подключается к вашему компьютеру и передает ему отсканированный штрихкод товара так, как будто бы вы ввели его с имеющейся у вас клавиатуры!
По мысли проектировщиков сканера, это должно быть удобно: программе не нужно заботиться о том, чтобы распознавать сканер штрихкода как отдельное устройство и учиться с ним работать. Все как с клавиатурой!
Однако не все так просто. Для того, чтобы программа могла обработать штрихкод, пользователь перед сканированием товара должен поставить курсор в определенное место – чтобы програма, например, не решила, что поступившие с «клавиатуры» (а на самом деле со сканера) цифры – это наименование товара, дата накладной или, например, сумма к оплате. Другими словами, пользователь вынужден делать лишнее движение – устанавливать курсор в определенное поле на экране – и это ему не нравится. Самое неприятное заключается в том, что решить эту проблему нельзя: сканер штрихкода очень искусно притворяется клавиатурой, и программа не может определить, какие символы пришли от сканера, а какие – от настоящей клавиатуры!
Как следствие, пользователь недоволен тем, что ему приходится выполнять лишние движения (устанавливать курсор в поле «штрихкод» перед сканированием товара), разработчик недоволен тем, что ему приходится объяснять пользователю, что виновата не программа, а сканер. Однако делать нечего, и недовольный пользователь продолжает работать с программой и своим сканером, а разработчик – объяснять пользователю, что он не виноват.
Обратите внимание: это проблема не программы Тирика, а любой компьютерной программы, работающей со сканером штрихкодов, эмулирующих клавиатуру или включенных в разрыв клавиатуры!
Совсем по-другому дело обстоит при использовании сканера штрихкода, работающего в режиме эмуляции COM-порта.
Справка
COM-порт (последовательный порт) – простое устройство, которым снабжались старые компьютеры до появления разъемов USB. К COM-портам подключалось огромное множество различных устройств: компьютерные мыши, модемы, сканеры штрихкодов, всевозможные научные и производствнные датчики… Сейчас COM-порты повсеместно вытеснены стандартом USB и более не устанавливаются в современные компьютеры, но из соображений совместимости со старыми программами Windows позволяет создавать т.н. виртуальные COM-порты. Виртуальный COM-порт не существует физически (т.е. в компьютере не установлено соответствующее устройство), но по желанию подключенного к USB устройства Windows позволяет работающим с ним программам работать с ним так, как будто бы устройство подключено с COM-порту.
Когда пользователь сканирует штрихкод при помощи сканера, работающего в режиме эмуляции COM-порта, отсканированные цифры штрихкода помещаются не в буфер клавиатуры, а в отведенный для устройства COM-порт, откуда их легко может извлечь программа Тирика. При этом программа четко понимает, что эти цифры пришли именно от сканера штрихкодов и обрабатывает их как штрихкод товара, не путая их с введенными с клавиатуры датой операции или ее суммой, и не требует, соответственно, от пользователя устанавливать курсор мыши в специальное поле на экране перед скинированием штрихкода. Получается, что в случае сканера, работающего в режиме эмуляции COM-порта работать с программой намного удобнее.
Вывод
Программа Тирика-Магазин будет работать с любым сканером штрихкодов, но если сканер штрихкодов работает в режиме эмуляции COM-порта, то работать с ним будет намного удобнее.
А в каком режиме работает мой сканер штрихкодов? Как мне перевести сканер в режим эмуляции COM-порта?
Определить, в каким режиме работает ваш сканер очень просто. Запустите программу Тирика-Магазин, выберите пункт меню Файл|Настройки, переключитесь на закладку Штрихкоды и нажмите там кнопку Определить, после чего следуйте инструкциям на экране. В результате программа автоматически определит режим работы Вашего сканера.
Если программа определит, что ваш сканер работает в режиме эмуляции клавиатуры, то это еще не означает, что он не может работать в режиме эмуляции COM-порта. Многие сканеры поддерживают и тот, и другой режим; для переключения сканера в режим эмуляции COM-порта (наиболее удобный для пользователя режим работы сканера) вам необходимо отсканировать специальный управляющий штрихкод, напечатанный в инструкции по эксплуатации сканера. Этот штрихкод может называться наподобие Virtual COM emulation mode. Если Вы не можете найти такой штрихкод в инструкции к сканеру, попробуйте поискать инструкцию в интернете по словам «как переключить в режим эмуляции COM порта» или позвонить в ту компанию, где Вы покупали сканер штрихкода.
Имейте в виду, что при подключении к компьютеру работающего в режиме эмуляции COM-порта сканера штрихкодов Windows может потребовать у вас драйвера к этому устройству. Перед подключением сканера позаботьтесь о том, чтобы найти эти драйвра в интернете или попросить продавца сканера прислать их вам.
У меня еще нет сканера штрихкода. Какую модель вы порекомендуете приобрести?
Сейчас на рынке представлены десятки (или даже сотни) моделей сканеров штрихкодов, и мы не берем на себя ответственность порекомендовать вам какую-то конкретную модель. Мы может только посоветовать при выборе сканера:
При разработке программы Тирика-Магазин мы использовали сканер штрихкодов Metrologic Eclipse 5145 USB. Это недорогой ручной сканер, работающий в режиме эмуляции клавиатуры; путем сканирования специального штрихкода, напечатанного на странице 68 руководства по эксплуатации его можно перевести в режим эмуляции COM-порта. При подключении к компьютеру он потребовал драйвера, которые мы легко нашли в интернете. Подробные инструкции по переводу этого сканера в режим эмуляции COM-порта здесь.
Приложение. Настройки префикса и суффикса в сканере штрихкодов
Как настроен ваш сканер штрихкодов? Если он работает в режиме эмуляции клавиатуры (а в этом режиме работают по умолчанию большинство сканеров), то это легко проверить. Запустите приложение Блокнот (оно входит в состав Windows и наверняка имеется на вашем компьютере; поищите его в меню кнопки Пуск|Стандартные|Блокнот) и отсканируйте какой-нибудь штрихкод вашим сканером. Если после сканирования в окне Блокнота ничего не изменилось, то ваш сканер работает в режиме эмуляции COM-порта либо не подключен к компьютеру :), если же в Блокноте появились цифры отсканированного штрихкода, то вы можете посмотреть, что стоит перед цифрами и после них и определить текущие настройки префикса и суффикса сканера.
Заводские настройки абсолютного большинства сканеров идентичны: префикс пустой, в качестве суффикса используются символы с кодами 13 и 10 (0x0D и 0x0A в шестнадцатиричной системе), которые в совокупности идентичны нажатию кнопки Enter. То есть если в Блокноте вы после сканирования увидите 13 цифр штрихкода, после чего курсор будет переведен на следующую строчку так, как будто кто-то нажал кнопку Enter, значит, ваш сканер настроен именно таким образом.
Если ваш сканер, работающий в режиме эмуляции клавиатуры, имет символ Tab (0x09) аналог ДВУХ нажатий кнопки Enter на клавиатуре (0xoD;0x0A;0x0D;0x0A) в префиксе или суффиксе, вам необходимо будет перенастроить сканер и поменять символы префикса или суффикса. В абсолютном большинстве сканеров штрихкода префикс и суффикс настраиваются путем сканирования специальных управляющих штрихкодов, напечатанных в инструкции по эксплуатации сканера. Вы можете сделать это самостоятельно либо обратиться за помощью к продавцу сканера. К сожалению, самы мы не являемся специалистами по (всем на свете) сканерам штрихкодов и не сможем оказать вам квалифицированную помощь в перенастройке вашего сканера.
Мы еще раз хотим подчеркнуть, это эта проблема касается только сканеров, работающих в режиме эмуляции клавиатуры; если ваш сканер работает в режиме эмуляции COM-порта или вы знаете, как его в него перевести, перенастраивать префикс и суффикс в сканере вам не нужно.
Приложение. Способы подключения сканера штрихкодов к компьютеру
Во-первых, сканер может подключаться к компьютеру при помощи известного всем USB-кабеля. Это самый распространенный на рынке тип сканеров, и именно его и нужно покупать для работы с программой Тирика-Магазин. Если Вы уже купили сканер штрихкодов, и он комплектуется не USB-кабелем, а другим интрефейсным шнуром, но тем не менее подключен к Вашему компьютеру и успешно работает, значит, и программа Тирика-Магазин сможет работать с вашим сканером.
Во-вторых, бывают сканеры, включаемые «в разрыв клавиатуры». Обычно они комплектуются шнуром, заканчивающимся коннектором PS/2, похожим на представленный на рисунке. Такой сканер будет работать аналогично сканеру в режиме эмуляции клавиатуры, и работать с ним будет менее удобно, чем со сканерами, работающими в режиме эмуляции COM-порта, но тем не менее вполне можно. Более того, программа Тирика-Магазин внутри имеет специальный модуль работы с такими сканерами, и с этой программой пользоваться таким сканером будет несравненно удобнее, чем с любой другой программой
Ну и, наконец, бывают сканеры, имеющие разъем RS232 (это другое название COM-порта). Современные компьютеры очень редко комплектуются входом, в который можно было бы вставить такой разъем, но если сканер у Вас уже есть, подсоединен к компьютеру и работает, то вам не о чем беспокоиться. Такой сканер будет работать аналогично сканеру в режиме эмуляции COM-порта, а это самый удобный для пользователей программы Тирика-Магазин режим работы сканера штрихкодов.