Почему при сканировании товара в РМК 1С:Розница 2.2 открывается справочник номенклатуры и как это исправить

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

При работе в интерфейсе Рабочего места кассира (РМК) в программе «1С:Розница 2.2» пользователи часто сталкиваются с неприятной ситуацией: при считывании штрихкода сканером система вместо того, чтобы мгновенно добавить товар в список покупок, открывает окно справочника «Номенклатура» или форму подбора. Это существенно замедляет работу кассира и создает очереди.

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

Разберем механику возникновения проблемы

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

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

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

Решение 1: Настройка суффикса в режиме эмуляции клавиатуры

Рассмотрим наиболее распространенный вариант, когда сканер подключен в USB-порт и работает «как клавиатура». Нам необходимо убедиться, что программа четко понимает, где заканчивается штрихкод.

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

  1. Перейдем в раздел Администрирование — Подключаемое оборудование.
  2. Выберем тип оборудования Сканеры штрихкода и откроем настройки текущего устройства.
  3. В окне настроек драйвера (обычно это 1С:Сканер штрихкода (NativeApi)) найдем кнопку «Тест устройства».
  4. Возьмем любой товар и считаем его штрихкод. Посмотрим на результат в окне теста.

Внимательно изучим данные теста. Если мы видим сообщение типа 'Данные' [4601234567890] 'Событие' [Barcode], значит, драйвер работает верно. Однако, если в колонке «Событие» указано что-то другое или данные отображаются некорректно, нам нужно проверить поле «Суффикс».

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

Важный совет: Попробуйте очистить поле «Префикс» в настройках 1С. Использование префиксов вроде F7 в современных релизах «Розницы» часто только мешает штатной работе драйвера.

Решение 2: Перевод сканера в режим эмуляции COM-порта (Рекомендуется)

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

Рассмотрим алгоритм перевода:

  1. Найдем инструкцию к вашему сканеру (User Manual). Если ее нет под рукой, ее можно скачать на сайте производителя (Honeywell, Zebra, Datalogic, Proton и др.).
  2. Найдем в инструкции управляющий штрихкод с названием «USB Serial Emulation» или «Enable Uni-Directional USB Serial Emulation».
  3. Считаем этот код сканером. Устройство может издать характерный звуковой сигнал и на время отключиться.
  4. В диспетчере устройств Windows в разделе «Порты (COM и LPT)» должно появиться новое устройство (например, USB Serial Port (COM3)). Если устройство появилось с восклицательным знаком — нужно установить драйвер виртуального COM-порта с сайта производителя.
  5. В 1С в настройках оборудования сменим способ подключения с «Клавиатура» на соответствующий COM-порт.

Теперь, когда данные будут приходить в порт, 1С будет генерировать ВнешнееСобытие, которое РМК обработает гарантированно, не открывая никаких лишних окон.

Решение 3: Проверка дублей штрихкодов и характеристик

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

Как проверить наличие дублей:

  1. Зайдем в раздел НСИ — Штрихкоды.
  2. Установим фильтр по проблемному штрихкоду.
  3. Если в списке более одной строки — это и есть причина открытия окна поиска.

Решение 4: Настройка расширенного поиска в РМК

Посмотрим на настройки самой формы РМК. В некоторых версиях «Розницы 2.2» на поведение поиска влияет опция «Использовать расширенный поиск при подборе товаров».

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

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

Резюме и практические рекомендации

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

Если же вы хотите добиться максимально стабильной работы, потратьте 10 минут на перевод сканера в режим Virtual COM Port. Это навсегда избавит вас от проблем с раскладкой клавиатуры (когда вместо цифр сканер передает знаки препинания или буквы) и случайных открытий справочников при потере фокуса ввода.

Рассмотрим пример правильной настройки суффикса в коде (абстрактно для понимания логики драйвера):


// Логика работы драйвера NativeApi при получении данных
Процедура ОбработатьДанныеСканера(Данные)
    СуффиксНастройки = НастройкаОборудования.Суффикс; // Например, 13
    Если Прав(Данные, 1) = Символ(СуффиксНастройки) Тогда
        Штрихкод = Лев(Данные, СтрДлина(Данные) - 1);
        ОповеститьОШтрихкоде(Штрихкод);
    Иначе
        // Данные игнорируются драйвером и уходят в поток клавиатуры
    КонецЕсли;
КонецПроцедуры

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

← На главную