Выполнение действий программно
В редких случаях может понадобиться выполнить действия сервера программно. Это позволяет заменить реализации UI процедур по умолчанию кастомизированными процедурами и/или автоответами.
Чтобы выполнить действие программно:
- Получите объект
Contextдействия изContextManager - Вызовите
ActionsUtils.initAction()статический метод, предоставляющий имяContextи действия.ActionExecutionModeдолжна быть выставлена либо наNORMAL, либо наHEADLESS, если UI процедуры фактически не выполняются человеком-оператором.initAction()вернетActionIdentifier, которое позднее будет использоваться для степпинга действия. - Вызовите
ActionsUtils.stepAction()в цикле, пока не вернет null. Каждая итерацияstepAction()будет возвращать определенную UI процедуру для ручного выполнения какGenericActionCommand. Каждый вызов, начиная со второго, должен включать ваш сформированный вручную запросGenericActionResponseк ранее полученномуGenericActionCommand. - Обработайте каждую
GenericActionCommandсогласно ее типу, параметрам и заголовку.
![]() | Каждое событие запускается как отдельный поток SberMobile Server. Если по какой-то причине, вы прекратите вызывать |
