Macros/Base/005/fr

Description
Cet article traite du problème des sous-rapports dans LibreOffice.

Quand on fait ses rapports avec l'extension libreoffice-report-builder, la difficulté rencontrée avec cet outil puissant est qu'il ne gère pas les sous-rapports et les différentes solutions à ce problème proposées sur Internet ne sont pas satisfaisantes.

Le problème rencontré par beaucoup de personnes dans des logiciels de facturation par exemple est : comment afficher le montant total de chaque TVA, comme illustré ci-dessous.



Pour obtenir cela, on commence par construire notre rapport comme d'habitude avec l'extension libreoffice-report-builder.

Les champs dans l'en-tête idFacture et dans la section Détail proviennent d'une requête qui contient les données des clients, les lignes des données des factures et les montants totaux sont calculés en utilisant une fonction d'accumulation dans l'extension libreoffice-report-builder. Il y a un critère de regroupement par idFacture.

C'est tout pour notre rapport.

Ce rapport est ouvert en cliquant sur le bouton d'impression du formulaire suivant:

L'astuce consiste simplement à recopier le contenu du sous-formulaire qui contient le coût total par taxe (ce qui est facile à calculer avec une requête et encore plus facile à afficher dans un sous-formulaire) dans le pied de page de groupe idFacture en utilisant des champs d'étiquette.

Code
Voici les macros qui font ceci :

Les techniques utilisées ici permettent de faire des rapports dynamiques avec libreoffice-report-builder car elles donnent accès aux composants du rapport et permettent d'en créer de nouveaux, de les supprimer et de les déplacer le cas échéant.