Dynamics 365-關於BPF的進一步探究
阿新 • • 發佈:2018-11-09
art 對象 以及 back con 結構 當我 contex xaml
關於BPF是什麽,以及如何在CRM中配置BPF,可以參閱熊宸大神的博客Dynamics 365 Business Process Flow -- 讓你不再懼怕復雜的業務流程!
1. CRM中發生了什麽
在你成功構造了一個BPF之後,只有執行Activate操作才會真正生效,而在Activate的過程中,CRM系統會自動地在環境中新建一個此BPF相關的Entity。
而Entity的logical name就是你新建BPF的時候填寫的Name
上面的coco test是BPF關聯的Entity,每一條coco test記錄都會有一個ByronDemo BPF記錄生成
2. 獲取關於BPF的詳細信息
寫關於BPF相關的定制,或多或少都要涉及到stage的操作,那麽首先需要知道的,就是這個BPF有哪些Stage,Id又是多少。
BPF其實是一條Process記錄,那麽跟獲取其它Entity的記錄的類似,直接Retrieve
1 Entity processRecord = crmProxy.Retrieve("workflow", 2 new Guid("1310e211-ee01-4a93-92cd-ccd87689c82a"), 3 new ColumnSet(true));
返回的Entity對象,可以從兩個字段獲取Stage信息以及Step信息,一個是xaml,一個是clientdata。
一個是xml結構對象,一個是json結構對象。這裏把json對象展開來看看,我例子中是兩個stage,但是系統會默認多一個,也就是說,第一個stage並非我業務相關的。
那麽這個stageId有什麽用呢?CRM提供的API,如果涉及到具體的stage操作,參數就需要這個Id。比如下面這個API:
formContext.data.process.setActiveStage(stageId, callbackFunction);
當我們需要前臺定制更新某條記錄的BPF Stage的時候,要註意BPF的更新是個異步方法,在API的CallBackup方法裏,不要忘記加上refresh操作。
Dynamics 365-關於BPF的進一步探究