You are on page 1of 8

Manuel : Jasper Reports pour OpenERP 7.

Page 1/8 EL2DE SARL Chemin des treize pierres !"timent #ntera$tis 1%%00 &ille'ran$he de Rouergue ()) *0+, -, -, 1% )% ()) *0+- ,8 8) ). 11 $onta$t/el%de.$om

OpenERP 7.0 : Le reporting avec Jasper Reports


Table des matires
#ntrodu$tion..........................................................................................................................................% Pr0re1uis...............................................................................................................................................% #nstallation d2iReport............................................................................................................................) #nstallation du module Jasper 3er4er....................................................................................................) 5tilisation.............................................................................................................................................. Cr0ation du mod6le 7M8................................................................................................................. Con'iguration d2iReport.................................................................................................................... 5tilisation 9asi1ue d2iReport................................................................................................................#nt0grer 4otre do$ument : un module OpenERP..................................................................................8

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page %/8

Introduction
Dans le cadre du dveloppement de modules OpenERP, il est indispensable de pouvoir gnrer un document issu des donnes de l'ERP. Cela vaut pour des documents de facturation personnaliss, de statistiques, d'inventaire ou n'importe quel autre type de document bas sur des informations stoc es sur OpenERP. !outefois, la solution mise en place par l'quipe de dveloppement OpenERP manque cruellement de souplesse. "a compr#ension et l'criture de fic#iers R$" pouvant s'avrer longue et peu intuitive, la cration d'un document OpenOffice en vue de le convertir en R$", m%me si elle fait gagner du temps, est une solution lourde et limite, cette derni&re tant peu pratique et ne permettant pas la cration de grap#iques bass sur les donnes. "e module 'asper(reports, dvelopp par la socit )a)*!ic, propose de pallier ce probl&me en intgrant le serveur +asper Reports directement dans un module OpenERP.

"'diteur iReport en action

Ce module nous invite raliser des documents pousss de manire efficace et rapide au travers de l'diteur open source iReport de Jaspersoft.

Prrequis
,n serveur OpenERP -.. de prfrence sous "inu/ 0 "a mac#ine virtuelle +ava 1.2 au minimum pour les versions rcentes de +asper 3erver 0 3avoir installer un module OpenERP.

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page )/8

Installation d'iReport
4vant de procder 5 l'installation du module lui*m%me, il est important de rcuprer une version rcente d'iReport. En plus d'%tre utilis comme diteur pour nos nouveau/ documents, il vous permettra de mettre 5 'our le serveur +asper Reports prsent au sein du module OpenERP. iReport est disponible en tlc#argement libre sur le site de +asper3oft sous la forme d'une arc#ive compresse 6
http://community.jaspersoft.com/project/ireport-designer

iReport peut %tre dcompress librement dans le dossier de votre c#oi/.

Installation du module Jasper Server


)ous pouvons passer au tlc#argement du module 'asper(reports dans sa version ddie 5 OpenERP -... Ce dernier peut %tre rcupr depuis la plate*forme "aunc#pad. Pour ce faire, il vous faut installer le paquet b7r puis e/cuter la commande suivante 6
bzr branch lp:openobject-jasper-reports/7.0

Cela aura pour effet de copier la version la plus rcente de ce module dans votre rpertoire courant. "e sous rpertoire 'asper(reports se trouvant dans le dossier -.., cr apr&s le lancement de la commande b7r, doit %tre copi dans votre rpertoire addons ou tout autre dossier pris en compte par OpenERP pour l'installation de modules. Dirige7*vous ensuite dans le sous rpertoire 'ava8lib puis lance7 la commande suivante 6
./update-jasper-reports.sh /path/to/your/iReport/installation

