2

我希望使用 fetchXML 过滤器过滤我在 CRM2011 中的实体。但是,我对不同实体的 AND 和 OR 分组有问题。

我正在根据客户的同意搜索客户,其中每个客户将拥有 1 个或 0 个有效同意。如果没有有效的同意,我想退回客户。我也希望客户在获得同意的情况下返回,但如果在没有指定机构的情况下获得“受限”同意(例如,client.consent.type == 'restricted' AND client.consent.users CONTAINS user),则不会返回

到目前为止,我有这个:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
  <entity name="contact">
    <attribute name="fullname" />
    <attribute name="thr_verifiedproofofidentity" />
    <attribute name="thr_interpreterrequired" />
    <attribute name="emailaddress1" />
    <attribute name="thr_consent" />
    <attribute name="birthdate" />
    <attribute name="thr_individualreferencenumber" />
    <attribute name="contactid" />
    <order attribute="fullname" descending="false" />
    <filter type="and">
      <condition attribute="statecode" operator="eq" value="0" />
      <condition attribute="thr_consent" operator="not-null" />
    </filter>
    <link-entity name="thr_consent" from="thr_clientid" to="contactid" alias="aa">
      <filter type="and">
        <filter type="or">
          <condition attribute="thr_consenttype" operator="eq" value="130120003" />
          <condition attribute="thr_consenttype" operator="ne" value="130120003" />   *
        </filter>
      </filter>
      <link-entity name="thr_thr_consent_thr_agency" from="thr_consentid" to="thr_consentid" visible="false" intersect="true">
        <link-entity name="thr_agency" from="thr_agencyid" to="thr_agencyid" alias="ab">
          <filter type="and">
            <condition attribute="thr_agencyid" operator="eq" uiname="Test" uitype="thr_agency" value="(agency id goes here)" />   *
          </filter>
        </link-entity>
      </link-entity>
    </link-entity>
  </entity>
</fetch>

这段代码中唯一缺少的是我需要一个带有“*”的两个条件属性市场的 AND 分组。

这可以做到吗?

4

1 回答 1

1

正如 Guido Preite 指出的那样,使用 Advanced find 来创建 Fetch Xml 比手动编辑它更容易。

但...

由于您没有进行任何分组,我建议您甚至不要使用 Fetch Xml,而是使用其他受支持的 SDK 选项之一(QueryExpressions、Linq to CRM、oData 等)。

我不确定我是否完全理解您的请求(如果您可以将查询编写为 SQL 语句,那将会很有帮助),但我认为您需要有 2 个 thr_consent 链接实体link-type="outer"。第一个具有等于 130120003 的条件,第二个具有指向代理 ID 条件的链接。

于 2013-04-10T12:44:34.727 回答