Я новичок в SharePoint. Извините, если ответ на мои вопросы очевиден.
Первый вопрос: У меня есть рабочий процесс конечного автомата, который создает около 30 задач (некоторые из них создаются после предыдущего выполнения с использованием действия OnTaskChnage). Я должен регистрировать изменения задач и завершать рабочий процесс, когда все задачи выполнены. Я вижу 2 способа сделать это:
1) Я могу создать eventDrivenActivity для каждой из 30 задач.
OnTaskChanged
--Code (log changes)
--If (allTaskCompleted()) //not code, but activity, what use
----then SetState(Completed); //condition allTaskComplete() from code
Но я думаю, что это не очень хороший способ, потому что я не могу повторно использовать код и делаю 30 одинаковых шагов.
2) Я могу выполнить вход в код, а затем при необходимости завершить рабочий процесс из кода, но я не знаю, как мне это сделать. Я могу отменить рабочий процесс из кода
SPWorkflowManager.CancelWorkflow(itemWorkflow);
но я не могу найти какую-либо информацию о том, как ее завершить (или установите для состояния «Завершено»). Может быть, я делаю что-то не так, и рабочий процесс должен завершиться сам, тогда все задачи завершены, но этого не происходит (он остается в «В процессе»).
Второй вопрос: Есть ли возможность запускать некоторый код после каждого изменения в задачах рабочего процесса (насколько я понимаю, OnWorkflowChanged и OnWorkflowModified не подходят для моих нужд) или добавить программный обработчик в мой 30 задач (не для списка задач вообще, а только для моих задач)?
Заранее спасибо.
С наилучшими пожеланиями
Михаил.
PS: извините за мои письма. Английский не мой родной язык.