Cela mettra 5 'our le serveur 'asper(reports prsent dans le module 5 l'aide des lments inclus dans iReport. Enfin, vous pouve7 installer le module 'asper(reports sur votre base OpenERP. "'installation est maintenant termine. 3i votre utilisateur poss&de les droits 9Caractristiques tec#niques9, vous pouve7 accder au sous*menu +asper Reports depuis OpenERP.

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page ./8

Utilisation
Cration du modle XML "a premi&re tape consiste 5 gnrer un fic#ier :$" contenant une description de la structure des donnes. Ce template permettra 5 iReport de proposer simplement la liste des c#amps de l'lment OpenERP qui vous intresse. "e c#amp $odel correspond 5 l'ob'et OpenERP sur lequel portera votre document tandis que Dept# doit correspondre au niveau de profondeur sou#ait. Pour clarifier ce dernier point, nous allons l'illustrer par un e/emple 6 )ous considrons une facture. 3euls les c#amps de notre facture seront retourns avec une profondeur de 1 ;rfrence de la facture, description, le total 5 payer...<. ,n niveau de profondeur fi/ 5 = vous permettra de rcuprer des sous*lments de cette facture tels que les informations client ;nom, prnom, adresse...< ou les lignes de facturation ;article, quantit, pri/ unitaire...<. >l faut bien prendre conscience qu'une profondeur leve accro?t considrablement la c#arge du serveur pour c#aque document gnr. >l convient donc de minimiser autant que possible ce param&tre, une profondeur de = devrait convenir 5 la ma'orit des usages. !lc#arge7 ensuite le template. )'#site7 pas 5 le renommer et 5 le stoc er car il sera systmatiquement utilis par iReport. Configuration d'iReport "ance7 iReport via le binaire disponible dans le sous dossier bin8 de l'arc#ive tlc#arge puis cre7 une nouvelle source de donnes au format :$" configure comme suit 6

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page ,/8

Des rglages supplmentaires sont ncessaires au niveau d'iReport pour viter des erreurs lors de la gnration des documents. Pour accder 5 ces rglages, rende7*vous sous Outils @ Options, puis c#ange7 le niveau de compatibilit comme indiqu sur la capture suivante 6

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page -/8

iReport est maintenant pr%t 5 servir. "'tape de cration de la source de donnes devra bien entendu %tre refaite si vous sou#aite7 crer un document touc#ant 5 un autre lment OpenERP.

Utilisation basique d'iReport


Plusieurs mod&les de documents vous seront proposs lors de la cration d'un document. +e vous sugg&re dAutiliser le mod&le 4B vierge disponible en fin de liste. ,n fois le document cr et ouvert, les c#amps ncessaires doivent %tre slectionns dans la source de donnes 6

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page 7/8

!ous les c#amps disponibles sont affic#s ici et peuvent %tre inclus au document via un glisser* dposer dans la 7one infrieure. 4pr&s validation, ils apparaissent ensuite dans la barre 9Report inspector9 dans le sous*menu 9Cields9 et peuvent %tre placs sur le document via un glisser*dposer.

"es contenus fi/es tels que les images et les labels sont accessibles depuis la palette d'outils 5 droite de la fen%tre et fonctionnent eu/ aussi sur un mode glisser*dposer.

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

Manuel : Jasper Reports pour OpenERP 7.0

Page 8/8

Int rer votre document un module !pen"RP


Cette section concerne plus spcifiquement les dveloppeurs. ,ne fois que votre document sera cr, il sera enregistr au format +R:$" et il vous faudra le rpertorier dans votre module OpenERP. Cre7 un fic#ier <<module_name suivant 6 -report.!ml 5 la racine de votre module avec le contenu

<"!ml #ersion$%&.0% encoding$%utf-'%" <openerp <data <report string$%<<(om de #otre )emplate % model$%<<model % auto$%)rue% name$%<<nom.du.ser#ice % rml$%<<#otre_module_openerp /report/<<#otre_template id$%<<nom_du_ser#ice % menu$%)rue% header$%)rue% / </data </openerp

.jr!ml%

Ce fic#ier doit bien entendu %tre a'out au fic#ier __openerp__.py pour que cet enregistrement soit pris en compte. "e fic#ier +R:$" devra, quant 5 lui, %tre plac dans le sous rpertoire report/ de votre module. Concernant l'appel 5 +asper Reports lui m%me, la mt#ode concerne doit %tre appele via un bouton de type 9ob'ect9 et retourner un dictionnaire inspir de celui*ci ;tir du module natif account.invoice< 6
return * +type+: +ir.actions.report.!ml+, +report_name+: +account.in#oice+, +datas+: * +ids+: ids, +model+: +account.in#oice+, +form+: self.read-cr, uid, ids.0/, conte!t$conte!t0 1, +nodestroy+ : )rue 1

E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)0)

You might also like