Підтримка альтернативних гілок у бізнес-процесах
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 для скасування внесених даних на формі та завершення процесу. 
-