как автоматически переназначить задачи в рабочем процессе дизайнера sharepoint 2007 - PullRequest
0 голосов
/ 04 ноября 2011

Мне поручено выяснить, как автоматически переназначать задачи в рабочем процессе дизайнера sharepoint 2007. Я знаю, что обычно это делается путем предоставления пользователю возможности переназначения в форме завершения задачи, но это не сработает для меня. Вот краткий обзор текущего рабочего процесса и того, что мне нужно для его выполнения.

На самом деле это основной рабочий процесс и дополнительный рабочий процесс. Первичный проверяет статусы, отправляет электронные письма и назначает задачи. Вспомогательное устройство обновляет состояние до соответствующего уровня каждый раз, когда задача завершена. Задачи назначаются на основе полей в основном списке. Например, это поле PM. Это заполняется человеком, когда создается новый элемент списка. И рабочий процесс назначает задачу этому PM.

Что мне нужно сделать, так это то, что если в какой-то момент кто-то зайдет в первичный список и поменяет личный кабинет, мне нужно переназначить соответствующие задачи этому новому без дополнительного взаимодействия с пользователем.

Я не уверен, как это сделать. Есть идеи? Большое спасибо!

1 Ответ

0 голосов
/ 06 ноября 2011

Вы не указали, где выполняется основной рабочий процесс - я предполагаю (и надеюсь), что он работает в этом основном списке.

Вы сказали, что всякий раз, когда в этом списке создается новый элемент, ваш рабочий процесс запускается -все, что вам нужно сделать, это изменить этот рабочий процесс, чтобы он также запускал при изменении элемента списка .Когда рабочий процесс запущен, все, что вам нужно сделать, это проверить, установлено ли какое-либо поле в вашем элементе списка (например, настраиваемое «MyWorkflow уже выполняется») - тогда вы знаете, что вы работаете в измененном состоянии элемента списка.

Другой подход состоит в том, чтобы создать еще один рабочий процесс для события измененный элемент и изменить PM в исходном рабочем процессе, где бы он ни был установлен.

Последний подходиспользовать приемники событий , что потребовало бы запуска Visual Studio, и я полагаю, это не то, что вам нужно (получатели событий также будут отслеживать событие, измененное вашим элементом).:
Как получить элемент задачи из списка задач, связанных с запущенным рабочим процессом?

Если у вас есть SPListItem, вы можете просмотреть все рабочие процессы, запущенные с помощью SPListItem.Workflows, который возвращаетВы SPWorkflowCollection.Перебирая эту коллекцию, вы можете найти свой SPWorkflow.В конце концов, этот рабочий процесс содержит коллекцию всех задач рабочего процесса через SPWorkflow.Tasks.См. документацию MSDN на SPWorkflow.

Некоторые примеры, выполняющие именно это: http://sansanwal.blogspot.com/2009/08/get-workflow-task-item-from-list-item.html

Если вы хотите сделать это в некодовом решении, выМожно также получить задачу через SharePoint Designer.Для этого вам нужно будет создать задачу самостоятельно и сохранить идентификатор задачи в некоторой переменной рабочего процесса, а затем можно получить эту задачу, запросив список задач для этого конкретного идентификатора задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...