Как подключить и настроить сканер Honeywell Voyager 1450g в 1С 8.3

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

Подключение торгового оборудования к платформе 1С:Предприятие часто сопровождается техническими сложностями, особенно когда речь идет о современных 64-битных клиентах и работе в терминальном режиме (RDP). Одной из наиболее популярных моделей 2D-сканеров на рынке является Honeywell Voyager 1450g. Он активно используется для считывания обычных штрихкодов и кодов маркировки (DataMatrix) систем «Честный ЗНАК».

В этой статье мы подробно разберем, как решить проблемы с подключением этого сканера в 1С 8.3, почему возникают ошибки вида «Не удалось загрузить драйвер устройства» или «Ошибка обращения к драйверу (999)», и как правильно настроить работу устройства через виртуальный COM-порт.

Выясняем причину конфликта: разрядность платформы 1С и драйверы

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

При подключении оборудования произошла ошибка: "'Voyager 1450g' на (ВАСЯ): Не удалось загрузить драйвер устройства..."

Или другую ошибку:

Ошибка обращения к драйверу. (999). Ошибка получения описания драйвера ... Значение не является значением объектного типа (ПолучитьНомерВерсии)

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

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

Шаг 1. Перевод сканера Honeywell 1450g в режим USB-Serial

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

Разберем по шагам, как перепрограммировать сканер:

  1. Распечатайте или откройте на качественном экране официальное руководство пользователя (Programming Guide) для Honeywell Voyager 1450g.
  2. Для сброса настроек сканера до заводских найдите и сосканируйте управляющий штрихкод Standard Product Defaults. Это гарантирует очистку старых параметров.
  3. Найдите управляющий штрихкод USB Serial (в некоторых инструкциях он обозначается как TERMID130) и считайте его. После этого устройство на программном уровне переключится в режим эмуляции последовательного порта.

Шаг 2. Установка драйверов в операционной системе

После сканирования настроечного штрихкода Windows может выдать сообщение о неизвестном устройстве. Чтобы операционная система корректно распознала виртуальный порт, выполним следующие действия:

  1. Скачайте официальный драйвер производителя — Honeywell HSM USB Serial Driver.
  2. Установите драйвер от имени администратора на локальном компьютере, к которому физически подключен сканер кабелем USB.
  3. Откройте «Диспетчер устройств» Windows. В разделе «Порты (COM и LPT)» должно появиться новое устройство (например, Honeywell Control Point), и система назначит ему номер порта (допустим, COM4). Запомните этот номер — он пригодится нам в 1С.

Шаг 3. Подключение и настройка сканера в 1С:Предприятие 8.3

Теперь перейдем к настройке конфигурации 1С (на примере «Управление торговлей», «Розница» или любой другой системы на базе БПО):

  1. Откройте меню Администрирование -> Подключаемое оборудование.
  2. Установите флажок «Использовать подключаемое оборудование» (если он не был установлен) и перейдите по ссылке «Подключаемое оборудование».
  3. Создайте новый элемент с типом оборудования «Сканеры штрихкода».
  4. В поле «Драйвер оборудования» выберите предустановленный драйвер 1С:Сканеры штрихкода (NativeApi). Это ключевой момент для работы в x64 клиенте 1С!
  5. Нажмите кнопку «Записать объект» и перейдите к кнопке «Настроить».
  6. В открывшемся окне настроек укажите следующие параметры:
    • Порт: укажите номер виртуального COM-порта, который мы определили в диспетчере устройств (например, COM4).
    • Скорость, четность, стоповые биты: оставьте по умолчанию (как в настройках диспетчера устройств).
    • Префикс: оставьте пустым (если нет специфических требований).
    • Суффикс: по умолчанию в 1С используется значение 13 (CR). Убедитесь, что оно заполнено.
  7. Нажмите кнопку «Тест подключения». При успешной интеграции в окне теста при сканировании любого штрихкода будут отображаться считанные данные и номер порта.

Шаг 4. Устранение частых ошибок (Ошибка 999 и права доступа)

Если при попытке выполнить тест или сохранить настройки вы все равно получаете «Ошибка обращения к драйверу (999)», это свидетельствует о проблемах с регистрацией внешней компоненты в ОС. Выясним причину и применим решения:

Решение А: Запуск от имени Администратора. Некоторые версии ОС блокируют запись внешних библиотек в локальные папки пользователя. Закройте 1С, нажмите правой кнопкой мыши по ярлыку платформы и выберите «Запуск от имени администратора». Попробуйте настроить оборудование заново. Компонента NativeApi успешно зарегистрируется в системе, после чего можно будет запускать 1С в обычном пользовательском режиме.

Решение Б: Проверка библиотек Microsoft Visual C++. Современные драйверы NativeApi компилируются с использованием библиотек C++. Если на компьютере отсутствуют актуальные пакеты Microsoft Visual C++ Redistributable (2015-2019), драйвер просто не сможет инициализироваться, возвращая неопределенную ошибку. Установите библиотеки соответствующей разрядности (в нашем случае x64) с официального сайта Microsoft.

Шаг 5. Особенности проброса сканера через RDP на удаленный сервер

Если ваша база 1С работает на удаленном сервере (например, Windows Server 2012) и вы подключаетесь к ней через удаленный рабочий стол (mstsc), необходимо правильно пробросить локальный виртуальный COM-порт в терминальную сессию:

  1. Перед запуском подключения RDP на локальном ПК нажмите кнопку «Показать параметры».
  2. Перейдите на вкладку Локальные ресурсы, найдите раздел «Локальные устройства и ресурсы» и нажмите кнопку Подробнее....
  3. В появившемся окне установите флажок напротив пункта Порты. Это обеспечит трансляцию вашего локального COM4 на удаленный сервер.
  4. Подключитесь к серверу и запустите 1С.
  5. В настройках торгового оборудования 1С на сервере в списке доступных портов выберите перенаправленный порт. Часто он отображается со специальной пометкой, например, COM4 (redirected).

Важно: устанавливать драйвер Honeywell HSM USB Serial Driver нужно именно на локальном компьютере, куда физически подключен сканер. На самом сервере этот драйвер устанавливать не требуется, так как сервер оперирует уже проброшенным виртуальным каналом связи.

Пример обработки внешнего события в коде 1С

Для понимания того, как платформа взаимодействует со сканером на программном уровне после его корректной регистрации, рассмотрим пример кода в модуле формы или в модуле управляемого приложения. При работе в режиме COM-порта сканер посылает в программу внешнее событие, которое перехватывается платформой 1С:


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

Использование этого механизма избавляет кассиров и операторов от необходимости предварительно нажимать на кнопки поиска или позиционировать курсор в поле ввода. Сканирование происходит мгновенно из любой формы документа.

Альтернативный вариант: Использование NativeApi в режиме клавиатуры

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

В этом случае в настройках 1С в поле «Порт» мы выбираем значение Клавиатура. Сканер программируется стандартным образом (без перевода в USB-Serial, то есть в режиме эмуляции клавиатуры с суффиксом возврата каретки CR). Драйвер 1С:Сканеры штрихкода (NativeApi) будет автоматически перехватывать быстрый поток символов, сопоставлять его со скоростью ввода человека и генерировать полноценное внешнее событие так же, как если бы сканер был подключен через физический COM-порт.

← На главную