第 3 章Workflow基礎設計實作第 3 章Workflow基礎設計實作\3-5動態的參考角色

3-5動態的參考角色

 

 

前面所使用的活動對象大都是固定的角色或是呈送者的直屬主管,但有些特殊情況下,會用到動態的角色,無法事先知道要送往哪一個對象,我們可以從FLStandardFLApprove的「SendToKind」屬性中來了解動態的參考角色意義。其中共有RefRoleRefManager兩種參考角色,前者RefRole代表簽核的對象為該單據的某一個指定欄位內容,如上例中的ServiceRole欄位就存放著一個角色的代號,是在簽核過程的「指定服務窗口」時才被決定為R04,如果下一個活動被設定為RefRole者,將會送往該欄位所指定的角色R04的待辦中;後者RefManager則代表會送往該欄位指定角色的直屬主管,如上例中服務窗口為R04,則會送往R04的主管,依組織設定則為R05

 

Step1沿著Customers.Xoml流程往下做,在FLDesigner打開Customers.Xoml,在「指定服務窗口」下方拖入一個FLStand標準活動,目的用來讓服務窗口確認,因為服務窗口是動態決定的,因此就必須使用到RefRole的型態,如圖。

 



現將這個FLStand的活動元件,屬性設定如下:

(Name):活動名稱,直接輸入中文服務窗口確認

 

FormName請選擇一個Windows的表單名稱,同樣選擇CCustomers.CCustomers

這個表單。

 

NavigatorMode:設定打開此表單後,要控制其Navigator的進入的狀態,此

活動是不允許更改的,所以我們設定為Normal,代表不可以對資料進行任何

的動作 (不能新增/更改/刪除/查詢資料等等)

 

FLNavigatorMode在此設定為Continue,代表只顯示「上呈」的按鈕,而

不會顯示「審核」與「退回」的按鈕,目的就是讓此活動可以讓該角色得以確認,按下「上呈」的按鈕後即可讓流程往下持續。

 

SendToKind活動的對象種類,我們設定為 RefRole,代表此活動指定了一個動態的參考的角色,必須另外定義SendToField來指定哪一個欄位名稱存有該參考角色的內容。

 

SendToFieldSendToKindRefRoleRefManager時,即用此屬性來定義一個欄位名稱,用來存放該活動的對應角色,在此可以下拉選擇欄位名稱,我們選 ServiceRole這個欄位。


最後在FLDesigner中將本Customers.Xoml存檔。

 

Step2同樣以 003這個User來登入EEPNetFLClient中,與之前一樣,打開「客戶申請」這個Customers.Xoml後,點選「客戶申請」這個活動來打開CCustomers這個表單,接著我們輸入一筆客戶資料,如下:



我們將信用額度輸入為5萬,可以免簽總經理與行政經理,以簡化簽核流程。

 

Step3使用005登入EEPNetFLClient,再從「待辦事項」中找到C008這個申請單,在待辦事項中以右鍵選擇「Approve」來直接審核,當按下「確認」時,系統只會告知送往R05客服經理(指定服務窗口),因為信用額度不超過10萬,所以不會送往R03行政經理(信用審核)的活動中。

Step4接著使用007登入EEPNetFLClient,再從「待辦事項」中找到C008這個申請單,在待辦事項中以右鍵選擇「Open」來打開此單據,如圖,可以按下「更改」來更改「服務窗口」的欄位,此時我們設定為R04,代表指定某一個工程師的角色,因為R04(工程師)有兩個USER(分別為004011),因此會有兩個工程師收到待辦,如果你希望「服務窗口」必須為一個工程師負責,你就必須將004011User設定成不同的角色(Groups),如設定成R04A代表004R04B代表011就可以做到。



更改後按下「存檔」,最後按下「審核」,因為後面活動是根據ServiceRole來決定的,因此系統會告知已經送往 R04 (工程師),對象有004011等。

 

Step5我們使用004登入EEPNetFLClient(使用011登入也可以),再從「待辦事項」中找到C008這個申請單,在待辦事項中以右鍵選擇「Open」來打開此單據,如圖,因為此FLNavigatorContinue ,所以只能往下呈送,呈送後往下為『通過通知』活動,所以不會停在申請者的待辦上,會自動將流程結案。

 

 


 

 

Top of Page