在企業的簽核單據中,經常會有多個人一起簽核意見的情況,當然我們也可以一個個依次貼入多個活動元件來讓個別的對象簽核,但這樣會有時效性的問題,就是必須上一個人簽完後才能讓下一個人簽核,因此,在EEP WF的系統中,我們
提供了一個
ParallelActivity活動元件來專門處理這種多個對象同時簽核的情況,這種活動會平行觸發多條方向同時簽核,可以提高企業的運作效率。另外,此活動元件中也可以設定多個活動是「AND」或「OR」的關係,一般沒有設定都是代表「AND」,就是所有活動中都必須全部簽核才能到下一個活動(我們稱之會簽功能),否則會一直等待簽核;「OR」則代表平行的活動中,只要有一人審核了,就自動往下一個活動(我們稱之為平行簽核),端看你的流程需求而定。
Step1>在原來的Customers.Xoml當中,經過主管審核後,我們希望這個客戶的申請能指派一個服務窗口給他,因為服務窗口的指派與信用審核不衝突,因此,我們在主管審核後分流同時進行服務窗口與信用審核的指派,並且在信用審核與服務窗口指派都必須被簽核過關後,才會進入「通過通知」的活動中,為此,我們特別在Customers這個資料表中,增加了ServiceRole欄位(nVarchar 20),代表服務窗口的角色代號(Groups的GroupID),如下:
Step2>因為SCustomers.dll這個Server端的模組,之前我們是使用「Select * From Customers」的方式下達SQL語句,因此SCustomers.dll就無須重新編譯,即可取出新的ServiceRole欄位。接著,我們打開CCustomers這個專案,並將之前的CCustomers.cs的表單打開,如下圖,我們用Mouse將idCustomers這個InfoDataSet點兩下,會出現一個「DataSet Column Selector」的視窗,然後,我們可以選擇Customers這個Table的ServiceRole這個新欄位拖入表單當中,如果你Customers中找不到ServiceRole欄位者,可以將idCustomers的「Active」屬性先設為False,在設為True即可,如果還是不行,就須對SCustomers.dll重新編譯。另一個要注意的就是「服務窗口」的資料字典由來,你可以事先在「EEPManager」的「Data Dictionary」中事先定義即可。
Step3>重新對CCustomers這個專案編譯,即可得到最新的CCustomer表單。
Step4>以FLDesigner打開Customers.Xoml,首先在「主管審核」與「信用額度審核」間拖入ParallelActivity活動元件,如圖,拖入後,請立即將「信用額度審核」的IfElseActivity活動元件整個拖入右邊的ParallelActivity間(在sequenceActivity2的下方)。注意,ParallelActivity的「Description」是用來設定是否為會簽或平行簽核,設為「AND」代表為會簽,設為「OR」代表為平行簽核,預設為AND。
Step5>接著,我們再拖入一個FLStand標準活動於ParallelActivity的左方(在sequenceActivity1的下方),如圖,我們按下文來設定此活動元件。
現將這個FLStand的活動元件,屬性設定如下:
(Name):活動名稱,直接輸入中文指定服務窗口。
FormName:請選擇一個Windows的表單名稱,同樣選CCustomers .CCustomers 這個表單。
NavigatorMode:設定打開此表單後,要控制其Navigator的進入的狀態,此活動因為要能夠讓其對象可以更改,因此我們設定為Modify,代表可以對資料進行更改的動作 (不能新增/刪除/查詢資料等等),目前是可以更改所有欄位,如果要控制只能輸入ServiceRole欄位,我們將在進階設計中來說明如何控制。
FLNavigatorMode:在此設定為Approve,代表將顯示「審核」與「退回」的按鈕,而不是Summit的「上呈」按鈕。
SendToKind:活動的對象種類,我們設定為 Role,代表此活動指定了一個特定的角色來指定服務窗口的動作。
SendToRole:活動的簽核角色,當本活動設定SendToKind為Role之後,就必須在SendToRole中來定義簽核角色。因為我們是要交給客服經理來負責服務窗口的指定,因此我們設定為R05,可以透過此SendToRole右方的下拉選項來選擇角色代號。
最後別忘了對此Customers.Xoml進行存檔。
Step6>同樣以003這個User來登入EEPNetFLClient中,與之前一樣,打開「客戶申請」這個Customers.Xoml後,點選「客戶申請」這個活動來打開CCustomers這個表單,接著我們輸入一筆客戶資料,如下:
其中,信用額度我們輸入11萬,目的是為了不經過總經理審核,但又需經行政經理信用審核,服務處窗口我們暫時不輸入。最後我們按下「上呈」後,會自動送往R02業務經理待辦中。
Step7>使用005登入EEPNetFLClient,再從「待辦事項」中找到C007這個申請單,在待辦事項中以右鍵選擇「Approve」來直接審核,如圖,當按下「確認」時,系統會告知同時送往 R05客服經理(指定服務窗口),與R03行政經理(信用審核)等兩個活動,代表此兩個角色會同時收到此單據。
Step8>我們先使用002登入EEPNetFLClient,再從「待辦事項」中找到C007這個申請單,在待辦事項中以右鍵選擇「Approve」來直接審核,如圖,當按下「確認」時,系統會告知「等待對象」R05(客服經理),此代表在會簽當中,不管有多少對象,系統會清楚告知還要等待多少對象。
此會簽會有一個現象,只要其中一人選擇退回,就會全部退回上一關,上一關再次送出後,所有人都需要再審核一次。
Step9>接著使用007登入EEPNetFLClient,再從「待辦事項」中找到C007這個申請單,在待辦事項中以右鍵選擇「Open」來打開此單據,如圖,可以按下「更改」來更改「服務窗口」的欄位,此時我們設定為R04,代表指定某一個工程師的角色,為了配合下一節的動態角色,我們在此還是輸入角色代號,不然一般情況下,都會以USER代號為主。
更改後按下「存檔」,最後按下「審核」,因為後面只剩下申請者003的通過通知活動而已,因此系統會告知本流程已結案的訊息。
Related Topics