Как настроить или обновить макет счета-фактуры 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?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Раздел informations счета-фактуры не отображается в отчете din5008, вместо него добавляется новый информационный блок и получает его значения из метода _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))

Другие вопросы по теме