Или точнее - есть ли способ удалить участника из последующих итераций, если он был "удален" на первой итерации?
Что я имею в виду...
Например, есть какой-то параллельный рабочий процесс. Я выбрал 10
участников и инициировал этот бизнес-процесс. Таким образом, было создано 10
заданий, по одному на каждого участника. Но потом я решил удалить нескольких участников.
Насколько я знаю, я не могу удалить задачу. Но я могу выполнить эти задачи с помощью WebScript. Например, следующим образом. Я знаю workflowId
и taskId
:
...
Map<String, String> templateArgs = req.getServiceMatch().getTemplateVars();
// String workflowId = templateArgs.get("workflowId");
String taskId = templateArgs.get("taskId");
Map<QName, Serializable> updatedProperties = new HashMap<>();
updatedProperties.put(TaskRemoverModel.REVIEW_OUTCOME_PROPERTY, "Approve");
updatedProperties.put(TaskRemoverModel.COMMENT_PROPERTY,
"The user was excluded from the list of participants.");
workflowService.updateTask(taskId, updatedProperties, null, null);
workflowService.endTask(taskId, null);
...
Но проблема в том, что на этапе доработки инициатор может снова отправить на согласование. Затем задачи для исключенных участников будут созданы заново.
Есть ли способ «пометить» этих участников, чтобы в дальнейшем для них не создавались задачи?
Буду очень благодарен за информацию. Спасибо всем.