Подключение торгового оборудования в современных версиях 1С часто вызывает вопросы, особенно когда речь идет о переходе на 64-битные версии платформы. В данной статье мы подробно разберем процесс интеграции сканера штрихкода, проанализируем разницу между режимами работы и выясним, как победить ошибку «Установка внешней компоненты не выполнена».
Прежде чем приступать к настройке в 1С, нам необходимо определить режим работы самого физического устройства. Рассмотрим основные отличия:
Проанализируем ситуацию: если вы используете 64-битный клиент 1С, старые COM-драйверы (например, ScanOPOS.dll) работать не будут, так как они чаще всего 32-битные. В этом случае правильным решением будет использование технологии Native API.
Выясним, что такое Native API и почему она предпочтительнее. Эта технология позволяет создавать внешние компоненты, которые не требуют регистрации в реестре Windows (через regsvr32) и являются кроссплатформенными.
Рассмотрим преимущества использования Native-драйверов от 1С:
Если при нажатии кнопки «Настроить» или «Установить драйвер» вы получаете ошибку отсутствия компоненты для используемого клиентского приложения, выполним следующие шаги для диагностики и исправления:
Разберем продвинутый метод «ручной» установки компоненты, если автоматическая установка дает сбой:
Драйвер1СУстройстваВводаNative (или аналогичный для сканера)..zip.manifest.xml) и наборы библиотек (DLL). Для 64-битной Windows нам нужен файл вида ScanOPOSNativeWin64_X_X_X_X.dll.%USERPROFILE%\AppData\Roaming\1C\1cv8\ExtCompT\.Если мы решили использовать режим HID, выполним следующую последовательность действий:
1. Переведем сканер в режим эмуляции клавиатуры, считав специальный управляющий штрихкод из инструкции к устройству.
2. В 1С в разделе Подключение и настройка оборудования создадим новое устройство.
3. Выберем драйвер «1С:Сканеры штрихкода (NativeApi)».
4. В параметрах настройки выберем порт «Клавиатура».
Важный нюанс: Чтобы 1С понимала, где заканчивается штрихкод, сканер должен посылать «символ завершения». Обычно это CR (Carry Return, код 13). Проверим это в настройках драйвера в поле «Суффикс». Если суффикс не настроен в самом сканере, 1С не инициирует внешнее событие, и данные не попадут в документ автоматически.
Посмотрим, как выглядит типовой код обработки данных от сканера в управляемых формах. Основное событие, которое нас интересует — ВнешнееСобытие (или обработка оповещения в новых версиях БПО).
&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
// Источник - обычно имя подключенного устройства
// Событие - вид события, например "Barcode"
// Данные - сам считанный штрихкод
Если Событие = "Barcode" Тогда
Штрихкод = СокрЛП(Данные);
ОбработатьШтрихкод(Штрихкод);
КонецЕсли;
КонецПроцедуры
Разберем ситуацию, когда сканер физически подключен, но данные не приходят. Проанализируем состояние устройства через тест в настройках 1С. Нажмем кнопку «Тест устройства» и считаем любой код. Если в окне теста данные появляются, значит, драйвер и устройство работают корректно, и проблему нужно искать в коде формы (например, не подключен обработчик ожидания или не активна подписка на события оборудования).
Часто сканер подключается к локальному компьютеру, а работа идет на удаленном сервере. Выясним особенности этой настройки:
Alt+NumPad), если это поддерживает модель сканера.Если сканер «отвалился» или не подключается, пройдемся по чек-листу:
%APPDATA%\1C\1cv8\ExtCompT\.Таким образом, использование современного Native API драйвера и правильная настройка суффиксов позволяют избежать большинства проблем при подключении торгового оборудования к 1С 8.3.