Начиная с версии 3.2, в платформе Mobile SMARTS доступна функция непрерывного сканирования ШК.
На данный момент функция непрерывного сканирования доступна только на ТСД Zebra (Android)!
При обычном сканировании луч сканера гаснет после того как был отсканирован штрихкод, и сканирование следующего ШК становится возможным только когда завершится обработка предыдущего. В случае непрерывного сканирования луч сканера не гаснет, и обработка предыдущего ШК происходит параллельно со сканированием следующего. В таком случае достаточно один раз зажать кнопку «Скан», и вести терминалом по всем нужным ШК.
Достоинства непрерывного сканирования:
Недостатки непрерывного сканирования:
Для доступа к настройкам непрерывного сканирования, необходимо войти в меню приложения Mobile SMARTS на мобильном устройстве, открыть настройки и выбрать пункт «Сканирование».
Если ваш сканер поддерживает непрерывное сканирование, на экране ТСД отобразятся следующие настройки:
Текущее состояние — определяет активность режима непрерывного сканирования.
Задержка между сканированиями (задет минимальный интервал между сканированиями в миллисекундах).
Одинаковые штрихкоды (позволяет избежать случайного сканирования одного и того же штрихкода).
Для управления режимом непрерывного сканирования из конфигурации (программно) используются следующие методы и свойства:
//включить режим непрерывного сканирования, результат true если включение было успешным bool Scanner.EnableContinuousMode(); //выключить режим непрерывного сканирования, результат true если выключение было успешным bool Scanner.DisableContinuousMode(); //включен ли сейчас режим непрерывного сканирования bool Scanner.ContinuousModeEnabled; //поддерживает ли устройство непрерывное сканирование bool Scanner.ContinuousModeSupported; //установить поведение при сканировании одинаковых шк, параметры: true - принимать одинаковые шк, false - не принимать void Scanner.SetContinuousSameBarcodesMode(bool value); //установить минимальный интервал между сканированиями, параметры - задержка в милисекундах void Scanner.SetContinuousScanDelay(int value);
Пример кода:
Код для вставки в вашу конфигурацию (просто скопируйте этот блок и вставьте в нужное место вашей конфигурации):
<ConditionAction comment="проверяем, что девайс поддерживает режим" expression="Scanner.ContinuousModeSupported == false" id="494ff1d2-b8da-4647-b58b-3b94e878b29e" indent="0" nextDirection="" noDirection="1" yesDirection="2" />
<ConditionAction comment="проверяем, что режим еще не включен"
expression="Scanner.ContinuousModeEnabled == false" id="2b4f8cc1-4292-40f9-8ff6-715e71b9a836"
indent="1" name="1" nextDirection="" noDirection="return" yesDirection="" />
<AssignAction comment="попытка включить режим, если он выключен"
expression="result = Scanner.EnableContinuousMode()" id="aa8cb1bd-b2a7-4dc6-8ffa-5fe5ed8fa32f"
indent="2" nextDirection="" /><ConditionAction comment="проверям результат включения"
expression="result == false" id="cb7bd5fd-5e4e-4265-8a30-69e84cef6ab4" indent="2" name="1 1"
nextDirection="" noDirection="3" yesDirection="" /><AssignAction comment=
"ошибка, что возможно включение режима запрещено в настройках"
expression="errorText = "Не удалось включить непрерывное сканирование.
Проверьте, что включение режима не запрещено в настройках""
id="a3caa40d-5aeb-4d8b-849a-052b5f96f87f" indent="3" nextDirection="" />
<AssignAction comment="ошибок нет, режим включился" expression="errorText = """
id="1c880b86-9b30-4c6b-87cc-a678b1c59646" indent="3" name="3" nextDirection="" />
<AssignAction comment="ошибка, что устройство не поддерживает режим"
expression="errorText = "Устройство не поддерживает непрерывное сканирование""
id="90dfa010-249c-4097-99de-24aba6ada298" indent="1" name="2" nextDirection="return" />