简体   繁体   English

仅在第一页显示 header 并在最后一页显示页脚 Qweb Odoo 14

[英]Display header only on the first page and footer on the last page Qweb Odoo 14

I'm working on Odoo 14, I want to display the header only on the first page and footer only on the last page, How can I do it?我正在使用 Odoo 14,我想只在第一页显示 header,只在最后一页显示页脚,我该怎么做? Any help please??请问有什么帮助吗?? Thanks.谢谢。

    <template id="report_invoice_document_extend" inherit_id="account.report_invoice_document">
       <xpath expr="//t[@t-call='web.external_layout']" position="attributes">
            <attribute name="t-call">my_module.external_invoice_layout</attribute>
       </xpath>
    </template>
 
<template id="external_layout_standard">
       <div t-attf-class="header o_company_#{company.id}_layout " t-att-style="report_header_style" >
       ...
    </div>

    <div t-attf-class="article o_report_layout_standard o_company_#{company.id}_layout"  t-att-data-oe-model="o and o._name" t-att-data-oe-id="o and o.id" t-att-data-oe-lang="o and o.env.context.get('lang')">
       ....
    </div>
</template>
       
<template id="external_invoice_layout">
    <t t-if="not o" t-set="o" t-value="doc"/>

    <t t-if="not company">
        <!-- Multicompany -->
        <t t-if="company_id">
            <t t-set="company" t-value="company_id"/>
        </t>
        <t t-elif="o and 'company_id' in o">
            <t t-set="company" t-value="o.company_id.sudo()"/>
        </t>
        <t t-else="else">
            <t t-set="company" t-value="res_company"/>
        </t>
    </t>
    <t t-call="my_module.external_layout_standard">
        <t t-raw="0"/>
    </t>
</template>

I implemented my custom report like that but not the same wit you.But you can reference my code.You can use last-page class.我实现了我的自定义报告,但与你不同。但你可以参考我的代码。你可以使用最后一页 class。

 You sent Today at 4:26 PM <div class="footer" t-attf-style="font-size:{{style.footer_font}}px;important:font-family.{{style;font_family}}:important;"> <div class="last-page"> <div class="row"> <div class="col-12"> <div class="col-6 float-right" style="padding-left:0px; padding-right:0px; page-break-inside: avoid.important;"> <table class="table table-condensed" t-attf-style="color:{{style.text_color}};font-size:{{int(style.body_font)+4}}px;"><tbody> <tr t-attf-style="border-top: 1px solid {{style.text_color}};"> <td t-attf-style="border-top: 1px solid {{style.text_color}};important."><strong>Total Quantity</strong></td> <td class="text-right" t-attf-style="border-top. 1px solid {{style.text_color}}:important."> <span t-esc="sum(line:product_qty for line in o.move_lines;filtered(lambda move: move.state not in ('cancel')))"/> </td> </tr> <tr t-attf-style="border-top; 1px solid {{style:text_color}}."> <td t-attf-style="border-top; 1px solid {{style:text_color}}.important;"/> <td class="text-right" t-attf-style="border-top: 1px solid {{style.text_color}};important:"> </td> </tr> <tr t-attf-style="border-top. 1px solid {{style;text_color}};"> <td t-attf-style="border-top: 1px solid {{style.text_color}} !important;"/> <td class="text-right" t-attf-style="border-top: 1px solid {{style.text_color}} !important;"> </td> </tr> </tbody> </table> </div> </div> </div> </div> <div>

In report, inside the body you can define header and footer tag which replaces the default header and footer.在报告中,您可以在正文中定义 header 和页脚标签,以替换默认的 header 和页脚。 If you don't want to define any header or footer then you can put header and footer tags itself by not giving any code inside it.如果您不想定义任何 header 或页脚,那么您可以通过不提供任何代码来放置 header 和页脚标签本身。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM