1

Objectif: créer une vue pouvant afficher tous les contacts appartenant à l'utilisateur actuel et tous les contacts avec une opportunité associée appartenant à l'utilisateur actuel. Problème: Je n'ai pas une bonne maîtrise du fetchxml ou des linkentities, même après avoir passé en revue ce que je peux leur parler à propos de Google. Lorsque j'essaie de créer la vue en utilisant ma commande d'extraction, cela ne ramène rien, donc je suppose que je l'ai mal construit.Fetchxml pour obtenir des contacts avec des opportunités actives ayant l'utilisateur actuel en tant que propriétaire CRM 2013

Voici la déclaration que je l'ai fait jusqu'à présent:

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'> 
        <entity name='contact'> 
         //big list of attributes 
         <order attribute='fullname' descending='false' /> 
         <link-entity name='opportunity' from='customerid' to='contactid' alias='aa'> 
         <filter type='and'> 
         <condition attribute='ownerid' operator='eq-userid' /> 
         </filter> 
         </link-entity> 
         <filter type='or'> 
         <condition attribute='ownerid' operator='eq-userid' /> 
         </filter> 
        </entity> 
       </fetch> 

Des conseils serait appréciée, merci!

+0

Êtes-vous juste après une requête fetchXml? – Scorpion

+0

Un totalement nouveau, ou d'apprendre ce qui pourrait être mauvais avec le mien. D'une manière ou d'une autre. –

Répondre

4

Vous avez vérifié CRM 2011 et CRM 2013. Avec CRM 2011, cela n'est pas possible. Avec CRM 2013, vous pouvez le faire!

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'> 
<entity name='contact'> 
    <attribute name='fullname' /> 
    <order attribute='fullname' descending='false' /> 
    <link-entity name='opportunity' from='customerid' to='contactid' alias='aa' link-type='outer'> 
     <attribute name='name' /> 
    </link-entity> 
    <filter type='or'> 
     <condition attribute='ownerid' operator='eq-userid' /> 
     <condition entityname='aa' attribute='ownerid' operator='eq-userid' /> 
    </filter> 
</entity> 
</fetch> 

Vous remarquerez, l'alias référencé dans le filtre et vous devez utiliser une jointure externe.

J'ai ajouté un billet de blog pour fournir un peu d'une promenade à travers pour tous ceux qui sont intéressés: http://paul-way.com/crm-2013-fetchxml-improvements/

+0

Avez-vous essayé votre code avant de le suggérer? J'ai essayé et j'ai "XML invalide". exception. –

+1

Oui, ça marche bien pour moi sur CRM 2013 en ligne. Ceci est invalide en 2011; où le cours-tu? –

+0

J'ai essayé l'une des instances de CRM Online. –

-1

Je ne suis pas un expert de FetchXML, mais je pense que cette requête n'est pas possible.

Voici l'explication CRM:

conditions de l'entité ou les autres groupes ne peuvent pas être regroupés avec les conditions de l'entité mère ou groupe

enter image description here

+0

Après un peu plus de recherche autour et des expériences c'est fondamentalement la conclusion que je suis venu aussi bien. Cela semble se résumer à ce lien-les entités fonctionnent comme un filtre 'et'. Et j'en ai besoin pour fonctionner comme un filtre 'ou'. Très bien. –

+0

Le chemin de Paul Way fonctionne! – gekowa

0

Malheureusement, vous ne seriez pas en mesure de construire cette requête en utilisant FetchXml. La solution consiste à créer un rapport et à l'intégrer dans votre CRM.

0
<fetch distinct="false" no-lock="false" mapping="logical"> 
    <entity name="contact"> 
    <attribute name="fullname" /> 
    <filter type="and"> 
     <filter type="and"> 
     <condition attribute="ownerid" operator="eq" value="{00000000-0000-0000-0000-000000000000}" /> 
     <filter type="and"> 
      <condition attribute="statecode" operator="eq" value="0" /> 
      <condition attribute="statecode" operator="eq" value="0" /> 
     </filter> 
     </filter> 
    </filter> 
    <link-entity name="opportunity" to="contactid" from="contactid" link-type="inner" alias="o_0" /> 
    </entity> 
</fetch> 

Remplacer le 00000000-0000-0000-0000-000000000000 avec l'utilisateur actuel Guid.

Questions connexes