gifts2017

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

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

Мне пришлось настраивать подключение порядка 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, а не в разрыв клавиатуры.

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

 

См. также

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

Комментарии

1. v i (vis_tmp) 26.09.15 18:15
2. Осипов Сергей (fixin) 26.09.15 19:06
(1) это мои рабочие заметки. ;-)
3. Алексей Дмитриевцев (alexdm) 26.09.15 19:38
Несколько месяыев назад тоже мучился с подключением сканера через RDP - была бы эта статья раньше, меньше времени бы убил. Сначала настроил в разрыв клавиатуры, причем, маленькая ремарка, не только Атол умеет работать с таким режимом, последние версии от 1С тоже научились, локально все ОК, но по RDP срабатывало через раз, манипуляции с таймаутом давали эффект, но стабильной работы добиться не удалось. Потом сделал проброс портов, перевел сканер в режим эмуляции COM-порта и все завелось на отлично.
4. Дмитрий Никс (aximo) 26.09.15 19:41
настроил под сотню наверное сканеров и через рдп и не через рдп и егаис и не егаис - танцев с бубнами не было никогда )))) что за описание?? что за область
GreenDragon; wolder; Tarlich; +3 Ответить 1
5. Сергей Афонькин (killovolt) 28.09.15 08:20
в 1С от сканера не доходил первый символ 0 штрих-кода


Сталкивался однажды с подобной проблемой, это надо в настройках сканера копаться. Достоверно не помню, давно было, либо отключал поддержку UPC либо включал преобразование UPC в EAN.
Spacer; alevnev; sommid; +3 Ответить
6. Андрей Карпов (karpik666) 28.09.15 14:45
Не Надо людей вводить в заблуждение, не только атолом все сыты, стандартные драйвера от 1с тоже нормально работают. По поводу кнопки f7, можно обойтись и без нее, просто подключаете сканер как торговое оборудование, а где ком порт ставите "клавиатура"
adhocprog; wolder; inter1980; rasta; cleaner_it; +5 Ответить 1
7. Александр Никитин (ManyakRus) 26.02.16 18:43
1) Разрыв клавиатуры намного лучше, т.к. КОМ-порты часто отваливаются и надо перенастраивать компьютер.Хорошо работает со стандартными 1С драйверами.
2) Для 1С 7.7 Разрыв клавиатуры не предусмотрено, сделал его силом :)
8. Виталий Перцев (try2016) 26.02.16 18:55
(6) karpik666,
Ошибаетесь программирование префикса F7, очень удобно в том плане, что не требуются вообще драйвера для сканера. Он работает как обычная клавиатура в 1С только правда. И как вытекающие не надо виртуалить COM и мапить потом по RDP сканер со всеми вытекающими проблемами RDP.
9. Виталий Перцев (try2016) 26.02.16 19:02
(4) aximo,
Да что вы) Работаю с 2007 года с оборудованием. Если действовать по инструкции подключил и главное потом свалил от них навсегда, то согласен с вами проблем е бывает) А вот если обслуживаешь клиентов годами, то поверьте бывают))
И к вашему сведению нет сканеров ЕГАИС, есть 1D и 2D сканера - 3D пока не придумали) Разницы по подключению между 1D и 2D нет не какой они по большей части с 1С и РМК работают в режиме 1D))
10. Осипов Сергей (fixin) 01.03.16 11:09
(8) Кстати, да. Префикс F7 - удобное решение
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа