Как настроить сканер штрихкода CipherLab 1070 для работы в 1С через COM-порт?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

Подключение сканера штрихкода — стандартная задача, однако модель CipherLab 1070 часто вызывает вопросы при переходе из режима эмуляции клавиатуры (HID) в режим виртуального COM-порта (VCOM). Основная сложность заключается в том, что сканер физически считывает код (издает характерный звуковой сигнал), но данные не доходят до учетной системы. В этой статье мы подробно разберем, почему работа через COM-порт предпочтительнее, как правильно установить драйверы и настроить систему для корректного приема данных.

Почему режим COM-порта лучше эмуляции клавиатуры?

Проанализируем ситуацию: в режиме клавиатуры сканер просто «печатает» символы туда, где установлен курсор. Это создает массу неудобств в 1С (например, в 1С:Управление торговлей 11 или 1С:Розница 2.x):

В режиме COM-порта 1С перехватывает «внешнее событие» от сканера независимо от того, где находится фокус и какая раскладка включена. Товар подбирается в корзину мгновенно и без лишних диалоговых окон.

Шаг 1: Установка правильного драйвера VCOM

Выясним причину, по которой сканер может «пикать», но не передавать данные. Чаще всего это связано с тем, что в системе установлен некорректный или устаревший драйвер виртуального порта. Сканер CipherLab 1070 базируется на чипе Silicon Labs CP210x.

Для корректной работы выполним следующие действия:

  1. Переведем сканер в режим USB Virtual COM, отсканировав соответствующий штрихкод из руководства пользователя (Programming Guide).
  2. Установим последнюю версию драйвера CP210x USB to UART Bridge VCP Drivers. Важно использовать драйверы именно от производителя чипа, так как стандартные драйверы Windows могут работать нестабильно.
  3. Проверим наличие порта в системе: перейдем в Диспетчер устройств, развернем ветку «Порты (COM и LPT)» и убедимся, что устройство определилось как Silicon Labs CP210x USB to UART Bridge (COMx).

Шаг 2: Устранение «отвала» порта после перезагрузки

Рассмотрим проблему, когда после перезагрузки компьютера 1С перестает видеть сканер. Это часто связано с агрессивным энергосбережением Windows. Выполним настройку:

В Диспетчере устройств найдем USB-корневой концентратор, к которому подключен сканер. В свойствах на вкладке «Управление электропитанием» снимем галочку «Разрешить отключение этого устройства для экономии энергии». Также рекомендуется отключить «Быстрый запуск» в настройках электропитания панели управления Windows.

Шаг 3: Настройка оборудования в 1С

Разберем процесс подключения в самой программе 1С. В современных конфигурациях на управляемых формах (УТ 11, Розница 2, БП 3.0) лучше использовать библиотеку подключаемого оборудования (БПО).

  1. Зайдем в раздел Администрирование — Подключаемое оборудование.
  2. Создадим новый экземпляр оборудования с типом «Сканеры штрихкода».
  3. В качестве драйвера выберем «1С:Сканеры штрихкода (NativeApi)». Рассмотрим этот момент подробнее: версия драйвера должна быть не ниже 8.1.6.1. Как показывает практика, старые версии (например, от АТОЛ) могут конфликтовать с новыми релизами платформы 8.3.
  4. В настройках драйвера укажем номер COM-порта, который мы запомнили в Диспетчере устройств.
  5. Проверим параметры связи: скорость (Baud rate) обычно составляет 9600, биты данных — 8, стоповые биты — 1.

Шаг 4: Тестирование и работа с суффиксами

Нажмем кнопку «Тест устройства». Если при сканировании в окне теста появляется строка со штрихкодом — настройка выполнена верно. Если же окно остается пустым, хотя сканер издает сигнал, проанализируем настройки суффикса.

Для работы в 1С через COM-порт обязательным является наличие суффикса CR (возврат каретки, код 13). Без него драйвер 1С не поймет, что передача штрихкода завершена, и событие ВнешнееСобытие не будет сгенерировано. Настроить суффикс можно двумя способами:

Шаг 5: Решение проблемы с раскладкой клавиатуры (Alt-mode)

Если вы все же решили остаться в режиме эмуляции клавиатуры, но страдаете от зависимости от раскладки (русский/английский), воспользуемся хитростью. В настройках CipherLab 1070 есть режим Universal Keyboard (или Alt-mode).

При его активации сканер передает каждый символ штрихкода как комбинацию клавиш Alt + [код символа на цифровой клавиатуре]. Для операционной системы это выглядит как ввод универсальных кодов, которые преобразуются в цифры независимо от того, какой язык выбран в языковой панели. Это исключает появление «кракозябр» вместо цифр.

Особенности работы через RDP (удаленный рабочий стол)

Если ваша 1С запущена на сервере через терминальный доступ, подключение в режиме COM-порта становится еще более актуальным. Посмотрим на алгоритм проброса порта:

  1. В настройках RDP-клиента (mstsc) перейдем на вкладку «Локальные ресурсы».
  2. Нажмем кнопку «Подробнее» и установим галочку напротив «Порты».
  3. На стороне сервера в 1С при поиске оборудования порт будет виден как COMx (перенаправлено).

Важный нюанс: при работе через RDP в режиме эмуляции клавиатуры символы часто приходят с задержкой или теряются. Режим COM-порта полностью решает эту проблему за счет буферизации данных драйвером.

Пример программной обработки события

Для разработчиков, которые хотят убедиться, что событие доходит до системы, напомним типовой механизм обработки данных в модуле формы:


&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Источник = "BarCodeScaner" Тогда
        // Проанализируем полученные данные
        Штрихкод = СокрЛП(Данные);
        ОбработатьШтрихкод(Штрихкод);
    КонецЕсли;
КонецПроцедуры

Использование современных методов БПО позволяет избежать написания такого кода вручную, так как система автоматически вызывает процедуру ОбработатьШтрихкод в соответствующих модулях.

Подводя итог: если ваш CipherLab 1070 «пикает, но не работает», первым делом проверьте версию драйвера Silicon Labs в системе и версию NativeApi в 1С. Переход на COM-порт — это не «геморрой», как выразились некоторые участники форума, а профессиональный стандарт настройки торгового оборудования, обеспечивающий стабильность и скорость работы кассира.

← На главную