默认的打印功能修改,比如在动作中的打印功能:

继承抽象模型

models.AbstractModel

重写

_get_report_values
class PayslipDetailsReportIN(models.AbstractModel):
_name = 'report.l10n_in_hr_payroll.report_payslipdetails'
_inherit = 'report.hr_payroll.report_payslipdetails' @api.model
def _get_report_values(self, docids, data=None):
payslips = self.env['hr.payslip'].browse(docids)
return {
'doc_ids': docids,
'doc_model': 'hr.payslip',
'docs': payslips,
'data': data,
'get_details_by_rule_category': self.get_details_by_rule_category(payslips.mapped('details_by_salary_rule_category'))
}

在return中doc_model为模型名,data是要传至前端qweb页面的数据

模版定义注意事项:

  t-set 不能使用,不能加载自定义格式的数据

<template id="report_voucher_document">
<!--<t t-call="web.external_layout">-->
<div class="page">
<div class="article o_report_layout_standard"> <t t-raw="0"/>
<table>
      </table>

预置纸张格式并绑定qweb打印格式:

<record id="action_account_voucher_report" model="ir.actions.report">
<field name="paperformat_id" ref="模块名.纸张格式ID"/>
</record>

格式预览:

odoo qweb 记录-LMLPHP

05-04 06:48