前面的客戶審核流程只有一個主管審核,在多數的公司體制中是少見了,因此本節要介紹一個專門用來進行主管審核的活動元件,能根據不同的單據條件進行不同層級的主管審核,另一個就是通知的活動元件,他是用來通知申請者或其他參予的角色者來回報流程進度或狀況的特殊活動。
Step1>
在FLDesigner中將原來Customer.Xoml流程打開,如圖,我們將原來的「主管審核」刪除(點選到該活動,按下Del鍵即可刪除),改用另一個FLApprove的活動元件,同樣從活動元件區中將FLApprove拖入到原來的位置上:
現將主管審核的活動元件,屬性設定如下:
(Name):活動名稱,直接輸入原來的主管審核。
NavigatorMode:此活動為審核的狀態,因此我們將其設定為Normal,代表不能對資料進行更改的動作(不能新增/更改/刪除/查詢資料等等)。
FLNavigatorMode:在此固定為Approve,不能更改設定,代表將顯示「審核」與「退回」的按鈕,而不是Summit的「呈送」按鈕。
SendToKind:活動的對象種類,我們設定為Manager,代表此活動會根據上一個活動者來找到其主管並進行審核。
ApproveRights:主管審核的授權等級設定,在前面的組織中,我們都有設定每個主管的職級,因此,透過這個屬性,就是要來設定什麼樣的條件下,要授權給那一種職級的主管去簽核,由於我們上文中所設定的組織只有兩層,最高為總經理,部門主管為經理的職級,因此我們依照下文來設定兩個職級。
設定時,是在ApproveRights的右方按下「…」的按鈕,並進行設定。
加入一個成員如下圖,設定Expression為True代表沒有條件,所有的申請者,都必須給職級為經理去審核,但如果其主管高過此職級,則可以跳過本職級審核。
另外再加入一個成員,設定為總經理職級條件,我們設定Expression為CreditAmount>=200000,代表除了經理審核外,如果該信用額度超過20萬者,將交由總經理審核。
WebFormName:請選擇一個Web的表單名稱,同樣選擇MobileClient.mCustomersFL這個表單,最後,我們重新將Customers.Xoml存檔即可。
Step2>
同樣用網站來執行測試,同樣使用003 (角色:R01業務)來Login,點選「客戶申請」,接著我們輸入一筆客戶資料,此筆資料的信用額度輸入為25萬,並按下「呈送」後,依照FLApprove活動,會先呈送給003的主管R02(業務經理),USER則為005,如下:
Step3>
使用005登入,再從「待辦事項」中找到0004這個申請單,然後審核,如圖,因為005簽核後,FLApprove會根據ApproveRights屬性來找下一個可能要簽核的主管,因為此客戶的信用額度為25萬,超出ApproveRights所定義的20萬必須經過總經理簽核的條件,因此,往下就呈送給R00(總經理)這個角色(使用者代號是001)。
Step4>
使用001總經理登入網站,同樣從「待辦事項」中找到0005這個申請,因為超過15萬,所以後面還要經過R03行政經理審核,當然,正常的流程應該將總經理的審核放在行政經理審核之後,如果要這樣處理,必須讓FLApprove的ApproveRights不要設定到總經理,先經過單位主管審核(可能有多個),再到財務部門進行信用審核,最後才讓總經理審核,這樣將較為合理,在此我們只是範例說明工作流程的運作,因此我們不做調整。
Step1>
接著要來說明FLNotify的使用方式,我們在Customers.Xoml的例子當中,當申請者申請的客戶通過審核時,並不會被告知的,只能消極在「經辦事項」中查詢,如果沒有出現在「經辦事項」中就代表已經通過審核了,因此,我們如下圖在流程結束前貼上FLNotify活動,這樣就可以在流程結束前,發出一個通知的待辦給上呈的申請者,此通知活動有個重要的特性與其他的活動不太一樣,就是他只是會發生一個『通知的待辦』,不管該對象是否有處理(審核或過目),流程引擎都會繼續往下執行,不會理會通知的對象。在這個例子中,流程引擎發生給上呈者通知待辦後,會立即結案該流程。
現將通知的活動元件,屬性設定如下:
(Name):活動名稱,直接輸入中文通過通知。
NavigatorMode:在此固定為Normal,代表不能對資料進行更改的動作(不能新增/更改/刪除/查詢資料等等)。
FLNavigatorMode:在此固定為Notify,不能更改設定,代表將顯示「通知刪除」與「通知」的按鈕,其中「通知刪除」是代表將此通知的待辦刪除,因為如果不刪除,通知待辦將會越累積越多;另一個「通知」的按鈕是可以將此通知再通知給其他的使用者或角色等等。
SendToKind:活動的對象種類,我們設定為 Applicate,代表此通知活動會根據最原始的申請者來通知其對象,也可以使用AllRoles來通知所有參與本簽核的所有角色。
WebFormName:請選擇一個Web的表單名稱,同樣選擇MobileClient.mCustomersFL這個表單。
最後,我們重新將 Customers.Xoml存檔即可。
Step2>
這次我們改用006 (角色一樣是R01業務)來Login,點選「客戶申請」,接著我們輸入一筆客戶資料,輸入的客戶0007中,為了簡化流程,我們將信用額度設為30000。最後按下「呈送」,因為006的主管也是R02(業務經理),因此同要送到R02的待辦上,如下:
Step3>
使用005登入,再從「待辦事項」中找到0005這個申請單,如圖,005簽核後,因為此客戶信用額度只有3萬,因此不必經過總經理與行政經理的審核,將會直接結束流程。
Step4>
流程雖然已經結束,但透過FLNotify活動,在申請人006本身,已經有一個通知的事項在那,我們再用006登入,從「通知事項」中找到0005這個通過通知,如圖,最後將此單據打開,並且使用「通知刪除」來將此通知事項刪除,或是打開單據後選取刪除工作流來將此通知刪除。
Related Topics