fetchXML フィルターを使用して CRM2011 のエンティティをフィルター処理したいと考えています。ただし、異なるエンティティに対する AND および OR のグループ化に問題があります。
クライアントの同意に基づいてクライアントを検索しています。各クライアントは、1 つまたは 0 つの有効な同意を持っています。有効な同意がない場合は、クライアントを返したいです。また、同意がある場合はクライアントを返しますが、代理店が指定されていない「制限付き」の同意がある場合は返されません (例: client.consent.type == 'restricted' AND client.consent.users CONTAINS ユーザー)
これまでのところ、私はこれを持っています:
<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>
このコードに欠けているのは、2 つの条件属性 market を「*」で AND グループ化する必要があることだけです。
これはできますか?