前段时间微软发布了Dynamics 365,这是Dynamics产品的又一次大的变动,期待新的版本能够更好的满足客户的需求,同时提供更多的可定制化的内容。
近期做Dynamics CRM项目遇到很多审批的业务,用户A提交审批给用户B,这时如果审批记录没有做分派即审批记录的负责人没有发生改变,通常情况下都会把审批记录对申请人不可编辑。
常见的做法是:依据记录的审批状态,在记录页面加载时使用JS方法,遍历停用页面上的所有控件。
但会遇到一个问题,子网格是无法停用的,子网格右上角的”+”仍然可以点击,仍然可以在子网格中直接删除关联记录,该如何处理呢?
我接触到处理方法:
1、 在页面加载完成后,使用JS方法隐藏”+”对应的div。(这不是官方支持的方法,而且如果系统升级,随时可能失效)。
2、 对子网格实体添加插件,当用户编辑子网格数据的时候,通过插件去做检验,抛异常告诉用户该子网格不可编辑。(这种方式用户体验度不是很好,并且增加了开发人员的工作量)。
下边我以报销申请为例介绍一种官方支持的方式:
实现思路:
为 ”+” 按钮添加JS可用规则,当审批条件不是草稿时不显示。
首先,我们先看下申请页面处理后的效果,图中 报销申请:案例 = 1:N
&nb

