Підтримка альтернативних гілок у бізнес-процесах

1. Загальний опис

Альтернативні гілки у бізнес-процесах дозволяють посадовій особі повернутися до попередньої форми процесу та виправити внесені дані, або скасувати введену інформацію на формі та повернутися до меню послуг. Це можливо, якщо в рамках бізнес-процесу є дві або більше задачі, розподілені в ряд на посадову особу, або коли процес змодельований зі стартовою формою.

alternative branches 1

Виділяють 2 сценарії використання функціональності:
  • Посадова особа може повернутися до виконання попередньої задачі у Кабінеті, відповідно до навігації у змодельованій альтернативній гілці бізнес-процесу (Step back).

  • Посадова особа може скасувати внесені дані на формі Кабінету, завершити процес за альтернативною гілкою та повернутися до меню послуг (Cancel).

Обидва сценарії реалізуються за допомогою навігації у компоненті Button на формі для підпису даних КЕП.

Кнопки, змодельовані з використанням компонента Button, розміщені на формі підпису даних, під віджетом КЕП, та візуально відділені від нього.

Кожний перехід за альтернативною гілкою у бізнес-процесі = окрема клавіша Button із навігацією на формах.

2. Моделювання та налаштування кнопок для альтернативних гілок на формах бізнес-процесів

Налаштування повернення до попередніх форм у бізнес-процесі, а також скасування введеної на формі інформації та перехід до меню послуг можливі за допомогою функції навігації, а також атрибута _action_code у компоненті Button (кнопка).

При натисканні на кнопку, де змодельовано Navigation, відбувається або повернення до однієї з попередніх форм, або завершення задачі та повернення до меню послуг. При цьому поле _action_code у form data заповнюється значенням параметра Action code.

Кнопки, що змодельовані з використанням компонента Button, розміщені на формі підпису даних, під віджетом КЕП, та візуально відділені від нього.

2.1. Налаштування компонента Button для повернення до 1-ї форми

  1. Увійдіть до Кабінету адміністратора регламентів та натисність Увійти до сервісу.

    admin portal form modeling step 1

  2. Перейдіть до сервісу моделювання UI-форм для бізнес-процесів.

    ui forms 1

  3. Створіть нову форму для підпису даних КЕП, або відкрийте одну зі змодельованих попередньо.

    forms alternative branches step back 1

    Детальну інформацію щодо моделювання UI-форм до бізнес-процесів ви можете переглянути за посиланням:

  4. В меню моделювання форми для підпису даних знайдіть секцію Компоненти.

  5. Оберіть компонент Button (кнопка) та перетягніть його до центральної панелі моделювання.

    forms alternative branches step back 2

    В результаті відкриється сторінка з налаштуваннями компонента Button.

  6. Перейдіть до вкладки Display:

    • У полі Label введіть назву компонента (кнопки). Наприклад, Повернутися до 1-ї форми.

    • У полі Action оберіть тип Navigation із випадного списку. Тобто кнопка виконуватиме навігацію.

    • У полі Action code вкажіть, куди саме відбуватиметься навігація. Наприклад, введіть значення return_to_first, тобто до першої форми.

    • У полі Theme оберіть тему для компонента із випадного списку. Наприклад, Secondary.

      forms alternative branches step back 3

  7. Перейдіть до вкладки API. У полі Property name визначте назву для API-ендпоінту. Наприклад, returnToFirst.

  8. Збережіть внесені зміни до компонента форми. Для цього натисніть Save.

    forms alternative branches step back 4

2.2. Налаштування компонента Button для повернення до 2-ї форми

Налаштування компонента Button для повернення до будь-якої форми через функцію навігації є ідентичним, за винятком значення Action code, а також Property name для API-ендпоінту (детальніше — див. Налаштування компонента Button для повернення до 1-ї форми).
  1. Відкрийте налаштування компонента Button.

  2. Перейдіть до вкладки Display:

    • У полі Label введіть назву компонента (кнопки). Наприклад, Повернутися до 2-ї форми.

    • У полі Action оберіть тип Navigation із випадного списку. Тобто кнопка виконуватиме навігацію.

    • У полі Action code вкажіть, куди саме відбуватиметься навігація. Наприклад, введіть значення return_to_second, тобто до другої форми.

    • У полі Theme оберіть тему для компонента із випадного списку. Наприклад, Secondary.

      forms alternative branches step back 5

  3. Перейдіть до вкладки API. У полі Property name визначте назву для API-ендпоінту. Наприклад, returnToSecond.

  4. Збережіть внесені зміни до компонента форми. Для цього натисніть Save.

    forms alternative branches step back 6

