2011-08-22 115 views
-1

小背景:我爲一家公司工作,該公司爲具有許多「同時」運行任務的項目生產具有工作流程的產品。對於這個討論,可以說項目A創建了4個子項目。Sharepoint Designer 2007 - 工作流程和輔助工作流程關係

主項目和4個子項目工作流都將在主任務列表中創建任務。我遇到的主要問題是如何將子項目工作流創建的任務關聯回主項目。

例如:

項目A在項目列表中創建。該列表有一個與其關聯的工作流程,稱爲「項目啓動」。這個工作流程是一個手動啓動工作流程,當它啓動後,將在子項目列表中創建四個子項目 - 這些子項目需要同時運行,因此爲什麼我使用自己的工作流程在次級列表中創建它們。子項目列表有4個與其關聯的工作流程來管理4個子項目 - 在子項目列表中創建子項目時,每個子項目都會「自動啓動」。

所以無論如何,以節省一些打字我將把子項目爲單元1 - 4

創建項目A和手動啓動它的工作流程。項目啓動工作流程會在子項目列表中創建單元1,單元2,單元3和單元4項目(同時,因爲如前所述,這些項目需要同時運行)。每個單位經理工作流程開始並開始在任務列表中創建他們的待辦任務。我正在使用「分配待辦事項」任務活動,因爲我需要知道工作流程通過其步驟完成的工作是否已完成。

一旦完成了所有4單元工作流程,項目開始工作流程現在將開始在完成其他任務項目(經理批准等)之前管理項目的最後部分。


現在我遇到的問題是,我已經設置了任務列表視圖中顯示該「稱號,開始日期,結束日期,完成狀態和鏈接」欄。鏈接列顯示引用回創建列表項的鏈接。對於本例,單元1管理器工作流程在由項目A創建的單元1項目上運行。因此,對於由單元管理器工作流程創建的「示例任務1」,鏈接爲「單元1」。這並不完全有幫助,因爲當有人看着他們的任務列表時,他們可以從多個項目中獲得多個「示例任務1」。將UNIT 1顯示爲參考主項目對用戶而言意味着什麼。我想要顯示的是主項目標題,以便他們可以按項目對他們的任務進行排序。按「Unit x」排序意味着什麼。

現在我最初的解決方案是在任務列表上創建一個「項目」列。在本專欄中,我可以創建另一個子工作流程,它將完成查找和引用工作流程和項目標識以查找最初創建的項目,並將此新「項目」變量設置爲啓動主項目(項目a - for這個例子)。該工作流程正常工作!

但是,這似乎是MOSS 2007中「並不少見」的問題,如果在任務列表上運行此子工作流程可以(並且已經)創建了多個鎖定錯誤,從而顯示 - 「此項目無法修改爲它被已經運行的工作流程鎖定「。此錯誤會將工作流程暫停,並且不是可恢復的錯誤。我研究了這個錯誤,這是一個不可避免的錯誤,沒有單一的,易於部署的解決方案。它與後端數據庫以及它如何/何時存儲更新任務項目變量等有關。一旦工作流鎖定,就完成了。

所以,我真正需要的是一個聰明的解決方案,主要項目上與任何及所有子任務相關聯。如果任務是由「項目啓動」工作流程創建的,那麼這是自動完成的,因爲「鏈接」列自動將此任務與創建項目...在本例中是「項目a」 - 很容易。但是,由於我需要額外的子項目在單獨的列表中,並且有自己的工作流程.....我失去了這個參考。

有沒有辦法從子項目列表的工作流程,主要項目上創建的任務,而不必調用另一個subworkflow來設置該變量關聯。 (即:避免「此項目被正在運行的工作流程鎖定」問題的方法)。

我想我想得很難對這個解決方案,不能再只見樹木不見森林。

+1

坦率地說,沒有人會讀這個。如果你儘可能地濃縮你的問題,你會得到更好的結果。 – James

+0

儘量儘可能地濃縮它,同時儘可能多地留下相關信息。對於這種特殊的解決方案有一些要求,對於其他類似情況並不「普遍」。因此,這篇文章爲何比大多數文章長一些。 –

回答

0

不幸的是我認爲你的解決方案是停止使用SharePoint Designer來完成這個工作流程。可以考慮爲SP2007購買第三方工作流產品,或者使用Visual Studio在代碼中構建工作流功能。

你想要去的位置,其中1點的工作流程可以做你談論的一切:對項目運行,並建立4個並行分支,每個創建任務你到底如何想(與項目列),而比您從SPD獲得的選項非常有限。