Я разрабатываю рабочий процесс SharePoint с действием Replicator для репликации настраиваемого действия для каждого утверждающего. Настраиваемое действие реализует ветвь утверждения для конкретного пользователя. Он имеет классическую форму с действиями CreateTask, While, OnTaskChanged и CompleteTask.
Я настраиваю UntilCondition на репликаторе, чтобы отменить выполнение после того, как один утверждающий решит отклонить утверждение, а затем рабочий процесс завершится. Проблема возникает с другими незавершенными задачами, которые «зависают» в своем текущем состоянии. Пользователь не видит этого состояния при открытии задачи.
Я помещаю UpdateAllTasks после репликатора, чтобы установить статус задачи «Отменено». Но поскольку между CompleteTask (для отклоненной задачи) и UpdateAllTasks нет событийных действий, для отклоненной задачи также установлено действие UpdateAllTask «Отменено».
Возникает вопрос, что я могу сделать, чтобы очистить отложенное изменение, внесенное CompleteTask перед UpdateAllTasks?
Или, возможно, есть другой способ реализовать такой рабочий процесс. Я думал о том, как реализовать обработчик отмены для настраиваемого действия с помощью UpdateTask. Но я не знаю, как это реализовать и сообщить обработчику отмены, что он выполняется в случае отказа.