【零散技术】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中国7 天前
Odoo 19技术教程 : 如何在 Odoo 19 中创建 Many2one 组件
开发语言·odoo·odoo19·odoo技术·many2one
Mr.E511 天前
odoo18 关闭搜索框点击自动弹出下拉框
开发语言·前端·javascript·odoo·owl·odoo18
odoo中国18 天前
Odoo 19 技术教程:如何在 Odoo 19 中使用模型属性
odoo·odoo开发·odoo19·模型属性
odoo中国19 天前
Odoo 19 制造模块功能:制造模块中废品管理操作指南
制造·odoo·odoo19·生产废品管理·生产报废管理·报废流程
odoo中国20 天前
Odoo 19 中升级(迁移)脚本的使用方法
odoo·odoo19·odoo技术·升级脚本·迁移脚本
odoo中国21 天前
Odoo 19 安全完整解析:多层防护守护企业核心数据
安全·odoo·数据备份·数据保护·用户权限·odoo19·用户访问规则
odoo中国23 天前
Odoo 19 功能性报表解析:如何高效使用补货报表
odoo·odoo19·库存报表·补货报表
odoo中国23 天前
如何在 Odoo 19 中创建序列
odoo·odoo19·自定义单据序列
odoo中国1 个月前
Odoo 19 财务功能概述:财务模块中的定期存货计价(期末库存结转)
odoo·库存管理·财务管理·odoo19·库存计价·库存估值·期末库存结转
odoo中国1 个月前
Odoo 19 库存功能实操:产品包装的设置与管理
odoo·仓库管理·odoo19·包装设置与管理