Guide D'utilisation Arcopole Builder
Guide D'utilisation Arcopole Builder
Introduction
Types de rapports
réalisables
Principes fondamentaux
de JasperSoft
Se connecter à la base et
récupérer les informations
utiles au rapport
La création des
paramètres clauses where
Configurer le Data
Adapter du rapport
Utiliser la scriptlet de
carte
Paramètres liés à la
scriptlet de carte
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 1/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Configurer la scriptlet de
champ
Paramètres obligatoires
pour que la scriptlet de
champ fonctionne
Configurer la scriptlet
d'IMC
Paramètres obligatoires
pour que la scriptlet
d'IMC fonctionne
Définir le nombre de
décimales
Le fichier de propriétés
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 2/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Introduction
[ ↑ ] (widget/reports/#md-page-menu)
Les rapports spécifiques dans arcOpole Builder sont des mises en page des données prêtes à être exploitées par
les utilisateurs métier. Les rapports spécifiques synthétisent les informations utiles dont le contenu peut venir
d'une seule table, de plusieurs tables voire de plusieurs bases de données.
Ce guide présente les détails importants pour créer par vous-même un gabarit de rapport spécifique. Pour cela, il
vous faudra utiliser le logiciel JasperSoft Studio ainsi que des compléments mis à disposition avec arcOpole
Builder. Pour les installer et connaitre les prérequis, consultez la page dédiée.
Si vous ne connaissez pas JasperSoft Studio, nous vous conseillons de visionner le séminaire Web dédié aux
rapports dans arcOpole Builder (https://www.esrifrance.fr/2019-ws-rapports-arcopole-builder.aspx) qui aborde,
en seconde partie, les notions essentielles de la construction des rapports avec Jaspersoft Studio.
Vous trouverez également sur notre site internet, la solution arcOpole ANC
(https://www.arcopole.fr/telechargements.aspx?gid=00019366&gam=1401#topdownload) qui contient trois
gabarits de rapports utilisables avec arcOpole Builder sur cette thématique d'assainissement autonome. Ce sont
des ressources intéressantes pour comprendre comment les gabarits de rapports sont organisés.
Note : le support technique d'Esri France peut vous assister si vous n'arrivez pas à installer les compléments
à Jaspersoft Studio livrés avec arcOpole Builder ou si la génération de rapports dysfonctionne entièrement.
Par contre, l'aide à la création de rapports spécifiques fera l'objet d'une proposition d'assistance payante.
Par ailleurs, Esri France propose une prestation de transfert de compétences afin de vous présenter les
étapes et astuces pour créer des rapports. Pour plus d'informations, rapprochez-vous de votre interlocuteur
commercial.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 3/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/EXEMPLE_ANC.gif)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 4/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/EXEMPLE_Nancy.png)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 5/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/Rapports_ExempleProprete.jpg)
Le premier rapport ci-dessus est un rapport sur le thème de l'Assainissement Non-Collectif (ANC).
Techniquement, il s'agit d'un rapport sur sélection qui, à partir de la sélection d'une localisation d'ANC, va aller
rechercher des informations dans plusieurs tables de contrôle règlementaires.
Le second rapport ci-dessus est un renseignement d'urbanisme. Techniquement, il s'agit d'un rapport sur IMC qui
met en page toutes les informations impactant une parcelle sur des thèmes très divers tels que le zonage PLU, les
servitudes d'utilité publique, le plan de prévention des risques, etc.
Le propre des rapports spécifiques est d'être prédéfinis par une personne habilitée (souvent une personne du
service SIG), en vue de répondre à un besoin particulier et récurrent.
Au cœur de la création de rapports spécifiques, on trouve les outils Jasper. Ils sont exploités d'une manière
transparente pour l'utilisateur d'arcOpole Builder. En revanche cette technologie est à prendre en compte par
l'administrateur ainsi que par les personnes qui produiront les gabarits de rapports.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 6/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Une fois déployé sur le serveur et intégré dans une application, la génération d'un rapport peut être résumée aux
étapes suivantes :
1 Dans son navigateur, l'utilisateur sélectionne les objets qui l'intéresse et demande la génération d'un
rapport pour ces derniers. La demande est transmise jusqu'au serveur arcOpole Builder sous la forme
d'une requête qui indique le nom du gabarit à utiliser ainsi que les objets concernés.
2 A la réception de la demande, le serveur arcOpole Builder la confie au logiciel Jasper (ce dernier est
embarqué dans l'installation d'arcOpole Builder).
3 Jasper consulte le gabarit à utiliser ; il contient notamment une expression SQL qui est enrichie de la
liste des objets sélectionnés pour récupérer les informations détaillées.
4 Jasper se connecte à la base de données et transmet la requête SQL décrite dans le gabarit.
5 La réponse de la base de données est utilisée pour remplir les champs définis dans le gabarit, le
rapport imprimable est généré.
6 Le résultat est renvoyé à l'utilisateur sous la forme d'un téléchargement qui s'ouvre avec l'outil par
défaut défini sur son poste.
Attention : Jaspersoft Studio étant un logiciel répandu et indépendant d'arcOpole Builder, sa prise en main
n'est pas couverte par ce guide.
Dans Jaspersoft Studio, lors de la création d'un gabarit qui sera utilisé par arcOpole Builder, deux contraintes
devront être prises en compte : une source de données fixée, et une convention de nommage des paramètres du
rapport.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 7/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Lors d'un appel par arcOpole Builder, Jasper se verra imposer la source de données. Il est possible d'utiliser
toutes les sources de données mises à disposition dans Jaspersoft Studio mais le plus habituel est de se
connecter à la géodatabase entreprise stockée dans votre SGBD. C'est donc ce cas qui est illustré dans ce guide.
Attention : En conséquence, lors de la préparation d'un gabarit avec Jaspersoft Studio, il faut veiller à se
connecter à la même base de données que celle qui sera accessible par le serveur, pour s'assurer que les
données attendues par le gabarit soient bien celles qui lui seront effectivement fournies en production.
Pour se connecter à une base de données, cela revient à créer un Nouveau Data Adapter de type Database JDBC
Connection.
Après avoir choisi le driver correspondant à votre SGBD et indiqué les paramètres de connexion, vous pourrez
commencer à configurer votre rapport.
Note : Les modèles de rapports fournis ont été créés à partir d'une source de données de type JSON pour
en simplifier le déplacement. D'autres types de données peuvent venir enrichir votre rapport dont l'accès à
une base de données. Nous détaillons ici comment définir une connexion JDBC avec une base de données.
(widget/reports/images/config_scriptlet_dataadapter.png)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 8/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Une nouvelle fenêtre apparaît pour choisir le type de source de données. Afin de se connecter à une
géodatabase, il convient d'utiliser une connexion de type Database JDBC Connection.
Aide arcOpole Builder | (../../index.html)
Cliquer sur Next pour afficher la configuration de la source de données, celle-ci diffère selon la source. Dans le
cas d'une connexion JDBC, les champs suivant apparaissent.
(widget/reports/images/config_scriptlet_dataadapter5.png)
Remarque : Il est possible que le driver JDBC fourni lors de l'installation de Jaspersoft Studio ne soit pas
compatible avec votre base de données. Pour redéfinir un nouveau driver, il faut aller dans l'onglet Driver
Classpath.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 9/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Aidedes
La création arcOpole Builder
paramètres clauses| where
(../../index.html)
Lien entre l'application utilisateur et le rapport
Depuis son application arcOpole Builder, l'utilisateur final va générer un rapport spécifique sur une sélection ou
une IMC. Lorsqu'il effectue cette action, arcOpole Builder transmet les identifiants des objets en entrée (résultat
de sélection ou d'IMC) à Jasper afin que ce dernier puisse générer le rapport. Les identifiants sont communiqués
de la manière suivante : objectid in (liste des identifiants) . Par exemple, objectid in (157, 19, 852)
pour les trois entités qui ont respectivement les identifiants 157, 19 et 852.
Ce format permet de compléter la condition where de la requête SQL définie dans le gabarit de rapport.
Vous devez donc créer ces paramètres, appelés clauses where, dans votre gabarit de rapport. Ces paramètres
permettront à arcOpole Builder de savoir dans quelles couches rechercher les informations. Ceci se fait par
convention de nommage avec le paramètre suivant : "where_" + identifiant de la couche.
Remarque :
Pour les rapports sur sélection : une seule clause where est nécessaire.
Pour les rapports sur IMC : plusieurs clauses where sont nécessaires.
Autre exemple :
Lorsqu'on veut créer un rapport portant sur une couche dont l'URL est
https://sig.ma_collectivite.fr/arcgis/rest/services/Ville/Proprete/FeatureServer/0
(https://sig.ma_collectivite.fr/arcgis/rest/services/Ville/Proprete/FeatureServer/0), on
veut en fait utiliser la couche 0 du FeatureService nommé Proprete qui est stocké
dans le répertoire Ville sur le serveur ArcGIS. L'identifiant de la couche est alors le
suivant : Ville/Proprete/FeatureServer/0 et vous devrez donc créer un paramètre
nommé where_Ville/Proprete/FeatureServer/0 .
C'est grâce au nom du paramètre que le widget Rapports saura sur quelle couche de carte ce rapport s'applique
et donc s'il est utilisable sur la carte en cours. Ce rapport ne sera utilisable qu'avec les objets sélectionnés par
l'utilisateur dans cette couche.
Attention : une même couche accédée via un Feature Service ou via un MapService a un identifiant différent
(par exemple respectivement Ville/Proprete/FeatureServer/0 et Ville/Proprete/MapServer/0). Un rapport
créé pour un type de service doit donc être légèrement modifié pour pouvoir être utilisé avec la même
couche publié dans l'autre type de service.
Le paramètre répond donc à la question : Comment indiquer au widget Rapports quelle est la couche sur
laquelle ce rapport fonctionne ?
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 10/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Création de paramètres
La création d'un paramètre se fait de la manière suivante :
(widget/reports/images/Rapports_ParametreWhere.jpg)
Il faut ensuite renseigner la fenêtre ci-dessous qui est disponible au niveau du volet Properties :
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 11/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_parametre.png)
Attention : Comme indiqué au paragraphe précédent, le nommage du paramètre est important. Pour
récupérer les informations d'une couche, il faut que le paramètre commence par where_* puis l'identifiant
de la couche (par exemple where_Cannes/EspacesVerts/FeatureServer/6).
Astuce : pendant la phase de conception de votre rapport depuis Jaspersoft Studio vous pouvez remplir le
champ Expression Valeur par Défaut du paramètre (voir l'impression d'écran ci-dessus). Cela vous permet
de prévisualiser rapidement le résultat. Lorsque le rapport sera déployé sur le serveur et lancé par vos
utilisateurs, la valeur par défaut sera automatiquement remplacée par la liste des éléments sélectionnés par
l'utilisateur.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 12/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_scriptlet_dataadapter2.png)
La fenêtre qui s'ouvre permet de sélectionner le Data Adapter utilisé pour ce rapport. Dans cette partie, il est
possible de rédiger une requête SQL qui sera utilisée lors de la génération du rapport.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 13/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_scriptlet_dataadapter3.png)
Dans l'exemple ci-dessus, vous pouvez voir comment les paramètres where_ peuvent être utilisés dans la requête
pour filtrer les données du rapport. Pour cela, il faut utiliser la syntaxe suivante : $P!{Nom du paramètre}.
SELECT *
FROM espaces_verts.esv_surfaces
WHERE $P!{where_Cannes/EspacesVerts/FeatureServer/6}
Lors de l'exécution du rapport, le nom du paramètre se verra substitué par l'expression reçue dans la requête en
provenance du widget Rapports. La requête effectivement envoyée à la base de données sera :
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 14/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
SELECT *
Remarque : si la présence du paramètre where_* est indispensable pour faire le lien entre le gabarit et la
couche géographique, son utilisation dans la requête vers la base de données n'est pas obligatoire. Si vous
n'utilisez pas ce paramètre dans la requête SQL, vous pouvez générer des rapports sur tous les objets de la
base de données (ou sur une liste librement définie dans la requête) ! Si cette utilisation est possible, veillez
à ce qu'elle soit utilisée avec parcimonie eu égard aux ressources de votre serveur de base de données et
aux temps d'attentes possibles pour récupérer un rapport finalisé.
(widget/reports/images/config_scriptlet_dataadapter4.png)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 15/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_scriptlet_dataadapter_publication.png)
Puis inscrire ce fichier dans la valeur Default Data Adapter dans les propriétés du rapport.
(widget/reports/images/config_scriptlet_dataadapter_publication2.png)
Astuce : Cette valeur peut contenir un chemin absolu ou relatif vers le fichier
Remarque : Lors de la publication du rapport sur le serveur, il ne faut pas oublier de copier également ce
fichier au risque d'avoir une erreur lors de la génération du rapport par un utilisateur.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 16/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
Le logiciel Jaspersoft Studio ne permettant pas nativement d'intégrer des cartes provenant du portail ArcGIS,
arcOpole Builder ajoute un composant appelé scriptlet de carte qui offre cette possibilité. Vous devez donc :
1 installer cette scriptlet si vous souhaitez intégrer des cartes à vos rapports. Si vous avez suivi les
instructions données dans la rubrique Installation des éléments arcOpole Builder pour Jasper cela devrait
déjà être fait.
Astuce : En utilisant les modèles de rapports ESRI mis à disposition, les scriptlets sont déjà référencées dans
le gabarit de rapport. Si vous ne souhaitez pas utiliser un des modèles de rapports ESRI mis à disposition,
vous devez ajouter la scriplet de carte manuellement comme expliqué dans cette autre rubrique.
La carte qui est insérée dans le rapport est une image qui est générée dynamiquement par le web service
d'impression d'ArcGIS. Aussi, l'élément à utiliser pour choisir la taille et la position de la carte est une Image. La
scriptlet se charge d'appeler le service d'impression et de transmettre l'url de l'image générée au rapport Jasper
pour le composant Image.
Pour ajouter l'élément Image, vous devez le sélectionner depuis le menu Palette et par glisser-déposer
le positionner dans le rapport.
(widget/reports/images/config_scriptlet_image.png)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 17/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_scriptlet_image2.png)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 18/34
24/07/2024 19:31 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_expressionImage.png)
Dans Parameters (1), sélectionnez la scriptlet (2) (dans notre exemple MapScriptlet_SCRIPTLET) puis double-
cliquez sur la méthode printUrl( String ) (3).
$P{MapScriptlet_SCRIPTLET}.printUrl( String )
Il faut à présent remplacer la valeur de String par un identifiant qui permettra de générer la carte. Dans le reste
de ce guide, nous l'appelerons map1 car il s'agit de notre première carte. Ce qui donnera l'expression suivante :
$P{MapScriptlet_SCRIPTLET}.printUrl("map1")
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 19/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Remarque : Cette valeur doit être unique. En cas de présence d'autres carte dans ce rapport ou des sous-
Aide arcOpole Builder | (../../index.html)
rapports, il faut faire en sorte que ce nom ne soit pas réutilisé. Les noms des identifiants sont libres (map1,
carte1, carte_globale, ...).
Les paramètres dont il faut disposer dans votre rapport sont les suivants (en caractères gras les paramètres
obligatoires) : tokenReport (détail), agsServiceUrl (détail), aOBPrintDetail (détail), portalUrl (détail) et
webmapItemId (détail).
Remarque : les paramètres tokenReport et agsServiceUrl sont également obligatoires pour que les scriplets
de champ et d'IMC fonctionnent. Si l'un et/ou l'autre est déjà présent dans votre rapport (ou sous-rapport),
vous n'avez pas besoin de le recréer.
pour les rapports sur sélection : map1_layer (détail), map1_objectIdFieldName (détail), map1_scale
(détail), map1_dpi (détail),
pour les rapports sur IMC : map1_dpi (détail)
Remarque : aidez-vous des détails de chacun des paramètres pour connaitre leur type et les valeurs
attendues par le logiciel.
ajouter des composants Image que vous paramétrerez avec un identifiant dans la PrintUrl qui n'est pas
utilisé dans une autre carte de votre rapport (cela inclu également les éventuels sous-rapports qui
contiendraient également une carte)
préfixer les noms de vos paramètres xxx_Layer, xxx_objectIdFieldName, xxx_Layer et xxx_dpi avec
l'identifiant choisi.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 20/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Limitez le nombre de cartes dans votre rapport. Les cartes sont générées les unes après les autres et, en
fonction du nombre d'instances configuré sur le serveur ArcGIS qui génère l'impression, le temps de
génération de chaque carte s'ajoute. Souvent une seule carte est suffisante.
La taille de l'image de la carte (taille papier et résolution en dpi) fera varier le temps de génération du
rapport. Une carte en pleine page en 300 dpi sera plus longue à imprimer qu'une carte prenant
seulement un tiers de la page en 96 dpi par exemple. Limitez donc la taille et la résolution des images
au strict nécessaire.
Préférez les fonds de plan hébergés sur votre serveur ArcGIS à ceux d'ArcGIS Online. C'est un
paramètre très impactant dans les temps de génération des cartes et donc une option d'optimisation
majeure des temps de génération.
Si vous consommez des Features Services (ou des couches de Map Services ajoutées individuellement)
le nombre de requête pour construire la carte augmente. Préférez donc les données issues d'un Map
Services complet à celles issues de Features Services ou Map Services ajoutées individuellement.
Vous pouvez créer une carte web simplifiée qui sera utilisée uniquement pour le rapport et forcer son
utilisation plutôt que celle de l'application (voir le détail du paramètre webmapItemId pour cela).
Astuce : En utilisant les modèles de rapports ESRI mis à disposition, les scriptlets sont déjà référencées dans
le gabarit de rapport. Si vous ne souhaitez pas utiliser un des modèles de rapports ESRI mis à disposition,
vous devez ajouter la scriplet de champ manuellement comme expliqué dans cette autre rubrique.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 21/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
getDescription récupère la description associée aux valeurs de domaines et de types paramétrés sur
cette couche.
getAlias récupère l'alias d'un champ défini dans la couche.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 22/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_expressionDescription.png)
Sélectionner le paramètre (1) correspondant à la scriptlet de champ (2) (dans notre exemple
FieldScriptlet_SCRIPTLET) puis double-cliquez soit
sur la méthode getDescription( String, String ) (3)
sur la méthode getAlias( String, String )
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 23/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Remarque : ces deux paramètres sont également obligatoires pour que les scriplets de carte et d'IMC
Aide arcOpole Builder | (../../index.html)
fonctionnent. Si l'un et/ou l'autre est déjà présent dans votre rapport (ou sous-rapport), vous n'avez pas
besoin de le recréer.
Astuce : En utilisant les modèles de rapports ESRI mis à disposition, les scriptlets sont déjà référencées dans
le gabarit de rapport. Si vous ne souhaitez pas utiliser un des modèles de rapports ESRI mis à disposition,
vous devez ajouter la scriplet d'IMC manuellement comme expliqué dans cette autre rubrique.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 24/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_expressionGetPerc.png)
Sélectionner le paramètre (1) correspondant à la scriptlet d'IMC (2) (dans notre exemple
IMCScriptlet_SCRIPTLET) puis double-cliquez soit
sur la méthode getPerc( Integer, String ) (3)
sur la méthode getLengthArea( Integer, String )
sur la méthode getLimitStatus( Integer, String )
Remarque : ces deux paramètres sont également obligatoires pour que les scriplets de carte et de champ
fonctionnent. Si l'un et/ou l'autre est déjà présent dans votre rapport (ou sous-rapport), vous n'avez pas
besoin de le recréer.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 25/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Remarque : cette scriptlet, contrairement aux scriptlets de carte et de champ, ne communique pas avec
Aide arcOpole Builder | (../../index.html)
ArcGIS Server car toutes les informations sont transmises par l'application Web arcOpole Buidler suite à la
récupération du résultat de l'IMC.
(widget/reports/images/JASPER_PasDeDecimales.gif)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 26/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
(widget/reports/images/JASPER_TxtIMPRECISIONLIMIT.gif)
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 27/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Vous accédez à ce paramétrage de la manière suivante : sélectionner l'élément (1) > Propriétés (2) > Apparence
(3) > Print When > Print When Expression
Aide arcOpole Builder | (../../index.html)
(widget/reports/images/config_propriete_printExpression.png)
Note : cette même méthode permet de masquer une bande entière du rapport si, par exemple, un sous
rapport n'a pas besoin de s'afficher si aucun objet n'a été renvoyé dans le résultat de l'IMC !
les rapports sur IMC : chaque sous-rapport correspond à une couche identifiée,
les rapports sur des données reliées : chaque sous-rapport présente les informations d'une table reliées,
afficher des informations qui sont issues d'une autre base que la géodatabase.
Astuce : pour ajouter un sous-rapport, il faut ajouter un élément subreport depuis la Palette de Jaspersoft
Studio.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 28/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Lorsqu'un rapport principal intègre un sous-rapport, une série d'informations sont transmises au sous-rapport
pour que ce dernier puisse afficher uniquement les informations pertinentes. Pour cela, le rapport principal peut
Aide arcOpole Builder | (../../index.html)
passer des paramètres au sous-rapport.
Par exemple, si votre rapport principal est réalisé sur un arbre, le sous-rapport des
élagages ne devra afficher que les informations associées à l'arbre en question. Pour
cela, le rapport principal doit transmettre l'identifiant de l'arbre sélectionné par
l'utilisateur.
Ce même principe est également valable pour l'identité de l'utilisateur qui a lancé le rapport. Ainsi, un sous-
rapport qui aurait besoin d'utiliser une des scriplets arcOpole aura besoin de récupérer les valeurs stockées dans
les paramètres tokenReport et agsServiceUrl.
1 créer le sous-rapport (Palette > Ajouter un élément subreport) et configurer son Data Adapteur,
2 créer les paramètres dont vous allez avoir besoin (ex : where_, tokenReport, etc.) en définissant
éventuellement des valeurs par défaut,
La video ci-dessous vous montre comment transmettre la valeur des paramètres tokenReport et aOBPrintDetail
depuis le rapport principal vers un sous-rapport.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 29/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
(widget/reports/images/LierRapportEtSousRapport.gif)
Dans les rapports sur IMC, vous pouvez faire de même pour transmettre la valeur d'un paramètre _where vers le
sous-rapport qui doit présenter les données de la couche correspondante.
Pour les sous-rapports qui disposent d'une carte, si vous voulez utiliser la même carte que dans le rapport
principal, il suffit de transmettre le contenu du paramètre aobPrintDetail.
un gabarit en tant que fichier .jrxml : il s'agit d'une description XML du gabarit. Elle est utilisée par le
serveur arcOpole Builder pour obtenir des informations sur la manière d'appeler le rapport.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 30/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
un gabarit en tant que fichier .jasper : c'est une version compilée du précédent. Elle est utilisée par le
Jasper embarqué pour une exécution rapide du rapport.
Aide arcOpole Builder | (../../index.html)
un fichier .properties : un simple fichier texte qui permet de paramétrer le nommage des fichiers PDF
qui seront générés et quelques autres options.
Ces fichiers doivent avoir le même nom avant l'extension. Le nom des fichiers sera le nom du rapport montré à
l'utilisateur.
Par exemple :
templates/
Collecte exceptionnelle.jasper
Collecte exceptionnelle.jrxml
Collecte exceptionnelle.properties
Remarque : les changement réalisés dans ce répertoire sont découverts automatiquement par le serveur
arcOpole. Il n'est ainsi pas nécessaire de le redémarrer pour pouvoir utiliser un nouveau gabarit de rapport
nouvellement déposé sur le serveur.
Le fichier de propriétés
Name
Le fichier de propriétés est obligatoire et doit contenir à minima une propriété Name, qui définit le nom des
fichiers qui seront produits pour ce rapport. Exemple de fichier de propriétés minimal :
Name = RAP-PROPRETE
Les fichiers résultants sont stockés par arcOpole Builder dans des répertoires temporaires individuels, sous
jasper_reports/jasperoutput . Ils y sont conservés 24h avant d'être supprimés automatiquement.
DateFormat
Le fichier de propriétés permet également d'altérer certains éléments du processus. Le nom du fichier produit
peut contenir la date de création (conseillé pour ne pas que la génération d'un nouveau rapport écrase le
précédent rapport généré):
Name = RAP-PROPRETE-$V{date}
DateFormat = yyyyMMddHHmm
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 31/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
DisplayName
Si, pour quelque raison, l'administrateur souhaite que les utilisateurs voient un rapport sous un nom différent de
son nom de fichier, il peut également le faire :
Name = RAP-PROPRETE-$V{date}
DateFormat = yyyyMMddHHmm
DisplayName = Déchets exceptionnels à collecter
Ces paramètres ne sont pas présentés à l'utilisateur (ils sont uniquement accessibles en Rest) et vous ne devriez
pas avoir besoin d'utiliser le renommage de paramètres sauf peut-être pour paramètre where_.
Cette capacité peut être pratique pour répondre au changement d'URL des couches d'entités.
Par exemple, imaginons que les données concernées par un rapport étaient sur la
couche zéro d'un service. Suite à une modification du service par un géomaticien,
l'identifiant de la couche est devenu 1. Le lien entre le rapport et sa couche de
données peut être préservé sans modifier le gabarit de rapport en ajoutant cette
ligne dans son fichier de propriétés :
displayName_where_Ville/Proprete/FeatureServer/0 = where_Ville/Proprete/FeatureServer/1
IMCReport
Le fichier de propriétés permet aussi d'associer un rapport à une IMC via la propriété IMCReport :
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 32/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
Attention : cette propriété est obligatoire dans le cas d'un rapport sur IMC
Aide arcOpole Builder | (../../index.html)
MaxFeatures
Dans le cas où un rapport demanderait des ressources importante au serveur, il est possible de limiter le nombre
d'objets sélectionnés en entrée. Pour cela, il convient d'utiliser la propriété MaxFeatures.
MaxFeatures = 15
Remarque : Par défaut, le nombre d'entités sélectionnables est 10 pour un rapport sur sélection. Pour
l'utilisateur, si cette valeur est dépassée, un message d'avertissement l'informera. Dans le cas d'un rapport
sur IMC, il ne peut y avoir qu'un objet en entrée.
ExportFormat
Ce paramètre vous permet de définir un format de sortie. S'il n'est pas ajouté au fichier de propriétés, le format
par défaut sera utilisé : PDF.
PDF
HTML
DOCX
ODT
PPTX
RTF
XML
XLSX
ODS
CSV
ExportFormat = html
Le rendu de la mise en page d'un gabarit varie en fonction du format choisi en sortie. Nous vous conseillons donc
de penser la création de votre gabarit pour un format spécifique et de prévisualiser votre rapport depuis
JasperSoft Studio dans format désiré (option disponible dans l'onglet Preview).
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 33/34
24/07/2024 19:32 Guide d'utilisation arcOpole Builder
(widget/reports/images/config_Preview_Jasper_Format.png)
Esri France | arcOpole (https://www.arcopole.fr) | suivi des versions (https://aide.arcopole.fr/builder/whats_new/index.html) > Website
generated with MDwiki (http://www.mdwiki.info) © Timo Dörr and contributors.
https://aide.arcopole.fr/builder/v1.4/guides/utilisation/#!widget/reports/reports_jasper.md 34/34