Dynamics crm 用户只能在Dynamics CRM 2016的高级查找中查看任何自定义实体和某些系统实体

Dynamics crm 用户只能在Dynamics CRM 2016的高级查找中查看任何自定义实体和某些系统实体,dynamics-crm,microsoft-dynamics,dynamics-crm-2016,Dynamics Crm,Microsoft Dynamics,Dynamics Crm 2016,在我最近接管的一个组织中,我遇到了一个奇怪的问题,简单地说,就是没有用户可以对任何自定义实体和大多数系统实体执行高级查找。这些实体根本不存在,无法选择用于高级查找 问题首次报告为,没有用户具有运行报告的权限。之后,我彻底检查了reporting services权限、执行服务帐户等,所有这些都配置得很好 在此之后,我注意到,当我尝试进行高级查找时,我没有看到任何自定义或系统实体。在高级查找中,只有一些系统查找。现在,当通过站点地图进行访问时,可以访问这些自定义实体和系统实体,您可以执行诸如编辑

在我最近接管的一个组织中,我遇到了一个奇怪的问题,简单地说,就是没有用户可以对任何自定义实体和大多数系统实体执行高级查找。这些实体根本不存在,无法选择用于高级查找

问题首次报告为,没有用户具有运行报告的权限。之后,我彻底检查了reporting services权限、执行服务帐户等,所有这些都配置得很好

在此之后,我注意到,当我尝试进行高级查找时,我没有看到任何自定义或系统实体。在高级查找中,只有一些系统查找。现在,当通过站点地图进行访问时,可以访问这些自定义实体和系统实体,您可以执行诸如编辑字段和导出到excel之类的操作。但从先进的技术中什么也找不到

我认为这是一个安全角色问题,尽管我有系统管理员和系统自定义程序角色,并且用户不能对实体拥有任何权限,因此它们不会出现在高级查找中,但这些实体仍然不在高级查找中。我还尝试将所有角色从工作组织导出到有问题的组织。没有什么变化

另一个问题是,用户无法进行批量删除,因为其中也使用了高级查找查询

下一个突然出现在我脑海中要检查的是CAL用户设置。因此,我禁用了系统中的所有用户,只剩下我的用户具有访问模式读写、许可证模式专业版。再说一次,没什么

补充资料1:

我把这个有问题的组织转移到了一个新的服务器上,同样的事情。这让我想到修复不会有多大作用,因为它与组织相关,而与服务器无关。我还在服务器上安装了SP1,虽然通过得很好,但问题仍然存在。同一服务器上有另一个组织,安装了相同的解决方案,但没有问题。因此,它是特定于组织的


有人有没有任何建议,为什么有人会以一种潜在的不受支持的方式把这件事搞砸,因为接下来想到的只有这件事是不受支持的?

是的,就像几乎每次你发布关于堆栈溢出的问题一样,你突然变得更有创造力,并且在如何解决问题和解决问题方面有了更多的想法。 因为我检查了customization.xml文件中是否有包含“advancedfind”的设置,但在那里没有找到任何设置,所以我尝试在数据库中搜索

我在CRM组织数据库中执行了一个sql查询,搜索所有列的名称,并在实体和关系元数据表中找到了IsValidForAdvancedFind标志

对于未出现在高级查找中的所有实体,此设置为0,因此当您将实体及其关系的此标志设置为“1”时,该实体将出现在高级查找中

现在,我在这里遇到了一个额外的问题,那就是对于实体和关系表中的大多数记录,对于同一个实体,关系名称,有些实体和关系有两行。目前仍在调查中

更新/编辑2

遇到的额外问题是,确认两个表中的实体或关系中的两个记录在 在每一实体或关系的两行中都有AdvancedFind的有效标记。额外的行很可能在安装更新后出现。因此,在两行中将标志设置为1不会导致问题

任何可能正在查看此解决方案的人,请在继续执行此修复之前备份数据库,并在生产上执行此修复之前进行广泛的测试

结束更新/编辑2


这一切的乐趣在于,直接在数据库中进行的修改,一个不受支持的修改,是由一个微软合作伙伴完成的。似乎通过证书成为合作伙伴,并没有填补如何定制动态的一些空白。总之…

奇怪,你有权运行修复吗?我已将组织转移到新服务器,同样的事情。这让我想到修复不会有多大作用,因为它与组织相关,而与服务器无关。我还在服务器上安装了SP1,虽然通过得很好,但问题仍然存在。同一服务器上有另一个组织,安装了相同的解决方案,但没有问题。因此它是特定于组织的。您是否尝试过从受影响的用户中删除所有角色并重新分配它们?是否检查过没有人入侵数据库元数据架构中的任何表。因为你可以通过这样做来隐藏高级搜索中的实体?谢谢大家的评论。是的,Stefan,这是我做的下一件事,并将我在下面的答案中发现的内容发布。但我现在有另一个问题。每个实体和关系在这两个表中都有两行,即实体和关系,其中一行设置为IsValidForAdvancedFind=1,另一行现在设置为IsValidForAdvancedFind=1。这是来自一个工作组织。我如何知道在组织中设置哪个问题?如果我按GUID匹配,它们并不完全相同,如果我按名称匹配,我会将这两行都设置为true,这可能会弄乱其他内容。但有一条规则是,如果系统中存在某个内容,并且该内容不受支持且已损坏。您必须进行不受支持的更改才能修复此问题。考虑到这一点,我将备份您的live环境,并为开发人员CRM租户恢复它。那你就有一个安全的地方可以准确地追踪你的目标,是的,Stefan。我也想到了不受支持的修复。在一个工作组织和一个非工作组织中进行了一些查询,按名称匹配了这两个表,