Каждый возникающий отказ имеет идентифицирующее его имя, которое определяется в зависимости от причин и характера возникающей проблемы.
В текущей версии
NDemia CashMatic KioskBrowser определены следующие виды отказов:
- BillValidator - общий отказ купюроприёмника;
- BillCounterOverflow - переполнение купюроприёмника по программному счётчику (см. CashMaticCash);
- Browser - общий отказ навигации браузера;
- Printer - общий отказ принтера;
- PaperEnd - конец бумаги в принтере;
- NearPaperEnd - приближение конца бумаги в принтере.
Кроме перечисленных имён отказов,
прикладные скрипты и
компоненты расширения могут возбуждать собственные "пользовательские" именованные отказы, см. метод
SetFailState объекта
CashMaticTerminal. Указанный метод позволяет принудительно явно устанавливать состояние любого именованного отказа, как предопределённого, так и "пользовательского".
Примечание: Крайне не рекомендуется прикладному программисту без существенной необходимости принудительно устанавливать состояния предопределённых отказов, поскольку это может нарушить общую логику работы NDemia CashMatic KioskBrowser.
Пример:
CashMatic.Terminal.SetFailState("MyFailureName", true);
//возбуждение "пользовательского" отказа "MyFailureName"
В данном случае
"MyFailureName" - произвольное имя отказа, заданное прикладным программистом. Никаких других деклараций для введения нового имени отказа не требуется.
Компоненты расширения получат оповещение о возникновении отказа
"MyFailureName" через вызовы метода
OnFailure интерфейса
ICashMaticTerminalExtender - см.
Обработка отказов.
Прикладной программист может повысить
уровень серьёзности отказа "MyFailureName" до ошибки, требующей
автоматического перехода на страницу неисправности - см.
Уровни серьёзности отказов:
CashMatic.Host.AddErrorName("MyFailureName");
//это должно быть сделано на начальном этапе работы скрипта
// ... исполняется прикладной скрипт
CashMatic.Terminal.SetFailState("MyFailureName", true);
//возбуждение "пользовательского" отказа "MyFailureName"
// приведёт к автоматическому переходу на страницу неисправности
// (кроме случая отложенного отказа).