Manuel JasperReports OpenERP7 Fr 0

Embed Size (px)

Citation preview

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 1/8

    EL2DE SARL Chemin des treize pierres, Btiment Interactis 12200 Villefranche de Rouergue +33 (0)5 65 65 12 32 +33 (0)6 58 83 34 11 [email protected]

    OpenERP 7.0 : Le reporting avec Jasper Reports

    Table des matiresIntroduction..........................................................................................................................................2Prrequis...............................................................................................................................................2Installation d'iReport............................................................................................................................3Installation du module Jasper Server....................................................................................................3Utilisation.............................................................................................................................................4

    Cration du modle XML................................................................................................................4Configuration d'iReport...................................................................................................................4

    Utilisation basique d'iReport................................................................................................................6Intgrer votre document un module OpenERP..................................................................................8

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 2/8

    IntroductionDans 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 stockes sur OpenERP.

    Toutefois, la solution mise en place par l'quipe de dveloppement OpenERP manque cruellement de souplesse. La comprhension et l'criture de fichiers RML pouvant s'avrer longue et peu intuitive, la cration d'un document OpenOffice en vue de le convertir en RML, mme si elle fait gagner du temps, est une solution lourde et limite, cette dernire tant peu pratique et ne permettant pas la cration de graphiques bass sur les donnes.

    Le module jasper_reports, dvelopp par la socit NaN-Tic, propose de pallier ce problme en intgrant le serveur Jasper Reports directement dans un module OpenERP.

    L'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 Un serveur OpenERP 7.0 de prfrence sous Linux ; La machine virtuelle Java 1.6 au minimum pour les versions rcentes de Jasper Server ; Savoir installer un module OpenERP.

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 3/8

    Installation d'iReportAvant de procder l'installation du module lui-mme, il est important de rcuprer une version rcente d'iReport. En plus d'tre utilis comme diteur pour nos nouveaux documents, il vous permettra de mettre jour le serveur Jasper Reports prsent au sein du module OpenERP.

    iReport est disponible en tlchargement libre sur le site de JasperSoft sous la forme d'une archive compresse :

    http://community.jaspersoft.com/project/ireport-designer

    iReport peut tre dcompress librement dans le dossier de votre choix.

    Installation du module Jasper ServerNous pouvons passer au tlchargement du module jasper_reports dans sa version ddie OpenERP 7.0. Ce dernier peut tre rcupr depuis la plate-forme Launchpad.

    Pour ce faire, il vous faut installer le paquet bzr puis excuter la commande suivante :

    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.

    Le sous rpertoire jasper_reports se trouvant dans le dossier 7.0, cr aprs le lancement de la commande bzr, doit tre copi dans votre rpertoire addons ou tout autre dossier pris en compte par OpenERP pour l'installation de modules.Dirigez-vous ensuite dans le sous rpertoire java/lib puis lancez la commande suivante :

    ./update-jasper-reports.sh /path/to/your/iReport/installation

    Cela mettra jour le serveur jasper_reports prsent dans le module l'aide des lments inclus dans iReport.Enfin, vous pouvez installer le module jasper_reports sur votre base OpenERP.

    L'installation est maintenant termine. Si votre utilisateur possde les droits "Caractristiques techniques", vous pouvez accder au sous-menu Jasper Reports depuis OpenERP.

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 4/8

    Utilisation

    Cration du modle XMLLa premire tape consiste gnrer un fichier XML contenant une description de la structure des donnes. Ce template permettra iReport de proposer simplement la liste des champs de l'lment OpenERP qui vous intresse.

    Le champ Model correspond l'objet OpenERP sur lequel portera votre document tandis que Depth doit correspondre au niveau de profondeur souhait.

    Pour clarifier ce dernier point, nous allons l'illustrer par un exemple :

    Nous considrons une facture. Seuls les champs de notre facture seront retourns avec une profondeur de 1 (rfrence de la facture, description, le total payer...). Un niveau de profondeur fix 2 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, prix unitaire...).

    Il faut bien prendre conscience qu'une profondeur leve accrot considrablement la charge du serveur pour chaque document gnr. Il convient donc de minimiser autant que possible ce paramtre, une profondeur de 2 devrait convenir la majorit des usages.

    Tlchargez ensuite le template. N'hsitez pas le renommer et le stocker car il sera systmatiquement utilis par iReport.

    Configuration d'iReportLancez iReport via le binaire disponible dans le sous dossier bin/ de l'archive tlcharge puis crez une nouvelle source de donnes au format XML configure comme suit :

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 5/8

    Des rglages supplmentaires sont ncessaires au niveau d'iReport pour viter des erreurs lors de la gnration des documents.Pour accder ces rglages, rendez-vous sous Outils Options, puis changez le niveau de compatibilit comme indiqu sur la capture suivante :

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 6/8

    iReport est maintenant prt servir. L'tape de cration de la source de donnes devra bien entendu tre refaite si vous souhaitez crer un document touchant un autre lment OpenERP.

    Utilisation basique d'iReport

    Plusieurs modles de documents vous seront proposs lors de la cration d'un document. Je vous suggre dutiliser le modle A4 vierge disponible en fin de liste.

    Un fois le document cr et ouvert, les champs ncessaires doivent tre slectionns dans la source de donnes :

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 7/8

    Tous les champs disponibles sont affichs ici et peuvent tre inclus au document via un glisser-dposer dans la zone infrieure.

    Aprs validation, ils apparaissent ensuite dans la barre "Report inspector" dans le sous-menu "Fields" et peuvent tre placs sur le document via un glisser-dposer.

    Les contenus fixes tels que les images et les labels sont accessibles depuis la palette d'outils droite de la fentre et fonctionnent eux aussi sur un mode glisser-dposer.

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

  • Manuel : Jasper Reports pour OpenERP 7.0 Page 8/8

    Intgrer votre document un module OpenERP

    Cette section concerne plus spcifiquement les dveloppeurs.Une fois que votre document sera cr, il sera enregistr au format JRXML et il vous faudra le rpertorier dans votre module OpenERP.

    Crez un fichier -report.xml la racine de votre module avec le contenu suivant :

    Ce fichier doit bien entendu tre ajout au fichier __openerp__.py pour que cet enregistrement soit pris en compte.

    Le fichier JRXML devra, quant lui, tre plac dans le sous rpertoire report/ de votre module.

    Concernant l'appel Jasper Reports lui mme, la mthode concerne doit tre appele via un bouton de type "object" et retourner un dictionnaire inspir de celui-ci (tir du module natif account.invoice) :

    return { 'type': 'ir.actions.report.xml', 'report_name': 'account.invoice', 'datas': { 'ids': ids, 'model': 'account.invoice', 'form': self.read(cr, uid, ids[0], context=context) }, 'nodestroy' : True}

    EL2DE SARL SIRET 791 640 303 00024 Capital social de 1000 euros - RCS Rodez N TVA FR81791640303

    IntroductionPrrequisInstallation d'iReportInstallation du module Jasper ServerUtilisationCration du modle XMLConfiguration d'iReport

    Utilisation basique d'iReportIntgrer votre document un module OpenERP