Dynamics 365 Business Rule的Scope问题

    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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值