【功能說明】
用途:FLProcudure是專門用來設計Workflow後端的處理程序或商業邏輯程序等,可以隨著Workflow引擎執行到此活動時被觸發執行。
【元件屬性】
Name(名稱)(string)
處理程序活動名稱,可以通過對Name的設定,來命名活動名稱,可輸入中文條件意義來命名,好讓User更直覺,單一流程中的活動名稱不能重複。
Description(活動說明)(string)
處理程序活動的說明,用來備註或說明此程序的用途,供其他開發者了解。
ModuleName(Server模組名稱)(string)
代表Server
Method所在的Server DLL模組名稱。
MethodName(方法名稱)(string)
表示所要呼叫ModuleName中的Server Method名稱。
ErrorLog(錯誤Log)(bool)
用來設定此程序如果發生錯誤時,是否要進行Log的動作。當發生Exception時,會將此Error記錄到 FLErrLog.XML中,但不管ErrorLog為True/ False除了Log到此之外,還會回應給User知道流程後端的程序已經發生的錯誤,方便User來告知系統人員。
ErrorToRole(錯誤通知角色)(string)
設定當發生錯誤時,可通知一個負責的角色。
注意事項:
在FLProcedure去呼叫ServerMethod的參數是系統固定的,與Expression的呼叫方式相似,差別多了傳遞第二個參數FlowDirection,為一個integer型態,0,代表流程已結案的處理程序(不可逆向),1代表往後流動,2代表往前流動,如退回,可以用此FlowDirection來控制處理程序的應變方案。
可以在Server
DataModule中,開發如下的Method範例:
public object[] ServerProc(object[] objParam)
{
object[] ret = new object[] { 0, 0 };
DataRow dr=(DataRow)
objParam[0]; //取得流程資料表的資料欄位
int FlowDirection = (int)objParam[1];
//取得流程方向
…. 你的流程商業處理
return ret;
}