Professional Documents
Culture Documents
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
E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)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.
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)
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
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)
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)
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)
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.
E8%;E 3<R8 = 3#RE> 7?1 -.0 )0) 000%. = Capital so$ial de 1000 euros @ RC3 Rodez = AB >&< CR817?1-.0)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)
Page 8/8
<"!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)