Почему в 1С:Розница при сканировании штрихкода товар не добавляется в РМК автоматически?

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

При работе с торговым оборудованием системные администраторы и специалисты по автоматизации часто сталкиваются с ситуацией, когда сканер штрихкода (например, популярная модель Atol SB 1101 Plus) исправно работает в Блокноте и корректно ищет товар в справочнике "Номенклатура", однако в режиме рабочего места кассира (РМК) автоматического добавления товара в корзину не происходит. Вместо этого программа либо игнорирует сканирование, либо требует предварительного нажатия клавиши F7 (Поиск по штрихкоду) или ручного ввода кода в поле поиска.

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

Понимание режимов работы сканера

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

  1. Режим эмуляции клавиатуры (HID-Keyboard): Сканер работает как обычное устройство ввода. При считывании кода он просто "печатает" символы в то поле, где в данный момент находится курсор.
  2. Режим эмуляции COM-порта (VCOM): Сканер передает данные напрямую в драйвер торгового оборудования 1С через виртуальный последовательный порт. Это позволяет программе перехватывать данные в фоновом режиме через механизм "Внешнее событие", независимо от того, где установлен фокус курсора.

Проанализируем ситуацию: если в Блокноте данные отображаются корректно, значит, физически сканер исправен и работает в режиме клавиатуры. Однако для автоматизации в РМК этого недостаточно, так как 1С должна получить сигнал о завершении ввода штрихкода, чтобы инициировать процедуру поиска и добавления товара в таблицу.

Решение 1: Настройка суффикса возврата каретки (Enter)

Самая частая причина отсутствия автоматического добавления — отсутствие суффикса в настройках самого сканера. Программа 1С ждет, что после последовательности цифр придет управляющий символ "Конец строки", который служит командой к действию.

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

  1. Откроем текстовый редактор (Блокнот) и считаем любой штрихкод. Если после ввода курсор остается в той же строке сразу за последней цифрой — суффикс Enter не настроен.
  2. Возьмем инструкцию (буклет) к сканеру Atol SB 1101 Plus. Нам необходимо найти раздел настройки суффиксов.
  3. Последовательно считаем управляющие штрихкоды: Start Configuration, затем код, соответствующий суффиксу CR (или Enter, код #13), и в конце End Configuration.
  4. Проверим результат в Блокноте: теперь после сканирования курсор должен автоматически перескакивать на следующую строку.
  5. В самой 1С перейдем в раздел Администрирование — Подключаемое оборудование. Откроем настройки нашего сканера и убедимся, что в поле "Суффикс" указано значение 13 (CR).

Важный нюанс: В некоторых версиях 1С:Розница 2.2 для корректного срабатывания в режиме клавиатуры требуется суффикс 13 (CR) 10 (LF). Попробуйте этот вариант, если одиночный CR не помогает.

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

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

Выполним следующие шаги:

  1. Найдем в инструкции к сканеру управляющий код Enable USB-COM Emulation и считаем его.
  2. После этого Windows определит новое устройство. Нам потребуется установить драйвер (обычно это Atol USB Serial Driver).
  3. Зайдем в Диспетчер устройств Windows и посмотрим, какой номер COM-порта был присвоен сканеру (например, COM3).
  4. В 1С изменим настройки оборудования: выберем порт COM3 вместо Клавиатура.
  5. Протестируем устройство через кнопку "Тест устройства" в 1С.

В этом режиме 1С будет обрабатывать данные через функцию ВнешнееСобытие, что гарантирует мгновенное добавление товара в РМК.

Решение 3: Настройка чувствительности и таймаута

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

Проанализируем ситуацию с таймаутами:

Технический анализ через отладку (для программистов)

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

Откроем модуль формы РМК и найдем процедуру обработки внешнего события. Она может выглядеть примерно так:


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

КонецПроцедуры

Поставим точку останова в начале этой процедуры. Если при сканировании точка останова не срабатывает, значит, проблема в подключении драйвера или в том, что форма не "подписана" на события оборудования. Проверьте вызов метода МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(ЭтаФорма) в процедуре ПриОткрытии.

Особенности модели Atol SB 1101 Plus

Данная модель иногда требует специфической настройки префикса. В некоторых случаях РМК "ожидает" нажатия функциональной клавиши перед вводом кода. Рассмотрим "костыльный", но рабочий метод с использованием префикса F7:

  1. Запрограммируйте сканер так, чтобы перед штрихкодом он передавал префикс, соответствующий клавише F7 (в hex-кодах это часто 0x1B или специфический код из таблицы функций производителя).
  2. В этом случае сканер будет сам "нажимать" кнопку поиска в 1С, открывать окно ввода и вставлять туда код.

Важно: Мы рекомендуем использовать этот метод только в крайнем случае, так как правильная настройка суффикса или переход на COM-порт являются более надежными решениями.

Итоги и рекомендации

Подводя итоги нашего анализа, выделим основные шаги для запуска автоматического добавления номенклатуры в РМК:

  1. Проверьте наличие суффикса CR (#13) в физических настройках сканера и в настройках 1С.
  2. Переведите сканер в режим USB-COM для стабильной работы через внешние события.
  3. Убедитесь в правильности раскладки клавиатуры — в режиме HID русская раскладка часто блокирует ввод цифр или искажает их.
  4. Обновите драйвер "1С:Сканер штрихкода" до последней версии, доступной на портале 1С:ИТС.

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

← На главную