在一般情況下,作業流程都是事先規劃好並被XOML事先定義好了,但有些流程是無法事先定義好的,必須由呈送者來指定呈送流程,因此如果要滿足動態決定的流程,就須透過FLDetails來動態設定流程的步驟與其呈送對象。下文中,我們將此客戶申請流程改用動態的決定方式,交給申請者自行決定流程,如下的設計步驟:
Step1>先準備好一個CustomerFLDetails這個Table,結構如下:
其中Primary
Key主鍵欄位設定為 CustomerID; SeqID。
SQL語法如下:
create table CustomerFLDetails
(
CustomerID nchar(5) not null,
SeqID nvarchar(2) not null,
RoleID nvarchar(10) null,
Parallel char(1) not null,
constraint PK_CustomerFLDetails PRIMARY KEY(CustomerID,SeqID)
)
Table創建完成以後,在EEPManager.exe/DataDictionary中新增CustomerFLDetails這個table,並對其做如下設定:
FieldName |
Caption |
Control Type |
CustomerID |
客戶編號 |
|
SeqID |
次序 |
|
RoleID |
對象角色 |
RefValBox |
Parallel |
會簽處理 |
|
Step2>接著使用Server Wizard產生一個名為SCustomers2的Package,其中選擇Customers為主檔,CustomerFLDetails為明細檔,Customers.CustomerID與CustomerFLDetails.CustomerID作為Relation。
手動在SCustomers2上添加一個名為Roles的InfoCommand如下圖:
設定好后,重新建置。Build完成SCustomers2.DLL後,在EEPNetServer中將此DLL註冊到PackageManager中。
Step3>使用JQuery Web Wizard產生一個JQueryMasterDetail1為Template的Web Form,我們將其命名為WCustomers2,產生時,Details選次序、對象角色和會簽處理三個欄位即可,次序則為動態產生活動的順序,對象角色使用RefValBox用選的(在D.D.中定義),會簽處理如果為’Y’代表該活動與上一個活動為平行會簽。產生完成後,同樣將JQDataForm的IsShowFlowIcon更換為True。
Step4>進入 FLDesigner.exe,打開 CUSTOMERS.XOML,將原來的「信用審核流程」(FLSubFlow)刪除,改用FLDetails,並將其命名為「客戶資料簽核」。
接著,我們進行屬性設定,定義如下圖,這裡要說明如下的屬性:
DetailsTableName:FLDetails活動元件參照Table名稱;
RelationKeys:主檔Table與FLDetails活動元件參照Table名稱關聯欄位;
ParallelField:會簽參照欄位,當此欄位的值為”Y”,代表該活動與上一個活動為平行會簽;
SendToField:簽核指定角色欄位。
為了配合這個流程的設定,請將Customers.xoml中的其他活動的WebFormName都改成WCustomers2這個Web表單。
Step5>以003為User 等入「Logon.aspx」打開「客戶申請」即CUSTOMERS.XOML,開啟WCustomers2.aspx,輸入如下 C020資料,在Detail中輸入三個角色,前兩個客服經理與專案經理為會簽,往下則還有行政經理簽核等。輸入完畢後將資料上呈至005。
003送出後,同樣會呈送給005業務經理,當005業務經理審核後,則透過FLDetails首先會送出給007客服經理及010的專案經理,等這兩位一起會簽完畢後,會繼續給002行政經理來簽核,最後等002簽核完畢才會送出通過通知,並結束該流程。
Related Topics