BPM определение outcome выбранного пользователем

Добрый день. Необходимо на этапе инициализации procForm определить, какой outcome был выбран пользователем в форме, чтобы потом задать procForm соответствующий заголовок.

Добрый день!

При открытии формы с помощью кнопки выполнения процессного действия, в форму передаются несколько параметров (procTask, procInstance, formDefinition). В исходном коде StandardProcForm вот так объявлен параметр procInstance:


    @WindowParam(name = "procInstance")
    protected ProcInstance procInstance;

Значение outcome хранится в соответствующем поле класса ProcTask (процессная задача).

Таким образом, внутри вашей формы вы можете получить результаты предыдущих задач, выполнив JPQL запрос, который находит все ProcTask, связанные с переданным в форму экземпляром процесса procInstance

Речь идет о получении результата текущей задачи, когда задача фактически еще не выполнена пользователем: пользователь выбирает вариант выполнения в фрэйме процесса, затем ему открывается ProcForm в котором нужно заполнить комментарий выполнения. В это время (у формы которая открылась с комментарием) caption должен сформироваться в зависимости от выбранного пользователем варианта. Например если пользователь выбрал вариант “Согласовать”, то заголовок у открывающегося ProcForm должен быть: “Согласовать …”

Сделали тикет на эту задачу (см. ссылку в правой панели).
Сейчас, наверное, вы можете сменить заголовок окна формы только создав свой аналог CompleteProcTaskAction, который после открытия формы проставит ей необходимый caption.

:ticket: See the following issue in our bug tracker:

https://youtrack.cuba-platform.com/issue/PL-8370

Добрый день!

Очень похожая проблема.
Речь идет о получении результата текущей задачи, когда задача фактически еще не выполнена пользователем: пользователь выбирает вариант выполнения в фрэйме процесса
И в зависимости от выбора устанавливать проверку заполнения полей формы

Например у задачи два выхода:
Подтвердить - необходимо заполнить Исполнителя
Отменить - Исполнитель не нужен.

Как определить выбранный пользователем outcome ?

Добрый день. В одном из проектов я подобную проблему решил отказавшись от фрэйма процесса вообще.
На экран были добавлены кнопки выполнения задачи, а на postInit определялось, должен ли пользователь видеть эти кнопки. Ну и потом соответственно в зависимости от того, какая кнопка была нажата - вызывался соответствующий экран (custom’ный на сколько я помню) в котором заполнялись параметры.
Но дело был год назад, возможно сейчас можно сделать все с помощью фрэйма процесса. Это бы здорово облегчело жизнь

1 симпатия

Спасибо за предложенный вариант.
Решение уже найдено. Использовала
processFormService.getOutcomesWithForms(procTask)

1 симпатия

На всякий случай:
В procForm передается параметр caption с локальным описанием выбранного выхода.

    @WindowParam
    protected String caption;