Partie I : Les rapports glisser-déposer de Jasperreports open source pour IRIS
Préparez une application d'échantillon (Sample)
1. Pour ce tutoriel, nous utiliserons le modèle iris-rest-api-template: https://openexchange.intersystems.com/package/iris-rest-api-template, en ajoutant du code pour installer un support de JIRISReport. Procédez comme suit :
2. Clonez le projet dans un dossier local :
$ git clone https://github.com/intersystems-community/iris-rest-api-template.git3. Modifiez le fichier Dockerfile avec le contenu suivant :
ARG IMAGE=intersystemsdc/iris-community:2020.3.0.221.0-zpm
ARG IMAGE=intersystemsdc/iris-community
FROM $IMAGE
USER root
RUNecho ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | debconf-set-selections
RUN apt-get update && \
apt-get install ttf-mscorefonts-installer -y &&
apt-get install fontconfig -y
RUNfc-cache -v -f /usr/share/fonts
USER ${ISC_PACKAGE_MGRUSER}
WORKDIR /home/irisowner/dev
RUN --mount=type=bind,src=.,dst=.
iris start IRIS &&
iris session IRIS < iris.script &&
iris stop IRIS quietly
4. Exécutez ces commandes pour construire et exécuter l'échantillon :
docker compose build up -d5. Ouvrez le code source sur VSCode (installez ObjectScript et les extensions InterSystems si vous ne les avez pas encore) et Choizissez en bas docker:iris52773[USER] pour ouvrir les options :
.png)
6. Choizissez l'option Ouvrir un terminal dans Docker :
.png)
7. Le terminal s'affiche :
.png)
8. Tapez zpm pour lancer l'interpréteur de commandes zpm :
.png)
9. Tapez, exécutez et attendez l'installation (cela prend un certain temps) :
zpm:USER>install jirisreport -verbose10. Découvrez les résultats de l'installation :
11. Dans VSCode, accédez à Person.cls et exécutez la méthode AddTestData (cliquez sur Debug) avec 20 enregistrements :
.png)
12. Nous disposons à présent d'une base de données contenant des exemples de données pour vos rapports.
Téléchargez le pilote JDBC d'IRIS
1. Téléchargez à partir de https://github.com/intersystems-community/iris-driver-distribution/raw/main/JDBC/JDK18/intersystems-jdbc-3.7.1.jar et sauvegardez dans n'importe quel dossier (dans mon cas, D:\projetos\isc\jirisreport-api-sample).
Conception de rapports avec JasperReports Studio
1. Accédez à https://community.jaspersoft.com/community-download et téléchargez Jaspersoft Studio CE :
2. Choisissez la bonne version pour votre OS :
3. Maintenant que Jasper Studio est installé, exécutez-le :
4. L'explorateur de projet (Project Explorer) s'affiche :
5. Cliquez sur l'explorateur de référentiel (Repository Explorer) > Faites un clic droit sur les adaptateurs de données > Créer un adaptateur de données (Data Adapter) :
6. Choizissez Database JDBC Connection et cliquez sur Next :
7. Définissez les valeurs suivantes pour l'onglet d'emplacement de la base de données (Database Location) :
- Nom: IRISAdapter
- Pilote JDBC : com.intersystems.jdbc.IRISDriver
- JDBC Url: jdbc:IRIS://127.0.0.1:51773/User
- Nom d'utilidateur : _SYSTEM
- Mot de passe : SYS
8. Choizissez ensuite l'onglet Driver Classpath :
9. Cliquez sur le bouton d'ajout (Add) et Choizissez l'emplacement du fichier du pilote JDBC (dans le dossier choisi dans la section Télécharger le pilote JDBC d'IRIS) :
10. Cliquez ensuite sur Test :
11. Cliquez sur Finish. Nous disposons maintenant d'une connexion à la base de données pour IRIS :
Créez un nouveau rapport
1. Accédez à: Fichier > Nouveau > Rapport Jasper :
2. Choisissez Blank A4 et cliquez sur Next :
3. Définissez le nom du rapport AllPersons.jrxml et cliquez sur Next :
4. Choisissez IRISAdapter et écrivez :
select * from"dc_Sample"."Person"5. Cliquez sur Next.
6. Choisissez tous les champs, à l'exception du champ ID, et cliquez sur Next :
7. Ce rapport n'a pas de bandes, cliquez sur Next :
8. Découvrez félicitations (Congratulations) et cliquer sur Finish :
9. Nous avons maintenant un rapport vide, mais connecté aux données IRIS :
10. JasperReports travaille avec un concept de bande et nous travaillerons avec des bandes suivantes :
- Titre : section permettant d'imprimer le titre du rapport sur la première page uniquement.
- En-tête de colonne : utilisé pour les rapports comportant des colonnes, pour imprimer le titre de la colonne sur une nouvelle page.
- Détail 1 : section pour les données de la base de données.
11. Dans la palette, sélectionnez Static Text et effectuez un glisser-déposer pour la section de titre (Title) :
12. Modifiez la boîte de texte contenant la valeur de la liste des personnes Person List, mettez-la en forme et augmentez la taille des caractères (Arial, 20 Bold, Center).
13. Sous l'onglet bordures, cliquez sur les bordures du haut et du bas :
14. Ajuster la section titre (Title) pour qu'elle occupe moins d'espace :
15. Faites un clic droit sur l'en-tête de la page et supprimez-le :
16. Faites de même pour les bandes "Pied de colonne", "Pied de page" et "Résumé" (Column Footer, Page Footer et Summary, respectivement) et nous n'avons plus que 3 bandes :
17. Développez les champs sur Outline (aperçu), sélectionnez le nom et faites un glisser-déposer pour la section Detail 1 :
18. Ajustez la position du nom du texte statique (Name) dans l'en-tête de colonne et du champ de nom (Name Field) dans la bande de détail (Detail band) :
19. Réduisez maintenant la hauteur de l'en-tête de colonne (Column Header) et du détail (Detail) :
20. Glissez-déposez les autres champs de la bande de détail et ajustez-les :
21. Maintenant, mettez en forme les étiquettes de titre (Arial, 14, gras) :
22. Mettez en forme les champs (Arial, 14) :
23. Cliquez sur le bouton de sauvegarde Save (ou Fichier > Sauvegarder) en haut de la page et cliquez sur l'onglet d'aperçu (Preview) pour visualiser les résultats :
24. Votre rapport est prêt !
Dans le prochain article (Partie II), nous apprendrons comment exécuter ce rapport à partir d'un rapport IRIS de l'API REST.