2017-10-04 5 views
3

Je peux récupérer attibutes en utilisant le code ci-dessous:Comment puis-je récupérer des sections, onglets en utilisant C# de MS dynamics CRM 2016?

public static EntityMetadata RetrieveEntityMetadata(IOrganizationService service, string logicalName) 
    { 

     var request = new RetrieveEntityRequest() 
     { 
      LogicalName = logicalName, 
      EntityFilters = EntityFilters.All, 
      RetrieveAsIfPublished = false 
     }; 
     var result = (RetrieveEntityResponse)service.Execute(request); 
     return result.EntityMetadata; 
    } 

Et result.EntityMetadata ont une propriété Attributes, qui contient tous les attributs de l'entité. Mais je veux aussi obtenir la liste des sections de l'entité. Comment puis-je faire ceci?

+2

Les articles sont frontend choses, je ne pense pas que vous pouvez récupérer ceux avec EntityMetadata. – nozzleman

Répondre

4

Les sections et les tabulations appartiennent à la présentation de formulaire et non à l'entité elle-même. Il existe différents types de formulaires, et chaque type peut avoir plus d'une instance du formulaire (au cas où vous auriez plus d'un formulaire principal, lequel devrait être pris?).

Si vous savez exactement de quelle forme vous avez besoin, vous devez le récupérer en tant qu'entité de type systemform avec le champ formxml, qui contient le modèle XML du formulaire. Parse que XML et vous obtiendrez les sections et les onglets

enter image description here

+0

Merci! J'ai toujours besoin de la forme principale de l'entité, maintenant comment construire FormXml? Aussi, en utilisant C#, n'utilisez pas de plugins spéciaux comme XrmToolbox ets. Par exemple, j'ai choisi le formulaire principal du compte d'entité. Qu'est-ce que je dois faire ensuite? – Renar

+3

N'oubliez pas qu'il peut y avoir ** plus d'un ** formulaire principal. Faites simplement une requête 'RetrieveMultiple' simple (comme vous le faites pour n'importe quelle entité) dans' formxml' vous obtiendrez un XML que vous pouvez analyser en utilisant [XPath] (https://msdn.microsoft.com/fr-fr/ library/4bektfx9 (v = vs.110) .aspx) – ASpirin