序言:时间是我们最宝贵的财富,珍惜手上的每个时分
Odoo作为一款开源ERP,拥有极佳的拓展性,Odoo的Controller框架也让它具备了作为微信小程序后端的能力,那么就存在 需要通过小程序来下载PDF的业务情况。
目录
1.功能代码
1.1 manifest 设置
1.2 _show_report 参数
话不多说,我们直接上代码
1.功能代码
from odoo.addons.portal.controllers.portal import CustomerPortal
class PODW(CustomerPortal):@http.route(['/ro/client/pdf/v1'], type='http', auth="public", website=True, cors='*')def RoClientPdfV1(self, **kw):model = request.env['ro.order'].sudo().browse(int(kw.get('id')))return self._show_report(model=model,report_type='pdf', report_ref='ro_base.action_ro_report',download='download')
1.1 manifest 设置
__manifest.py中必须depends【portal】模块
''''author': "成都睿鸥",
'category': '',
'version': '0.1',
'depends': ['mail','portal'],'''
1.2 _show_report 参数
最关键的方法为 _show_report() ,我们 一定不要搞混了其中的参数,否则将无法下载。
一定要注意的是:report_ref 中的值,是我们打印PDF的action,一定要确认对应模型的打印功能正常,否则无法使用。
在Odoo管理端即可进行打印功能的确认,此处可以打印,那么action即为可用状态。通过访问url,即可下载对应的PDF了