2.3. Налаштування компонента Button для скасування внесених даних на формі та завершення процесу

Налаштування компонента Button для скасування внесених даних на формі, завершення бізнес-процесу та переходу до меню послуг є ідентичним до повернення до попередніх форм через функцію навігації, за винятком значення Action code, а також Property name для API-ендпоінту (детальніше — див. Налаштування компонента Button для повернення до 1-ї форми).
  1. Відкрийте налаштування компонента Button.

  2. Перейдіть до вкладки Display:

    • У полі Label введіть назву компонента (кнопки). Наприклад, Скасувати.

    • У полі Action оберіть тип Navigation із випадного списку. Тобто кнопка виконуватиме навігацію.

    • У полі Action code вкажіть, що саме робитиме кнопка з навігацією. Наприклад, введіть значення cancel, тобто введені на формі дані будуть скасовані, а користувач повернеться до головного меню послуг.

    • У полі Theme оберіть тему для компонента із випадного списку. Наприклад, Secondary.

      forms alternative branches step back 7

  3. Перейдіть до вкладки API. У полі Property name визначте назву для API-ендпоінту. Наприклад, cancel.

  4. Збережіть внесені зміни до компонента форми. Для цього натисніть Save.

    forms alternative branches step back 8

3. Моделювання та налаштування альтернативних гілок у бізнес-процесі

Передумови

Змодельовано синтетичний бізнес-процес, де можна налаштувати відповідні альтернативні гілки:

  • Зелена гілка — для повернення до форми під назвою "1-ша форма"

  • Блакитна гілка — для повернення до форми із назвою "2-га форма"

  • Фіолетова гілка — для скасування внесених даних, завершення бізнес-процесу та переходу до меню послуг.

3.1. Моделювання повернення до 1-ї форми

  1. Оберіть гілку, яка веде до форми, до якої необхідно повернутися. В нашому випадку — це зелена гілка.

  2. У полі Name вкажіть назву гілки. Наприклад, Повернутися до 1-ї форми.

  3. У полі Condition Type оберіть тип — Expression, тобто вираз.

  4. У полі 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-ї форми.

    alternative branches 2

3.2. Моделювання повернення до 2-ї форми

Моделювання повернення до будь-яких форм через альтернативні гілки є майже ідентичним. Змінюється лише значення параметра _action_code, визначене при моделюванні форми до бізнес-процесу. Це значення необхідно передати функції submission().

  1. Оберіть гілку, яка веде до форми, до якої необхідно повернутися. В нашому випадку — це блакитна гілка.

  2. У полі Name вкажіть назву гілки. Наприклад, Повернутися до 2-ї форми.

  3. У полі Condition Type оберіть тип — Expression, тобто вираз.

  4. У полі 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-ї форми.

    alternative branches 3

3.3. Моделювання скасування внесених даних на формі та повернення до головного меню

Моделювання скасування внесених даних на формі та повернення до меню послуг через альтернативні гілки є майже ідентичним до моделювання повернення до попередніх форм для виправлення даних. Змінюється лише значення параметра _action_code, визначене при моделюванні форми до бізнес-процесу. Це значення необхідно передати функції submission().

  1. Виділіть XOR-шлюз, від якого йде розгалуження до скасування.

    • У полі Name вкажіть назву — Скасувати внесення даних?.

      alternative branches 4

  2. Оберіть гілку, яка веде до скасування внесених даних та завершення бізнес-процесу. В нашому випадку — це фіолетова гілка.

    • У полі 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 при налаштуванні форми у сервісі моделювання форм (налаштування скасування внесених даних та повернення до меню послуг).

      alternative branches 5