2个实体的Dynamics Advanced Find

时间:2019-02-12 12:56:34

标签: dynamics-crm advanced-search

我想在“联系人”表单上的字段以及扩展实体的字段上进行高级查找,但想执行“或”操作而不是“与”操作,但这似乎不可行。我想在营销列表中同时选择这两个字段。

2 个答案:

答案 0 :(得分:0)

您可以在扩展实体上尝试使用计算所得的字段来引用联系人中的字段。我假设您的扩展实体对联系人进行了查找。因此,在扩展实体上创建一个新的计算字段,其类型与所需的“联系人”字段相同。计算将为“ contact.fieldname”,其中“ contact”是查找关系的名称,“ fieldname”是您所需的联系人字段。

现在,扩展实体上的计算字段将包含来自“联系人”字段的相同数据,并且由于这两个字段位于同一实体上,因此您可以使用“高级查找”将这两个字段“或”在一起。

答案 1 :(得分:0)

我认为您可以在 alias 条件下完成此操作

这是通过以下方式完成的:

  1. 为链接实体提供alias
  2. 创建一个or过滤器
  3. 根据您的条件,指定entityname,这是对链接实体alias的引用

例如,此查询将检索联系人或客户处于活动状态(作为内部联接)的联系人的名字和姓氏以及客户的姓名

<fetch top="50" >
  <entity name="contact" >
    <attribute name="firstname" />
    <attribute name="lastname" />
    <filter type="or" >
      <condition attribute="statecode" operator="eq" value="0" />
      <condition entityname="ParentAccount" attribute="statecode" operator="eq" value="0" />
    </filter>
    <link-entity name="account" from="accountid" to="parentcustomerid" alias="ParentAccount" >
      <attribute name="name" />
    </link-entity>
  </entity>
</fetch>

因此在此示例查询中,您可以看到:

  1. Account是链接实体,我给它指定了“ ParentAccount” alias
  2. 该过滤器应用于Contact实体,并且链接实体没有条件
  3. 帐户状态的条件指定了“ ParentAccount” entityname