如何自定义或更新发票布局 Din 5008 Odoo
How to custom or update Invoice Layout Din 5008 Odoo
我正在使用 Odoo v14。我在 invoice_date.
之后直接在发票中添加了新字段
<template id="account_invoice_report_add_field" inherit_id="account.report_invoice_document">
<xpath expr="//div[@t-if='o.invoice_date']" position="after">
<div t-field="o.new_field"/>
</xpath>
</template>
到这里一切正常,但是当我将布局更改为 Din 5008 时。该字段不再显示,看起来它被称为另一个模板。这个:
<template id="report_invoice_with_payments">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-set="lang" t-value="o.invoice_user_id.sudo().lang if o.move_type in ('in_invoice', 'in_refund') else o.partner_id.lang"/>
<t t-set="print_with_payments" t-value="True"/>
</t>
</t>
</template>
如何自定义这个,在此处也包含 new_field?
发票 informations
div 未显示在 din5008
报告中,取而代之的是新的 information block is added and get its values from _compute_l10n_de_template_data 方法。
要在信息块中显示新字段,您只需覆盖该方法并添加字段描述和字段值,如下所示:
class AccountMove(models.Model):
_inherit = 'account.move'
new_field = fields.Char()
def _compute_l10n_de_template_data(self):
super(AccountMove, self)._compute_l10n_de_template_data()
for record in self:
if record.new_field:
record.l10n_de_template_data.append((_("New field"), record.new_field))
我正在使用 Odoo v14。我在 invoice_date.
之后直接在发票中添加了新字段<template id="account_invoice_report_add_field" inherit_id="account.report_invoice_document">
<xpath expr="//div[@t-if='o.invoice_date']" position="after">
<div t-field="o.new_field"/>
</xpath>
</template>
到这里一切正常,但是当我将布局更改为 Din 5008 时。该字段不再显示,看起来它被称为另一个模板。这个:
<template id="report_invoice_with_payments">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="o">
<t t-set="lang" t-value="o.invoice_user_id.sudo().lang if o.move_type in ('in_invoice', 'in_refund') else o.partner_id.lang"/>
<t t-set="print_with_payments" t-value="True"/>
</t>
</t>
</template>
如何自定义这个,在此处也包含 new_field?
发票 informations
div 未显示在 din5008
报告中,取而代之的是新的 information block is added and get its values from _compute_l10n_de_template_data 方法。
要在信息块中显示新字段,您只需覆盖该方法并添加字段描述和字段值,如下所示:
class AccountMove(models.Model):
_inherit = 'account.move'
new_field = fields.Char()
def _compute_l10n_de_template_data(self):
super(AccountMove, self)._compute_l10n_de_template_data()
for record in self:
if record.new_field:
record.l10n_de_template_data.append((_("New field"), record.new_field))