SharePoint 2013 實現多級審批工作流


上一篇介紹了安裝和配置SharePoint 2013 Workflow,這一篇將用SharePoint 2013 Designer Workflow來實現一多級審批工作流。

審批工作流介紹

這個Demo是基於多級審批工作流。以古代上傳奏折為場景,共分為3個階段。當創建者上傳奏折時,首先會由對應的上級領導審批,審批通過,交付對應的下一級,審批拒絕時,則整個流程結束,具體的官階信息如下所示:

然后,我們預先設定,以文檔庫來作為我們的上報奏折庫,所以我們需要為其設定自定義的多級審批工作流。最后創建自定義的Task來存放待審批的任務。

創建多級審批工作流

  • 首先,我們可以創建多個審批Stage(階段),每一階段處理不同的流程,如下所示:

  • 接着,在Starting Stage,插入Set Workflow Status(設置工作流狀態),輸入"審批中",然后再插入Set Workflow Variable(設置工作流變量)來創建一個新變量,如下所示:

  • 然后,點擊新建的變量(Approver)的Value鏈接,選擇Define workflow lookup(定義工作流查閱項)Function,為了得到當前用戶的上級領導,故在彈出的窗體中設置以下值:

  • 接上一點,一級審批者通過后,需要將任務分配給二級審批者,和上操作一樣,不同之處是需要將查詢條件換為FirstApprover,具體實現如下圖所示:

  • 然后,我們需要最重要的一步,分配審批任務給待審批人,所以需要插入另一個Activity:Start a Task process(開始任務進程),點擊these users(這些參與者)鏈接來負責啟動任務,具體參數如下所示:

  • 最后,插入IF…ELSE條件,當審批為Approved時,跳轉至Approved Stage,否則,跳轉至Rejected Stage。如下所示:

  • 因為,我們工作流最終目的是實現多級審批,即一級審批通過,交給二級審批人,依次審批下去。當審批拒絕時,工作流結束,所示稍稍完善下上面的實現方式,具體流程如下實現:

  • 為了讓分配的任務更加細化,讓每人只能看到自己的任務,需要在Task中設置Filter,如下所示:

查找工作流異常

工作流發生異常很難找到, SharePoint 2013 Designer Workflow當發生異常時會拋出異常,比如500錯誤。排查這個異常非常麻煩,需要你的經驗法則。比如在Workflow Management數據庫中存在一張表DebugTraces會記錄發生的錯誤,如下所示(Name為中文情況下,SharePoint會自動分配16進制的編碼來表示Name,這樣可能會發生一些意想不到的錯誤):

測試工作流

在文檔庫中上傳一個奏折,將啟動工作流,如下截圖所示即為3級審批工作流審批流程日志:

小結

細心的朋友已經發現了,我沒有去控制Task的權限,而是用了Filter來進行過濾。事實上,在Task任務庫中,每個人(而非指定的Assign To對象)都可以啟動(編輯、刪除)任務。所以怎樣用SharePoint Designer 2013去打斷權限繼承,只給Assign To的用戶分配編輯權限,這實在讓我很糾結。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM