ONYX - 9.0 - Utilisation

Gestion des pieds de documents en mode XML

De MappingDoc
Révision datée du 2 janvier 2025 à 11:17 par Jdieu (discussion | contributions) (Cette version a été marquée pour être traduite)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Autres langues :
English • ‎français

Introduction

Cette section décrit la manière de procéder pour gérer les pieds de documents de hauteur fixe de manière sur la dernière page d'un document comportant des sauts de pages automatiques.

Prérequis

  • Avoir de bonnes bases sur le fonctionnement de Designer en mode XML
  • Connaitre la structure du fichier XML Designer

Problématique

Lorsqu’un document contient une longue liste répartie sur plusieurs pages et comportant un pied de page uniquement sur la dernière (pied de document), il est généralement souhaitable que la liste occupe tout l’espace disponible sur les pages intermédiaires, mais qu’elle s’interrompe suffisamment tôt sur la dernière afin de laisser de la place pour le pied de la dernière page.

Principe

Pour répondre à ce besoin, il est nécessaire d’intervenir sur 2 éléments :

  1. Conditionner le pied de document pour qu’il apparaisse uniquement sur la dernière page. Pour cela, la condition à utiliser est « Saut de page » avec la logique not(1). En effet, cette condition devient vraie pour le reste de la page dès qu’un groupe paginé déclenche un saut de page. Pour que cette condition soit pertinente elle doit donc être évaluée après le traitement du groupe correspondant à la liste paginée. Le pied de document doit être confectionné exclusivement avec des objets de type « groupe » ou « texte », car ce sont les seuls à pouvoir être exécutés après un objet de type « groupe ».
  2. Intégrer artificiellement le pied de document à la fin de la liste afin que cette dernière puisse en tenir compte pour le déclenchement des sauts de page Il est essentiel de s’assurer que le pied de document dispose de suffisamment d’espace sur la dernière page. Le groupe correspondant à la liste paginée doit donc vérifier que cet espace est disponible. Si ce n'est pas le cas, un saut de page doit être déclenché avant l'écriture du pied de document. Pour ce faire, une ligne spécifique (artificielle) doit être ajoutée à la fin du groupe principal. Cette ligne servira à réserver un espace dont la hauteur sera au minimum équivalente à celle du pied de document.

Exemple

Réservation d'espace pour le pied de document

L'idée est d'utiliser le groupe suivant comme pied de document. Dans notre exemple, le XML comporte une ligne spéciale en fin de groupe principal nommée RESA_SPACE. On lui applique une zone ayant pour espacement avant 3cm. (cela permet de réserver la place du pied de document)

<group name="Products">
 <line >….</line>
 <line >….</line>
 <line >….</line> 
 (...)
 <line name=”RESA_SPACE/>
</group>


Resafooter1.png

On conditionne la zone RESA_SPACE sur la présence du type de ligne "RESA_SPACE"


Resafooter2.png

Gestion de l'apparition du pied de document

Dans notre cas, le pied de document est composé 2 tableaux (ventilation de TVA et tableau des totaux)


Pied de document.png

Celui-ci comporte tous les éléments nécessitant au design du tableau de ventilation de TVA d'un document. Celui-ci doit être présent uniquement sur la dernière page du document.

Le groupe doit être condition sur le non déclenchement d'un saut de page :
Pieds de page cond.png