Как подключить сканер штрихкода в 1С:УПП 1.3 при использовании 64-битной платформы?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При работе с конфигурацией Управление производственным предприятием (УПП) редакции 1.3 специалисты часто сталкиваются с парадоксальной ситуацией: при попытке подключить сканер штрихкода через стандартный мастер настройки оборудование оказывается недоступным или вовсе отсутствует в перечне. Ситуация осложняется тем, что современные серверы и рабочие станции все чаще используют 64-разрядные версии платформы 1С:Предприятие, в то время как УПП 1.3 во многом опирается на механизмы обычных форм и устаревшие COM-компоненты. Разберем детально, почему возникает эта проблема и как ее эффективно решить.

Проанализируем причину конфликта разрядностей

Первоочередная причина, по которой сканер штрихкода «не виден» в системе — это несовместимость 32-битных драйверов оборудования с 64-битным процессом клиентского приложения 1С. Рассмотрим этот механизм подробнее. Большинство классических драйверов для торгового оборудования (например, ScanOPOS.dll) были разработаны десятилетия назад под 32-битную архитектуру. Когда вы запускаете 64-битный тонкий или толстый клиент, операционная система физически не позволяет приложению загрузить 32-битную динамическую библиотеку (DLL). В результате 1С просто не может инициализировать драйвер, и соответствующий класс оборудования становится недоступным в интерфейсе.

В конфигурации 1С:УПП 1.3 ситуация усугубляется «гибридностью» системы. В последних релизах (например, 1.3.133.2 и выше) соседствуют две подсистемы подключения оборудования:

  1. Старая подсистема: Используется в обычных формах (меню «Сервис — Торговое оборудование»). Она жестко ориентирована на технологию COM и 32-битные компоненты.
  2. Новая подсистема (БПО): Используется в управляемых формах (пункт «Настройка и подключение оборудования (тонкий клиент)»). Она поддерживает современную технологию NativeApi, которая может работать в 64-битных приложениях.

Вариант 1: Переход на 32-битную платформу (самый быстрый способ)

Если специфика вашего предприятия позволяет использовать 32-битную версию клиента 1С, это будет кратчайшим путем к решению проблемы. Выясним, как это сделать правильно. Даже если на сервере установлена 64-битная платформа, вы можете установить на рабочую станцию пользователя 32-битный дистрибутив. Для этого в настройках стартера 1С (список баз) для конкретной информационной базы можно принудительно указать разрядность.

После запуска под 32-битным клиентом механизмы обычных форм в УПП 1.3 корректно подхватят зарегистрированные в системе COM-компоненты. Однако помните, что библиотеку нужно предварительно зарегистрировать в операционной системе. Для этого запустите командную строку от имени администратора и выполните регистрацию:

regsvr32 "C:\Program Files (x86)\1C\1C Barcode Scanner\8.0.17.1\ScanOPOS.dll"

Обратите внимание, что путь может отличаться в зависимости от версии установленного драйвера. После успешной регистрации и запуска 32-битного клиента сканер станет доступен в мастере подключения.

Вариант 2: Использование подсистемы управляемых форм в 64-битном клиенте

Что делать, если использование 32-битной платформы невозможно (например, из-за ограничений памяти при работе с тяжелыми отчетами)? В этом случае нам поможет встроенная Библиотека подключаемого оборудования (БПО), которая уже интегрирована в современные релизы УПП 1.3. Проанализируем шаги настройки:

  1. Откройте 1С в режиме 64-битного клиента.
  2. Перейдите в раздел, где доступны управляемые формы (обычно это пункт меню «Сервис — Настройка и подключение оборудования (тонкий клиент)»).
  3. Именно здесь необходимо добавлять новое устройство. Выберите тип оборудования «Сканеры штрихкода».
  4. При выборе драйвера отдавайте предпочтение тем, которые имеют пометку NativeApi. Например, «1С:Сканеры штрихкода (NativeApi)». Эти компоненты универсальны и корректно работают в 64-битной среде.

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

Вариант 3: Режим эмуляции клавиатуры (HID-совместимое устройство)

Рассмотрим ситуацию, когда драйвер никак не хочет «дружить» с платформой, а работа должна продолжаться. В этом случае мы можем перевести сканер в режим Keyboard Emulation. В этом режиме сканер работает как обычная клавиатура: он считывает код и «печатает» его в то поле, где в данный момент находится курсор.

Для настройки этого режима не требуются специализированные драйверы 1С. Достаточно отсканировать управляющий штрихкод из инструкции к сканеру (обычно называется «Enable Keyboard Emulation» или «USB HID Mode»). Однако у этого способа есть минус: 1С не будет генерировать «Внешнее событие», и пользователю придется каждый раз устанавливать фокус в поле ввода кода. Чтобы вернуть комфорт работы, можно использовать драйвер «1С:Сканеры штрихкода» версии 8.х и выше, настроив его на работу с клавиатурой (выбрав соответствующий порт в настройках).

Технические тонкости ручной регистрации компонент

Разберем ситуацию, когда запуск от имени администратора не помогает. На 64-битных операционных системах существует разделение системных каталогов. Проанализируем, куда именно регистрировать библиотеки:

Посмотрим на пример правильной регистрации для 32-битной компоненты в 64-битной Windows:


cd C:\Windows\SysWOW64
regsvr32.exe "C:\ПутьКВашейБиблиотеке\ВашаКомпонента.dll"

Выясним причину блокировки в мастере подключения

Если в мастере подключения сканер «есть, но недоступен», это часто означает, что 1С видит описание оборудования в метаданных, но не может обнаружить установленную и зарегистрированную в реестре Windows COM-библиотеку. Проверьте права доступа пользователя к ветке реестра HKEY_CLASSES_ROOT. Иногда антивирусное ПО блокирует попытки 1С автоматически зарегистрировать компоненту при первом обращении. В таких случаях ручная регистрация через командную строку, описанная выше, является единственным надежным решением.

Подведем итог: для успешного подключения сканера в УПП 1.3 на современных системах мы рекомендуем использовать 32-битный клиент для максимальной совместимости со старым кодом или переходить на настройку через управляемые формы (БПО) с использованием NativeApi драйверов для 64-битных систем. Совместное использование этих подходов позволит вам избежать большинства проблем с торговым оборудованием. Для настройки оборудования по этой технологии можно использовать обработку обслуживания сканера на базе NativeAPI.

← На главную