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.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
1
Reply
4523
Views
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
This worked for me fine. Once minor amendment to the xml view -