SlyK
SlyK

Reputation: 185

Odoo 11 QWeb Report: xpath tag "replace" not replacing


I'm trying to customize the invoice report in Odoo 11.
Problem is, xpath tag "replace" isn't working properly. Odoo 11 documentation says, and I quote:
"[replace:] the content of the inheritance spec replaces the matched node. Any text node containing only $0 within the contents of the spec will be replaced by a complete copy of the matched node, effectively wrapping the matched node".

Now, I need to totally replace the invoice lines in invoice PDF report, so I'm trying with a complete replace of the table tag:

<template id="invoice_gross_amount_document"
          inherit_id="account.report_invoice_document">
    <xpath expr="//div/table[@name='invoice_line_table']"
           position="replace">
        <p>TEST</p>
    </xpath>
</template>


This is supposed to erase the table and replace it with the simple string "Test".
But here's what I get - sorry, I would've loved to upload the image directly but I have low rep so link instead. :(
Why is it happening, and how can I succeed in replacing the node completely? Could someone please help me out?

Upvotes: 2

Views: 2646

Answers (2)

Vibha Kachhela
Vibha Kachhela

Reputation: 194

**Odoo 11 QWeb Report: xpath tag “replace” not replacing**

 Can you please tell me what error you got while replace the table?

 I used below code and inherit the invoice report.
<odoo>
    <data>
        <template id="invoice_gross_amount_document" inherit_id="account.report_invoice_document">
            <xpath expr="//table[@name='invoice_line_table']" position="replace">
                <h1>TEST</h1>
            </xpath>
        </template>
    </data>
</odoo>

And get the output that you can see in my Image. 

[1]: https://i.sstatic.net/OZK4h.png

Upvotes: 1

Pranjal Gami
Pranjal Gami

Reputation: 214

Try out this code.

<template id="invoice_gross_amount_document" inherit_id="account.report_invoice_document">
<xpath expr="//div[@class='page']//table[@class='table table-condensed']" position="replace">
    <h1>TEST</h1>
</xpath>
</template>

Upvotes: 0

Related Questions