Dynamics CRM 将实体从高级查找列表中移除不可见

      有时我们不需要将某个实体显示给一般用户比如配置实体,但是这种类型的实体有时候又需要给一般用户读权限ODATA的时候得能读,站点地图上的隐藏比较容易用工具配置下权限即可。其实做到这步一般就可以了但有的客户要求就比较细,不允许在高级查找中看到该实体,那要怎么做到呢,这就是本人要讲的。

    查找各种资料后会发现没有已开放的设置能够让实体在高级查找中不显示,那就得另辟蹊径了,这里以客户实体为例,默认情况下是能看到客户实体的,如下图


然后在业务数据库中执行以下SQL,这边的name就是你要移除的实体的名字

update MetadataSchema.Entity set IsValidForAdvancedFind = 0 

where Name ='account'


执行完后必须重启IIS,不然不会生效,重启后刷新高级查找页面,你就会看到客户实体已经不见了。

    但这么做会有个隐藏的问题,对比下下面两张图,这是我在联系人实体界面上加subgrid,你会发现高级查找中移除后在subgrid的实体查找中也已经看不到客户实体了,那相应的在其他的类似的实体查找的时候都是看不见已经被移除的实体的。所以在执行此方案时需要权衡一下。




版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/VicTang/p/4799508.html