Dynamics 365 Business Rule的Scpoe問題

    Business Rule是個好東西,可以減少很多開發量,將一些簡單的功能通過配置就可以實現,但在用這個功能的過程中因爲了解不透也可能帶來麻煩。

    本篇要分享的是關於Business Rule中的Scope問題,在這個功能剛出來之前規則只對Form生效,但不知道哪個版本開始加入了Entity這個Scope,Entity的加入有好有壞,看你使用是否恰當。

    可以看到下圖中這個rule,設置了entity scope,並且設置了字段的隱藏於顯示,因爲開發人員的粗心,本身一個if else顯示與隱藏的規則,結果都設置成了顯示,導致的結果是本身隱藏的一個Section就因爲這條業務規則,哪怕修改一個完全無關的字段保存後都會使的這個本該隱藏的Section顯示。

     因爲這個問題被苦苦折磨半天,Rule的Scope設置成了Entity是後端執行,也就是在保存時頁面會觸發這個Rule,並且我截圖中的Rule設置了Comments始終顯示,導致頁面隨便修改一個字段保存就會觸發這個rule,該隱藏的Section就顯示出來了。

    所以如果是Scope是Form的rule一般是在你頁面字段change的時候或者是load的時候會執行,而Scope是Entity的Role是在Save完執行,現在頁面的Save不會執行Form Load,如果有些邏輯是在你保存完生效,可以考慮Entity Scope的Business Rule.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章