f.Scanner
f.Scanner
개요
f.Scenner 는 바코드 입력 처리를 위한 스캐너 함수입니다.
PDA 를 통한 스캔을 지원하며, 디버거에서는 카메라를 통한 스캔으로 동작합니다.
기능요소
스캐너 설정 초기화 함수
스캔 시작 함수
스캔 종료 함수
현재 스캐너 상태 조회 함수
마지막으로 스캔된 값 반환 함수
마지막 스캔 시각 반환 (timestamp) 함수
전체 스캔 이력 배열 반환 함수
마지막 오류 객체 반환 함수
스캐너 상태값
SCAN_STATUS
DISABLED
초기 상태, 비활성화됨
IDLE
초기화 완료, 스캔 대기 중 아님
SCANNING
스캔 대기 중
SUCCESS
스캔 성공
AFTER_EVENT
스캔 후 이벤트 처리 중
STOPPED
조건 또는 타임아웃으로 스캔 중단됨
ERROR
스캔 중 오류 발생
상태 전이 흐름 (State Transition Flow)
초기화 및 대기
DISABLED→IDLE(init()호출 시 스캐너가 준비됨)
스캔 대기 진입
IDLE→SCANNING(startScan()호출 시 스캔 대기 상태 진입)
스캔 처리
사용자가 바코드 입력(스캔)
입력값이 유효하고 eventName이 있을 때:
SCANNING→SUCCESS→AFTER_EVENT(이벤트 실행 후 다시 스캔 대기 또는 종료 조건 확인)입력값이 유효하지만 eventName이 없을 때:
SCANNING→SUCCESS(이벤트 실행 없이 성공 처리)입력값이 유효성 검사(scanValidator) 실패 시:
SCANNING→ERROR(오류 콜백 실행 후 스캔 대기 복귀)
스캔 종료 조건 확인
종료 조건(예: 최대 스캔 횟수, scanStopCondition 등) 만족 시:
SCANNING또는AFTER_EVENT→STOPPED종료 조건 미만족 시: 다시
SCANNING상태로 반복 (다음 스캔 대기)
오류 발생 시 처리
스캔 도중 입력값 오류(scanValidator 실패)
SCANNING→ERROR→SCANNING(오류 콜백 실행 후 다시 스캔 대기)
[DISABLED]
|
| (init)
v
[IDLE]
|
| (startScan)
v
[SCANNING]
|
|-- [입력값 정상 + eventName 있음] ------> [SUCCESS]
| |
| v
| [AFTER_EVENT]
| |
| (종료조건) Yes / No
| | |
| [STOPPED] [SCANNING]
|
|-- [입력값 정상 + eventName 없음] ------> [SUCCESS]
| |
| (종료조건) Yes / No
| | |
| [STOPPED] [SCANNING]
|
|-- [입력값 오류(scanValidator 실패)] ---> [ERROR]
|
(오류 콜백 후) <---|
|
[SCANNING]
사용 주의사항
init 호출 필수 스캐너를 사용하기 전에 반드시
init()으로 초기화를 진행해야 합니다.스캔 중 입력 제한 스캔이 활성화된 동안에는 별도의 input 컨트롤 등에서 직접 입력이 불가능합니다.
스캔 종료 처리 권장 화면 이동, 탭 전환 등 페이지를 떠날 때(
OnLeave이벤트 등)에는 반드시stopScan()으로 스캔을 종료하도록 처리하는 것을 권장합니다.기기 호환성 PDA 기기 설정에 따라 스캐너 동작이 달라질 수 있습니다. 공식적으로 지원하는 DS60S, PM95 기기 이외의 PDA를 사용할 경우 정상적인 지원이 어려울 수 있습니다.
Last updated
Was this helpful?