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é ...
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é. –
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. –