Barcode Scanner Emulator
Суфікси ENTER і TAB у сканерах штрихкодів
Суфікс — це натискання клавіші, яке сканер надсилає одразу після декодованого вмісту штрихкоду. Вибір правильного суфікса і його коректна обробка в застосунку — одне з найчастіших джерел помилок інтеграції сканера.
Що таке суфікси і навіщо сканери їх надсилають
Сканер надсилає дані як сирі натискання клавіш без вбудованого роздільника, тож застосунок-одержувач не має надійного способу дізнатися, що зчитування завершено, якщо сканер не додасть явну завершальну клавішу. Цим завершенням і є суфікс. Без нього застосунки мусили б вгадувати завершення за тайм-аутом бездіяльності, що повільніше й менш надійно.
ENTER (CR)
Найпоширеніший суфікс. Надсилається як клавіша Enter/Return і відповідає поверненню каретки, в ASCII 0x0D. У більшості форм HTML натискання Enter в єдиному текстовому полі надсилає навколишню форму, тому ENTER природно пасує процесам «зчитай і надішли», наприклад полю пошуку або пошуку в одному полі.
TAB
Надсилається як клавіша Tab, 0x09. Замість надсилання форми Tab переносить фокус на наступний елемент, який може його отримати. Цей суфікс кращий для багатокрокового введення, наприклад зчитування коду товару → автоматичний перехід у поле кількості → зчитування наступної позиції, без передчасного надсилання.
Пари CR/LF і відсутність суфікса
Деякі сканери можна налаштувати надсилати повну пару CR+LF (типово для термінальних або послідовних застосунків), а деякі — взагалі без суфікса. Тоді завершення зчитування має виявляти застосунок за часовою поведінкою введення.
Чому це важливо для POS і вебзастосунків
Хибний суфікс дає дуже конкретні й плутані помилки: суфікс ENTER на формі з кількома полями може надіслати форму до заповнення кількості чи знижки, а суфікс TAB у процесі з одним полем пошуку залишає пошук невиконаним, бо ніщо не запустило надсилання. Суфікс треба узгодити з процесом, а не лишати лише заводське типове значення.
Як тестувати поведінку суфікса
Зчитуйте в тестер введення штрихкодів, який явно повідомляє, чи наприкінці зчитування виявлено ENTER або TAB. Якщо потрібні точні коди клавіш (наприклад, щоб відрізнити CR від LF), натомість скористайтеся тестером подій клавіатури.
Зміна суфікса на сканері
Поведінка суфікса — це налаштування на боці сканера. Його задають службовою програмою виробника або зчитуванням спеціального конфігураційного штрихкоду, надрукованого в посібнику сканера. Загальний процес налаштування описано в посібнику з налаштування сканера штрихкодів.