Как настроить сканер штрихкода в 1С:Управление торговлей 10.3 при работе через RDP?

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

При подключении торгового оборудования к 1С в терминальном режиме (RDP) часто возникает ситуация, когда физический сканер подключен к локальному компьютеру, драйвер на сервере установлен, однако в форме параметров торгового оборудования статус драйвера отображается как «Не установлен», а поле версии остается пустым. Рассмотрим причины этой проблемы и пошагово разберем способы ее решения.

Причина 1. Несоответствие разрядности платформы 1С и драйвера торгового оборудования

Проанализируем техническую сторону взаимодействия 1С с внешними компонентами. Большинство драйверов торгового оборудования (включая библиотеки АТОЛ Scaner1C.dll / DTO.dll и стандартные компоненты 1С ScanOPOS.dll) представляют собой 32-битные COM-объекты. Если на терминальном сервере запущен 64-битный клиент платформы 1С:Предприятие, он не сможет загрузить 32-битную внешнюю компоненту в свое адресное пространство. В результате 1С сообщает, что драйвер не установлен.

Разберем действия для исправления:

  1. Проверим разрядность запущенного клиента 1С через меню Справка — О программе. Если указано 8.3.x.xxxx (x86-64), приложение работает в 64-битном режиме.
  2. Установим и запустим на терминальном сервере 32-битный клиент платформы (x86).

Причина 2. Отсутствие регистрации COM-компоненты в операционной системе сервера

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

Выполним ручную регистрацию компоненты в командной строке:

  1. Запустим командную строку cmd.exe от имени администратора.
  2. Для 64-битной версии Windows выполним регистрацию 32-битной библиотеки с помощью утилиты из каталога SysWOW64:
    
    C:\Windows\SysWOW64\regsvr32.exe "C:\Program Files (x86)\ATOL\Drivers\Bin\Scaner1C.dll"
    
  3. Запустим один раз сеанс 1С:Предприятие от имени администратора и откроем справочник Торговое оборудование, чтобы обработка обслуживания успешно инициализировала объект в реестре.

Причина 3. Проброс и сопоставление COM-портов в терминальной сессии

При работе сканера в режиме эмуляции COM-порта физическое устройство подключено к порту локального рабочего места (например, COM3). Чтобы терминальный сервер увидел этот порт, его необходимо пробросить через RDP-сессию.

Разберем настройку по шагам:

  1. На локальном компьютере клиента в настройках подключения Подключение к удаленному рабочему столу (mstsc) перейдем на вкладку Локальные ресурсы, нажмем кнопку Подробнее и отметим пункт Порты.
  2. Подключимся к серверу под нужной учетной записью.
  3. На сервере запустим командную строку и выполним команду проверки сопоставления портов: change port /query Команда выведет таблицу перенаправления портов, например: COM1 = \Device\RdpDrPort\;COM3:2\tsclient\COM3. Это означает, что локальный порт COM3 доступен в текущей сессии сервера как COM1 (номера портов на клиенте и сервере могут не совпадать).
  4. В 1С:Управление торговлей 10.3 откроем форму параметров сканера и укажем именно тот номер COM-порта, который сопоставлен на сервере.

Альтернативное решение: Перевод сканера в режим эмуляции клавиатуры (HID)

Если проброс виртуальных COM-портов через RDP работает нестабильно или требует постоянного контроля администратора, рассмотрим простой альтернативный способ — перевод сканера в режим разрыва клавиатуры.

  1. Отсканируем управляющий штрихкод из инструкции к сканеру для перевода в режим USB HID Keyboard.
  2. Установим префикс или суффикс (обычно суффикс Enter или CR).
  3. В этом режиме сканер передает считанные символы напрямую в активное поле ввода окна 1С как обычные нажатия клавиш клавиатуры, без необходимости установки драйверов и проброса COM-портов по RDP.
← На главную