Мой опыт подключения сканеров штрих-кода в RDP

Мне пришлось настраивать подключение порядка 10 сканеров штрих-кода по RDP. Использовались Cipher Lab 1000, 1266 и 1562.

Раньше никогда этого не делал, поэтому делюсь опытом.

Проброс COM-портов

Сканер подключается к компьютеру или непосредственно в реальный COM-порт или в USB, но даже в этом случае он занимает виртуальный COM-порт (VCOM).

 

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

 

Настройка сканера ШК в 1С

Существует два способа подключения сканера штрих-кода к 1С – через работы в режиме разрыва клавиатуры и через COM-порт.

Режим разрыва клавиатуры

 

В режиме разрыва клавиатуры сканер просто набирает клавиши, которые соответствуют символам штрих-кода. Не требуется никаких драйверов, чтобы сканер заработал в 1С.

 

Во всех типовых конфигурациях по кнопке F7 открывается окно ввода штрих-кода. Поэтому достаточно сканеру запрограммировать префикс F7 и все, он будет поддерживаться 1С.

 

Если конфигурация дорабатывалась и в некоторых участках забыли прописать типовую поддержку F7, проще дописать эту поддержку. Но в качестве альтернативы можно использовать драйвер Атол старых версий, где выбрать в качестве порта «Разрыв клавиатуры».

 

Новые версии драйверов Атол платные, а бесплатные делают 10-секундную задержку перед обработкой штрих-кода.

 

Способ прост для подключения, но неудобен в работе.

 

 

Поэтому лучше все же, если используется разрыв клавиатуры, не использовать драйвер Атол (это лишние потери времени и символов), а просто запрограммировать префикс F7.

 

В моем случае был интересный глюк – буквы на некоторых штрих-кодах преобразовывались в верхний регистр. Я долго мучался, но мне подсказали, что нужно включить режим посимвольной передачи штрих-кода, а не пакетный, который стоял по умолчанию.

 

Режим COM-порта

Работает более быстро и надежно. Событие в 1С подхватывается независимо от раскладки клавиатуры и текущего активного элемента в форме.

 

Настраивается просто – указывается COM-порт и все.

 

Но есть нюансы.

 

Драйвер Атол можно использовать только старых версий. Для сканера это не имеет особого смысла, поэтому лучше применять бесплатный драйвер Scanopos от 1с.

 

Но я столкнулся с ситуацией, когда в некоторых комбинациях компьютеров и сканер атоловский драйвер подключал сканер только один раз, а потом COM-порт оказывался занятым, а драйвер scanopos вообще вешал терминальную сессию. Причем такая проблема возникала только на дорогих сканерах. Просто CipherLab 1000 работал нормально.

 

Случайно нашел тему об этом и решение тут. Там один комментатор писал, что когда он заменил scanopos предложенной версией этой компоненты, то чуть не заплакал – все заработало.

 

Действительно, я скачал компоненту и даже в моих проблемных связках все заработало. Автор утверждает, что проблема возникает, когда сканер подключен не в реальный COM-порт, а в виртуальный (VCOM).

 

Конечно, немного странно использовать noname-решение, но оно работает, а сканер в COM удобнее для пользователя, чем  в разрыв клавиатуры, поэтому почему бы и нет. Может быть, через 2 года, когда эта версия станет неактуальна, 1с починит свой scanopos для нормальной работы с VCOM по RDP.

 

Но возникла другая проблема – в 1С от сканера не доходил первый символ 0 штрих-кода. Видимо, драйвер преобразовывал штрих-код в число и терял ноль.

 

Я достаточно много времени потратил на поиск решения, но все решилось просто – достаточно установить любой префикс и прописать этот префикс в подключении торгового оборудования. Я использовал для общности F7.

 

Настройка префикса штрих-кода

Чтобы настроить префикс F7 пришлось помучаться.

У всех сканеров код этой клавиши разный, поэтому я заглянул в таблицу шестнадцатеричных кодов:

Но ошибся и вместо шестнадцатиричного 15 (десятичтного 21) запрограммировал префикс 51. Потом понял, что не то, когда сканер в разрыв клавиатуры не нажимал F7.

 

Сама процедура программирования префиксов тоже описана не явно, пришлось писать себе памятку, переводя язык инструкции на нормальный человеческий:

1.            Считать ШК «Вход в конфигурирование»

2.            Считать ШК «Установка префикса»

3.            Считать ШК с цифрами «1», «5» для клавиши F7

4.            Считать ШК «Validate»

5.            Считать ШК «Update»

 

В моем случае я пропускал Validate, а без этого префикс не ставился.

 

Дополнительные замечания

Ездить каждый раз к пользователям сканеров не получалось. Поэтому я научил одного сотрудника на месте распечатывать нужные страницы из руководства и сканировать нужные мне последовательности команд.

 

Есть специальная программа Scan Master, которая может назначать префикс и делать другие настройки для разных моделей сканеров. Но она работает только со сканерами, подключенными через COM, а не в разрыв клавиатуры.

 

Для проверки, работает или нет сканер, можно использовать все же драйвер Атол, программа «Драйвер устройств ввода». Нажать «Настройка свойств» - «Поиск оборудования», и далее просканировать любой штрих-код. Если сканер подключен нормально, будет отображен штрих-код.