Sharepoint Designer 2007 - рабочие процессы и вторичные отношения рабочих процессов - PullRequest
0 голосов
/ 22 августа 2011

Немного предыстории: я работаю в компании, которая производит продукт с рабочим процессом для проектов со многими "одновременно" выполняющимися задачами.Для этого обсуждения предположим, что проект A создает 4 подпроекта.

И основной проект, и 4 рабочих процесса подпроекта будут создавать задачи в главном списке задач.Основная проблема, с которой я сталкиваюсь, заключается в том, как связать задачи, созданные рабочими процессами подпроекта, с основным проектом.

Например:

Проект A создан в списке проектов.С этим списком связан ОДИН рабочий процесс, который называется «начало проекта».Этот рабочий процесс является рабочим процессом запуска вручную, который при запуске создает четыре подпроекта в списке подпроектов - эти подпроекты должны выполняться одновременно, поэтому я создал их во вторичном списке со своими собственными рабочими процессами.Список подпроектов имеет 4 рабочих процесса, связанных с ним, для управления 4 подпроектами - каждый из этих «автозапуска», когда подпроекты создаются в списке подпроектов.подпроекты - ЕДИНИЦЫ 1 - 4.

Я создаю Проект A и вручную запускаю его рабочий процесс.Рабочий процесс запуска проекта создает элементы «Блок 1», «Блок 2», «Блок 3» и «Блок 4» в списке подпроектов (в то же время, поскольку, как я уже говорил ранее, эти элементы должны выполняться одновременно).Каждый из рабочих процессов диспетчера модулей запускается и начинает создавать свои задачи в списке задач.Я использую задание «назначить задачу», потому что все, что мне нужно знать, чтобы рабочий процесс проходил по его шагам, - это завершение работы или нет.

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


Теперь у меня возникла проблема с тем, что представлениеЯ настроил для списка задач показывает столбцы «заголовок, дата начала, дата окончания, статус завершения и ссылка».Столбец ссылки показывает ссылку, которая ссылается на создаваемый элемент списка.В этом примере рабочий процесс менеджера блока 1 работает с элементом UNIT 1, который был создан проектом A. Таким образом, для «примера задачи 1», который был создан рабочим процессом менеджера блока, ссылка - «Блок 1».Это не совсем полезно, потому что когда кто-то просматривает свой список задач, у него может быть несколько «примеров задач 1» из нескольких проектов.Отображение UNIT 1 в качестве основного элемента ссылки ничего не значит для пользователя.То, что я хочу отобразить, это заголовок главного проекта, чтобы они могли сортировать свои задачи по проектам.Сортировка по «единице x» ничего не значит.

Теперь моим первоначальным решением было создание столбца «проект» в списке задач.В этом столбце я мог бы создать другой подпроцесс, который все, что он будет делать, - это искать первоначально созданный проект, просматривая и ссылаясь на рабочий процесс и идентификаторы элементов, и устанавливать эту новую переменную "project" в исходный главный проект (проектэтот пример).Этот рабочий процесс работает!

Тем не менее, и это, кажется, проблема, которая является "нередкой" в MOSS 2007, поскольку выполнение этого подпроцесса в списке задач может (и имеет) создать несколько ошибок блокировки, которые показывают - "этот элемент не может бытьизменен, поскольку он заблокирован уже запущенным рабочим процессом ".Эта ошибка останавливает рабочий процесс и не является ошибкой, которую можно исправить.Я исследовал эту ошибку, и это неизбежная ошибка, не имеющая единого и легко развертываемого решения.Это как-то связано с базой данных бэкэнда и тем, как / когда он хранит переменные элемента задачи обновления и так далее.Как только рабочий процесс заблокирован, все готово.

Итак, что мне действительно нужно, так это умное решение, связывающее основной проект со всеми подзадачами. Если задача создается рабочим процессом «запуск проекта», это выполняется автоматически, поскольку столбец «ссылка» автоматически связывает эту задачу с элементом создания ... который в данном случае является «проектом a» - достаточно просто. Однако из-за моей НЕОБХОДИМОСТИ для дополнительных подпунктов в отдельном списке с их собственными рабочими процессами ..... я теряю эту ссылку.

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

Мне кажется, я слишком много думаю об этом решении и больше не вижу леса за деревьями.

1 Ответ

0 голосов
/ 30 августа 2011

К сожалению, я думаю, что ваше решение - перестать использовать SharePoint Designer для этого рабочего процесса.Либо посмотрите на покупку стороннего продукта рабочего процесса для SP2007, либо создайте функцию рабочего процесса в коде с помощью Visual Studio.

Вы хотите попасть в положение, когда 1 рабочий процесс может выполнять все, о чем вы говорите: запуститьпроект и создайте 4 параллельные ветви, каждая из которых создает задачи именно так, как вам хотелось бы (со столбцом проекта), а не очень ограниченные возможности, которые есть в SPD.

...