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

14-5 動態流程處理

在一般情況下,作業流程都是事先規劃好並被XOML事先定義好了,但有些流程是無法事先定義好的,必須由呈送者來指定呈送流程,因此如果要滿足動態決定的流程,就須透過FLDetails來動態設定流程的步驟與其呈送對象。下文中,我們將此客戶申請流程改用動態的決定方式,交給申請者自行決定流程,如下的設計步驟:

 

Step1Table右鍵新增CustomerFLDetails這個Table,結構如下:

Table創建完成以後,CustomerFLDetails 資料表上按右鍵將此table Export to Dictionary並對其DD做如下設定:

Step2接著在Server上右鍵點選 Wizard產生一個名為SCustomers2,其中選擇Customers為主檔,CustomerFLDetails為明細檔,並以Customers.CustomerIDCustomerFLDetails.CustomerID作為Relation

 

手動在SCustomers2加入一個名為RolesInfoCommand,點選Roles在屬性中的CommandText設定如下圖:

點選Group Table 並按下Add* 鈕,在此我們只撈Group中是角色的資料因此加入Where ISROLE=’Y’的條件,按下View可以確認資料是否有誤。

確認後按下OK並將SCustomer2存檔。

 

Step3使用Webpage右鍵 Wizard產生一個以MasterDetail1TemplateWebForm,我們將其命名為WCustomer2,產生時Details選次序、對象角色、會簽處理和呈送模式四個欄位,次序則為動態產生活動的順序,對象角色使用RefValBox用選的(D.D.中定義)並設定RemoteNameSCustomer2RolesValueFieldGroupIDDisplayFieldGroupName,會簽處理如果為’Y’代表該活動與上一個活動為平行會簽,呈送模式欄位可以填入Apporve審核模式或Continue呈送模式。產生完成後,同樣將JQDataFormIsShowFlowIcon更換為True

 

Step4打開 CustomerFL,將原來的「信用審核流程」(FLSubFlow)刪除,改用FLDetails,並將其命名為「客戶資料簽核」。

接著,我們進行屬性設定,定義如下圖,這裡要說明如下的屬性:

 

DetailsTableNameFLDetails活動元件參照Table名稱這裡設為CustomerFLDetails

RelationKeys:主檔TableFLDetails活動元件參照Table名稱關聯欄位CustomerID

ParallelField:會簽參照欄位設為CustomerFLDetailsParellel欄位,當此欄位的值為”Y”,代表該活動與上一個活動為平行會簽;

SendToField:簽核指定角色欄位在此設為RoleID

NavigatorModeField:呈送模式欄位參照,設為CustomerFLDetailsNavigatorMode欄位,當此欄位的值可填入Approve Continue

為了配合這個流程的設定,請將Customers.xoml中的其他活動的WebFormName都改成WCustomers2這個Web表單。

 

Step5003User 登入打開「客戶申請」輸入如下2505資料,在Detail中輸入二個角色,前一個行政經理會簽,往下則還有總經理簽核等。輸入完畢後將資料上呈至005

 

003送出後,同樣會呈送給005業務經理,當005業務經理審核後,則透過FLDetails首先會送出給002行政主管等會簽完畢後,會繼續給001總經理來簽核,最後等001簽核完畢才會送出通過通知,並結束該流程。

 

 

Top of Page