This question has been flagged
1 Reply
12764 Views

I'm trying to put document's number on report's footer.

In external_layout_footer i put this:

<t t-if="o.number">Doc. ref.: <span t-field="o.number"/></t>

This is ok when I print an invoice, but printing a sale order this generate an error:

QWebException: ""'sale.order' object has no attribute 'number'" while evaluating
'o.number'" while evaluating


How can I check, in QWeb report, if an attribute ( o.number in this case) exist?


Thank you.


PS:
I try to use o.number instead of o.name, but this attribute is empty in invoice report.

Avatar
Discard

Work like a charm! Thank you!

Best Answer

The easiest way is to write t-if which cheks if field is in o.fields_get(). So in your case:

<t t-if="'number' in o.fields_get()>Doc. ref.: <span t-field="o.number"/></t>
<t t-if="'name' in o.fields_get()>Doc. ref.: <span t-field="o.name"/></t>

Hope it'll help. Works for me.

Avatar
Discard

Is there a missing quote on this example?

```

<t t-if="'number' in o.fields_get()">Doc. ref.: <span t-field="o.number"/></t>

<t t-if="'name' in o.fields_get()">Doc. ref.: <span t-field="o.name"/></t>

```