Торговля и Склад · 12 мин
Сканер штрихкодов как клавиатура в 1С: настройка и работа
Как подключить сканер штрихкодов к 1С в режиме эмуляции клавиатуры: настройка суффикса Enter, префиксов, поиска товаров и типичные ошибки при работе.
Самый простой способ подключить сканер штрихкодов к 1С — перевести его в режим эмуляции клавиатуры (HID Keyboard). В этом режиме сканер для операционной системы выглядит как обычная клавиатура: считанный штрихкод «печатается» в активное поле, а затем автоматически нажимается Enter. Никаких драйверов и компонент не требуется — достаточно воткнуть USB-кабель или связать сканер по Bluetooth.
Такой подход работает в любой конфигурации 1С — от «Розницы» и «Управления торговлей» до самописных решений, потому что программа просто получает ввод с клавиатуры. Обратная сторона — ограниченный контроль: 1С не может отличить сканер от рук пользователя, если не настроить префиксы и суффиксы. Из-за этого возникают типичные проблемы: штрихкод попадает не в то поле, поиск не срабатывает, символы «съедаются».
Ниже разобрано, как правильно настроить сканер и 1С для работы в клавиатурном режиме, какие префиксы и суффиксы использовать, как проверить результат и когда лучше перейти на COM-порт или драйвер «1С:Сканеры штрихкода».
Как работает режим эмуляции клавиатуры
Сканер в HID-режиме определяется Windows как стандартная USB-клавиатура. Когда луч считывает штрихкод, устройство посылает системе последовательность нажатий клавиш — по одной на каждый символ кода. Операционная система передаёт их в активное окно, в то поле, где стоит курсор. Для 1С это неотличимо от того, как если бы оператор быстро набрал цифры вручную.
Из этого следуют два важных свойства. Первое: сканирование сработает только если фокус находится в нужном поле ввода. Если курсор стоит в комментарии к документу, штрихкод «напечатается» именно туда. Второе: 1С узнаёт о завершении ввода только по событию — обычно по нажатию Enter, которое сканер добавляет автоматически (суффикс) или которое нужно нажать вручную.
Скорость «печати» у сканера очень высокая — десятки символов в секунду. Некоторые конфигурации 1С используют это как признак сканирования, но надёжнее настроить явные префиксы и суффиксы, о которых речь ниже.
Перевод сканера в режим клавиатуры
Большинство сканеров из коробки уже работают в режиме USB HID Keyboard — это заводская настройка у популярных моделей Honeywell, Zebra, Datalogic, Mindeo, Netum и недорогих китайских устройств. Если сканер ранее переключали в режим COM-порта или работает нестандартно, вернуть клавиатурный режим можно управляющим штрихкодом из руководства.
Порядок действий типовой: найдите в инструкции к сканеру раздел с настроечными штрихкодами (programming barcodes), считайте код «USB HID Keyboard» / «Keyboard Wedge» или «Восстановить заводские настройки», затем при необходимости код включения суффикса Enter. После этого откройте «Блокнот» в Windows и отсканируйте любой штрихкод — цифры должны появиться в документе, а курсор — перейти на новую строку.
Для Bluetooth-сканеров выбирайте профиль HID при сопряжении, а не SPP (Serial Port Profile). В HID-режиме сканер подключается в Windows как «Устройство ввода Bluetooth» и работает так же, как проводной. Учтите: при разрыве связи или уходе сканера в сон первое сканирование может «проснуться» не полностью — вводите первый штрихкод после паузы повторно.
- 1Считайте управляющий штрихкод «USB HID Keyboard» из руководства сканера или сбросьте настройки на заводские
- 2Считайте штрихкод включения суффикса Enter (CR или CR+LF)
- 3Откройте «Блокнот» и отсканируйте тестовый штрихкод — цифры должны появиться с переводом строки
- 4Откройте 1С, поставьте курсор в поле штрихкода и проверьте поиск товара
Настройка суффикса Enter и префиксов
Суффикс — это символ, который сканер отправляет после данных штрихкода. Для 1С критично, чтобы суффиксом был Enter (CR — возврат каретки, иногда CR+LF): именно он завершает ввод и запускает поиск номенклатуры. Если суффикс не настроен, штрихкод появится в поле, но документ не отреагирует — придётся нажимать Enter рукой, что сводит на нет выигрыш в скорости.
Префикс — символ, добавляемый перед штрихкодом. Он нужен, чтобы 1С могла отличить сканирование от ручного ввода с клавиатуры. В типовых конфигурациях на платформе 8.3 при работе без драйвера оборудования применяют обработку событий ввода: например, в «1С:Рознице» и «Управлении торговлей» поиск по штрихкоду в форме подбора срабатывает автоматически при вводе в специальное поле. Если конфигурация поддерживает префикс (часто используют символ вроде «#» или служебный код), задайте один и тот же префикс и в сканере, и в настройках программы.
Практическое правило: сначала попробуйте работу без префикса, только с суффиксом Enter — в большинстве типовых конфигураций этого достаточно, потому что поиск штрихкода идёт в специальном поле рабочего места кассира или формы подбора. Префиксы добавляйте, только если штрихкоды «улетают» не туда или конфликтуют с ручным вводом количества и цен.
Настройка 1С для приёма данных со сканера
В типовых конфигурациях («Розница», «Управление торговлей», «Управление нашей фирмой») клавиатурный сканер обычно не требует подключения в справочнике «Подключаемое оборудование» — он работает «мимо» механизма торгового оборудования. Достаточно открыть рабочее место кассира или документ с формой подбора: поле поиска по штрихкоду активно по умолчанию, и сканирование сразу добавляет товар в табличную часть.
Если конфигурация доработанная или самописная, проверьте, как реализован приём. Распространённый вариант — обработчик «ПриИзменении» или «ОкончаниеВводаТекста» у поля ввода штрихкода, который ищет номенклатуру в регистре штрихкодов и очищает поле. Убедитесь, что после обработки фокус возвращается в то же поле, иначе следующее сканирование попадёт в другую колонку.
Для поиска штрихкоды должны быть заранее зарегистрированы: в типовых конфигурациях это регистр сведений «Штрихкоды номенклатуры» (в УНФ — «Штрихкоды номенклатуры»). Если сканирование проходит, звук сканера есть, а товар не находится — почти всегда проблема в том, что штрихкод не привязан к карточке товара, а не в настройках подключения.
Как проверить результат
Штрихкод выводится полностью, курсор переходит на новую строку
Символы пропущены, заменены или строка не переводится
Товар добавляется в документ, поле ввода очищается
Цифры остаются в поле или попадают в другое поле
Каждый штрихкод добавляет строку или увеличивает количество
Второй штрихкод дописывается к первому
Типичные ошибки и их устранение
Самая частая жалоба — «сканер печатает не те символы»: вместо цифр появляются буквы или спецсимволы. Причина почти всегда в раскладке клавиатуры: сканер «печатает» в английской раскладке, а в Windows активна русская, и часть кодов интерпретируется иначе. Лечение — настроить в сканере режим, независимый от раскладки (у многих моделей есть штрихкод «ALT-режим» или выбор языка клавиатуры), либо переключать раскладку на английскую на рабочем месте.
Вторая группа проблем — потеря символов при быстром вводе на слабых компьютерах или через RDP. Если 1С работает в терминальной сессии, HID-сканер, подключённый к тонкому клиенту, может «зажёвывать» символы из-за задержек перенаправления ввода. В таких сценариях клавиатурный режим ненадёжен — лучше пробросить сканер как COM-порт или использовать драйвер сканера на стороне сервера.
Третья типичная ситуация — штрихкод EAN-13 приходит без первой цифры или с лишним символом. Это настройки форматов в самом сканере: проверьте, что включены нужные типы кодов (EAN-13, EAN-8, Code 128, DataMatrix для маркировки) и отключено обрезание контрольных разрядов, если 1С хранит штрихкоды целиком.
Когда клавиатурного режима недостаточно
Режим эмуляции клавиатуры хорош для простых сценариев: подбор товара в документ, работа кассира, оприходование. Но у него есть жёсткие ограничения. Сканер не может сообщить 1С о служебных событиях, программа не может программно включить или выключить сканирование, а главное — ввод привязан к фокусу окна. Если пользователь переключился в другое приложение, штрихкод уйдёт туда.
Для маркированных товаров клавиатурный режим допустим, но требует аккуратности: код DataMatrix содержит спецсимволы (GS, разделитель групп), которые в виде клавиатурного ввода передаются нестабильно. Типовые конфигурации при работе с маркировкой рассчитаны на драйвер «1С:Сканеры штрихкода» (NativeAPI), который передаёт данные как есть, включая непечатаемые символы, и генерирует событие вне зависимости от фокуса.
Альтернатива — режим эмуляции COM-порта (для USB-сканеров ставится драйвер производителя, например Honeywell или Zebra) с подключением через стандартную компоненту 1С. Это надёжнее при терминальной работе и даёт управление устройством, но требует установки драйверов и настройки в «Подключаемое оборудование». Выбор простой: одиночное рабочее место без маркировки — HID-клавиатура; терминал, маркировка, нестандартные события — COM-порт или драйвер.
Сравнение вариантов подключения
Без драйверов, работает везде. Ограничение: ввод зависит от фокуса окна и раскладки, нет служебных событий
Надёжен в RDP, 1С получает событие независимо от фокуса. Ограничение: нужен драйвер производителя и настройка в «Подключаемое оборудование»
Корректно передаёт DataMatrix с разделителями GS, поддерживается типовыми конфигурациями. Ограничение: требует установки компоненты на каждое рабочее место
Проверка и безопасные границы самостоятельной настройки
Настройка клавиатурного сканера полностью безопасна: управляющие штрихкоды меняют только поведение устройства и всегда обратимы сбросом на заводские настройки. В 1С при этом ничего не ломается — худшее, что может случиться, это «напечатанный» не туда штрихкод в открытом документе, который легко удалить.
Осторожность нужна в двух местах. Первое — не сканируйте штрихкоды, когда открыт документ с курсором в числовом поле: строка из 13 цифр может попасть в цену или количество и уйти в проведённый документ. Второе — при смене настроек сканера на действующем рабочем месте кассира делайте это вне продаж и сразу проверяйте результат на тестовом товаре, чтобы не остановить очередь.
Частые вопросы
Нужно ли устанавливать драйвер для сканера в режиме клавиатуры?
Нет. В HID-режиме Windows использует встроенный драйвер USB-устройства ввода, сканер определяется как клавиатура сразу после подключения. Драйверы производителя нужны только для режима эмуляции COM-порта или фирменных компонент.
Почему штрихкод сканируется, но товар в 1С не находится?
Почти всегда дело в данных, а не в подключении: штрихкод не зарегистрирован в регистре штрихкодов номенклатуры или привязан к другой карточке. Проверьте ввод в «Блокноте» — если код выводится правильно, откройте карточку товара и добавьте штрихкод сканированием в соответствующее поле.
Сканер вводит буквы вместо цифр — что делать?
Переключите раскладку клавиатуры на английскую или настройте в сканере режим, независимый от раскладки (обычно называется ALT-режим или выбор языка клавиатуры в настроечных штрихкодах). Проблема возникает потому, что сканер эмулирует нажатия клавиш английской раскладки.
Как заставить 1С автоматически добавлять товар после сканирования?
Настройте в сканере суффикс Enter (CR или CR+LF) — тогда после штрихкода отправляется нажатие Enter, которое запускает поиск и добавление товара. В типовых конфигурациях дополнительно работайте в форме подбора или РМК, где поле ввода штрихкода активно по умолчанию.
Подойдёт ли клавиатурный режим для маркировки «Честный знак»?
Формально DataMatrix можно считать и в HID-режиме, но спецсимволы-разделители GS в коде маркировки через клавиатурный ввод передаются нестабильно, и 1С может не распознать код. Для маркированных товаров рекомендуется подключение через драйвер «1С:Сканеры штрихкода», который передаёт данные без искажений.
Работает ли HID-сканер через RDP или на терминальном сервере?
Технически ввод перенаправляется, но при нестабильном канале символы могут теряться или перемешиваться, потому что сканер «печатает» очень быстро. Для терминальных сценариев надёжнее режим эмуляции COM-порта с пробросом порта в сессию или сканер, подключённый непосредственно к серверу через сетевые решения.
Что важно запомнить
Клавиатурный режим — самый быстрый способ подключить сканер к 1С: включите HID-режим, настройте суффикс Enter и проверьте ввод в «Блокноте». Следите за раскладкой клавиатуры и фокусом поля ввода, регистрируйте штрихкоды в карточках товаров. Для маркировки и терминальной работы переходите на COM-порт или драйвер 1С.