آیا Outer Join در نماهای CRM قابل اعمال است؟

در برخی موارد ضروری است که فیلترهای یک نما را بر اساس شرایط خاصی به‌روزآوری نمود. اگر در Query نیاز به استفاده از Outer Join باشد، Advanced Find کمکی به شما نخواهد نمود. بنابراین بهتر است که فیلترهای یک نما را به شکل دینامیک تغییر دهید. در ادامه مثالی از نحوه به‌روزآوری یک نما برای اعمال Outer Join نمایش داده می‌شود. در این Query اشخاص فعالی که فرصتی نداشته یا فرصتی در 9 ماه اخیر برای آن‌ها بسته نشده است را اعمال خواهیم نمود.

 

string fetchXml = @”<fetch version=’1.0′ output-format=’xml-platform’ mapping=’logical’ distinct=’true’ >

<entity name=’contact’ >

<attribute name=’fullname’ />

<attribute name=’parentcustomerid’ />

<attribute name=’emailaddress1′ />

<attribute name=’telephone3′ />

<attribute name=’address1_city’ />

<link-entity name=’opportunity’ from=’customerid’ to=’contactid’ alias=’ab’ link-type=’outer’ >

<filter type=’or’ >

<condition attribute=’actualclosedate’ operator=’last-x-months’ value=’9′ />

</filter>

</link-entity>

<filter type=’and’ >

<condition attribute=’statecode’ operator=’eq’ value=’0′ />

<condition entityname=’ab’ attribute=’opportunityid’ operator=’null’ />

</filter>

</entity>

</fetch>”;

Entity view = newEntity(“savedquery”); OR Entity view = newEntity(“userquery”);

view["fetchxml"] = fetchXml;

view.Id = newGuid(“8DF19B44-A073-40C3-9D6D-EE1355D8C4BA”);

service.Update(view);

 

برای به دست آوردن GUID یک نما می‌توانید به URL آن مراجعه نمایید. همچنین توجه نمایید که Attributeهای استفاده شده در Query و آن‌چه در نما تعریف شده‌اند یکسان باشند.