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