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