在 Odoo 中,当您有 xpath 时,您可以在满足条件时将“attrs”添加到不可见的字段中。这很好用。
我有一个字段“折扣”,仅当其中一种产品的折扣值大于 0.0 时(即该产品有折扣),我才想在发票/报价报告中显示该字段“折扣”。
代码:
<td style="border: 0.5px solid black;background-color:#E6E6E6;">
<span t-field="l.total_discount" />
</td>
我想补充:
attrs="{'invisible': [('total_discount','=',0.0)]}"
但我不知道上面的代码是否正确。
通常,此代码应隐藏所有折扣表(如果它们全部为零)(如果折扣为零,则放置折扣块是没有用的)
报告-XML INVOICE_VIEW 如果在任何方面有些不清楚,请告诉我。
#
在模型上定义一个新字段:
display_discount_col = fields.Boolean(compute="_display_discount_col")
@api.one
def _display_discount_col(self)
if line.discount > 0:
self.display_discount_col = True
break
QWEB代码:
<t t-if="o.display_discount_col">
<th>Discount</th>
</t>
<t t-if="o.display_discount_col">
<td style="border: 0.5px solid black;background-color:#E6E6E6;">
<span t-field="l.total_discount" />
</td>
</t>
我不确定
discount
字段或
invoice_line
是否被称为我上面提到的,您可能需要查找它们并在上面的代码中替换正确的字段名称。
t-if
指定字段何时可见。将可见内容放入测试标签内,如下所示:
<t t-if="l.total_discount">
<span t-field="l.total_discount" />
</t>