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
- Contabilidad
- Inventario
- PoS
- Project
- MRP
Se marcó esta pregunta
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.
¿Le interesa esta conversación? ¡Participe en ella!
Cree una cuenta para poder utilizar funciones exclusivas e interactuar con la comunidad.
RegistrarsePublicaciones relacionadas | Respuestas | Vistas | Actividad | |
---|---|---|---|---|
|
5
may 23
|
14752 | ||
|
2
dic 23
|
4667 | ||
|
1
may 22
|
2020 | ||
|
0
abr 22
|
1540 | ||
|
2
sept 17
|
3960 |
Look into odoo tips, may be its helpful: https://learnopenerp.tumblr.com/