Dynamics crm中如何根据角色隐藏高级查找中的实体
问题场景:在某些情况下我们需要限制用户查询实体,但是仍然希望对实体具有读取的权限,但在CRM中并没有单独的选项来隐藏/显示高级查找中的实体。
现 状:目前看到的方法都是将IsValidForAdvanceFind设置为false,但这就限制了所有用户都不能在高级查找中查询,所以在想能不能通过角色去控制高级查找中的实体隐藏和显示。
解决方案:打开高级查找,f12之后选中下拉框,我们可以看到下拉框的id是slctPrimaryEntity,选项值都是实体的唯一名称,所以计划对下拉选项值做处理。
首先,我们新建了一个解决方案,其中包含了"Application Ribbons"组件,以便我们可以对高级查找的按钮进行操作。由于我们没法直接对下拉框做直接操作,因此,我们在"DOWNLOAD FETCHXML"按钮旁边增加一个隐藏按钮,在隐藏按钮的Command中处理高级查找下拉框的选项值
在隐藏按钮的Command中,执行如下操作删除计划移除的实体
var select = $("#slctPrimaryEntity"); if (select.length > 0) { for(var i = 0; i < entities.length; i++) $("#slctPrimaryEntity option[value='" + entities[i] + "']").remove(); }
我们的目标是通过用户角色来过滤实体,所以新建了一个角色和实体的对照表,用于指定需要隐藏的实体,这样通过配置自定义按钮规则,即可按当前用户角色隐藏高级查找中的实体。
示例:配置了account实体,角色设置为管理员,图一的为管理员角色看不到account,图二的为经理角色可以看到account
图一
图二
标签:
Dynamics 365
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~