Рассмотрим распространенную ситуацию: при подключении программируемой клавиатуры Posiflex KB-4000 к 1С:Розница клавиша Enter корректно работает в окнах выбора (выбор типа меню, Z-отчет, X-отчет) и в текстовых редакторах Windows, однако непосредственно в окне Рабочего места кассира (РМК) при выборе типа оплаты или после считывания штрихкода нажатие клавиши сопровождается звуковым сигналом, но целевое действие в 1С не выполняется.
Разберем, почему возникает такое поведение. Программируемые POS-клавиатуры позволяют назначать на физические кнопки различные скан-коды и комбинации. Очень часто при первичной настройке через фирменную утилиту программирования Posiflex для клавиши подставляется скан-код Enter с цифрового блока (Numpad Enter) вместо основного Enter (Main Enter / Return).
В текстовых редакторах и некоторых диалоговых окнах Windows оба эти скан-кода передают одинаковый символ перевода строки (ASCII 13), поэтому клавиатура успешно проходит проверку на сторонних компьютерах и в Блокноте. Однако в интерфейсе РМК платформы 1С:Предприятие горячие клавиши и действия командных панелей привязаны к конкретным скан-кодам и обработчикам событий клавиатуры (WM_KEYDOWN). Если передается код Numpad Enter, форма РМК 1С не воспринимает его как команду подтверждения ввода или завершения чека, интерпретируя нажатие как невалидный ввод, о чем и сигнализирует системный динамик.
Выясним пошагово, как исправить проблему с помощью фирменного софта Posiflex:
Numpad Enter.0x1C / Scan Code 28), а не код цифрового блока.Проанализируем дополнительные технические нюансы, которые могут влиять на работу программируемой клавиатуры в 1С:
F12 или Tab) и запрограммировать её скан-код на клавиатуре Posiflex.