PreviousNext
Help > 流程 > 彈性流程 > 複雜條件
複雜條件

流程條件節點通常通過選擇設定即可完成,但有時條件比較複雜,簡單設定無法完成。

可手動輸入條件運算式,完成複雜條件的配置。

條件運算式為C#語法,可滿足各種複雜業務邏輯需求。

多條件

可以使用 &&(與)、||(或)、(、)進行多條件組合運算。

(Convert.ToString(FormDataSet["Purchase.Type"] ) == "固定資產" && (Decimal)FormDataSet["Purchase.Amount"] <= 50000) ||

(Convert.ToString(FormDataSet["Purchase.Type"] ) == "生產資料" && (Decimal)FormDataSet["Purchase.Amount"] <= 1000000)


 

程式碼

支持if…else等程式碼。

if ((Convert.ToString(FormDataSet["Purchase.Type"] ) == "固定資產" && (Decimal)FormDataSet["Purchase.Amount"] <= 50000))

   return true;

else if ((Convert.ToString(FormDataSet["Purchase.Type"] ) == "生產資料" && (Decimal)FormDataSet["Purchase.Amount"] <= 1000000))

   return true;

else

   return false;

明細表

依據明細表內容判斷。

foreach(FlowDataRow row in Context.Current.FormDataSet.Tables["PurchaseDetail"].Rows)

{

    if(Convert.ToString(row["ProdType"]) == "軍品")

        return true;

}

return false;


 

外部系統資料

和外部系統資料比較。

(Decimal)FormDataSet["Purchase.Amount"] <= MyBPM.GetSAPVar(Context.Current.LoginUser.Account,Convert.ToString(FormDataSet["Purchase.ProjectCode"]),"Budget")