Dynamics 365-關於BPF的進一步探究

  關於BPF是什麼,以及如何在CRM中配置BPF,能夠參閱熊宸大神的博客Dynamics 365 Business Process Flow -- 讓你再也不害怕複雜的業務流程!json

  1. CRM中發生了什麼

  在你成功構造了一個BPF以後,只有執行Activate操做纔會真正生效,而在Activate的過程當中,CRM系統會自動地在環境中新建一個此BPF相關的Entity。異步

 

  而Entity的logical name就是你新建BPF的時候填寫的Nameui

  上面的coco test是BPF關聯的Entity,每一條coco test記錄都會有一個ByronDemo BPF記錄生成spa

 

 

  2. 獲取關於BPF的詳細信息

  寫關於BPF相關的定製,或多或少都要涉及到stage的操做,那麼首先須要知道的,就是這個BPF有哪些Stage,Id又是多少。.net

  BPF實際上是一條Process記錄,那麼跟獲取其它Entity的記錄的相似,直接Retrievecode

1   Entity processRecord = crmProxy.Retrieve("workflow", 
2                     new Guid("1310e211-ee01-4a93-92cd-ccd87689c82a"), 
3                     new ColumnSet(true));

  返回的Entity對象,能夠從兩個字段獲取Stage信息以及Step信息,一個是xaml,一個是clientdata。orm

  一個是xml結構對象,一個是json結構對象。這裏把json對象展開來看看,我例子中是兩個stage,可是系統會默認多一個,也就是說,第一個stage並不是我業務相關的。xml

  

  那麼這個stageId有什麼用呢?CRM提供的API,若是涉及到具體的stage操做,參數就須要這個Id。好比下面這個API:對象

formContext.data.process.setActiveStage(stageId, callbackFunction);

  當咱們須要前臺定製更新某條記錄的BPF Stage的時候,要注意BPF的更新是個異步方法,在API的CallBackup方法裏,不要忘記加上refresh操做。blog

相關文章
相關標籤/搜索