Как настроить Bluetooth-сканер штрихкодов в 1С:Розница 2, если он не ищет товар, а вводит цифры в текстовые поля

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

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

Разберем причину некорректной работы сканера

Проанализируем ситуацию: если сканер выдает данные в блокнот или в любое активное поле ввода в 1С, значит, он работает в режиме эмуляции клавиатуры (HID). По умолчанию 1С «не слушает» клавиатуру постоянно — она ожидает либо специального сигнала (префикса), либо события от COM-порта. Если настройки не согласованы, программа просто получает последовательность нажатий клавиш, как если бы их ввел человек. Чтобы исправить это, нам нужно либо перевести сканер в режим COM-порта, либо правильно настроить перехват клавиатурных событий.

Шаг 1: Выбор режима работы Bluetooth (HID vs SPP)

Прежде всего, нам необходимо определиться с физическим интерфейсом подключения. Рассмотрим два основных варианта:

  1. HID (Human Interface Device): Сканер имитирует клавиатуру. Это самый простой способ подключения, но он требует настройки суффикса Enter и часто чувствителен к текущей раскладке клавиатуры в Windows. Если установлена русская раскладка, спецсимволы могут передаваться неверно.
  2. SPP (Serial Port Profile): Сканер создает виртуальный COM-порт. Проанализируем этот вариант: он считается самым надежным для 1С, так как данные передаются напрямую в драйвер, минуя фокус курсора. 1С перехватывает штрихкод, даже если у вас открыто окно поиска или курсор вообще не стоит в поле ввода.

Для перехода в режим SPP (Virtual COM) на сканере Proton 3100 необходимо найти в бумажной инструкции управляющий штрихкод «Bluetooth SPP» и считать его. После этого в диспетчере устройств Windows появится новый COM-порт, который нужно будет указать в настройках 1С.

Шаг 2: Настройка суффикса на уровне «железа»

Одной из главных ошибок является игнорирование настроек самого сканера. Выясним причину: 1С должна понимать, где заканчивается штрихкод. Для этого сканер после каждой считанной комбинации должен посылать символ «возврата каретки» — CR (код 13).

Посмотрим, как это сделать. Возьмите инструкцию к вашему сканеру (Proton или Honeywell) и найдите раздел «Suffix Configuration». Вам нужно последовательно считать коды:

  1. Start Configuration (Начало настройки).
  2. Add Suffix или Add Terminating Character.
  3. Считать код, соответствующий CR или Enter.
  4. End Configuration (Сохранение).

Без этого суффикса 1С получит цифры, но «событие» (команда к поиску) не сработает, и данные просто останутся висеть в буфере или поле ввода.

Шаг 3: Настройка оборудования в 1С:Розница 2

Перейдем в программу 1С и проанализируем настройки подключаемого оборудования. Зайдем в раздел Администрирование — Подключаемое оборудование.

Если вы решили оставить сканер в режиме клавиатуры, выполните следующие действия:

Забудьте про F7! В старых версиях программ (например, Розница 1.0) требовалось настраивать префикс F7, чтобы имитировать нажатие кнопки поиска. В «Розница 2.x» драйверы работают с генерацией событий. Использование F7 сегодня часто вредно и приводит к дублированию окон или ошибкам ввода.

Шаг 4: Устранение конфликтов с другим оборудованием

Иногда возникает ситуация, когда сканер настроен верно, но программа ошибочно определяет его как другое устройство (например, как считыватель магнитных карт). Рассмотрим пример из практики, когда в системе одновременно установлены сканер и ридер. Программа может классифицировать входящий поток данных неверно.

Для диагностики используйте кнопку «Тест устройства» в настройках оборудования 1С. Если при сканировании в окне теста вы видите, что данные приходят, но в поле «Тип события» указано что-то отличное от «Barcode» (Штрихкод), значит, есть конфликт драйверов.

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


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

Шаг 5: Сброс к заводским установкам

Если сканер ведет себя непредсказуемо (например, добавляет лишние символы или обрезает код), рекомендуем выполнить полный сброс. Для Proton 3100 это делается считыванием последовательности кодов из мануала:

  1. Start Configuration
  2. Set All Defaults
  3. End Configuration

После сброса не забудьте заново настроить интерфейс (USB-COM или Bluetooth-SPP) и суффикс, как мы разбирали выше.

Итоги и рекомендации

Проанализировав все способы, можно сделать вывод: наиболее стабильная работа Bluetooth-сканера в 1С:Розница 2 достигается при использовании режима эмуляции COM-порта (SPP). Это избавляет от зависимости от раскладки клавиатуры и фокуса курсора. Если же вы используете режим клавиатуры (HID), обязательно убедитесь, что в сканере запрограммирован суффикс CR (13), а в 1С выбран правильный NativeApi драйвер с типом порта «Клавиатура».

← На главную