При работе в интерфейсе Рабочего места кассира (РМК) в программе «1С:Розница 2.2» пользователи часто сталкиваются с неприятной ситуацией: при считывании штрихкода сканером система вместо того, чтобы мгновенно добавить товар в список покупок, открывает окно справочника «Номенклатура» или форму подбора. Это существенно замедляет работу кассира и создает очереди.
В этой статье мы подробно разберем, почему программа ведет себя именно так, проанализируем механику взаимодействия торгового оборудования с платформой 1С и изучим пошаговые инструкции по устранению данной проблемы.
Прежде чем переходить к настройкам, давайте выясним причину такого поведения системы. В 1С нажатие клавиши Enter (или ввод символа возврата каретки) на пустой строке табличной части документа (в данном случае — списка товаров в чеке) по умолчанию инициирует команду «Добавить» или «Подобрать». Именно эта команда вызывает окно справочника.
Когда сканер работает в режиме эмуляции клавиатуры, он передает штрихкод как последовательность нажатий клавиш. Проблема возникает в следующих случаях:
Enter) как команду к открытию подбора.Enter активирует кнопку вызова справочника.F7), система сначала открывает окно ручного ввода штрихкода, а затем некорректно обрабатывает оставшуюся часть данных.Рассмотрим наиболее распространенный вариант, когда сканер подключен в USB-порт и работает «как клавиатура». Нам необходимо убедиться, что программа четко понимает, где заканчивается штрихкод.
Проанализируем шаги по настройке драйвера:
1С:Сканер штрихкода (NativeApi)) найдем кнопку «Тест устройства».Внимательно изучим данные теста. Если мы видим сообщение типа 'Данные' [4601234567890] 'Событие' [Barcode], значит, драйвер работает верно. Однако, если в колонке «Событие» указано что-то другое или данные отображаются некорректно, нам нужно проверить поле «Суффикс».
Чаще всего сканеры настроены на передачу суффикса CR (возврат каретки, код 13). В настройках 1С в поле суффикса должно стоять значение 13 (CR). Если там указано другое значение или несколько суффиксов (например, 13 и 10), а сканер передает только один — 1С будет игнорировать штрихкод как «внешнее событие» и отдавать его на откуп операционной системе как обычный текст.
Важный совет: Попробуйте очистить поле «Префикс» в настройках 1С. Использование префиксов вроде F7 в современных релизах «Розницы» часто только мешает штатной работе драйвера.
Выясним, почему профессионалы предпочитают именно этот метод. В режиме COM-порта (Virtual COM Port) сканер не посылает нажатия клавиш в активное окно. Вместо этого он отправляет данные напрямую в порт, который «слушает» драйвер 1С. Это исключает зависимость от того, где находится курсор и какой язык раскладки выбран на клавиатуре.
Рассмотрим алгоритм перевода:
USB Serial Port (COM3)). Если устройство появилось с восклицательным знаком — нужно установить драйвер виртуального COM-порта с сайта производителя.Теперь, когда данные будут приходить в порт, 1С будет генерировать ВнешнееСобытие, которое РМК обработает гарантированно, не открывая никаких лишних окон.
Иногда причина кроется не в оборудовании, а в данных. Проанализируем ситуацию: если одному штрихкоду в базе соответствует несколько товаров или несколько характеристик одного товара, 1С не может принять решение за кассира. Система вынуждена открыть окно выбора (которое выглядит как справочник), чтобы пользователь уточнил, какую именно позицию продать.
Как проверить наличие дублей:
Посмотрим на настройки самой формы РМК. В некоторых версиях «Розницы 2.2» на поведение поиска влияет опция «Использовать расширенный поиск при подборе товаров».
Для проверки выполним следующие действия:
Подводя итог, можно сказать, что в 90% случаев проблема решается правильной синхронизацией суффикса в настройках драйвера и самом физическом устройстве. Если вы используете клавиатурный режим, убедитесь, что в тесте драйвера в 1С при сканировании штрихкод отображается корректно и вызывает событие Barcode.
Если же вы хотите добиться максимально стабильной работы, потратьте 10 минут на перевод сканера в режим Virtual COM Port. Это навсегда избавит вас от проблем с раскладкой клавиатуры (когда вместо цифр сканер передает знаки препинания или буквы) и случайных открытий справочников при потере фокуса ввода.
Рассмотрим пример правильной настройки суффикса в коде (абстрактно для понимания логики драйвера):
// Логика работы драйвера NativeApi при получении данных
Процедура ОбработатьДанныеСканера(Данные)
СуффиксНастройки = НастройкаОборудования.Суффикс; // Например, 13
Если Прав(Данные, 1) = Символ(СуффиксНастройки) Тогда
Штрихкод = Лев(Данные, СтрДлина(Данные) - 1);
ОповеститьОШтрихкоде(Штрихкод);
Иначе
// Данные игнорируются драйвером и уходят в поток клавиатуры
КонецЕсли;
КонецПроцедуры
Соблюдение этих простых правил настройки торгового оборудования позволит сделать работу кассира комфортной и эффективной.