2014-05-02 1 views
0

Je suis en train de récupérer le FetchXML d'un point de vue personnel (appartenant à un autre utilisateur que celui qui fait les demandes au service de l'organisation) en faisant par exemple:Récupérer une autre propriété de vue de l'utilisateur FetchXml

 public static UserQuery RetrieveUserQuery(string userQueryName) 
     { 

      string xmlFetch = @"<fetch distinct='false' mapping='logical' output-format='xml-platform' version='1.0'> 
            <entity name='userquery'> 
             <attribute name='fetchxml'/> 
             <filter type='and'> 
              <condition attribute='name' value='{0}' operator='eq'/> 
             </filter> 
            </entity> 
           </fetch>"; 

      xmlFetch = string.Format(xmlFetch, userQueryName); 

      try 
      { 
       var ent = Helper.XrmProxy.RetrieveMultiple(new FetchExpression(xmlFetch)); 

       if (ent.Entities.Count() == 0) 
        return null; 
       if (ent.Entities.Count() > 1) 
        throw new Exception("More than one view with same name found!"); 

       return ent.Entities[0].ToEntity<UserQuery>(); 

      } 
      catch 
      { 
       throw; 
      } 
     } 

Mais il semble que nous pouvons ne le faites qu'en utilisant les mêmes informations d'identification sur le service d'organisation que celles qui possèdent la vue.

Est-ce vraiment le cas? Y a-t-il un pontage?

Cette méthode renvoie toujours la valeur null (0 entités récupérées). Les informations d'identification utilisées sur le service d'organisation sont Administrateur système, donc je pensais y avoir accès même s'il n'était pas partagé ...

+1

Vous pouvez potentiellement auditer les requêtes Créer, Mettre à jour et Supprimer des utilisateurs dans un Plug-in s'exécutant au nom du contexte utilisateur actuel et enregistrer le FetchXml dans une entité personnalisée que vous pouvez interroger avec facilité. –

+0

Ceci est utile bien que les exigences aient changé et que vous n'ayez plus besoin de le faire, je vais utiliser les vues système à la place. Vous pourriez le proposer comme réponse et je l'accepterai. –

Répondre

0

La vue personnelle est la propriété de l'utilisateur uniquement jusqu'à ce qu'elle soit partagée avec une autre personne. utilisateur. Même l'administrateur système ne peut pas accéder à la vue personnelle d'un autre utilisateur

Questions connexes