Как запрограммировать сканер Mertech NS021 на автоматическое нажатие клавиши F7 перед сканированием

Системный администратор Торговля и дистрибуция
← На главную

При работе со сканерами штрих-кода в среде 1С пользователи часто сталкиваются с необходимостью выполнять лишние действия. Одно из самых распространенных — нажатие клавиши F7 для вызова окна ввода штрих-кода или поиска товара. В этой статье мы подробно разберем, как автоматизировать этот процесс для популярной модели сканера Mertech NS021, чтобы устройство само посылало сигнал клавиши F7 перед передачей данных штрих-кода.

Разбор ситуации: почему стандартные советы с форумов не всегда работают

Анализируя типичные обсуждения, мы видим, что пользователям часто советуют настраивать Suffix (суффикс) и использовать код 0x76. Однако в контексте задачи 1С это приводит к двум проблемам:

  1. Ошибка в типе настройки: Суффикс добавляет символ после штрих-кода. Если мы хотим, чтобы открылось окно поиска, нам нужно нажать F7 до того, как цифры попадут в компьютер. Следовательно, нам нужно программировать Prefix (префикс).
  2. Ошибка в кодировке: Код 76 в таблице ASCII соответствует букве «v» в нижнем регистре. Для эмуляции функциональной клавиши F7 в большинстве прошивок Mertech (Sunmi) используется шестнадцатеричный код 17 (в режиме HID клавиатуры).

Давайте вместе пройдем по правильному алгоритму настройки, который позволит избежать этих ошибок.

Шаг 1: Подготовка и выбор режима работы

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

Проанализируем структуру управляющих кодов. Нам понадобятся разделы «Prefix & Suffix» и «Appendix» с цифровыми кодами. Для успешного программирования нам нужно выполнить строгую последовательность команд.

Шаг 2: Программирование префикса F7

Возьмите руководство пользователя и последовательно считайте следующие штрих-коды:

  1. Enter Setup — вход в режим программирования. Сканер обычно подает звуковой сигнал, подтверждая готовность.
  2. Clear All Prefixes — рекомендуем выполнить это действие, чтобы удалить старые настройки и избежать конфликтов символов.
  3. Set Custom Prefix — эта команда сообщает сканеру, что следующие считанные цифры станут его новым префиксом.
  4. Считайте цифру «1» — из раздела «Digit Barcodes» в приложении (Appendix).
  5. Считайте цифру «7» — из того же раздела. Комбинация 1 и 7 формирует Hex-код 0x17, который отвечает за F7.
  6. Save — сохранение введенной последовательности цифр.
  7. Enable Custom Prefix — обязательный шаг, активирующий использование настроенного префикса.
  8. Exit Setup — выход из режима настройки.

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

Шаг 3: Активация режима Function Key Mapping

Если после выполнения предыдущих шагов сканер выдает странные символы вместо нажатия F7, нам нужно проверить настройку Function Key Mapping. По умолчанию сканеры могут передавать коды ASCII как обычный текст. Чтобы сканер понимал, что 0x17 — это именно клавиша F7, нужно найти в инструкции штрих-код Enable Function Key Mapping и считать его.

Это заставит драйвер сканера правильно интерпретировать управляющие символы в режиме эмуляции клавиатуры.

Шаг 4: Настройка задержки (Inter-character Delay)

Иногда компьютер или сама программа 1С не успевают среагировать на нажатие F7. Получается ситуация, когда окно поиска еще только начинает открываться, а сканер уже «выстрелил» цифрами штрих-кода. В итоге часть цифр теряется или попадает не туда.

Разберем, как это исправить. В настройках Mertech NS021 есть параметр Inter-character delay (задержка между символами). Мы рекомендуем установить небольшую задержку в 20–40 мс. Это даст системе время «осознать» нажатие префикса перед приемом основной порции данных.

Альтернативный и более надежный метод: Virtual COM Port

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

Для перехода на этот режим выполните следующие действия:

  1. Найдите в инструкции штрих-код USB Virtual COM и считайте его.
  2. В операционной системе Windows в диспетчере устройств появится новое устройство в разделе «Порты (COM и LPT)». Запомните номер порта (например, COM3).
  3. В 1С перейдите в «Администрирование» — «Подключаемое оборудование».
  4. Создайте новый экземпляр оборудования с драйвером 1С:Сканеры штрихкода (NativeApi).
  5. В настройках укажите ваш порт (COM3).

В этом режиме настраивать префикс F7 вообще не требуется. 1С сама отловит событие сканирования и обработает его корректно.

Проверка настроек в 1С

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

Зайдите в карточку настроенного сканера в 1С и найдите поле «Префикс». Если вы уже зашили F7 в «мозги» сканера, то в поле «Префикс» в 1С должно быть пусто. В противном случае программа может ожидать двойного префикса или некорректно обрабатывать данные.

Рассмотрим пример того, как логически должна выглядеть обработка данных (упрощенная схема):


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

В случае с режимом клавиатуры, 1С просто получает поток символов: сначала F7, который активирует стандартную команду поиска в форме, а затем строку самого штрих-кода в открывшееся поле.

Резюме

Для успешной настройки Mertech NS021 на клавишу F7 важно:

Следуя этой инструкции, вы сможете существенно ускорить работу оператора и минимизировать количество ручных операций при вводе товаров.

← На главную