2009-08-13 66 views
3

在文檔庫上運行工作流程時發現了一點問題。當你點擊新文檔時,它會在這個例子中打開微軟的單詞。你將一些東西寫入文檔然後將其保存到庫中。與庫相關聯的工作流程,在這種情況下是一個本地生成的審批工作流程,現在已開始運行,該清單項目已創建。然而,問題在於文檔仍處於打開狀態,因此需要檢出,直到用戶關閉文字。如果工作流程的第一件事是設置此列表項目上的其他字段,例如將審批狀態設置爲「掛起」,那麼這將會出錯。它錯誤,因爲文檔被檢出。在工作流程啓動時在SharePoint中籤出文檔

我試圖讓工作流等待文檔被檢入,但這是我失敗的地方。我正在嘗試一個OnWorkflowItemChanged活動,並在檢查所做的更改的代碼中檢查了文檔,因此在此之後,我可以繼續執行其餘的工作流程。問題在於,這項活動似乎並未將檢入事件視爲變更。這種做法是有道理的,因爲關閉自動檢查它的文檔實際上並不會改變任何項目字段。

因此,我需要在我的工作流程內部找到一些方法來檢測檢入事件,但在此之前請等待我的位置。

回答

1

的修復程序,這是有工作流程結賬的文件,進行任何更改,然後籤回。

在代碼中,你將與一個自定義事件處理程序做到這一點。查看Sharepoint SDK或MSDN以獲取有關對象模型的信息。

在SharePoint Designer中設置您的工作流程看起來像這樣:

選中「自動啓動新項目時會創建此工作流」或「自動啓動新項目時會創建此工作流」或選擇這兩個選項。

接下來打。

在接下來的頁面中將條件部分留爲空白。

在操作設置設置您的工作流程看起來像這樣:

 
Check out item in <Current Item> 
    then Wait for <Whatever fields you need to be set or actions you need> 
    then Check in item in <Current Item> with comment: <Comment> 

你可以打破這種伸到步驟以及。例如:

 
Step One - Check out current item 
Step Two - Custom stuff you need to do 
Step Three - Check in current item
+0

想想也許你打算說「物品更新」而不是「新物品被創建」兩次。我會編輯它,但它抱怨格式不正確的代碼,我無法提交它。 – xdhmoore 2012-05-02 17:27:12

相關問題