默认的打印功能修改,比如在动作中的打印功能:
继承抽象模型
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>
格式预览: