Skip to main content

Gestion des rapports

Jasper report - Généralités

Pour imprimer des documents dans Open-Prod, il faut tout d'abord paramétrer le masque de ces documents. Les masques se créent automatiquement en installant le module Données des rapports de base. Pour les rapports comptables, il faut installer le module Données des rapports de comptabilité en complément. Finaliser ensuite laconfiguration du serveur Jasper. 

Formulaire des rapports Jasper 

En-tête 

L'en-tête contient les informations de base : le nom du rapport dans Open-Prod, le format du fichier qui sera généré (pdf, fichier Excel, Open Office, ...), et la séquence qui définira l'ordre de priorité si deux rapports sont lancés en même temps. 

 

 

Onglet "Généralités" 

Cadre Configuration 

Cet onglet rassemble l'ensemble des éléments de base de configuration du rapport : 

  • L'objet (table) auquel est relié le rapport  

  • Report Unit : il doit contenir la même valeur que le fichier Jasper pour que la liaison fonctionne 

  • Le nom du fichier Jasper présent sur le serveur Jasper  

  • Le mode de traitement du fichier Jasper parmi les 3 possibilités : SQL, XML ou Rapport multiple 

  • Contexte : option destinée aux développeurs  

  • Lancer une fois pour tous les IDS : si l'option est cochée, le rapport n'est lancé qu'une seule fois, peu importe le nombre d'enregistrements saisis. Dans le cas contraire, le rapport est lancé une fois pour chaque enregistrement sélectionné. 

Exemple : si l'option est décochée sur le rapport des factures de vente, en sélectionnant plusieurs factures de ventes à imprimer, on obtiendra un fichier PDF unique contenant toutes les factures. Si l'option est cochée, on n'obtiendra qu'une seule facture, celle du premier enregistrement de la sélection. 

  • Le nom du serveur Jasper. Ce paramètre est essentiel car la connexion avec le serveur d'impression en dépend ; 

  • Lien rapport : nom du fichier xml correspondant au rapport dans le système ; 

  • Le paramétrage de la langue du rapport, lorsque celui-ci doit s'adapter aux différents éléments. La syntaxe est : o.lang ou o."champ objet".lang ; 

  • Le nombre d'exemplaires à éditer. Par défaut, il est fixé à 1. 


  Dans le cas du rapport des factures, un champ spécifique Exemplaire de facture permet de définir le nombre d'exemplaires directement dans l'onglet Règlement (hérité de la fiche partenaire). Pour les autres rapports, c'est bien ici que l'on définit le nombre d'exemplaires imprimés. 

Une image contenant texte

Description générée automatiquement Cadre Pièce jointe 

Certains champs concernent la pièce jointe et l'aspect graphique du rapport : 

  • Sauvegarder comme préfixe de pièce jointe : détermine le format du nom de la pièce jointe. Quelques exemples : 
    une syntaxe « object.name + [test] + object.partner_id.name » à l'impression de la vente SO013 à LDLC donnera un fichier nommé « SO013 test LDLC.pdf » 

  • L’image de fond apparaîtra en filigrane dans le rapport ; 

  • L’optionenregistrer PJ auto ajoute automatiquement le rapport en pièce jointe de l'objet lorsqu'elle est activée ; 

  • L’optionrecharger depuis la pièce jointe permet de stocker le rapport lors de la première impression. Pour toute impression ultérieure, le rapport sera réimprimé à partir de l'original. 

Cadre Divers  

D'autres paramètres sont disponibles dans le cadre Divers : 

  • L’option Ne pas afficher masque le rapport dans les actions d'impression ; 

  • L’optionNe pas imprimer le rapport si le pdf est vide empêche l'impression d'un rapport vide si ce dernier ne contient aucun élément ; 

  • L’option Rotation 180° applique une rotation d'un demi-tour au fichier dans le PDF, et correspond à un passage du mode portrait au mode paysage ou inversement ; 

  • Le type d'imprimante permet de sélectionner celui souhaité pour l'impression parmi ceux existant dans le système. 

Enfin, il est possible d'ajouter un domaine sur le rapport et une contrainte. Le domaine est une fonction qui ajoute des domaines au fichier pour permettre de les filtrer. Ainsi seuls les enregistrements dans ce domaine seront imprimés. Ce domaine peut être exprimé sous forme de SQL ou via le formalisme habituel des domaines. Si l'option Ajouter une contrainte est cochée, un champ permettra de renseigner cette dernière sous forme de requête SQL, et d'indiquer un message d'erreur dans le cas où elle n'est pas vérifiée. 

Jasper report - Groupe et blocage

L'onglet Groupes permet d'ajouter l'ensemble des groupes d'utilisateurs autorisés à imprimer le rapport. 

L'onglet Blocage permet quant à lui de définir les conditions d'impression du rapport. Celles-ci se gèrent à partir de trois champs : 

  • Type de vérification : on distingue deux types : 

  • Aucune : l'impression peut toujours être effectuée ; 

  • Simplifié : active les deux champs suivants pour définir la vérification, qui renvoie un booléen 

  • Le message de retour est le message d'erreur qui s'affichera si la condition n'est pas remplie (retour False) ; 

  • Le champ Vérification simplifiée contient la requête en Python qui doit renvoyer True pour autoriser l'impression. 

o.state in ('draft', 'open') : l'impression sera possible uniquement aux états Brouillon et Ouverte 

Une image contenant texte

Description générée automatiquement

Jasper report - Fusion des PDF

La fusion des PDF sert à rattacher un premier PDF à un second lors de l'impression de ce dernier. 

La fusion est gérée depuis l'onglet « Fusion de PDF » des Jasperreports. La fusion peut s'effectuer avec autant de documents qu'on le souhaite 

1ère possibilité : Fichier(s) à fusionner toujours identique(s) 

Il suffit d'ajouter l'ensemble des documents dans la vue liste du cadre Éditions : 

  • La séquence détermine l'ordre dans lequel les documents seront rajoutés au rapport 

  • Letype définit la manière dont les documents seront rajoutés. Il est possible de les placer à la fin, au début, ou de les intercaler. Lorsque le type Intercaler est sélectionné, les pages du rapport et du PDF seront alternées une à une. 

  • Le champ PDF reprend le nom du PDF à rajouter dans le rapport. Il s'agit soit d'un PDF remonté des pièces jointes utilisées dans Open-Prod, soit d'un document récupéré sur votre ordinateur.  

  • La langue est un champ descriptif qui permet de venir définir la langue du PDF. En fonction de la langue du rapport, le PDF rajouté sera différent. On peut par exemple ajouter les conditions générales de vente dans plusieurs langues. 

Cette fonction permettra par exemple d'attacher des conditions générales de vente à l'édition de la commande de vente. 

Une image contenant texte

Description générée automatiquement

2e possibilité : Fichier(s) à fusionner qui dépendent d'un paramètre 

Le cadre Documents par référence va permettre d'aller récupérer des documents propres à l'enregistrement en question. Le fonctionnement est expliqué dans les modèles de mail où l'on retrouve ce même principe. 

Cette fonction, en type champ, permettra par exemple de fusionner dans le rapport Ordre de fabrication à la fois le rapport Jasper OF ainsi que tous les autres documents rattachés à l'OF. 
Cette fonction, en type SQL, permettra par exemple de fusionner dans le rapport Ordre de fabrication à la fois le rapport Jasper OF ainsi que tous les autres documents rattachés au produit de l'OF.

Jasper report - Textes additionnels

Il est également possible de rajouter des lignes de texte à faire apparaître sur tous les exemplaires d'un même rapport, depuis l'onglet Textes additionnels. 

En ajoutant un élément à la liste, une fenêtre s'ouvre. Deux champs sont affichés : 

  • Laséquence permet de déterminer l'ordre des messages entre eux ; 

  • Lacondition d'application est une requête en Python qui détermine lorsque le message doit s'afficher ou non, le cas échéant. 

Le cadre Texte permet d'écrire le message à afficher. Le texte s'affichera en bas de page. Voir images ci-dessous. 

Une image contenant texte

Description générée automatiquementUne image contenant texte

Description générée automatiquement 

Une image contenant texte

Description générée automatiquement

Jasper report - paramètres et libellés

Les deux derniers onglets des Jasper Reports concernent les éléments que l'on souhaite afficher sur le rapport. 

L'onglet Paramètres va permettre de chercher des informations qui ne sont pas accessibles via des requêtes. Pour information, un rapport est construit à partir de requêtes SQL qui viennent chercher les données dans la base de données. Cependant certaines informations ne sont pas présentes dans la base de données ou du moins pas accessibles à partir d'une requête SQL. Par exemple, il est impossible de connaître l'utilisateur qui imprimera le rapport. On va donc utiliser un paramètre pour obtenir cet information. Les principaux paramètres sont souvent liés à l'utilisateur courant, à la société courante, à des informations dynamiques en quelque sorte...  

L'onglet Libellés permet de remplacer les noms des champs placés sur le rapport par des noms, dans la langue du rapport, plus compréhensibles (voir ci-contre image du bas). Un champ est l'intitulé auquel l'on vient ajouter la valeur de la donnée. Par exemple, PRODUCT_NAME est le champ que l'on vient traduire dans le rapport par « Produit » et la valeur de la donnée sera « Résistance 1K ». Le champ (en capitales) sera aussi présent tel quel sur le serveur Jasper. Il faut donc que les champs soient identiques dans Open-Prod et dans le serveur Jasper. Par convention, ces champs sont écrits en capitales d'imprimerie. 

Une image contenant texte

Description générée automatiquement

 Configuration serveur Jasper

Pour imprimer des documents depuis Open-Prod, il est nécessaire d'utiliser un serveur Jasper. Ce serveur devra être renseigné dans la configuration des documents pour permettre l'impression. 

Il faut donc configurer le lien entre l'ERP et le serveur Jasper, qui sont tous deux des machines virtuelles créées sur un même serveur physique (voir schéma ci-contre). Pour cela il faut installer le module Interfaçage JasperReport Server. La configuration s'effectue ensuite depuis le sous-menu Configuration > Jasper Report > Configuration JasperServer. 

 

 

Cadre Connexion jasper 

Le cadre Connexion Jasper regroupe les paramétrages de base : 

  • La case Activé doit rester cochée pour que la liaison fonctionne ; 

  • La séquence permet de définir l'ordre des connexions dans la liste, s' 

  • L’hôte, c'est-à-dire l'adresse IP du serveur ; 

  • Le port de connexion au serveur. Par défaut, et dans la grande majorité des cas, le port utilisé est le 8080. En cas de doute, confirmer auprès de l'administrateur système (ou de l’intégrateur) ; 

  • L’identifiant et le mot de passe, qui sont configurés par défaut. Il est recommandé de ne pas les modifier ; 

  • La version de serveur Jasper utilisée : les versions 5 et 7 sont prises en charge. En cas de doute sur la version utilisée, contacter l'intégrateur. 

Selon la version sélectionnée, des paramétrages complémentaires s'afficheront : se reporter un paragraphe correspondant ci-dessous. 

Serveur Jasper v5 

Pour un serveur Jasper v5, il faut en plus configurer le dépôt, qui correspond au chemin de stockage. Ce champ est pré-paramétré, et il est recommandé de ne pas le modifier. 

Une fois les informations paramétrées, cliquer sur Vérifier l'authentification en haut à gauche. L'État de vérification et d'identification s'affichera en bas. 

Pour imprimer des rapports avec un serveur Jasper v5, la base Open-Prod doit se nommer « opendprodX », le « X » étant compris entre 1 et 9. En raison d'une limitation technique sous cette version, tout autre nom de base provoquera des erreurs à l'impression. 

Serveur Jasper V7 

Pour les serveurs en versionV7.x.x, certaines requêtes nécessitent de passer un utilisateur et son mot de passe en paramètres. Cet utilisateur doit disposer des droits utilisateurs sur les différents modules. 
Pour des questions de sécurité, il est recommandé de créer un utilisateur « jasper » avec un mot de passe spécifique à cette fonction. 

Une image contenant texte, jauge, périphérique

Description générée automatiquement 

Une image contenant texte, capture d’écran, intérieur, portable

Description générée automatiquement

Les champs spécifiques aux serveurs v7 s'affichent dans un cadre Connexion Open-Prod : 

  • L’utilisateur jasper dans Open-Prod, et le mot de passe jasper dans Open-Prod qui seront passés en paramètres dans les requêtes si nécessaire ; 

  • La base source Jasper. Par défaut, la valeur est « OpenProd » : elle ne doit pas être modifiée ; 

  • Le port OPENPROD, dans lequel il faut indiquer le port de connexion utilisé sur la base Open-Prod. 

Le cadre Configuration de l'import permet de définir les paramètres et libellés qui pourront être passés dans la requête au serveur Jasper : 

  • Les paramètres et libellés dont le nom correspond aux Filtres seront personnalisables ; 

  • Les paramètres et libellés dont le nom correspond aux exclusions ne seront pas acceptés : leur valeur sera récupérée directement dans la base. 

 L'illustration ci-contre montre le paramétrage défini par défaut : 

  • Le serveur Jasper acceptera tous les paramètres commençant « OERP_ » compris dans la requête, à l'exception de ceux définis comme exclus. 

 Exemple : le paramètre OERP_company_name, qui correspond au nom de la société, fait partie des exclusions. Si une requête passe ce paramètre, le serveur l'exclura d'office et récupérera la valeur directement dans le champ correspondant ; 

  • Le serveur Jasper acceptera tous les paramètres de libellés commençant par « I18N_ » car il n'y a pas d'exclusions.

Rapport Excel

Le module complémentaire « Rapport Excel » offre la possibilité de créer et de générer des rapports au format XLSX. Il existe au téléchargement du module plus de 15 rapports XLSX déjà paramétrés. Il est possible d’en créer de nouveaux ou de les modifier si besoin. 

Il y a donc 2 manières d’éditer des rapports après l’installation : soit par Jasper, soit par Excel. 

 

Il n'y a pas de règle fixe et tout dépend des besoins/ressources des clients et du projet mais globalement une des bonnes pratiques est la suivante : 

- Utiliser les rapports Jasper pour les documents standards (déjà paramétrés, juste à personnaliser). Cela permet d'avoir de "beaux" documents pour être envoyés à l'extérieur de l'entreprise. 

- Utiliser les rapports Excel pour créer des rapports de toute pièce, pour des besoins spécifiques qui ne se rapprochent pas de ceux du standard. Ils sont plutôt destinés à un usage en interne ou alors à un usage externe si le besoin est d'obtenir un export au format modifiable (XLSX). 

 

Une image contenant texte, table

Description générée automatiquement 

Prérequis 

Les rapports fonctionnent avec des polices du pack freefont. Il faut donc impérativement installer le pack sur le serveur OpenProd avec la commande suivante : sudo apt install fonts-freefont-ttf 
Il faut également installer la police "code128.ttf" qui permettra l'impression des codes barre (notamment pour les rapports étiquette). 

Ajouts du module 

Il y a deux modules à installer : 

  • Le module "Rapport Excel" ajoute :  

  • Un menu « Rapport Excel » dans Configuration > Rapport. Ce menu se compose de 2 sous menu : 

  • « Rapport » qui renvoie vers la vue liste des rapports déjà créés dans le système 

  • « Configuration » qui présente un ou plusieurs enregistrements de configuration : Un enregistrement est constitué à partir d’un utilisateur et d’un mot de passe. Il permet de faire des requêtes sur la bdd. 

  • Le module "Excel report import" importe une liste de rapports déjà paramétrés : confirmation de vente, confirmation d'achat, facture, bon de livraison avec/sans prix, bon de réception, ordre de travail, sortie matière, fiche de non-conformité, fiche de contrôle, balance agée, grand livre et étiquette. 


Utilisation du module 

Afin de pouvoir utiliser les rapports, nous allons détailler ici les paramétrages. On se place dans la vue formulaire d’un rapport. 

