Skip to Content
Menu
This question has been flagged
1 Reply
4749 Views

I would like to run a pentaho report from a button within a form view (openERP 7.0).  Are there any examples out there of this so I can get an idea of what steps should be taken? i.e. what actions should be created and what should be placed in the xml and py files. 

Avatar
Discard
Best Answer

In your XML View definition put:

<button name=print_report" string="Print" type="object">

In your class definition add a new method:

    def print_report(self, cr, uid, ids, context=None): 
        return { 'type': 'ir.actions.report.xml', 'report_name': 'my.report.name',
             'nodestroy' : True
        }

Your report action XML should be like:

		<record id="my_report" model="ir.actions.report.xml">
			<field name="name">my report name</field>
			<field name="report_name">my.report.name</field>
			<field name="model">report.model</field>
			<field name="auto" eval="False"/>
                        <field name="is_pentaho_report" eval="True"/> <field name="pentaho_report_model_id" ref="module.model_report_model"/> <field name="pentaho_report_output_type">pdf</field> <field name="pentaho_filename">module/report/my_report.prpt</field> <field name="pentaho_load_file" eval="True"/> </record

Button @name and print method should have the same name

Also report_name should be the same in method and report action XML

Be very careful setting pentaho_report_model_id. Format is: module name with no spaces + ".model_" + report model with dots converted to underscores

Avatar
Discard
Author

This worked for me fine. Once minor amendment to the xml view -

Related Posts Replies Views Activity
2
Apr 16
9969
0
Mar 15
2761
0
Mar 15
2473
1
Oct 22
4633
0
Sep 15
4960