Barcode Scanner Emulator
Sufiksy ENTER i TAB w skanerach kodów kreskowych
Sufiks to naciśnięcie klawisza, które skaner wysyła tuż po zdekodowanym ładunku kodu kreskowego. Wybór właściwego sufiksu i poprawna obsługa w aplikacji to jedno z najczęstszych źródeł błędów integracji skanera.
Czym są sufiksy i dlaczego skanery je wysyłają
Skaner emituje ładunek jako surowe naciśnięcia klawiszy bez wbudowanego separatora, więc aplikacja odbierająca nie ma pewnego sposobu, by wiedzieć, że skan się skończył, dopóki skaner nie dopisze jawnego klawisza kończącego. Ten terminator to sufiks. Bez niego aplikacje musiałyby zgadywać zakończenie limitem bezczynności, co jest wolniejsze i mniej niezawodne.
ENTER (CR)
Najczęstszy sufiks. Wysyłany jako klawisz Enter/Return, odpowiadający powrotowi karetki, 0x0D w ASCII. W większości formularzy HTML naciśnięcie Enter w pojedynczym polu tekstowym wysyła obejmujący formularz, dlatego ENTER naturalnie pasuje do przepływów „zeskanuj i wyślij”, takich jak pole wyszukiwania albo wyszukiwanie w jednym polu.
TAB
Wysyłany jako klawisz Tab, 0x09. Zamiast wysyłać formularz, Tab przenosi fokus do następnego elementu, który może go przyjąć. Ten sufiks jest preferowany przy wieloetapowym wprowadzaniu danych, na przykład skan kodu produktu → automatyczne przejście do pola ilości → skan następnej pozycji, bez przedwczesnego wysłania.
Pary CR/LF i brak sufiksu
Niektóre skanery można ustawić tak, by wysyłały pełną parę CR+LF (typowe przy zasilaniu aplikacji terminalowych lub szeregowych), a niektóre w ogóle bez sufiksu. Wtedy aplikacja musi wykrywać zakończenie skanu na podstawie czasu wprowadzania.
Dlaczego to ważne dla POS i aplikacji webowych
Zły sufiks daje bardzo konkretne, mylące błędy: sufiks ENTER na formularzu wielopolowym może wysłać formularz, zanim wypełnione zostaną pola ilości lub rabatu, a sufiks TAB przy pojedynczym polu wyszukiwania zostawia wyszukiwanie niewykonane, bo nic nie uruchamia wysłania. Dopasowanie sufiksu do przepływu, a nie pozostawienie ustawienia fabrycznego, jest konieczne.
Jak testować zachowanie sufiksu
Skanuj do testera wprowadzania kodów kreskowych, który wprost raportuje, czy na końcu skanu wykryto ENTER albo TAB. Jeśli potrzebujesz dokładnych kodów klawiszy (na przykład aby odróżnić CR od LF), użyj testera zdarzeń klawiatury.
Zmiana sufiksu w skanerze
Zachowanie sufiksu to ustawienie po stronie skanera, konfigurowane narzędziem producenta albo skanem specjalnego kodu konfiguracyjnego wydrukowanego w instrukcji skanera. Ogólny proces opisuje przewodnik Konfiguracja skanera kodów kreskowych.