Получить все связанные действия учетной записи - Dynamics CRM - PullRequest
0 голосов
/ 09 октября 2018

Я хотел бы избавиться от социальной панели в Dynamics 365, заменив ее подсетью в форме учетной записи, которая будет перечислять действия учетной записи и действия контактов учетной записи.В настоящее время мы используем поиск «parentcustomerid», чтобы связать контакт с учетной записью, которая не является иерархической.Я не могу найти решение с FetchXML, чтобы получить то, что я хочу.Следующий FetchXML будет работать, если существует иерархическое отношение:

<fetch>
<entity name="activitypointer" >
<attribute name="activityid" />
<attribute name="regardingobjectid" />
<attribute name="subject" />
<attribute name="regardingobjecttypecode" />
<filter type="and" >
  <condition attribute="isregularactivity" operator="eq" value="1" />
  <filter type="or" >
    <condition entityname="accountparty" attribute="accountid" operator="eq-or-under" value="5D8E9289-7F86-E811-910D-0050568B95ED" />
    <condition entityname="contactparty" attribute="contactid" operator="eq-or-under" value="5D8E9289-7F86-E811-910D-0050568B95ED" />
  </filter>
</filter>
<link-entity name="activityparty" from="activityid" to="activityid" link-type="outer" alias="activityparty" >
  <link-entity name="account" from="accountid" to="partyid" link-type="outer" alias="accountparty" />
  <link-entity name="contact" from="contactid" to="partyid" link-type="outer" alias="contactparty" >
    <link-entity name="account" from="accountid" to="parentcustomerid" link-type="outer" alias="contactaccount" />
  </link-entity>
</link-entity>

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

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Этот вид накопления легко реализовать с помощью пользовательского веб-ресурса HTML с начальной загрузкой и нашими собственными библиотеками js для обработки запросов web api / fetchxml.Мы делаем это сегодня.

Поскольку мы не можем сделать UNION в fetchxml, нам, возможно, придется объединить несколько наборов результатов, чтобы мы могли использовать таблицы данных jQuery для объединения / визуализации результатов.

Также этот подход легко изменить, отлаживая, а скорее перехватывая запросы к серверу для пользовательских запросов fetchxml.

0 голосов
/ 10 октября 2018

Вы можете решить эту проблему, связав действия, связанные с контактами, непосредственно с их родителем account, с помощью пользовательского поиска в объекте действия и, возможно, подключаемого модуля Retrieve/RetrieveMultiple, который автоматически заполняет его в зависимости от того, является ли regardingobjectidcontact.

Для этого вам нужно всего лишь сослаться на это поле в сетке.

Мы использовали аналогичный подход для создания «свертывания сводок», охватывающего более 1 взаимосвязи.

0 голосов
/ 09 октября 2018

Как вы уже сделали вывод, ядром для решения этой проблемы является использование условия UnderOrEqual с запросом.

Эта функция может быть трудной (на самом деле это невозможно) реализовать так, как выхочу с помощью View Designer.Поэтому вам нужно добавить некоторый код, чтобы это произошло.

Хотя подход к созданию пользовательских веб-ресурсов и использованию настраиваемой сетки может быть проще для отладки, он потребует довольно большого количества пользовательского кода и элементов управления.

Другой подход заключается в добавлении в форму стандартной подсетки с «Ассоциированным представлением» для действий, связанных с родительской учетной записью, затем добавлении плагина pre RetrieveMultiple, который идентифицирует запрос, а затем настраивает запрос для работы с ним.ваши потребности.

Затем вы используете стандартные элементы управления и функции, которые можно будет обновлять и которые будут следовать возможным изменениям дизайна от Microsoft и т. д.

Чтобы увидеть полностью готовое к использованию готовое решение, выполните следующие действия.В статье подробно описывается этот шаблон: https://jonasrapp.net/2016/05/hierarchy-activities/

...