Odoo 14 QWEB 报告

Odoo 14 QWEB reporting

我正在尝试生成 pdf 格式的发票,部分范围是在报告中添加一些额外的字段,我可以编辑 qweb xml 并添加内容。

我现在面临的问题,我正在尝试做一些条件测试,根据测试,报告(pdf)应该决定是否插入该字段。

<div t-if="o.move_type == 'out_invoice' and o.state == 'draft'">
Company ID:<b> <span t-field="o.company_id"/> </b>
Salespersone ID:<b> <span t-field="o.invoice_user_id"/> </b>
<br></br>
</div> 
                  

以上代码生成正确。但是下面的代码不会生成任何东西。

<div t-if="o.move_type == 'out_invoice' and o.invoice_user_id == 'Steven'">
Company ID:<b> <span t-field="o.company_id"/> </b>
Sales ID:<b> <span t-field="o.invoice_user_id"/> </b>
<br></br>
</div> 

不知何故,o.invoice_user_id == 'Steven' 似乎从未被评估过。上面的代码没有产生任何错误,但是没有给定条件逻辑的输出。

我试过:

双引号,间距,无单引号 - 无结果

请帮忙...

invoice_user_id 是一个 Many2one 字段,o.invoice_user_id == 'Steven' 表达式永远不会被计算为 True 因为 o.invoice_user_id 是一个记录集(res.users(id,))。

您应该会在日志中看到类似于以下内容的警告:

WARNING demo14 odoo.models: Comparing apples and oranges: res.users(2,) == 'Steven' (None:2)

要检查用户名,请尝试以下操作:

o.invoice_user_id.name == 'Steven'