For example, there is a sale order report and it's id = "action_report_saleorder",consequently REPORT_ID in example = sale.action_report_saleorder (Example odoo v11)def action_generate_attachment(self):""" this method called from button action in view xml """# generate pdf from report, use report's id as referenceREPORT_ID = 'some_report_id'pdf = self.env.ref(REPORT_ID).render_qweb_pdf(self.ids)# pdf result is a listb64_pdf = base64.b64encode(pdf[0])# save pdf as attachmentATTACHMENT_NAME = "My Attachment Name"return self.env['ir.attachment'].create({'name': ATTACHMENT_NAME,'type': 'binary','datas': b64_pdf,'datas_fname': ATTACHMENT_NAME + '.pdf','store_fname': ATTACHMENT_NAME,'res_model': self._name,'res_id': self.id,'mimetype': 'application/x-pdf'})Why when I perform a similar action, nothing works for me? | |
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Akuntansi
- Inventaris
- PoS
- Project
- MRP
Pertanyaan ini telah diberikan tanda
Hi,
While you doing this operation, a pdf report will be stored under ir_attachment table. Here the res_model and res_id will be the reference for attachment for relating with a record. Here let's take sale.order of id 20, here you need to attach the pdf report with the current sale order then we will give res_model as sale.order and res_id as 20.
here the self._name will the current model name.
Update:-
render_qweb_pdf render the HTML content defined in the report template and returns a pdf file. If you call the function with the param res_ids then it will automatically save the attachment with pdf content.
Menikmati diskusi? Jangan hanya membaca, ikuti!
Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!
DaftarPost Terkait | Replies | Tampilan | Aktivitas | |
---|---|---|---|---|
|
5
Mei 23
|
15023 | ||
|
2
Des 23
|
4975 | ||
|
1
Mei 22
|
2282 | ||
|
0
Apr 22
|
1728 | ||
|
2
Sep 17
|
4182 |
Look into odoo tips, may be its helpful: https://learnopenerp.tumblr.com/