Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
5241 Lượt xem

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)

 
Ảnh đại diện
Huỷ bỏ

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

Câu trả lời hay nhất

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.
Ảnh đại diện
Huỷ bỏ
Tác giả

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

Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