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? | |
Dette spørgsmål er blevet anmeldt
2
Besvarelser
9983
Visninger
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.
Kan du lide at diskutere? Læs ikke bare med, deltag aktivt i debatten!
Opret en konto i dag for at få glæde af eksklusive funktioner, og bliv en del af vores skønne fællesskab!
Tilmeld dig| Relaterede indlæg | Besvarelser | Visninger | Aktivitet | |
|---|---|---|---|---|
|
|
0
nov. 25
|
3 | ||
|
|
5
maj 23
|
18054 | ||
|
|
2
dec. 23
|
8429 | ||
|
|
1
maj 22
|
4548 | ||
|
|
0
apr. 22
|
3921 |
Look into odoo tips, may be its helpful: https://learnopenerp.tumblr.com/