Modèle de rapports Word

A propos du modèle

Utilisez le modèle de rapport Word pour créer un rapport personnalisé. Le modèle utilise les champs de fusion Word pour obtenir les données nécessaires. Le modèle est conçu pour les fichiers docx et ne prend pas en charge les fichiers doc. Voici quelques conseils pour commencer :
  • Pour insérer des champs de fusion dans Microsoft Word, cliquez sur Insérer > Quickpart > Champ > ChampFusion ou cliquez sur Ctrl + F9.
  • Pour modifier un champ de fusion, faites un clic droit sur celui-ci et sélectionnez Modification du champ.
  • Vous pouvez combiner texte standard et champs de fusion dans votre rapport.
  • Les champs de fusion prennent la forme suivante : « value ».

Informations Générales du Rapport

Les données suivantes peuvent vous être utiles pour l'en-tête de votre rapport :

Champ Description
${report.name} Nom du rapport.
${report.projectName} Nom du projet dans lequel le rapport est exécuté.
${report.description} Description du rapport.
${report.executedBy} Nom de connexion de l'utilisateur ayant exécuté le rapport.
${report.generatedOn} Date et heure d'exécution du rapport.
${report.generatedOnWeek} Numéro de semaine de la date d'exécution du rapport.

Accès aux données

Les sections qui suivent décrivent comment accéder aux différentes données de votre rapport et comment les afficher.

Par index
«${rows[0].cols[3]}»
Par nom
«${rows[0].ReqName}»
Dans des listes
Un cas d'utilisation typique consiste à parcourir chaque ligne et à afficher les informations de colonne pour chaque ligne. Pour obtenir une liste de données, procédez comme suit :
«[#list rows as r]»
«${r.TestDefID}» - «${r.TestName}»
«[/#list]»

Le début de la boucle est défini par [#list rows as r] et sa fin par [/#list]. Les données de ligne sont référencées à l'intérieur de la boucle par r ce qui vous permet d'obtenir Test Name en le référençant par ${r.TestName}.

L'exemple ci-dessus effectue une itération sur toutes les lignes et le rapport produit présente une liste de tests avec leur ID et leur nom.

Dans des tableaux
La définition du début et de la fin d'une boucle dans une ligne de tableau nécessite une commande supplémentaire pour continuer l'itération dans le tableau. Vous devez placer la commande list pour la boucle dans la première colonne de votre tableau et préfixer cette commande avec @before-row. Vous devez utiliser @after-row pour terminer la liste. Le tableau suivant montre comment faire cela.
«${headers[3]}»|«${headers[3].@name}» «${headers[4]}»|«${headers[4].@index}»
«@before-row[#list rows as r]»«${r.ReqName}»«@after-row[/#list]» «${r.ReqDescription.@html}»
En-têtes et HTML
  • Les en-têtes de données sont accessibles à l'aide d'un champ de fusion nommé headers.
  • Les en-têtes peuvent être affichés de différentes façons en ajoutant .@elementName, .@name ou .@index.
  • Certaines données Silk Central, comme de nombreux champs Description, sont stockées au format HTML. Si vous voulez afficher du texte codé en HTML en tenant compte des balises, ajoutez l'attribut .@html. Si vous n'ajoutez pas cet attribut, vous verrez toujours le texte, mais il contiendra le balisage HTML. Par exemple, si votre source de données est <b>My report description</b> et que vous utilisez .@html, vous obtenez My report description. Sinon, vous obtenez : <b>My report description</b>. Les balises HTML suivantes sont prises en charge : <b>, <strong>, <i>, <u>, <br>, <p>, and <a>.
Sous-rapports
Les sous-rapports sont accessibles avec le mot-clé sub. Ajoutez le numéro du sous-rapport auquel vous souhaitez accéder, par exemple sub1,sub2, etc.
Exemple : Si ProjectID se trouve dans la première colonne de votre rapport principal, faites-y référence avec «${rows[0].ProjectID}». Si TestID se trouve dans la première colonne du premier sous-rapport, faites-y référence avec «${sub1.rows[0].TestID}». Pour parcourir toutes les lignes du premier sous-rapport et afficher la colonne TestID et la deuxième colonne :
«[#list sub1.rows as sr]» 
  «${sr.TestID}» «${sr.cols[1]}»
«[/#list]» 

Dépannage

Pourquoi mon rapport affiche-t-il des données erronées?
Les colonnes sont-elles référencées par leur index ? Dans ce cas, sachez que la première colonne est référencée par l'index 0 et non par 1.
Pourquoi un message d'erreur mentionnant un champ particulier s'affiche-t-il lorsque je télécharge mon rapport ? Je ne vois pas ce champ dans mon modèle.

Le libellé du champ a peut-être modifié mais la référence de fusion de courrier a toujours la valeur d'origine. Par exemple, vous pouvez recevoir un message d'erreur stipulant que le champ ${r.requirementName} n'existe pas. Dans votre document, vous voyez le champ ${r.reqName}. Lorsque vous faîtes un clic droit sur ce champ et sélectionnez Modification du champ, vous constatez que la référence est toujours ${r.requirementName}. N'oubliez pas de modifier les champs de fusion de courrier via l'option Modification du champ.

Exemple de rapport

L'exemple de rapport Word suivant affiche des tests manuels contenant des pas.

Remarque : Vous ne pouvez pas effectuer un copier/coller de ce rapport tel quel. Il est conçu pour vous montrer plusieurs façons d'utiliser le code de rapport pour les différentes sections d'un rapport. L'exemple ci-dessous est inclus dans les Modèles de rapports sous le nom : ManualTestResults.docx.
Report generated: «${report.generatedOn}» «${report.generatedOnWeek}»
«${report.name}»

Project Name          «${report.projectName}»
Report Description    «${report.description}»
Report Executed By    «${report.executedBy}»

«[#list rows as r]»«[#assign firstRow=(r_index==0 || rows[r_index-1].ManualTestDefID != r.ManualTestDefID)]»«[#if firstRow]»

«${r.TestDefinitionName}»
«${r.TestDefinitionDescription.@html}»

Status: «${r.StatusName}» 

Planned Time [hh:mm]: «[#if r.PlannedTime!="null"]»«${r.PlannedTime}»«[#else]»00:00«[/#if]»
Used Time [hh:mm]: «[#if r.UsedTime!="null"]»«${r.UsedTime}»«[#else]»00:00«[/#if]»
Build: «${r.BuildName}»
Version: «${r.VersionName}»
Execution Plan: «${r.ExecDefName}»
Changed By: «${r.ChangedBy.@text}»
Changed On: «${r.ChangedAt.@text}»

«[/#if]»«[#if r.StepName != "null"]»«[#if firstRow]» Test Step Details:«[/#if]»
Step Name: «${r.StepName}»
Description: «${r.StepDescr.@html}»
Status: «${r.StepStatus}»
Result Info: «${r.StepResultInfo.@html}» 
Expected Result: «${r.ExpectedResult.@html}» 
«[/#if]»«[/#list]»