콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
10196 화면

I want to convert the ir.attachment file in the sales module into a PDF file using python. I have a custom report which needs to be added, no matter if Save as Attachment is set or not. Can you explain this briefly?

아바타
취소
베스트 답변

Hello Nivetha, 
Have you tried the old way?

import base64
pdf = self.env['report'].sudo().get_pdf([invoice.id], 'account.report_invoice')
self.env['ir.attachment'].create({
    'name': 'Cats',
    'type': 'binary',
    'datas': base64.encodestring(pdf),
'res_model': 'account.invoice',
'res_id': invoice.id,

    'mimetype': 'application/x-pdf'
})

If you need more explanation go with this tutorial
https://www.cybrosys.com/blog/creating-pdf-attachment-automatically-odoo-13

Or older one:

https://medium.com/hendrasj/how-to-create-attachment-pdf-report-automatically-on-odoo-10-odoo-11-79dd3ad19f23

You will find a way that should work for you also in Odoo 15.


I you found it helpful please vote +1 👍
If it solves completely you problem - mark as best answer 😎

아바타
취소
베스트 답변

Api to get pdf file preview:

@http.route(['/schedule_pdf'], type='http', auth="public", website=True, sitemap=False)
def schedule_pdf(self, **kw):         
​if kw.get('id'):      
​as_model = request.env['alwathba.schedule'].sudo().browse([int(kw.get('id'))])
​         content = base64.b64decode(str(as_model.pdf_file.decode("utf-8")))     
​pdfhttpheaders = [('Content-Type', 'application/pdf'),('Content-Length', u'%s' % len(content))]      
​return request.make_response(content, headers=pdfhttpheaders)
 



to access pdf: https://yourcompany.com/schedule_pdf?id=14

아바타
취소
관련 게시물 답글 화면 활동
1
11월 21
5334
1
6월 23
5048
0
11월 23
1338
1
11월 22
5615
0
12월 21
3684