FetchXML Запрос для выборки столбцов из нескольких связанных объектов - PullRequest
0 голосов
/ 19 июня 2019

Сценарий: Существует портал, который отображает данные в сетке, и эти данные взяты из Dynamics 365. Когда я разработал Dynamics, меня попросили предоставить запрос, который будет отображать данные в формате ниже

*Например, 1004 *. Телефонный звонок может быть связан с Contact или CustomAccount (Custom Entity), и CustomAccount имеет поиск Contact в своей форме.Нам требуются все записи телефонных звонков, но есть одна загвоздка.При получении телефонного звонка для контакта нам нужно выбрать значение поля контакта, например адрес проживания, почтовый адрес, адрес электронной почты, номера телефонов.это выполнимо.Но если телефонный звонок связан с сущностью CustomAccount, то мы должны выбрать контакт, связанный с сущностью CustomAccount, а затем его поля, такие как адрес проживания, почтовый адрес, адрес электронной почты, номера телефонов.

Я пытался создать запрос, но его результатстранно и показывает только телефонные звонки, связанные с объектом CustomAccount, а не с объектом контакта.

<fetch>
  <entity name='phonecall' >
    <all-attributes/>
    <link-entity name='contact' from='contactid' to='regardingobjectid' link-type='outer' alias='contact' >
      <all-attributes/>
    </link-entity>
    <link-entity name='pref_CustAccount' from='pref_CustAccountid' to='regardingobjectid' link-type='outer' alias='account' >
      <link-entity name='contact' from='contactid' to='lpl_clientid' link-type='inner' alias='accountcontact' >
        <all-attributes/>
      </link-entity>
    </link-entity>
  </entity>
</fetch>

1 Ответ

2 голосов
/ 19 июня 2019

Я просто скопировал ваш сценарий на мой экземпляр CRM. Я думаю, что ваша проблема с типом ссылки для нижней строки.

 <link-entity name='contact' from='contactid' to='lpl_clientid' link-type='inner' alias='accountcontact' >

тебе нужно внешнее, а не внутреннее. Когда я давал внутреннюю информацию, я получал только те записи, которые относятся к вышеуказанной строке.

Вот мой полный выбор

<fetch>
  <entity name="phonecall" >
    <link-entity name="contact" from="contactid" to="regardingobjectid" link-type="outer" alias="directcontact" >
      <attribute name="fullname" />
    </link-entity>
    <link-entity name="account" from="accountid" to="regardingobjectid" link-type="outer" alias="account" >
      <link-entity name="contact" from="contactid" to="primarycontactid" link-type="outer" alias="primarycontact" >
        <attribute name="fullname" />
      </link-entity>
    </link-entity>
  </entity>
</fetch>
...