1) L'en-tête 

  • Nom : Nom du rapport (qui est aussi le nom de l'action). 

  • Nom du fichier : C'est le nom que portera le rapport quand il sera téléchargé. 

On peut utiliser une expression Python afin d’adapter le nom du rapport. Exemple : « "BL "+object.name+"_"+time.strftime('%d-%m-%Y' donnera BL OUT/00002_12-05-2021  

  • Langue : Langue du rapport 

 On peut utiliser une expression Python : ‘object.partner_id.lang 

Une image contenant texte

Description générée automatiquement 

  • Le Mode de génération permet de choisir la manière dont on téléchargera les rapports si on sélectionne plusieurs enregistrements : 

  •  

  • Un fichier par enregistrement : Un .zip contenant autant de fichiers que d'enregistrements est téléchargé. 

  • Réexecuter le rapport dans la même feuille : Les rapports sont générés les uns après les autres, « collés » à la suite dans un seul fichier XLSX, un seul onglet (Pas optimisé et pas vraiment utilisable si on utilise des sous rapports). 

  • Réexecuter le rapport dans une nouvelle feuille dans le même fichier : Tous les rapports sont contenus dans un unique fichier avec une feuille par enregistrement (Optimisé pour la gestion en masse des rapports). 

  • Un fichier pour tous les enregistrements : Convient pour les rapport qui ne contiennent qu'une liste, par exemple : les sorties matière : Les listes des différents rapports sont mises à la suite mais les autres champs ne seront pas dupliqués, juste écrasés. 

  • Le modèle correspond à l’objet auquel s’applique le rapports. C'est dans cet objet qu'on retrouvera la possibilité d'imprimer si un menu est créé. 

  • L’extension permet de choisir le type de fichier de sortie (XLSX ou PDF). 

  • L’ajustement automatique à la hauteur permet d'ajuster la hauteur des cellules à la fin de l’exécution du rapport. Cela revient à double cliquer, comme on peut faire manuellement (cf exemple à droite), entre deux lignes pour ajuster la hauteur au contenu des cellules de la ligne. Cocher cette case déclenche une fonction Python, ce qui peut, peut-être, être l'origine de temps de génération un peu long. 


 

2) Onglet Section 

Les sections du rapport contiennent les requêtes et le traitement des données. 

Une image contenant texte

Description générée automatiquement


  • Nom de la section 

  • Nom de la feuille dans le fichier XLSX dans laquelle on insère la section. 

  • Type d'insertion des données de la section : 

  • Simple (Utilisé pour les requêtes à une ligne de sortie) : On va insérer les données en précisant pour chaque donnée la cellule ou l'insérer. 

  • Liste (Utilisé pour les requêtes avec plusieurs lignes de sortie) : On va insérer les données en précisant une colonne du fichier dans laquelle insérer. 

  • Ignorer la disposition : En cas de grosse volumétrie, il est important de cocher cette case pour améliorer les performances. Le mise en forme ne sera pas prise en compte sauf si elle est appliquée à la colonne entière (Exemple : dans le Template du rapport, si on a défini les cellules A2 et B2 comme texte centré alors cela ne sera pas pris en compte. En revanche, si toute la colonne A et B sont paramétrées avec texte centré alors ce sera appliqué). 


Une fois l'entête remplie, il faut insérer la requête SQL dans l'onglet Requête pour récupérer les données. Une fois la requête remplie, l'action Générer les champs remonte automatiquement tous les champs trouvés dans la requête. 

Si le bouton est grisé, il faut d'abord sauvegarder puis générer. 

Tout est pré-rempli automatiquement. On peut alors indiquer champ par champ le type de la cible (cellule, entête, pied de page), l’alignement voulu (gauche, centré, droite), la colonne et le type (texte, image ou code barre). 

3) Onglet Paramètres 

