В кассовом ПО Artix реализована буферизация ввода со сканера. При сканировании штрих-коды сохраняются в очереди и обрабатываются последовательно после завершения предыдущей операции. Это позволяет считывать несколько товаров подряд без потери данных во время сканирования.

Настройка очереди ввода

Настройка очереди ввода осуществляется в конфигурационном файле /opt/sst-sco/conf/input.ini в секции [Input].

НаименованиеВозможные значенияОписание

Файл /opt/sst-sco/conf/input.ini, секция [Input], настройки модуля ввода данных

scannerQueue
  • true 
  • false (по умолчанию)
Копить ввод со сканера, пока касса занята обработкой предыдущего товара
scannerQueueClearOnDialog
  • true (по умолчанию)
  • false
Очищать очередь ввода со сканера при показе любого окна, кроме прогресса
scannerRepeatTimeout

целое положительное число

по умолчанию 0 (выключено)

Время, в течение которого повторный штрих-код со сканера отбрасывается, в миллисекундах
scannerQueueLifetime

целое положительное число

по умолчанию 60000

Время жизни отложенного ввода со сканера при простое кассы, в миллисекундах
Пример настройки
[Input]
; Копить ввод со сканера, пока касса занята обработкой предыдущего товара
; По умолчанию false
scannerQueue = true

; Очищать очередь ввода со сканера при показе любого окна, кроме прогресса
; По умолчанию true
scannerQueueClearOnDialog = true

; Время, в течение которого повторный штрих-код со сканера отбрасывается
; В миллисекундах, по умолчанию 0 (выключено)
;scannerRepeatTimeout = 0

; Время жизни отложенного ввода со сканера при простое кассы
; В миллисекундах, по умолчанию 60000
;scannerQueueLifetime = 60000

Принцип работы

При отображении прогресса обработки товара сканер продолжает считывать штрих-коды. Полученные данные помещаются в очередь и обрабатываются последовательно: следующий штрих-код будет обработан только после завершения обработки предыдущего.
При отображении любого окна, кроме окна прогресса обработки товара, очередь будет очищена. Поведение определяется настройкой scannerQueueClearOnDialog.
При запросе сканирования штрих-кода или кода маркировки очередь не очищается. За один запрос из очереди извлекается один код. Это обеспечивает корректную обработку спаек и последовательности сканирования штрих-кода и кода маркировки.
Отложенный ввод обрабатывается только в форме, в которой был отсканирован. Если форма изменилась, то ввод сбрасывается. При сбросе состояния очередь будет очищена.
Время жизни отложенного ввода отсчитывается с момента обработки предыдущего штрих-кода из очереди. Время ожидания в очереди не учитывается.

После обработки каждого товара сканер отключается на время, заданное настройкой scannerTimeout (по умолчанию 1000 мс). Для работы очереди ввода необходимо установить значение 0. Для предотвращения повторного сканирования используется настройка scannerRepeatTimeout.

  • No labels