Часто при работе в программе 1С:Розница (и других конфигурациях) пользователи сталкиваются с неприятной ситуацией: при попытке отсканировать акцизную марку алкоголя или код маркировки в поле поиска выводятся русские буквы вместо оригинальных английских символов штрихкода. При этом в интерфейсе рабочего места кассира (РМК) или при списании все может работать корректно. Рассмотрим подробнее, почему так происходит, и разберем по шагам все возможные способы решения этой проблемы на примере популярного сканера Honeywell 1450g.
Проанализируем ситуацию: почему сканер вдруг начинает "печатать" кириллицей? Дело в том, что по умолчанию большинство сканеров из коробки работают в режиме эмуляции клавиатуры (режим HID). В этом режиме сканер не передает компьютеру готовые символы (буквы или цифры). Он эмулирует нажатия клавиш через так называемые скан-коды.
На физической клавиатуре для любого языка одной клавише соответствует один и тот же скан-код. Например, если вы нажимаете клавишу, где нарисованы английская "Z" и русская "Я", клавиатура отправляет в систему один и тот же сигнал. А уже операционная система Windows решает, какую букву вывести на экран, опираясь на текущую активную языковую раскладку. Сканер ничего не знает о том, какой язык у вас включен. Поэтому, если кассир забыл переключиться на английский язык, данные акцизной марки (которые содержат латиницу) превратятся в бессмысленный набор русских букв.
Выясним причину номер один, которую легче всего исправить. Если у вас на компьютере установлены утилиты для автоматического переключения языка (например, Punto Switcher), они могут "перехватывать" быстрый ввод сканера. Программа видит непонятную последовательность символов акцизной марки и пытается "исправить" ее, автоматически переключая язык на русский.
Что нужно сделать: отключите или полностью удалите программы автоматического переключения раскладки на рабочем месте кассира. Для торгового оборудования такие утилиты строго противопоказаны.
Чтобы навсегда забыть о зависимости сканера от языка клавиатуры, настоятельно рекомендуем перевести сканер из режима клавиатуры (HID) в режим эмуляции COM-порта (RS-232). В этом режиме данные передаются в 1С напрямую в виде чистого текста, минуя системную раскладку Windows.
Рассмотрим по шагам, как правильно это сделать:
13 (CR) и сохраните настройки.Важное замечание: Если сканер считывает код, но 1С на него не реагирует (не добавляет товар и не ищет его), значит, сканер не передает команду завершения ввода. Обязательно запрограммируйте сканер на передачу суффикса возврата каретки (CR / ASCII 13) с помощью настроечных штрихкодов из инструкции.
Если по каким-то причинам вы не можете использовать COM-порт (например, старая Windows или ограничения прав доступа), проблему с раскладкой можно решить настройками самого сканера, оставив его в режиме HID. Посмотрим на этот вариант подробнее.
В инструкции к сканеру Honeywell (а также в фирменной утилите EZConfig) есть возможность активировать режим KBDALT mode (режим ввода через Alt-коды). В этом режиме сканер будет передавать каждый символ акцизной марки не как обычное нажатие буквы, а как ASCII-код через зажатие виртуальной клавиши Alt и цифровую клавиатуру (Numpad).
При использовании этого метода системная раскладка (русская или английская) полностью перестает иметь значение. Сканер принудительно диктует системе нужные символы. Также можно применить настроечный штрихкод US English Keyboard, который жестко связывает нажатия сканера с английской таблицей символов.
Часто проблема усугубляется тем, что сканер не только печатает русскими буквами, но и в принципе пропускает часть символов двумерного штрихкода. Проанализируем настройки чтения форматов DataMatrix и PDF417 (которые используются на алкогольных акцизах и в системе Честный ЗНАК).
Некоторые сканеры продаются с отключенным чтением двумерных кодов. Перед тем как настраивать суффиксы и порты, выполните базовую подготовку:
Используя эти методы, вы сможете стабильно настроить оборудование, и 1С всегда будет получать корректные данные при сканировании акцизных марок, независимо от того, какой язык выбран на компьютере пользователя.