On retrouve dans cet onglet les paramètres spécifiques du rapport, c'est à dire les informations que l'on peut demander à l'utilisateur à l’exécution du rapport. Ces paramètres sont facultatifs. 
Il sont utilisés dans la requête SQL du rapport. 

  • Le code du paramètre correspond au code utilisé dans la requête. 

  • Le libellé correspond au libellé du code. Il sera affiché dans le wizard où l'on demande le renseignement des valeurs. 

  • La séquence définit l'ordre d'affichage dans le wizard. 

  • Le champ à cocher requis permet de bloquer le lancement du rapport si le paramètre n'est pas renseigné. 

  • Le type de paramètre : il peut être entier, décimal, char, sélection, booléen, date, datetime, many2one ou many2many. 

  • Si le type selection est choisi : un encadré pour renseigner les choix apparaît (cf illustration à droite). 

  • La clé est la valeur que prend le paramètre dans la requête SQL 

  • Le nom est celui qui sera affiché dans le wizard ou les valeurs seront proposées. 

  • Si le type many2one ou many2many est choisi : Il faut renseigner le modèle par le nom technique ou par le libellé. 


Quand au moins un paramètre est renseigné, une case à cocher Générer une vue automatiquement apparaît. Si elle est cochée, on utilise la vue par défaut. Sinon, l'action Réinitialiser avec la vue automatiquement génère le code XML de la vue par défaut dans l'encadré Vue et on peut directement l'éditer. 

Exemple d’utilisation de paramètre dans une requête : SELECT name FROM res_partner WHERE id=%(client)s  

Client est le nom du paramètre qui est de type many2one en relation avec la table des res_partner 

4) Onglet Sous-rapports 

On retrouve la vue liste des autres rapports utilisés dans ce rapport.  

Pour les paramétrer il faut renseigner : 

  • Le nom de la feuille du rapport dans laquelle le sous rapport est inséré. 

  • Le type d'insertion : 

Une image contenant texte

Description générée automatiquement 
  • Avant le parent : On insère le sous rapport en première ligne dans le rapport courant (Dans l'exemple ci-dessus : Informations et logo de notre société dans Header company). Le sous rapport pouvant lui même être composé de plusieurs lignes, cela décalera (vers le bas) l'emplacement du rapport courant. 

  • Après le parent : On insère le sous rapport en dernière ligne du rapport courant (Dans l'exemple ci-dessus : Footer sale order). 


 Contrairement à Jasper, un sous rapport Excel prend forcément toute la largeur du rapport initial puisque cela correspond à ajouter des lignes. 


  • Le sous-rapport à insérer : l'enfant. 

  • Le nom de la feuille du sous rapport c'est à dire le nom de la feuille Excel dans le template du sous rapport dans laquelle se trouve le sous rapport que l'on veut insérer. 


5) Onglet Rapports parents 

On retrouve la liste des rapports qui utilisent ce rapport. Elles s’incrémentent automatiquement. 

6) Onglet Document modèle 

C'est dans cette liste qu'on ajoute les templates du rapport. Il peut y en avoir plusieurs car on peut associer au document une langue (optionnel), et donc venir chercher le bon template en fonction de la langue définie dans l'en tête.  

 

Le template est forcément un document qui est stocké dans Open-Prod. 

La réalisation du template est importante pour la mise en forme et le rendu du rapport. C'est dans ce template qu'il faut gérer la largeur des colonnes pour obtenir le bon format à l'impression (A4 dans l'exemple ici).                                                                          Utilisez la fonctionnalité excel pour afficher la délimitation des pages en pointillé.  

Même si il existe une fonction d'ajustement automatique à la hauteur (cf En tête), la définition de la hauteur des lignes et la fusion de cellules permet d'obtenir un rapport plus "joli" et lisible. 

De nombreuses fonctionnalités d'excel sont disponibles et peuvent être paramétrées directement dans le document modèle. Ainsi il est possible de définir des formules, des formatages conditionnels, etc... 

7) Onglet Images 

Cet onglet référence toutes les images à insérer dans le rapport. Les images sont forcément stockées dans Open-Prod.  

