PreviousNext
Help > 表單 > 表單狀態 > 明細表拆分
明細表拆分

有時要求明細表在流程審批的特定環節只能看到其中的一部分資料。

比如:某路由器分銷公司,代理3個品牌:H3CZTECISCO,每個品牌的報價分別由不同部門負責,在處理客戶訂單時,訂單中可能包含各種品牌的路由器,流程處理時,需要按品牌拆分明細表,由不同部門分別處理相應的銷售條目。

明細表拆分可以通過設定達成,對於複雜的拆分邏輯也可以撰寫程式碼做到。


 

拆分效果

H3C處理環節,只能看到明細表中H3C產品項目。


 

通過設定達成

在節點屬性中的“資料控制”頁籤可進入“明細表過濾”設置介面,對相應欄位設定過濾值即可。

本例中使用變數過濾,也可以在開窗中選擇其他過濾值,比如表單欄位和處理人帳號、部門、擴展屬性匹配。


 

程式碼過濾

當過濾條件複雜時,還可以使用程式碼過濾。

使用程式碼過濾時,在節點屬性\事件頁籤\OnFiltering事件中撰寫相應程式碼即可。

過濾時只需對明細表資料按行迴圈,對不可見的行設定row.Visible = false即可。

本例程式碼:

FlowDataTable table = Context.Current.FormDataSet.Tables["PurchaseDetail"];

 

foreach(FlowDataRow row in table.Rows)

{

    string prodCode = Convert.ToString(row["ItemCode"]);

    if (prodCode.StartsWith("1")) //H3C產品編碼以“1”開頭

       row.Visible = true;

    else

       row.Visible = false;

}