在 addCustomFilter 中使用链接实体

use*_*899 6 javascript filter dynamics-crm fetchxml

此刻我知道如何将 addCustomFilter 与 addPreSearch(以及删除变体)结合使用。在传递 filterXml 时,所有这些都可以完美运行,例如:

<filter type="and">
  <condition attribute="name" operator="eq" value="test123" />
</filter>
Run Code Online (Sandbox Code Playgroud)

但我就是不知道如何在 addCustomFilter 中使用链接实体以及它是否真的可能。我尝试了以下方法:

<link-entity name="account" from="accountid" to="parentaccountid">
  <filter type="and">
    <condition attribute="name" operator="eq" value="test123" />
  </filter>
</link-entity>
Run Code Online (Sandbox Code Playgroud)

它仍然是相同的过滤器,但它现在被放置在帐户的父帐户上。使用此 filterXml,我想获取所有将帐户“test123”作为父帐户的帐户。

问题是过滤器在 addCustomFilter 中不起作用,但它在 AdvancedFind 中返回结果。

有没有办法在 addCustomFilter 方法中使用链接实体,如果是这样,我做错了什么?

Sha*_*_Yo 5

addCustomFilter方法有两个参数filterentityLogicalName. entityLogicalName 是可选的,如果提供了此参数,则过滤器将仅适用于该实体类型。否则,它将适用于返回的所有类型的实体。

例如,客户查找控制显示帐户和联系人记录。如果我们不提供该entityLogicalName参数,过滤器将同时应用于帐户和联系人记录,如果我们提供“帐户”作为参数,则过滤器将仅应用于帐户记录而不应用于联系人记录。

所以 ...

如果我们使用另一个相关实体(如您的示例)作为过滤器,则它使用 < linked-entity>,

  • 这在.addCustomFilter()方法中是不允许的。

但是有一种方法..

实际上唯一的方法仍然是使用 MSCRM 2011 代码,即使用.addCustomView()它的许多参数(使用您自己的 fetchXml 和 layoutXml)。

Xrm.Page.getControl(arg).addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, isDefault)
Run Code Online (Sandbox Code Playgroud)