Как исправить ошибку «Не удалось загрузить драйвер сканера» в 1С:Управление торговлей 10.3 на Windows 10?

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

При подключении торгового оборудования в конфигурациях на обычных формах (например, в «1С:Управление торговлей 10.3») под управлением современной операционной системы Windows 10 пользователи и специалисты часто сталкиваются с ситуацией, когда мастер настройки торгового оборудования выдает сообщение: «Не удалось загрузить драйвер сканера». При этом на более новых конфигурациях (например, «Управление торговлей 11») то же самое устройство работает без сбоев.

Разберем причины возникновения этой проблемы и рассмотрим пошаговые способы восстановления работоспособности сканера штрихкода.

Анализ программного кода ошибки

Выясним причину сбоя, обратившись к типовому коду обработки обслуживания торгового оборудования в 1С:УТ 10. При создании объекта драйвера платформа пытается подключить и инициализировать внешнюю компоненту:


Если Объект = Неопределено Тогда
    Объект = ПолучитьСерверТО().СоздатьОбъектДрайвера(Обработка, мМенеджерЗаписи.Модель.Модель, Параметры);
КонецЕсли;

Внутри функции создания объекта выполняется попытка создания COM-объекта по программному идентификатору AddIn.Scanner:


Попытка
    ПрогИД = "AddIn.Scanner";
    ПодключитьВнешнююКомпоненту(ПрогИД);
    Драйвер = Новый (ПрогИД);
Исключение
    Результат = мОшибкаЗагрузкиДрайвера;
    ОписаниеОшибки = "Невозможно подключить внешнюю компоненту.
    | Проверьте, что внешняя компонента корректно установлена и имеет ту же версию, 
    | что и требуемая обработкой обслуживания.";
КонецПопытки;

Исключение возникает в тот момент, когда метод Новый (ПрогИД) не находит зарегистрированный COM-сервер в системном реестре Windows или разрядность зарегистрированной библиотеки не совпадает с разрядностью исполняемого файла 1С.

Способ 1. Регистрация внешней компоненты ScanOPOS с учетом разрядности

Главная причина ошибки на Windows 10 — отсутствие системной регистрации библиотеки ScanOPOS.dll (или scanopos64.dll) в реестре либо несовпадение битности клиента «1С:Предприятие» и DLL-файла.

Важное правило: разрядность подключаемой внешней компоненты должна строго соответствовать разрядности установленной платформы 1С (клиентского приложения), а не разрядности Windows.

  1. Определим разрядность запущенной платформы 1С через меню «Справка» — «О программе» (32-бит или 64-бит).
  2. Найдем файл компоненты. Если в каталоге программы файл отсутствует, скопируем scanopos64.dll (для x64-клиента) или ScanOPOS.dll (для x86-клиента) из шаблонов конфигураций (например, из комплекта УТ 11 или актуального дистрибутива БПО).
  3. Запустим командную строку cmd.exe от имени администратора.
  4. Если используется 64-разрядный клиент 1С на 64-битной Windows 10, выполним регистрацию: regsvr32 "C:\ПутьКФайлу\scanopos64.dll"
  5. Если используется 32-разрядный клиент 1С на 64-битной Windows 10, выполним регистрацию через утилиту из каталога SysWOW64: C:\Windows\SysWOW64\regsvr32.exe "C:\ПутьКФайлу\ScanOPOS.dll"
  6. Перезапустим клиент 1С и повторим подключение оборудования в справочнике торгового оборудования.

Способ 2. Настройка виртуального COM-порта для Honeywell MS 5145 Eclipse

Если сканер подключается по USB-интерфейсу, но настраивается в режиме эмуляции COM-порта (RS-232), выполним следующие действия:

  1. Установим официальный драйвер виртуального COM-порта (Honeywell HSM USB Serial Driver) для Windows 10.
  2. С помощью сервисной инструкции переведем сканер в режим эмуляции COM-порта считыванием управляющего штрихкода (USB Serial Emulation).
  3. Откроем «Диспетчер устройств» Windows и найдем созданный виртуальный порт. Если система автоматически назначила высокий номер порта (например, COM15 или COM22), сменим его в свойствах порта (раздел «Параметры порта» — «Дополнительно») на диапазон от COM1 до COM9, так как старые обработки обслуживания УТ 10 могут некорректно обрабатывать двузначные номера портов.
  4. В настройках торгового оборудования 1С выберем назначенный COM-порт, скорость и параметры четности.

Способ 3. Перевод сканера в режим клавиатуры (HID Keyboard)

Если работа через COM-порт и внешнюю компоненту не требуется, настроим сканер в режиме эмуляции клавиатуры:

  1. Считаем настроечный штрихкод из руководства пользователя сканера для перевода в режим USB HID Keyboard.
  2. Обязательно запрограммируем суффикс завершения ввода (символ возврата каретки CR или LF / Enter). Без настроенного суффикса 1С не сможет зафиксировать момент окончания считывания штрихкода.
  3. В 1С:УТ 10 выберем стандартный драйвер сканера и укажем порт «Клавиатура» либо используем ввод штрихкода через стандартное сочетание клавиш поиска (F7).
← На главную