在实施的过程中,有时会遇到客户为了管控使用人员的操作或防止使用人员通过停用后再激活来绕开部分逻辑,需要对激活、停用按钮赋予单独的权限。但很遗憾,在Dyanmics CRM中,并没有把停用、激活按钮单独做为一项权限来进行配置,基本上,只有拥有写的权限,就可以随意激活或者停用一条记录。因此,可以考虑通过修改Ribbon按钮的Display Rule或者Enable Rule来变相地实现权限的控制。
修改Ribbon可以通过导出解决方案再编辑XML的方式,但这种方式操作繁琐且容易出错导致Ribbon无法显示,因此一般不会使用这种方式。另外有两个常用的工具可以用来帮忙编辑Riboon。
Visual Ribbon Editor:操作简单易懂,安全,但功能有限。
Ribbon Workbench:操作稍微复杂,功能强大,但可以改写很多系统预定义的功能并会执行很多有风险的操作,有可能导致Ribbon出错,所以使用前一定要备份相应的解决方案
激活与停用按钮是系统本身创建的,第一个工具无法编辑,所以这里使用Ribbon Workbench来实现。
首先,新建一个解决方案,并将要修改的实体添加到解决方案中,然后将解决方案导出并备份。
然后在系统的自定义区域打开Ribbon Workbench,打开相应的解决方案,在HomePage的Activate按钮上点击右键,Customize Button
然后在Solution Elements下的Commands中可以找到Activate按钮的Command,在相应的Command上右键选择Edit Display Rules
在弹出的页面中点击Add New添加一条新的Display Rule
在添加的Rule中添加一个Step,选择Entity Privilege Rule类型,点击Add
在弹出的页面中,EntityName填写实体名字,PrivilegeDepth选Global,PrivilegeType填写Delete
对Form以及Subgrid页面做同样的操作