Я пытаюсь создать рабочий процесс в SharePoint 2007, который должен выглядеть так:
Пользователь добавляет новый элемент в список «Неисправности». При его создании он ставит галочки напротив тех отделов, которые должны устранить неисправность.
Назначенному представителю каждого выбранного отдела поручается проверка новой позиции.
Представитель отмечает задание как выполненное.
Все задачи выполнены, рабочий процесс завершен.
Проблема: если я создаю рабочий процесс в SharePoint Designer 2007 и создаю несколько шагов, проверяющих, «если X-отдел был отмечен галочкой, затем назначить задачу пользователю», он будет ждать, пока первый отдел отметит свою задачу как завершенную, прежде чем назначить задачу следующий отдел. Мне нужно, чтобы задача была поставлена перед всеми отделами одновременно.
Другие варианты, которые я рассмотрел:
Если отмечен отдел X, добавьте имя пользователя представителя в переменную с именем «userX». Повторите то же самое с отделом Y и переменной «userY», а затем Z с переменной «userZ». Наконец, назначьте задачу пользователям userX, userY и userZ. Я надеялся, что он проигнорирует пустые переменные, но вместо этого никому не назначает задачу, и рабочий процесс никогда не завершается.
Назначение пользователем элемента пользователям вместо отделов невозможно, поскольку нельзя ожидать, что они будут знать назначенных представителей каждого отдела.
Я могу создать задачу с помощью действия «Создать элемент списка», но рабочий процесс помечается как завершенный после создания задач, даже если задачи не завершены.
У кого-нибудь есть идеи?
Если кому-то интересно, вот решение, которое я в итоге использовал:
Первый шаг рабочего процесса:
if [department checkboxes] contains "Department 1"
store "user1" in [Variable:assignedTo]
Один шаг друг к другу по отделениям:
if [department checkboxes] contains "Department X"
and [Variable:assignedTo] is empty
store "userX" in [Variable:assignedTo]
else if [department checkboxes] contains "Department X"
and [Variable:assignedTo] is not empty
store "[Variable:assignedTo]; userX" in [Variable:assignedTo]
И наконец,
assign "Task" to [Variable:assignedTo]
Надеюсь, это кому-то поможет.