Dynamics CRM - 使用 JavaScript 操做 Business Process Flow

整理了一下一些與 BPF(Business Process Flow)相關的 JS 操做:

爲 Stage 添加 changed 或者 selected 事件:react

function fnOnLoad() {   Xrm.Page.data.process.addOnStageChange(fnStageChanged);//change 事件,跳轉到當前 Stage 時觸發
   Xrm.Page.data.process.addOnStageSelected(fnStageSelected);//select事件,選中當前 Stage 時觸發
 } function fnStageChanged(execContext){   var currentStage = execContext.getEventArgs().getStage();//獲取當前Stage

  //其餘操做
 }

 

獲取當前 Stage:api

var activeStage = Xrm.Page.data.process.getActiveStage();

獲取當前 Stage 的名稱:wordpress

var sName = activeStage.getName();

獲取當前 Stage 的狀態:函數

var oStatus = activeStage.getStatus();    //active or inactive

更多相關的 api 能夠參考:url

https://adisys.wordpress.com/2017/01/03/dynamics-crm-scripting-for-business-process-flows/spa

 獲取 Stage 下的字段名(step):.net

//"header_process_sFiledName",可用F12查看,若存在同名step,系統會自動在後面累加數字,好比:"header_process_sFiledName_1"

對 Stage 中的字段加鎖(設置只讀):code

Xrm.Page.getControl("header_process_sFiledName_1").setDisabled(true);

設置 BPF 的狀態:orm

Xrm.Page.data.process.setStatus("finished");//set finished,BPF流程已經完成

獲取 BPF 的狀態:blog

var oStatus = Xrm.Page.data.process.getStatus(); oStatus == "active";   //BPF處於active狀態,未finished
 oStatus == "finished"; //BPF處於finished狀態
 oStatus == "aborted";  //BPF處於abandon狀態,灰色不可編輯

abandon 一個 BPF,整個流程會變成灰色,不可操做:

Xrm.Page.data.process.abandonProcess();  //BPF處於finished狀態時,不能夠執行abandon操做,會報錯

reactivate 一個 BPF,將已經 abandon 的 BPF 恢復到 active 狀態,可編輯和操做:

Xrm.Page.data.process.reactivateProcess();

Note:利用 JavaScript 對 Business Process Flow 進行 abandon 或者 reactivate 須要在 Form 的 OnSave 事件執行完畢以後,能夠利用回調函數(call back)來完成。

相關文章
相關標籤/搜索