1

Je travaille sur un complément Enterprise Architect en C# dans Visual Studio Express 2013 pour créer des documentations pour un seul élément/élément dans un package. J'ai créé un modèle dans EA à l'aide du Document Generator, où je veux écrire certaines des propriétés de l'élément sur la sortie. Exemple:Génération de document avec modèle dans Enterprise Architect avec un complément C#

package > 
element > 
Name: {Element.Name}... more attributes of the element 
< element 
< package 

Le problème est que quand j'utiliser mon Add-In pour générer le document, la sortie sera comme ceci:

package

>

Nom: Aléatoire TestName

< package

entre package> < Le package est vide. Par défaut, le document ne doit pas contenir ces champs dans t La sortie, comment puis-je le faire disparaître? J'ai essayé de remplir entre les champs de paquet avec quelque chose comme {Pkg.Version}, mais je reçois seulement ce texte dans la sortie, pas la valeur de celui-ci. Dans le Concepteur de modèles de document sous la section Sections, si je coche la case "Élément", il coche aussi la boîte "Paquet", mais si je tente de décocher le "Paquet", je désélectionne l'élément. ? Mon Add-In fonctionne comme ceci:

EA.Element element = repository.GetTreeSelectedObject(); 
int elementID = element.ElementID; 
EA.DocumentGenerator docGen = repository.CreateDocumentGenerator(); 
docGen.NewDocument(""); 
docGen.InsertTemplate("RandomTemp"); 
docGen.DocumentElement(elementID, 2, "RandomTemp"); // gets the element by ID 
docGen.SaveDocument("DOCUMENT.pdf", EA.DocumentType.dtPDF); 

+: qui fonctionnerait pour moi non plus si je peux atteindre en quelque sorte les propriétés du package de l'élément aussi.

Merci d'avance.

Tamas

Répondre

2

docGen.insertTemplate imprime votre modèle tel quel, sans remplir les champs. Retirez cette ligne de code et il devrait être bien

Le document va générer le rapport suivant votre modèle très bien avec la ligne de code suivante vous mettez: docGen.DocumentElement(elementID, 2, "RandomTemp");

+0

Merci beaucoup! Savez-vous si je peux en quelque sorte imprimer plusieurs éléments (comme d'un paquet) avec deux modèles différents? J'ai essayé avec docGen.DocumentElement (elementID, 2, "RandomTemp"); puis à partir du deuxième élément j'essaie d'utiliser l'autre modèle docGen.DocumentElement (elementID, 2, "RandomTempSecond"); , mais utilise toujours le premier. Note: J'ai obtenu mon pdf avec toute la documentation dont j'ai besoin, j'essaie juste d'utiliser un autre template du second élément pour documenter pas le spam le nom/logo du package, etc. –

+0

@TamasKiss ça devrait marcher, assurez-vous de poser le nom du modèle correctement – Mart10

+0

Merci! Cela fonctionne bien maintenant. –