преобразовать мой sql-запрос в queryexpression или fetchxml в crm

У меня есть этот запрос SQL, в котором я пытаюсь получить opportunityId из объекта возможности, для которого approvaldocument не был создан (утверждающий документ — это имя другого объекта). Я не думаю, что fetchxml поддерживает такой запрос. Я новичок в crm, и мой проект находится в версии crm 4.0.

вот запрос sql:

Select OpportunityId from opportunity AS c left JOIN (select a.opportunitynameid from opportunity o
JOIN ApprovalDocument a ON 
a.opportunitynameid=o.OpportunityId) AS b ON c.OpportunityId=b.opportunitynameid
Where b.opportunitynameid IS NULL and statecode=0

Я преобразовал это в fetchxml, но это не дало правильного результата.

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true"> 
    <entity name="opportunity"> <attribute name="opportunityid" /> 
       <link-entity name="approvaldocument" from="opportunitynameid" to="opportunityid" alias="a" link-type="outer"> <attribute name="opportunitynameid" /> 
       </link-entity> 
       <filter type="and"> 
          <condition entityname="a" attribute="opportunitynameid" operator="null" /> 
       </filter> 
    </entity> 
<fetch/>

person Debleena De    schedule 12.03.2016    source источник
comment
‹fetch version=1.0 output-format=xml-platform mapping=logical Different=true› ‹entity name=opportunity› ‹attribute name=opportunityid /› ‹link-entity name=approvaldocument from=opportunitynameid to=opportunityid alias=a link- type=outer› ‹attribute name=opportunitynameid /› ‹/link-entity› ‹filter type=and› ‹condition entityname=a attribute=opportunitynameid operator=null /› ‹/filter› ‹/entity› ‹fetch/›   -  person Debleena De    schedule 12.03.2016


Ответы (1)


Изначально невозможно создать расширенный поиск для запроса отсутствия связи. Однако существует несколько различных решений для достижения этой функциональности:

Временное решение. Создайте маркетинговый список с полным набором записей, а затем удалите записи, используя обратное условие. Шаги для этого хорошо изложены в эта статья.

Изменение FetchXML и сторонних решений. Хотя расширенный поиск не может отображать результаты «Не в», базовый FetchXML поддерживает эту функцию. Пример создания такой Fetch вручную: показано здесь. Кроме того, существует несколько сторонних инструментов, которые используют эту возможность для предоставления функции Not In непосредственно в расширенном поиске. Лучшее решение, которое я отдаю себе отчет в доступно здесь.

person Zach Mast    schedule 13.03.2016
comment
Может ли кто-нибудь помочь мне преобразовать его в хранимую процедуру или выражение запроса - person Debleena De; 14.03.2016