Режим эмуляции клавиатуры: как заставить сканер правильно «печатать» штрихкод в 1С
Содержание
Сканер в режиме эмуляции клавиатуры не требует драйвера в 1С. Он «набирает» цифры штрихкода в то поле, где стоит курсор, и в конце нажимает Enter. Поэтому настройка сводится к трём вещам: сканер должен отправлять суффикс Enter, работать в правильной раскладке и не терять символы при быстром вводе.
Всё это настраивается на самом сканере — служебными штрихкодами из его руководства. В 1С остаётся найти правильное поле ввода и убедиться, что штрихкод товара записан в карточке номенклатуры. Если «сканер пищит, а в 1С ничего не происходит», почти всегда виноват один из этих трёх пунктов или курсор стоит не в том поле. Проверка занимает пару минут, если под рукой есть руководство к сканеру со служебными штрихкодами.
Как сканер в режиме клавиатуры передаёт штрихкод в 1С
Сканер с USB-кабелем по умолчанию почти всегда работает как HID-клавиатура. Windows видит его как ещё одну клавиатуру и не требует драйверов. Считав код, сканер посылает в систему последовательность нажатий клавиш: 4, 6, 0, 1… и в конце — завершающий символ.
Для 1С это выглядит так, будто пользователь очень быстро набрал цифры руками. Отсюда три следствия:
- 📍 Код попадает туда, где фокус. Если курсор стоит в поле «Комментарий», штрихкод окажется в комментарии.
- ⌨️ Работает раскладка Windows. Сканер передаёт не символы, а коды клавиш. Если раскладка русская, а в коде есть латинские буквы, получится кириллица.
- ⏎ Нужен завершающий символ. Без
Enter1С не узнает, что ввод закончен, и не начнёт поиск товара.
Чем отличается от режима COM-порта
| Признак | Эмуляция клавиатуры (HID) | Виртуальный COM-порт |
|---|---|---|
| Драйвер в Windows | не нужен | нужен драйвер производителя (USB-COM) |
| Настройка в 1С | почти не нужна | карточка в «Подключаемом оборудовании» |
| Куда идёт код | в поле с фокусом | в 1С как внешнее событие, фокус не важен |
| Через RDP | работает сразу | нужен проброс COM-порта |
| Коды маркировки DataMatrix | теряется символ-разделитель GS | передаются целиком |
Режим клавиатуры удобен для небольшой торговли, склада, инвентаризации. Для розницы с маркировкой и для потока сканирований на кассе надёжнее COM-порт.
Первое подключение: проверка сканера до 1С
Начинайте не с 1С, а с Блокнота. Так вы сразу отделите проблемы сканера от проблем программы.
- Подключите сканер к USB-порту компьютера напрямую, без хаба. Дождитесь, пока Windows установит стандартное устройство ввода.
- Откройте
Блокнот(notepad.exe) и щёлкните в окне. - Отсканируйте штрихкод с любого товара, например EAN-13 на упаковке.
- Проверьте результат: должно появиться 13 цифр, а курсор — перейти на новую строку.
Если цифры появились и курсор перешёл на новую строку — сканер настроен правильно, переходите к 1С. Если курсор остался в конце строки — суффикс не задан. Если вместо цифр знаки !"№;% — сбита раскладка или включён Caps Lock/Shift.
Сохраните руководство пользователя к сканеру (PDF с сайта производителя). В нём есть служебные штрихкоды: сброс к заводским настройкам, выбор интерфейса, суффикс, раскладка, задержка между символами. Без них большинство проблем не решить.
Если сканер работает как COM, а нужен режим клавиатуры
Многие модели (Honeywell, Zebra, Datalogic, Mertech, Atol) умеют переключаться между USB HID и USB COM. Признак COM-режима: в Блокноте ничего не появляется, а в Диспетчере устройств в разделе «Порты (COM и LPT)» появилось новое устройство.
Чтобы вернуть клавиатурный режим, отсканируйте в руководстве штрихкод с подписью вроде «USB Keyboard», «USB HID» или «Keyboard Emulation». После сброса к заводским настройкам большинство сканеров тоже возвращается в HID.
Суффикс Enter, Tab и префиксы: что отправлять после кода
Завершающий символ (суффикс) — главная настройка для 1С. Именно по нему программа понимает, что штрихкод введён полностью.
| Суффикс | Что происходит в 1С | Когда выбирать |
|---|---|---|
Enter (CR) | ввод подтверждается, запускается поиск товара | основной вариант для 1С |
CR+LF | обычно работает как Enter, но иногда даёт пустую строку | только если CR недоступен |
Tab | фокус переходит к следующему полю, поиска нет | для заполнения форм поле за полем |
| без суффикса | код вводится, но остаётся в поле | почти никогда |
Как задать суффикс:
- Найдите в руководстве раздел «Suffix» или «Terminator».
- Отсканируйте штрихкод «Add CR suffix» (или «Enter»). Иногда нужно сначала войти в режим программирования, затем выйти из него — порядок указан в руководстве.
- Проверьте в Блокноте: после кода курсор должен переходить на новую строку.
Префикс: зачем он и когда мешает
Префикс — символ, который сканер посылает перед кодом. В обычной работе с 1С он не нужен и вредит: префикс попадёт в строку поиска, и товар не найдётся.
Префикс пригодится, если ваша доработка или внешняя обработка должна отличать ввод со сканера от ручного набора. Тогда символ-префикс задают на сканере и тот же символ — в настройках этой обработки. Если не знаете, откуда в поле лишний символ перед кодом, — сначала сбросьте сканер к заводским настройкам и заново задайте только суффикс.
Раскладка и кодировка: почему вместо цифр «!№;%»
Сканер в режиме клавиатуры отправляет коды физических клавиш. Windows превращает их в символы по текущей раскладке. Цифры на верхнем ряду клавиатуры одинаковы в русской и английской раскладке, поэтому EAN-13 обычно вводится без проблем. Трудности начинаются в трёх случаях.
- 🔠 Включён Caps Lock или «залип» Shift. Вместо
1234получается!"№;. Выключите Caps Lock и проверьте ещё раз. Некоторые сканеры сами инвертируют регистр при включённом Caps Lock — у них в руководстве есть настройка «Caps Lock off/ignore». - 🔤 В коде есть латинские буквы. Code 128, Code 39, QR-коды с артикулом: при русской раскладке
Aпревращается вФ. Решение — переключить раскладку на английскую перед сканированием или включить на сканере режим ввода черезAlt-коды. - 🌍 На сканере выбрана «чужая» страна клавиатуры. Например, немецкая (QWERTZ) или французская (AZERTY). Тогда путаются цифры и буквы. В руководстве найдите раздел «Keyboard Country» и выберите US или Russian.
Режим Alt-кодов
Многие сканеры умеют передавать каждый символ комбинацией Alt + код на цифровой клавиатуре. Так символ вводится независимо от раскладки Windows. Настройка называется по-разному: «Alt+Keypad», «Emulate ALT+keypad», «Universal keyboard».
Минусы режима: ввод заметно медленнее, а на ноутбуках без цифрового блока он иногда не срабатывает. Включайте его, только если штрихкоды реально содержат буквы.
Пропуски символов и скорость ввода: диагностика
Типичная жалоба: «иногда 1С не находит товар, а со второго раза находит». Почти всегда это потеря или перестановка символов при быстром вводе. Сканер выдаёт 13 символов за доли секунды, и не каждое окружение успевает их принять.
Где теряются символы:
- 🖥️ Удалённый рабочий стол (RDP) и терминальный сервер . Нажатия идут по сети, и при задержках часть символов приходит не по порядку.
- 🐢 Перегруженный компьютер. Если в момент сканирования 1С пересчитывает документ, ввод может «съесться».
- 🔌 USB-хаб и удлинители. Сканер получает мало питания, связь рвётся.
Что делать по порядку:
- Отсканируйте один и тот же код 10 раз в Блокнот локально, затем 10 раз через RDP. Сравните результаты.
- Если ошибки только через RDP — увеличьте на сканере задержку между символами («Intercharacter Delay», «Keystroke Delay»). Начните с 10–20 мс.
- Если ошибки и локально — подключите сканер напрямую к порту на задней панели системного блока.
- Если не помогло — переведите сканер в режим COM и пробросьте порт в RDP-сессию, либо поставьте 1С локально.
Проверка контрольной цифры
Бывает, что сканер передаёт код без последней цифры или добавляет ведущий ноль. Например, UPC-A (12 цифр) передаётся как EAN-13 с нулём впереди. Тогда в 1С код не совпадёт с записанным в карточке.
Решение — выбрать один формат и придерживаться его. В руководстве найдите настройки «Transmit Check Digit» и «UPC-A to EAN-13». Включите передачу контрольной цифры и при необходимости преобразование UPC-A в EAN-13.
Сканирование в БП 3.0, УТ 11 и коды маркировки
Сам сканер в режиме клавиатуры настраивается одинаково для всех конфигураций. Отличается то, куда ставить курсор и где хранится штрихкод товара.
1С:Бухгалтерия 3.0
В табличной части документов (поступление, реализация, перемещение) есть кнопка со значком штрихкода в командной панели. Она открывает поле ввода штрихкода. Нажмите кнопку, отсканируйте код — строка с товаром добавится или увеличится количество.
Если товара с таким кодом нет, программа сообщит, что номенклатура не найдена. Тогда штрихкод нужно сначала записать в карточку номенклатуры.
1С:Управление торговлей 11 и Розница
Штрихкоды хранятся в карточке номенклатуры по ссылке «Штрихкоды». Один товар может иметь несколько кодов: от разных поставщиков, для разных упаковок.
В документах есть отдельная команда поиска по штрихкоду. Сканер в режиме клавиатуры работает и с ней: открываете поле, сканируете, Enter подтверждает ввод. Для потока сканирований в РМК удобнее подключить сканер через COM-порт и завести его в НСИ и администрирование → Администрирование → РМК и оборудование: тогда товар добавляется без нажатия кнопки, где бы ни стоял курсор.
Коды маркировки (DataMatrix)
Здесь режим клавиатуры чаще всего подводит. Код маркировки содержит служебный символ-разделитель GS (код 29). У него нет клавиши на клавиатуре, поэтому в режиме HID он либо пропадает, либо заменяется чем-то другим. 1С получает «склеенный» код, и проверка в ГИС МТ не проходит.
Для работы с маркированными товарами переводите сканер в режим виртуального COM-порта и подключайте через «Подключаемое оборудование». Сканер должен уметь читать 2D-коды: линейный (1D) сканер DataMatrix не прочитает вообще.
Некоторые сканеры умеют заменять GS на последовательность клавиш в HID-режиме. Это работает только если ваша конфигурация умеет обратно распознать такую замену, поэтому для маркировки надёжнее COM.
Когда клавиатурный режим не подходит
Эмуляция клавиатуры — самый простой путь, но не универсальный. Переходите на COM-порт, если:
- 📦 вы работаете с маркированными товарами (обувь, одежда, молочка, вода, табак);
- 🛒 сканирует кассир на потоке, и нет времени ставить курсор в поле;
- 🌐 1С работает через RDP или терминал, а символы теряются даже с задержкой;
- 🔀 к одному компьютеру подключено несколько сканеров, и 1С должна понимать, какой из них сработал.
Оставайтесь на клавиатурном режиме, если сканируете EAN-13 и EAN-8 при приёмке и инвентаризации, а пользователь сам ставит курсор в поле поиска. Это покрывает большинство задач небольшого склада.
Частые вопросы
Нужен ли драйвер 1С для сканера в режиме эмуляции клавиатуры?
Можно ли подключить два сканера-клавиатуры к одному компьютеру?
Работает ли беспроводной сканер в режиме клавиатуры?
Почему в 1С код вводится, но товар не находится?
Подойдёт ли режим клавиатуры для веб-клиента 1С?
Enter.