【零散技术】Odoo17通过Controller下载PDF

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

Odoo作为一款开源ERP,拥有极佳的拓展性,Odoo的Controller框架也让它具备了作为微信小程序后端的能力,那么就存在 需要通过小程序来下载PDF的业务情况。

目录

1.功能代码

[1.1 manifest 设置](#1.1 manifest 设置)

[1.2 _show_report 参数](#1.2 _show_report 参数)


话不多说,我们直接上代码

1.功能代码

python 复制代码
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】模块

python 复制代码
'''

'author': "成都睿鸥",
'category': '',
'version': '0.1',
'depends': ['mail','portal'],

'''
1.2 _show_report 参数

最关键的方法为 _show_report() ,我们 一定不要搞混了其中的参数,否则将无法下载。

一定要注意的是:report_ref 中的值,是我们打印PDF的action,一定要确认对应模型的打印功能正常,否则无法使用。

在Odoo管理端即可进行打印功能的确认,此处可以打印,那么action即为可用状态。通过访问url,即可下载对应的PDF了

相关推荐
Odoo老杨1 天前
开源免费的工贸一体行业ERP管理系统
odoo·erp·mes·企业信息化·制造管理·外贸管理·mrp
奔跑的蜗牛..1 个月前
如何在 Odoo 16 会计中向发票添加付款二维码
xml·前端·python·制造·odoo
奔跑的蜗牛..1 个月前
如何为 Nextcloud 配置自动数据库备份 - 应用程序
xml·前端·数据库·python·odoo
Odoo老杨1 个月前
生物制药及化工行业ERP解决方案
odoo·erp·企业信息化·生物·化工·制药
_鹿哥2 个月前
form表单按钮根据编辑/只读状态显示和隐藏
odoo·odoo15
多多~益善2 个月前
【odoo17 | Owl】前端js钩子调用列表选择视图
前端·javascript·odoo
多多~益善2 个月前
【odoo17】后端py方法触发右上角提示组件
odoo
Peter_Gao_2 个月前
Odoo创建一个自定义UI视图
服务器·ui·odoo
Odoo老杨2 个月前
免费开源的工业物联网(IoT)解决方案
物联网·iot·odoo·erp·企业信息化