Начиная с версии 3.2, в платформе Mobile SMARTS доступна функция непрерывного сканирования ШК.
На данный момент функция непрерывного сканирования доступна только на ТСД Zebra (Android)!
При обычном сканировании луч сканера гаснет после того как был отсканирован штрихкод, и сканирование следующего ШК становится возможным только когда завершится обработка предыдущего. В случае непрерывного сканирования луч сканера не гаснет, и обработка предыдущего ШК происходит параллельно со сканированием следующего. В таком случае достаточно один раз зажать кнопку «Скан», и вести терминалом по всем нужным ШК.
Достоинства непрерывного сканирования:
- скорость работы, т.к. паузы между сканированием штрихкодов очень короткие (также их можно настраивать);
- удобно сканировать большое количество уникальных штрихкодов (кодов маркировки обуви, табака и т. п.).
Недостатки непрерывного сканирования:
- непрерывное сканирование применимо в основном только к уникальным штрихкодам, например, кодам маркировки обуви, табака и т. д. При сканировании одинаковых товарных штрихкодов таким способом резко возрастает вероятность ошибки;
- для корректного использования непрерывного сканирования в большинстве случаев может потребоваться специальная адаптация алгоритмов;
- эффективная работа в таком режиме возможна только в случае если сканирование не выводит каких-то промежуточных визуальных окон или вопросов к пользователю.
Настройки непрерывного сканирования на мобильном устройстве
Для доступа к настройкам непрерывного сканирования, необходимо войти в меню приложения Mobile SMARTS на мобильном устройстве, открыть настройки и выбрать пункт «Сканирование».
Если ваш сканер поддерживает непрерывное сканирование, на экране ТСД отобразятся следующие настройки:
-
Текущее состояние — определяет активность режима непрерывного сканирования.
- Согласно логике приложения (логика вкл/выкл режима определяется конфигурацией продукта).
- Включено всегда (режим будет включен всегда, невозможно отключить из конфигурации).
- Выключено всегда (режим будет выключен всегда, невозможно включить из конфигурации).
-
Задержка между сканированиями (задет минимальный интервал между сканированиями в миллисекундах).
-
Одинаковые штрихкоды (позволяет избежать случайного сканирования одного и того же штрихкода).
- Согласно логике приложения (логика вкл/выкл режима определяется конфигурацией продукта).
- Принимать (всегда позволять сканировать повторяющиеся ШК, невозможно отключить из конфигурации).
- Не принимать (никогда не позволять сканировать повторяющиеся ШК, невозможно отключить из конфигурации).
Управление непрерывным сканированием из конфигурации 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" />