Как реализовать автоматический ввод штрихкода в РМК 1С:УТ 11 без использования кнопок и постоянного удержания фокуса?

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

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

Понимание механизмов работы сканера в 1С

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

Правильная работа со сканером в 1С строится на механизме внешнего события. Программа постоянно мониторит данные от драйвера оборудования. Как только сканер считывает код, 1С получает программное прерывание, обрабатывает его и добавляет товар в корзину, независимо от того, где в данный момент находится курсор. Это позволяет кассиру работать быстро и без ошибок.

Шаг 1. Определение режима работы сканера

Выясним, в каком режиме работает ваше устройство. Существует два основных способа подключения USB-сканеров:

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

Для перевода сканера в режим COM-порта обычно требуется считать специальный управляющий штрихкод из инструкции к самому устройству. Проанализируем документацию к вашему сканеру и найдем раздел «USB Virtual COM» или «Enable COM Port Emulation».

Шаг 2. Настройка подключаемого оборудования в 1С

После того как сканер определился в операционной системе, перейдем к настройкам в программе. Разберем последовательность действий:

  1. Откроем раздел Администрирование — РМК и оборудование — Подключаемое оборудование.
  2. Убедимся, что установлен флаг «Использовать подключаемое оборудование».
  3. Перейдем в список «Подключаемое оборудование» и выберем тип оборудования «Сканеры штрихкода».
  4. Нажмем кнопку «Создать». В появившемся окне выберем драйвер. Современным стандартом является 1С:Сканеры штрихкода (NativeAPI).

Шаг 3. Параметры драйвера и суффиксы

Критически важным моментом является настройка параметров драйвера. Нажмем кнопку «Настроить» в карточке оборудования. Здесь необходимо указать:

Порт: Если сканер в режиме клавиатуры, выбираем «Клавиатура». Если в режиме COM — выбираем соответствующий номер порта (например, COM3).

Суффикс: Это символ, который сканер посылает в конце штрихкода, сигнализируя о завершении ввода. В 1С стандартным суффиксом является 13 (CR), что соответствует клавише Enter. Если суффикс настроен неправильно, программа может получить данные, но не понять, что ввод окончен, и поиск товара не начнется автоматически.

Для проверки нажмем кнопку «Тест устройства» и считаем любой штрихкод. В окне теста мы должны увидеть считанные данные и в конце упоминание суффикса 'CR' (13).

Шаг 4. Обработка события в коде формы

При использовании типовой конфигурации УТ 11 и правильно настроенного оборудования, форма РМК уже содержит необходимый код для обработки данных. Разберем, как это работает на уровне логики системы. Когда происходит сканирование, вызывается процедура:


&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    // Обработка данных от сканера
    Если Данные <> Неопределено Тогда
        // Процедура поиска и добавления товара
        ОбработатьШтрихкод(Данные);
    КонецЕсли;
КонецПроцедуры

Благодаря этому механизму, нам не нужно иметь видимое поле ввода на форме. Система «слушает» события от драйвера в фоновом режиме.

Почему не стоит использовать постоянное поле ввода?

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

Резюме и практические советы

Подведем итог: если в РМК 1С:УТ 11 программа требует нажимать кнопку для ввода штрихкода — это признак того, что сканер подключен просто как «клавиатура» без настройки в самой системе.

Рассмотрим краткий чек-лист для исправления ситуации:

  1. Подключаем сканер к компьютеру.
  2. В 1С через «Подключаемое оборудование» добавляем новое устройство с драйвером NativeAPI.
  3. В настройках драйвера проверяем суффикс (обычно 13).
  4. Проверяем работу в РМК — теперь при считывании кода товар должен добавляться в список мгновенно.
  5. Для случаев, когда штрихкод не читается и его нужно ввести руками, используем стандартную горячую клавишу Alt + F7.

Таким образом, правильная настройка оборудования исключает необходимость в доработке конфигурации и обеспечивает максимально быструю работу кассового узла.

← На главную