Підтримка альтернативних гілок у бізнес-процесах
1. Загальний опис
Альтернативні гілки у бізнес-процесах дозволяють посадовій особі повернутися до попередньої форми процесу та виправити внесені дані, або скасувати введену інформацію на формі та повернутися до меню послуг. Це можливо, якщо в рамках бізнес-процесу є дві або більше задачі, розподілені в ряд на посадову особу, або коли процес змодельований зі стартовою формою.
- Виділяють 2 сценарії використання функціональності:
-
-
Посадова особа може повернутися до виконання попередньої задачі у Кабінеті, відповідно до навігації у змодельованій альтернативній гілці бізнес-процесу (Step back).
-
Посадова особа може скасувати внесені дані на формі Кабінету, завершити процес за альтернативною гілкою та повернутися до меню послуг (Cancel).
-
Обидва сценарії реалізуються за допомогою навігації у компоненті Button на формі для підпису даних КЕП. Кнопки, змодельовані з використанням компонента Button, розміщені на формі підпису даних, під віджетом КЕП, та візуально відділені від нього. |
Кожний перехід за альтернативною гілкою у бізнес-процесі = окрема клавіша Button із навігацією на формах. |
2. Моделювання та налаштування кнопок для альтернативних гілок на формах бізнес-процесів
Налаштування повернення до попередніх форм у бізнес-процесі, а також скасування введеної на формі інформації та перехід до меню послуг можливі за допомогою функції навігації, а також атрибута _action_code
у компоненті Button (кнопка).
При натисканні на кнопку, де змодельовано Navigation
, відбувається або повернення до однієї з попередніх форм, або завершення задачі та повернення до меню послуг. При цьому поле _action_code
у form data заповнюється значенням параметра Action code
.
Кнопки, що змодельовані з використанням компонента Button, розміщені на формі підпису даних, під віджетом КЕП, та візуально відділені від нього.
2.1. Налаштування компонента Button для повернення до 1-ї форми
-
Увійдіть до Кабінету адміністратора регламентів та натисність
Увійти до сервісу
. -
Перейдіть до сервісу моделювання UI-форм для бізнес-процесів.
-
Створіть нову форму для підпису даних КЕП, або відкрийте одну зі змодельованих попередньо.
Детальну інформацію щодо моделювання UI-форм до бізнес-процесів ви можете переглянути за посиланням:
-
В меню моделювання форми для підпису даних знайдіть секцію Компоненти.
-
Оберіть компонент
Button
(кнопка) та перетягніть його до центральної панелі моделювання.В результаті відкриється сторінка з налаштуваннями компонента Button.
-
Перейдіть до вкладки Display:
-
У полі
Label
введіть назву компонента (кнопки). Наприклад,Повернутися до 1-ї форми
. -
У полі
Action
оберіть типNavigation
із випадного списку. Тобто кнопка виконуватиме навігацію. -
У полі
Action code
вкажіть, куди саме відбуватиметься навігація. Наприклад, введіть значенняreturn_to_first
, тобто до першої форми. -
У полі
Theme
оберіть тему для компонента із випадного списку. Наприклад,Secondary
.
-
-
Перейдіть до вкладки API. У полі
Property name
визначте назву для API-ендпоінту. Наприклад,returnToFirst
. -
Збережіть внесені зміни до компонента форми. Для цього натисніть
Save
.
2.2. Налаштування компонента Button для повернення до 2-ї форми
Налаштування компонента Button для повернення до будь-якої форми через функцію навігації є ідентичним, за винятком значення Action code , а також Property name для API-ендпоінту (детальніше — див. Налаштування компонента Button для повернення до 1-ї форми).
|
-
Відкрийте налаштування компонента Button.
-
Перейдіть до вкладки Display:
-
У полі
Label
введіть назву компонента (кнопки). Наприклад,Повернутися до 2-ї форми
. -
У полі
Action
оберіть типNavigation
із випадного списку. Тобто кнопка виконуватиме навігацію. -
У полі
Action code
вкажіть, куди саме відбуватиметься навігація. Наприклад, введіть значенняreturn_to_second
, тобто до другої форми. -
У полі
Theme
оберіть тему для компонента із випадного списку. Наприклад,Secondary
.
-
-
Перейдіть до вкладки API. У полі
Property name
визначте назву для API-ендпоінту. Наприклад,returnToSecond
. -
Збережіть внесені зміни до компонента форми. Для цього натисніть
Save
.
2.3. Налаштування компонента Button для скасування внесених даних на формі та завершення процесу
Налаштування компонента Button для скасування внесених даних на формі, завершення бізнес-процесу та переходу до меню послуг є ідентичним до повернення до попередніх форм через функцію навігації, за винятком значення Action code , а також Property name для API-ендпоінту (детальніше — див. Налаштування компонента Button для повернення до 1-ї форми).
|
-
Відкрийте налаштування компонента Button.
-
Перейдіть до вкладки Display:
-
У полі
Label
введіть назву компонента (кнопки). Наприклад,Скасувати
. -
У полі
Action
оберіть типNavigation
із випадного списку. Тобто кнопка виконуватиме навігацію. -
У полі
Action code
вкажіть, що саме робитиме кнопка з навігацією. Наприклад, введіть значенняcancel
, тобто введені на формі дані будуть скасовані, а користувач повернеться до головного меню послуг. -
У полі
Theme
оберіть тему для компонента із випадного списку. Наприклад,Secondary
.
-
-
Перейдіть до вкладки API. У полі
Property name
визначте назву для API-ендпоінту. Наприклад,cancel
. -
Збережіть внесені зміни до компонента форми. Для цього натисніть
Save
.
3. Моделювання та налаштування альтернативних гілок у бізнес-процесі
|
3.1. Моделювання повернення до 1-ї форми
-
Оберіть гілку, яка веде до форми, до якої необхідно повернутися. В нашому випадку — це зелена гілка.
-
У полі
Name
вкажіть назву гілки. Наприклад,Повернутися до 1-ї форми
. -
У полі
Condition Type
оберіть тип —Expression
, тобто вираз. -
У полі
Expression
змоделюйте перехід до 1-ї форми за допомогою виразу, використовуючи JUEL-функціюsubmission()
.Детальну інформацію з описом доступних JUEL-функцій ви можете переглянути за посиланням:
Приклад 1. Моделювання повернення до 1-ї форми за допомогою JUEL-функції submission()${submission('SignForm').formData.hasProp('_action_code') && submission('SignForm').formData.prop('_action_code').value().equals('return_to_first')}
- Пояснення
-
-
У першій частині, до
&&
, вираз перевірятиме, чи існує на формі'_action_code'
:{submission('SignForm').formData.hasProp('_action_code')
-
У другій частині, після
&&
, вираз перевірятиме, чому дорівнює значення'_action_code'
. У нашому випадку action code дорівнює'return_to_first'
:submission('SignForm').formData.prop('_action_code').value().equals('return_to_first')
-
'return_to_first'
— значення поляAction code
при налаштуванні форми у сервісі моделювання форм (налаштування кнопки навігації до 1-ї форми).
-
Детальніше про налаштування форм див. у розділі Налаштування компонента Button для повернення до 1-ї форми.
3.2. Моделювання повернення до 2-ї форми
Моделювання повернення до будь-яких форм через альтернативні гілки є майже ідентичним. Змінюється лише значення параметра _action_code
, визначене при моделюванні форми до бізнес-процесу. Це значення необхідно передати функції submission()
.
-
Оберіть гілку, яка веде до форми, до якої необхідно повернутися. В нашому випадку — це блакитна гілка.
-
У полі
Name
вкажіть назву гілки. Наприклад,Повернутися до 2-ї форми
. -
У полі
Condition Type
оберіть тип —Expression
, тобто вираз. -
У полі
Expression
змоделюйте навігацію до 2-ї форми за допомогою виразу, використовуючи JUEL-функціюsubmission()
.Детальну інформацію з описом доступних JUEL-функцій ви можете переглянути за посиланням:
Приклад 2. Моделювання повернення до 2-ї форми за допомогою JUEL-функції submission()${submission('SignForm').formData.hasProp('_action_code') && submission('SignForm').formData.prop('_action_code').value().equals('return_to_second')}
- Пояснення
-
У першій частині, до
&&
, вираз перевірятиме, чи існує на формі для підпису даних'_action_code'
:{submission('SignForm').formData.hasProp('_action_code')
У другій частині, після
&&
, вираз перевірятиме, чому дорівнює значення'_action_code'
. У нашому випадку action code дорівнює'return_to_second'
:submission('SignForm').formData.prop('_action_code').value().equals('return_to_first')
'return_to_second'
— значення поляAction
при налаштуванні форми у сервісі моделювання форм (налаштування кнопки навігації до 2-ї форми).
Детальніше про налаштування форм див. у розділі Налаштування компонента Button для повернення до 2-ї форми.
3.3. Моделювання скасування внесених даних на формі та повернення до головного меню
Моделювання скасування внесених даних на формі та повернення до меню послуг через альтернативні гілки є майже ідентичним до моделювання повернення до попередніх форм для виправлення даних. Змінюється лише значення параметра _action_code
, визначене при моделюванні форми до бізнес-процесу. Це значення необхідно передати функції submission()
.
-
Виділіть XOR-шлюз, від якого йде розгалуження до скасування.
-
У полі
Name
вкажіть назву —Скасувати внесення даних?
.
-
-
Оберіть гілку, яка веде до скасування внесених даних та завершення бізнес-процесу. В нашому випадку — це фіолетова гілка.
-
У полі
Name
вкажіть назву гілки. Наприклад,Так
. -
У полі
Condition Type
оберіть тип —Expression
, тобто вираз. -
У полі
Expression
змоделюйте скасування внесених даних та переходу до меню послуг за допомогою виразу, використовуючи JUEL-функціюsubmission()
.Детальну інформацію з описом доступних JUEL-функцій ви можете переглянути за посиланням:
Приклад 3. Моделювання скасування внесених даних та переходу до меню послуг за допомогою JUEL-функції submission()${submission('Firsttask').formData.hasProp('_action_code') && submission('SignForm').formData.prop('_action_code').value().equals('cancel')}
- Пояснення
-
У першій частині, до
&&
, вираз перевірятиме, чи існує на 1-й формі'_action_code'
:{submission('Firsttask').formData.hasProp('_action_code')
У другій частині, після
&&
, вираз перевірятиме, чому дорівнює значення'_action_code'
. У нашому випадку action code дорівнює'cancel'
:submission('Firsttask').formData.prop('_action_code').value().equals('cancel')
'cancel'
— значення поляAction
при налаштуванні форми у сервісі моделювання форм (налаштування скасування внесених даних та повернення до меню послуг).
Детальніше про налаштування форм див. у розділі Налаштування компонента Button для скасування внесених даних на формі та завершення процесу.
-