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

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

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

В наличии

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

Категория:

Описание

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

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

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

 

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

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

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

 

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

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

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

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

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

 

  • Нужно следить, чтобы была включена правильная раскладка клавиатуры.
  • При использовании префикса курсор должен стоять внутри таблицы, иначе F7 не срабатывает.
  • Буквы при наборе в RDP часто теряются, и сканер считывает усеченные штрих-коды.

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

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

 

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

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

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

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

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

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

Случайно нашел тему об этом и решение тут. Там один комментатор писал, что когда он заменил 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, а без этого префикс не ставился.

 

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

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

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

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

 

has been added to your cart:
Оформление заказа