Cette manière d'insérer les images n'est pas la plus judicieuse : en effet elle était utilisée avant mais maintenant il est préférable de : 
- Si c'est une image statique (Exemple : logo de la société), commune à toutes les impressions du rapport, placer l'image directement dans le template : cela permet de dimensionner et positionner facilement. 
- Si l'image est propre à l'enregistrement (Exemple : Photo d'un colis avant envoi sur un BL) il faut appeler l'image dans la requête SQL (puisqu'elle est stockée dans Open-Prod). Au moment de la génération des champs, un champ de type Image sera importé et on pourra lui indiquer la cellule. L'image sera automatiquement redimensionnée au format de la cellule pour ne pas dépasser. 

Néanmoins, via cet onglet, quand on ajoute une image il faut indiquer le nom de la feuille du template dans laquelle l'image doit d'insérer et la cellule. L'image va s'insérer telle quelle c'est à dire qu'elle ne sera pas redimensionnée. Il est fort probable que l'image déborde. 

 Paramétrées par cet onglet, les images ne sont pas prises en compte dans les sous rapports : Si une image est ajoutée pour ce rapport, et que celui ci est utilisé dans un autre rapport en tant que sous-rapport, alors l'image ne sera pas propagée. 

8) Onglet Conditions 

On peut définir des actions qui seront exécutées (selon les conditions associées) à la fin de la génération du rapport. Elles permettent d'améliorer la mise en forme du rapport. 

Pour ajouter une condition il faut : 

  • Le nom de la feuille dans laquelle exécuter l'action. 

  • L'action à exécuter : 

  • Supprimer une ligne 

  • Supprimer une colonne 

  • Supprimer une cellule : Supprimer son contenu s'il y en a et toute la mise en forme (couleur de fond, bordure, ...) 

  • La condition pour exécuter l'action : 

  • Si est vide : Si la cible est vide. 

  • Si le paramètre est vrai : Si un paramètre booléen du rapport que l'on précise (dans la colonne qui apparaît à droite de la condition) est renseigné comme vrai. 

  • Si la cellule est vide : Si la cellule que l'on précise (dans la colonne qui apparaît à droite de la condition) est vide. 


Une image contenant texte

Description générée automatiquement 

9) Onglet Action 


  • Si une action d'impression a été générée (via les boutons à gauche), elle est renseignée dans le champ Action du rapport. Générer une action est nécessaire si on veut ensuite appeler le mail dans un modèle de mail. 

  • Si un menu a été généré (via les boutons à gauche), il est renseigné dans le champ Menu. 

  • S'il y a au moins une action ou un menu de généré, et que le rapport nécessite le renseignement de paramètres (cf onglet Paramètres) alors le lien vers l'assistant d'action, c'est à dire le wizard, est dans le champ Assistant action. 


10) Les boutons Actions 

Une fois le rapport passé en Actif, plusieurs actions sont disponibles : 


  • Exécuter : Lance une exécution du rapport sans paramètre, sans enregistrement d'entrée. 


 Certains rapports, typiquement pour du reporting, peuvent ne prendre aucun enregistrement d'entrée, les paramètres étant déjà indiqués dans la requête SQL. 

  • Créer une action : Une action d'impression est alors disponible pour ce rapport dans l'objet précisé dans le champ Modèle dans l'en tête. Pour différencier des rapport Jasper, les actions d'impression de rapport Excel commencent par "Rapport XLSX". 

  • Créer un menu : On choisit alors le nom du menu, le menu parent et la séquence. 


Si un menu a été créé pour un rapport, puis que ce rapport est passé en brouillon, le menu ne disparaît pas mais n'est plus actif. En repassant le rapport en actif, le menu va aussi repasser en actif. En revanche, passer le rapport obsolète supprime le menu. 

 L'action est utilisée lorsque le rapport porte sur un enregistrement et récupère les données de celui-ci. Le menu est utilisé pour les rapports où tout est déjà dans la requête. 

 

Question fréquente : Comment importer des valeurs de la requête dans une phrase du modèle Excel (Exemple : Le prix total de la commande est de {Valeur de la requête}) ? 

La solution est d'exporter la valeur de la requête dans une cellule cachée et ensuite d'appeler cette cellule par une formule dans le rapport Excel.