В процессе интеграции торгового оборудования с современными конфигурациями 1С, такими как Комплексная автоматизация 2.4 или ERP 2.5, специалисты часто сталкиваются с парадоксальной ситуацией: в настройках подключаемого оборудования сканер успешно проходит тест, но при сканировании в самой форме документа (например, в «Заказе клиента» или «Реализации») ничего не происходит. Внешнее событие не генерируется, и штрих-код не попадает в табличную часть.
В данной статье мы подробно проанализируем причины этой проблемы на примере модели Honeywell Voyager 1400g, разберем программные настройки 1С и аппаратные манипуляции со сканером, а также выясним, почему выбор правильного драйвера является критически важным фактором успеха.
Прежде чем приступать к перенастройке драйверов, нам необходимо убедиться, что сама форма 1С готова принимать данные от сканера. В современных конфигурациях, использующих Библиотеку Подключаемого Оборудования (БПО), за это отвечает специальный механизм подключения.
Рассмотрим стандартный фрагмент кода, который должен присутствовать в модуле формы. Проанализируем процедуру ПриОткрытии. Если вы разрабатываете собственную форму или дорабатываете существующую, убедитесь, что в ней вызывается менеджер оборудования:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Подключение оборудования при открытии формы
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтаФорма, "СканерШтрихкода");
КонецПроцедуры
Этот вызов сообщает системе, что данная форма является «слушателем» для событий торгового оборудования. Если этого вызова нет, 1С просто проигнорирует поток данных от драйвера, даже если тот настроен корректно. Также важно проверить наличие обработчика ОповещениеОШтрихкоде или ОбработкаОповещения, где происходит непосредственный разбор полученных данных.
Одной из самых частых причин отсутствия события в 1С является некорректная работа драйвера с конкретной версией операционной системы или платформы. Рассмотрим ситуацию автора темы: стандартный драйвер «АТОЛ» проходил тест, но не передавал данные в форму. Выясним, какие альтернативы существуют.
Как показывает практика и опыт участников сообщества, для модели Honeywell 1400g эффективными оказываются следующие варианты:
Проанализируем шаги по смене драйвера: перейдите в раздел Администрирование — Подключаемое оборудование, откройте карточку вашего сканера и нажмите «Сменить драйвер». Попробуйте поочередно вышеуказанные варианты, каждый раз проверяя работу в реальном документе, а не только через кнопку «Тест устройства».
Для того чтобы сканер работал как полноценное торговое оборудование (генерировал событие), а не просто «печатал» символы, как клавиатура, его необходимо перевести в режим USB Serial Emulation. Рассмотрим подробнее, как это сделать правильно.
Многие пользователи совершают ошибку, просто считав один штрих-код из инструкции. Разберем правильный алгоритм:
Honeywell Scanning and Mobility (COMx). Запомните номер порта (например, COM3).Для корректного завершения передачи данных 1С должна получить специальный символ — суффикс. Обычно это символ возврата каретки (CR). Проанализируем настройки суффикса:
В настройках 1С значение суффикса обычно указывается как 13 (десятичный код символа CR). Однако, если сканер работает нестабильно, рекомендуется добавить второй суффикс — перевод строки (LF), код 10. Таким образом, связка будет выглядеть как 13 (CR), 10 (LF).
Если вам требуется добавить специфический префикс (например, символ @, о котором спрашивали в обсуждении), это можно сделать двумя способами:
@).ADD PREFIX, затем цифровые коды символа из таблицы в приложении к инструкции.Если эмуляция COM-порта вызывает сложности или порт постоянно «отваливается», рассмотрим альтернативный современный режим — HID POS. Этот режим поддерживается современными версиями 1С и драйвером NativeApi.
Преимущество HID POS заключается в том, что устройству не нужен номер COM-порта. Сканер передает данные по специальному протоколу, который 1С перехватывает напрямую. Чтобы перевести Honeywell 1400g в этот режим, найдите в инструкции штрих-код "PAPBTH" (USB HID POS). После этого в 1С при настройке драйвера NativeApi в поле «Порт» выберите значение Клавиатура (или оставьте пустым, если драйвер поддерживает автопоиск устройства по ID).
Выясним причину, по которой сканер может «засыпать» или не передавать данные после долгого простоя. Проблема часто кроется в настройках энергосбережения Windows. Разберем, как это исправить:
Откройте «Диспетчер устройств», найдите «Контроллеры USB» и для каждого «Корневого USB-концентратора» выполните следующие действия:
Также стоит учитывать, что модель 1400g иногда конфликтует с портами USB 3.0 (синего цвета). Если вы столкнулись с нестабильной работой, попробуйте переключить сканер в порт USB 2.0 на задней панели системного блока.
Поскольку Honeywell 1400g является 2D-сканером, его часто используют для работы с кодами DataMatrix. Рассмотрим важный момент: для корректного чтения кодов маркировки (табак, обувь, одежда) крайне не рекомендуется использовать режим эмуляции клавиатуры. В этом режиме спецсимволы (такие как GS1 FNC1) могут подменяться или теряться в зависимости от текущей раскладки клавиатуры (RU/EN).
Обязательно используйте режим эмуляции COM-порта или HID POS. Это гарантирует, что 1С получит «чистую» строку штрих-кода в кодировке UTF-8, что критически важно для проверки кодов в системе «Честный Знак».
Подведем итог: если ваш сканер Honeywell 1400g «молчит» в 1С, сначала проверьте программное подключение в коде формы, затем попробуйте сменить драйвер на «Гексагон» или «1С:NativeApi», и убедитесь, что сканер физически переведен в режим эмуляции последовательного порта с корректно настроенным суффиксом 13 (CR).