При работе с конфигурацией «Управление торговлей 10.3» подключение торгового оборудования часто превращается в квест, особенно если речь идет о бюджетных USB-сканерах. Основная проблема заключается в выборе режима работы: HID-Keyboard (эмуляция клавиатуры) или VCP (виртуальный COM-порт). Часто пользователи выбирают эмуляцию COM-порта из-за невозможности настройки префиксов в самом устройстве, но сталкиваются с нестабильной работой драйверов. Рассмотрим подробно, как решить проблемы с зависанием 1С и ошибками драйверов.
Многие системные администраторы отмечают, что при использовании стандартного драйвера 1С: Сканер штрихкода (ScanOPOS) программа периодически «намертво» зависает в момент считывания кода. Проанализируем ситуацию: в режиме эмуляции COM-порта 1С постоянно ожидает данные из порта. Если связь с виртуальным портом прерывается хотя бы на долю секунды, компонента блокирует основной поток приложения.
Разберем основные причины зависаний:
Для устранения зависаний выполним следующие действия в диспетчере устройств Windows:
Часто программисты используют драйверы Атол (версий 8.х или 10.х), которые работают стабильно, но через некоторое время (обычно сутки или до закрытия смены) начинают выдавать ошибки или добавлять лишние символы («Демо-режим»). Это связано с тем, что современные драйверы Атол являются платными и требуют лицензии для полноценной работы с 1С.
Посмотрим на решение этой проблемы. Чтобы сканер работал стабильно и бесплатно, необходимо использовать ДТО 6 (Драйверы торгового оборудования версии 6.5.3.399). Это последняя полностью бесплатная версия, которая отлично подходит для эмуляции COM-порта в УТ 10.3.
Алгоритм действий:
ATOLBarcodeScan_v2.epf (или аналогичную для 6-й версии).Если прошивка вашего китайского сканера не позволяет запрограммировать префикс (например, символ # или F7), а режим COM-порта работает нестабильно, можно попробовать вернуться к режиму HID. Рассмотрим, как заставить 1С понимать сканер-клавиатуру без префиксов.
Современные компоненты 1С:NativeApi позволяют работать со сканером в режиме клавиатуры, используя «таймаут» вместо префикса. Проанализируем, как это работает: драйвер перехватывает быстрый ввод символов. Если последовательность символов приходит быстрее, чем человек может набрать на клавиатуре (например, за 50 мс), 1С понимает, что это штрихкод.
Для настройки в УТ 10.3 выполним следующие шаги:
1С:Сканеры штрихкода (NativeApi).13 (CR) или 10 (LF), в зависимости от того, что посылает сканер по умолчанию.Если вышеуказанные способы не помогают, стоит обратить внимание на драйвер от компании Штрих-М. Он отличается высокой стабильностью при работе с виртуальными COM-портами. Основная сложность — найти подходящую обработку обслуживания.
Для интеграции драйвера Штрих-М нам потребуется библиотека drv_scan.dll. В 1С подключение выполняется через обработку ShtrihScan_v2.epf. Важно помнить, что этот драйвер требует регистрации библиотеки в системе через команду regsvr32.
// Пример регистрации библиотеки в командной строке от имени администратора:
regsvr32 "C:\Program Files (x86)\Shtrih-M\Drivers\drv_scan.dll"
После регистрации в настройках торгового оборудования 1С необходимо выбрать соответствующую модель. Преимущество драйвера Штрих-М в том, что он менее чувствителен к микро-разрывам связи USB-соединения по сравнению со стандартным ScanOPOS.
Если из партии в 8 сканеров 5 работают нормально, а 3 — с ошибками, проанализируем аппаратную часть. Скорее всего, проблемные устройства имеют другую версию прошивки или другой идентификатор VID/PID.
Проверим это в диспетчере устройств:
VID_xxxx&PID_yyyy у рабочего и проблемного сканеров.Важный совет: При использовании эмуляции COM-порта всегда проверяйте, не занят ли выбранный порт другим устройством (например, модемом или Bluetooth-адаптером). В 1С всегда старайтесь назначать порты с номерами выше 10 (например, COM15), чтобы избежать конфликтов с системными ресурсами.
Таким образом, мы рассмотрели основные варианты настройки. Наиболее стабильным решением для 1С:УТ 10.3 на сегодняшний день остается использование старого драйвера Атол 6-й серии или тонкая настройка питания USB для штатного драйвера 1С.