Créer un module d`impression

Transcription

Créer un module d`impression
MANGUE
Réaliser des modules d'impression
0. Préambule
1. Réalisation de modules pour l'éditeur de requêtes
1.1 Réalisation des fichiers Jasper avec iReport
1.1.1 Champs à définir dans le rapport
1.1.2 Paramètres à définir dans le rapport
1.1.3 Sous- rapports
1.2. Mangue et les modules d'impression pour l'éditeur de requêtes
1.2.1 Administration
1.2.2 Utilisation
1.3 Exemple complet
1.3.1 Création avec iReport d'un module d'impression
1.3.2 Création des données avec Mangue
1.3.3 Utilisation
2. Réalisation de modules d'impression comportant du SQL
2.1 Réalisation des fichiers Jasper avec iReport
2.1.1 Champs à définir dans le rapport
2.1.2 Paramètres à définir dans le rapport
2.1.2.1 Paramètres obligatoires
2.1.2.2 Autres Paramètres
2.1.3 Régler la source de données
2.1.4 Sous-rapports
2.2. Rendre les modules d'impression accessibles dans Mangue
2.2.1 Administration
2.2.2 Utilisation
2.3. Exemple complet
2.3.1 Création avec iReport d'un module d'impression
2.3.2 Création des données avec Mangue
2.3.3 Utilisation
0. Préambule : Configuration de Mangue
1/ Configurer dans les propriétés de l'application Mangue (fichier Properties dans Mangue.Woa ou dans XCode Resources:Properties) l'argument
DIRECTORY_MODULE_IMPRESSION pour indiquer le directory où se trouvent les fichiers jasper contenant des modules d'impression qui utilisent comme source de
données du SQL
1. Réalisation de modules pour l'éditeur de requêtes
1.1 Réalisation des fichiers Jasper avec iReport
Avec iReport, on génère des fichiers Jasper en définissant un fichier de rapport principal qui comportera le titre de l'édition et un sous-rapport pour lister les individus
issus d'une requête avec l'éditeur de requêtes. Les informations publiées seront transmises sous la forme de fichiers XML : voir la documentation "Documentation
Impression" pour comprendre l'utilisation de fichiers XML
1.1.1 Champs à définir dans le rapport
Dans le rapport principal, les champs à définir sont le titre de l'édition, le début et la fin de la période de la période. Ils doivent correspondre à la description de
InfoPourEditionRequete dans le fichier DescriptionImpression.XML
1.1.2 Paramètres à définir dans le rapport
DIRECTORY_JASPER : chemin d'accès sur le serveur du directory qui contient les fichiers Jasper. Une valeur par défaut est fournie, elle sera modifiée lors de
l'exécution dans Mangue par la propriété DIRECTORY_JASPER définie dans les propriétés de l'application ou les arguments de lancement.
DIRECTORY_IMPRESSION : chemin d'accès sur le serveur du directory qui contiendra les fichiers imprimés. Une valeur par défaut est fournie, elle sera modifiée lors
de l'exécution dans Mangue par la propriété DIRECTORY_IMPRESSION définie dans les propriétés de l'application ou les arguments de lancement.
NUMERO_FICHIER : indique le numéro de fichier qui sera accolé au nom de fichiers XML/PDF pour éviter des conflits entre utilisateur. Ce numéro est incrémenté à
chaque impression. Pour la valeur par défaut, mettre une chaîne vide (""). Il sera utilisé dans les sous-rapports.
1.1.3 Sous- rapport
Il récupère les données dans un fichier XML : les données publiées sont celles issues de l'entité "IndividuPourEdition" : voir le fichier DescriptionImpession.XML.
On définit le sous-rapport dans le rapport principal de la manière suivante :
- dans l'onglet Subreport :
- utilisation d'une "datasource expression"
- valeur de l'expression : saisir systématiquement l'expression suivante
new net.sf.jasperreports.engine.data.JRXmlDataSource($P{DIRECTORY_IMPRESSION} + "IndividuPourEditions" + $P{NUMERO_FICHIER} + ".XML","/
IndividuPourEditions/IndividuPourEdition")
- dans l'onglet Subreport (Other) :
- subreport expression : $P{DIRECTORY_JASPER} + Nom fichierJasper du sous-rapport
new net.sf.jasperreports.engine.data.JRXmlDataSource($P{DIRECTORY_IMPRESSION} + "IndividuPourEditions" + $P{NUMERO_FICHIER} + ".XML","/
IndividuPourEditions/IndividuPourEdition")
Valeurs des champs utilisables dans le sous-rapport :
cCivilite
nom
nomPatronymique
prenom
dNaissance
inseeComplet
adressePerso
ville
codePostal
cPosition : code de la position pour un titulaire
lcCorps
lcGrade
llGrade
cEchelon
specialisation : intitulé de la spécialisation
codeSpec : code associé à la spécialisation
referenceContrat : référence du contrat pour les contractuels
lcTypeContratTrav : type de contrat travail
orgComp : composante budgétaire
quotite
quotiteFinanciere
debut : début de l'élément de carrière, de l'avenant...
fin : fin de l'élément de carrière, de l'avenant...
llStructure : affectation
llComposante : composante
statut : TIT ou CDD
numeroEmploi : numéro de l'emploi occupé
implantation : rne de l'emploi occupé
chapitre : chapitre de l'emploi occupé
employeur : pour les vacataires
proCode : code profession pour les vacataires
proLibelle : libellé profession pour les vacataires
Pour afficher une de ces valeurs dans le sous-rapport, il faut définir dans celui-ci une variable et lui donner comme valeur une des valeurs ci-dessus
Exemple :
Remarque :
Pour créer un nouveau module d'impression pour l'éditeur de requêtes, le plus simple est de dupliquer un des exemples fournis dans le dossier d'impressions (par
exemple EditionRequeteIndividu1 et DetailRequeteIndividu1) et de renommer les fichiers (par exemple EditionRequeteIndividu7 et DetailRequeteIndividu7) .
Ouvrir ensuite avec iReport le fichier principal (EditionRequeteIndividu7) et modifier les informations du sous-rapport en changeant le nom du fichier du sous-rapport.
Puis ouvrir avec iReport le fichier de détail (DetailRequeteIndividu7) et modifier les informations affichées. Compiler les deux fichiers. Ensuite passer à la partie
administration (voir ci-dessous).
1.2. Mangue et les modules d'impression pour l'éditeur de requêtes
1.2.1 Administration
1.2.2 Utilisation
Lorsque l'utilisateur effectue une requête avec l'éditeur de requêtes puis demande l'affichage du résultat, il accède à une fenêtre comportant un menu déroulant. Ce
dernier comporte la liste des modules d'impression pour les individus ordonnés dans l'ordre spécifiés par l'administrateur : le titre des items de menu correspond au
titre fourni par l'administrateur précédé du numéro d'ordre. L'utilisateur peut donc choisir l'édition qu'il veut réaliser.
1.3 Exemple complet
1.3.1 Création avec iReport des modules d'impression
Nom du module : EditionRequeteIndividu1
Paramètres :
- paramètres définis en 1.2.1
- réglage du sous-rapport :
dans l'onglet Subreport :
- utilisation d'une "datasource expression"
- valeur de l'expression : saisir systématiquement l'expression suivante
new net.sf.jasperreports.engine.data.JRXmlDataSource($P{DIRECTORY_IMPRESSION} + "IndividuPourEditions" + $P{NUMERO_FICHIER} +
".XML","/IndividuPourEditions/IndividuPourEdition")
- dans l'onglet Subreport (Other) :
- subreport expression : $P{DIRECTORY_JASPER} + DetailRequeteIndividu1
Nom du sous-module : DetailRequeteIndividu1
Paramètres :
- paramètres définis en 1.2.1
1.3.2 Création des données avec Mangue
L'administrateur sélectionne le menu Administration->Modules d'impression pour requête
Il ajoute un module, lui donne comme nom DetailRequeteIndividu1, comme numéro d'ordre dans le menu 1 et comme intitulé du menu : "Nom, Prénom, Date
Naissance, Echelon, Effet, Affectation"
1.3.3 Utilisation
Dorénavant dans le menu déroulant de la fenêtre d'affichage des résultats de requêtes, l'utilisateur pourra sélectionner l'item de menu intitulé "1- Nom, Prénom, Date
Naissance, Echelon, Effet, Affectation"
2. Réalisation de modules d'impression comportant du SQL
2.1 Réalisation des fichiers Jasper avec iReport
Avec iReport, on génère des fichiers Jasper en définissant un fichier de rapport principal et éventuellement des sous-rapports.
2.1.1 Champs à définir dans le rapport
Ils sont issus automatiquement par iReport depuis la requête SQL associée au fichier Jasper. Cliquer sur le bouton
2.1.2 Paramètres à définir dans le rapport
2.1.2.1 Paramètres obligatoires
DIRECTORY_JASPER : chemin d'accès sur le serveur du directory qui contient les fichiers Jasper. Une valeur par défaut est fournie, elle sera modifiée lors de
l'exécution dans Mangue par la propriété DIRECTORY_MODULE_IMPRESSION définie dans les propriétés de l'application ou les arguments de lancement.
NUMERO_FICHIER : indique le numéro de fichier qui sera accolé au nom de fichiers XML/PDF pour éviter des conflits entre utilisateur. Ce numéro est incrémenté à
chaque impression. Pour la valeur par défaut, mettre une chaîne vide (""). Il sera utilisé dans les sous-rapports.
2.1.2.2 Autres Paramètres
Définir tous les autres paramètres nécessaires à l'exécution de la requête
Exemple :
2.1.3 Régler la source de données
Avec le menu Data->Connection/Data Source, définir la source de données et la choisir comme source active
2.1.4 Sous-rapports
Les sous rapports récupèrent les données fournies soit par une requête SQL saisie dans le sous-rapport, soit par des informations provenant du rapport principal. On
définit les sous-rapports dans le rapport principal. On règle le paramétrage du sous-rapport en indiquant :
- dans l'onglet Subreport :
- utilisation d'une "connection expression"
- valeur de l'expression : $P{REPORT_CONNECTION}
- dans l'onglet Subreport (Other) :
- subreport expression : $P{DIRECTORY_JASPER} + Nom fichierJasper du sous-rapport
- définition de paramètres passés au sous-rapport
Exemple : on veut avoir un sous-rapport qui affiche les comptes bancaires d'un individu.
1/ Créer les paramètres définis en 1.2.1
2/ Créer le sous-rapport et le paramétrer de la manière suivante :
2.2 Rendre les modules d'impression accessibles dans Mangue
2.2.1 Administration
Sélectionner le menu Administration->Modules Impression
Créer une nouvelle entrée dans la liste des modules en donnant pour nom le nom du module d'impression principal (nom du fichier Jaspers) et éventuellement un
commentaire qui sera présenté à l'utilisateur
Si ce module requiert des paramètres autres que les paramètres obligatoires, ajouter des paramètres :
- leur donner le même nom que celui fourni dans iReport,
- définir leur type (entier, réel,...) (même type de données que dans Jasper, seuls les types simples sont possibles)
- définir un commentaire obligatoire qui sera affiché à l'utilisateur (plutôt que le nom de paramètre) lorsqu'il lancera l'impression.
2.2.2 Utilisation
Sélectionner le menu Editions-> Divers
La liste des modules est affichée à l'utilisateur. Lorsque celui-ci sélectionne un module, le commentaire et les paramètres à saisir directement dans la table sont
affichés.L'utilisateur doit saisir tous les paramètres avant de pouvoir lancer l'impression. Une fois ceux-ci saisis, le bouton d'impression est actif.
2.3. Exemple complet
2.3.1 Création avec iReport d'un module d'impression
Nom du module : ListeBanqueIndividu
Paramètres :
- paramètres définis en 2.1.2.1
- paramètre NO_INDIVIDU de type entier (voir image en 1.2.2)
2.3.2 Création des données avec Mangue
Définition des modules et paramètres
Création d'un module d'impression de nom ListeBanqueIndividu. Ajout d'un paramètre NO_INDIVIDU.
2.3.3 Utilisation
Menu Editions-> Divers