Skip to Content
Menu
This question has been flagged
2 Replies
4511 Views

Is it possible to set paperformat in python when calling report_action function. I mean something like this:

self.env.ref(report_name).with_context(landscape=False, paperformat='my_paperformat').report_action([], data=data)

 
Avatar
Discard

Link custom paper format in QWEB Reports: https://goo.gl/kCH93K

Best Answer

hi Diego, 

What you can do is add your paperformat to your report. So that when you call the report, it will call the paperformat you have set. 

this is done in two ways : 
1- UI :

Activate the developer Mode then Go to Settings => Technical => reporting.

search for your report and go to form view. There' s a field for Paper format ( paperformat_id). select your paper format. 

2- Via code : 
you can get your report xml id to update the field papaerformat_id by setting the paperformat ref's id that you want.. 

report = self.env.ref('module.my_report')
report.paperformat_id = self.env.ref('module.my_paperformat_to_apply').id
report.report_action([], data=data)

Upvote if this helps. If not, you can write back.
Regards.
Avatar
Discard
Author

Thanks a lot Ibrahim! Option 2 is what I was looking for. Works great!

Best Answer

this is suboptimal - every time you are trying to change field in the database, better to override method `get_paperformat`

Avatar
Discard