第 5 章Workflow 進階設計第 5 章Workflow 進階設計\5-7動態流程處理

5-7動態流程處理

 

 

在一般情況下,作業流程都是事先規劃好並被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簽核完畢才會送出通過通知,並結束該流程。

 

 

 

 

 

 

 

 

Top of Page