Как настроить задержку между префиксом и штрихкодом на сканере Datalogic QuickScan Lite QW2100?

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

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

В этой статье мы подробно разберем, как решить эту проблему для популярной модели Datalogic QuickScan Lite QW2100, а также затронем смежные вопросы настройки торгового оборудования на терминальном сервере для сред Ubuntu и RDP.

Разбор причины возникновения задержки

Прежде чем переходить к настройкам, проанализируем ситуацию. Когда сканер считывает код, он мгновенно отправляет в USB-порт последовательность символов: [Префикс F7] + [Данные штрихкода] + [Суффикс Enter]. Операционная система Linux (Ubuntu) или Windows обрабатывает это как нажатия клавиш на клавиатуре. 1С получает сигнал о нажатии F7, начинает выполнять процедуру открытия формы, но этот процесс занимает несколько десятков миллисекунд. За это время сканер уже успевает передать все цифры штрихкода. Наша задача — заставить сканер подождать после отправки F7.

Решение 1: Изменение скорости передачи данных (USB Keyboard Speed)

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

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

  1. Перейдем на официальный сайт производителя или воспользуемся полной версией руководства (Product Reference Guide).
  2. Найдем раздел USB Keyboard Parameters.
  3. Нас интересует настройка USB Keyboard Speed. Этот параметр определяет задержку между отправкой каждого символа (от 1 до 10 миллисекунд).
  4. Установим значение на максимум — 10 мсек. Для этого необходимо последовательно отсканировать управляющие штрихкоды из инструкции: «Enter Programming Mode», затем код значения скорости, и «Exit Programming Mode».

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

Решение 2: Искусственная задержка через дублирование префикса

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

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

Проанализируем алгоритм настройки:

  1. Заходим в режим программирования префиксов.
  2. Очищаем текущий префикс.
  3. Последовательно считываем код клавиши F7 несколько раз подряд.
  4. Сохраняем настройки.

Важный нюанс: Этот метод менее эстетичен и может привести к нежелательным эффектам в других приложениях, но в рамках 1С:УТ 10.3 он работает стабильно.

Решение 3: Профессиональная настройка через ПО Datalogic Aladdin

Для тонкой настройки сканеров Datalogic мы рекомендуем использовать бесплатную утилиту Aladdin. Она позволяет настраивать сканер не через бумажные листы с кодами, а через удобный графический интерфейс на ПК.

Посмотрим на возможности, которые она открывает:

Для настройки подключите сканер к компьютеру, запустите Aladdin, выберите вашу модель и найдите в дереве настроек раздел «Keyboard Wedge». Установите задержку Inter-character Delay в районе 20–30 мс — это решит проблему даже на медленных RDP-соединениях.

Решение 4: Переход на режим USB-COM (Виртуальный COM-порт)

Если вы работаете в Ubuntu 16.04, использование режима клавиатуры — не самый лучший выбор из-за особенностей обработки потока ввода в Linux. Мы рекомендуем рассмотреть перевод сканера в режим эмуляции COM-порта.

Разберем преимущества этого подхода:

  1. Сканер определяется в системе как /dev/ttyACM0 (или аналогичный).
  2. 1С работает со сканером напрямую через драйвер торгового оборудования.
  3. Событийная модель: Вам больше не нужен префикс F7. 1С перехватывает данные из порта в фоновом режиме. Как только штрихкод считан, срабатывает процедура ВнешнееСобытие, и данные попадают в документ мгновенно, без открытия лишних окон ввода.

Для реализации этого метода в 1С:УТ 10.3 выполните следующие действия:


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

Проблема с суффиксом Enter (Возвраты и Инвентаризация)

Иногда после настройки задержки пользователи замечают, что в некоторых документах (например, «Возврат товаров») штрихкод считывается, но автоматическое нажатие Enter не срабатывает. Выясним причину.

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

Рассмотрим решение:

  1. Проверьте настройки торгового оборудования в самой 1С.
  2. Убедитесь, что в поле «Суффикс» указано значение #13 (CR).
  3. Если это не помогает, попробуйте запрограммировать сканер на передачу двойного суффикса: CR + LF (коды 13 и 10). В некоторых Linux-системах это критично для корректного завершения ввода.

Резюме по настройке Datalogic QW2100

Проанализировав ситуацию, мы видим, что наиболее стабильным решением для режима клавиатуры является программное замедление сканера через параметр USB Keyboard Speed. Это гарантирует совместимость со всеми документами 1С и исключает ошибки «потери» символов при передаче через сеть или на медленных рабочих станциях. Если же вы стремитесь к максимальной надежности, переводите оборудование в режим USB-COM, что полностью исключит зависимость от скорости работы интерфейса программы.

← На главную