J'ai une entité personnalisée appelée inscription de cours qui a une recherche sur l'entité de contact.
Je veux voir les contacts qui ont une inscription de cours active.Comment implémenter FetchXML personnalisé avec agrégat en tant que vue système dans Dynamics365
Je ne crois pas que cela puisse être fait à partir de l'entité de contact, donc je dois créer une vue des inscriptions de cours actives qui n'affiche que les champs de contact. Cela me donnera des contacts en double si ils ont plus d'une inscription de cours que je ne veux pas.
Pour éviter cela, j'ai essayé de créer une requête globale en FetchXML:
<fetch version="1.0" aggregate="true" >
<entity name="flr_courseenrolment" >
<link-entity name="contact" from="contactid" to="flr_contact" alias="a_69c0f6b80d94e711812ae0071b66a541" >
<attribute name="emailaddress1" alias="contactemailaddress1" groupby="true" />
<attribute name="fullname" alias="contactfullname" groupby="true" />
<filter type="and" >
<condition attribute="statecode" operator="eq" value="0" />
<condition attribute="flr_islearner" operator="eq" value="1" />
<condition attribute="flr_advisor" operator="eq" uiname="Test User" uitype="systemuser" value="{28C0D53B-5E19-E611-8106-C5346CC262D1}" />
</filter>
</link-entity>
<attribute name="flr_courseenrolmentid" alias="aggregateflr_enrolmentid" groupby="true" />
</entity>
</fetch>
Cette requête fonctionne dans la boîte à outils XRM FetchXML Tester. Mais ne fonctionnera pas lorsque je l'importerai dans CRM. Je l'importe dans CRM en exportant une solution contenant une vue qui contient les mêmes champs; et en remplaçant le FetchXML qui a été généré par le système par le FetchXML que j'ai créé, et en le réimportant.
Je reçois une erreur CRM générique lorsque j'essaie d'afficher cette vue après l'avoir de nouveau importée, indiquant que "Les colonnes doivent toujours être spécifiées dans Retrieve Multiple".
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ActivityId>b3b1d783-a8be-4454-9ed5-b71c42053299</ActivityId>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>System.Xml.XmlException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #2955ADDE</Message>
<Timestamp>2017-09-11T03:22:55.50674Z</Timestamp>
<ExceptionRetriable>false</ExceptionRetriable>
<ExceptionSource i:nil="true" />
<InnerFault>
<ActivityId>b3b1d783-a8be-4454-9ed5-b71c42053299</ActivityId>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>Columns should always be specified on RetrieveMultiple.</Message>
<Timestamp>2017-09-11T03:22:55.50674Z</Timestamp>
<ExceptionRetriable>false</ExceptionRetriable>
<ExceptionSource i:nil="true" />
<InnerFault>
<ActivityId>b3b1d783-a8be-4454-9ed5-b71c42053299</ActivityId>
<ErrorCode>-2147220970</ErrorCode>
<ErrorDetails xmlns:d4p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>System.InvalidOperationException: Microsoft Dynamics CRM has experienced an error. Reference number for administrators or support: #F043AB2E</Message>
<Timestamp>2017-09-11T03:22:55.50674Z</Timestamp>
<ExceptionRetriable>false</ExceptionRetriable>
<ExceptionSource i:nil="true" />
<InnerFault i:nil="true" />
<OriginalException i:nil="true" />
<TraceText i:nil="true" />
</InnerFault>
<OriginalException i:nil="true" />
<TraceText i:nil="true" />
</InnerFault>
<OriginalException i:nil="true" />
<TraceText i:nil="true" />
</OrganizationServiceFault>
J'ai le sentiment que ce soit:
- L'alias sur la flr_courseenrolmentid est à l'origine en vue de briser
- agrégat/groupby est pas pris en charge du tout dans les vues CRM
- J'ai besoin de personnaliser le LayoutXML d'une manière ou d'une autre ainsi que le FetchXML
Est-ce que ce que je veux réaliser est possible? Existe-t-il un moyen d'afficher ce FetchXML dans une vue de CRM, ou existe-t-il un autre moyen d'obtenir la vue dont j'ai besoin?
Excellent, je ne pensais pas qu'il serait possible de le faire de tous les côtés de la relation, cela a fonctionné exactement comme prévu. – madbrendon