在 odoo 报告中评估时出现 Qweb 异常
Qweb exception while evaluating in odoo report
我不知道为什么它无法识别我在 python file.I 中创建的字段,我在评估时收到 QWebException: "amt_inv" 错误
"line['amt_inv']"
这是我的 python 文件,
class account_move_line(models.Model):
_inherit = "account.move.line"
amt_inv=fields.Char('Invoice')
amt_reinv=fields.Char('Refunded Invoice')
这是我的 xml 文件的一小部分,
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
基本上在你的情况下,你的函数 lines(partner) 不会 returned 值 properly.so 你的 lines 函数的 line 实例不属于关键,以便您正面临这个问题。
首先,更重要的是,您必须检查从 lines() 函数中 return 编辑的正确逻辑。
例如:
我已经提到过听到你实际上是什么return字典以及我们如何使用我们的 Qweb 视图文件迭代循环。
def lines(o.partner_id):
Your logic mentioned over hear for make a new the dictionary
res={
'amt_inv':2022,
'amt-reinv':5244.20,
'credit':0,
}
return list(res)
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
听说您可以作为行实例访问该值的键作为 amt_inv 键。
请尝试再次检查你的线路功能逻辑它将return正确的字典列表
希望我的回答对您有所帮助:)
我不知道为什么它无法识别我在 python file.I 中创建的字段,我在评估时收到 QWebException: "amt_inv" 错误 "line['amt_inv']"
这是我的 python 文件,
class account_move_line(models.Model):
_inherit = "account.move.line"
amt_inv=fields.Char('Invoice')
amt_reinv=fields.Char('Refunded Invoice')
这是我的 xml 文件的一小部分,
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
基本上在你的情况下,你的函数 lines(partner) 不会 returned 值 properly.so 你的 lines 函数的 line 实例不属于关键,以便您正面临这个问题。
首先,更重要的是,您必须检查从 lines() 函数中 return 编辑的正确逻辑。
例如:
我已经提到过听到你实际上是什么return字典以及我们如何使用我们的 Qweb 视图文件迭代循环。
def lines(o.partner_id):
Your logic mentioned over hear for make a new the dictionary
res={
'amt_inv':2022,
'amt-reinv':5244.20,
'credit':0,
}
return list(res)
<tr t-foreach="lines(partner)" t-as="line">
<td>
<t t-if="line['credit']==0">
<span t-esc="line['amt_inv']"/></t>
<t t-if="line['credit']>0">
<span t-esc="line['amt_reinv']"/></t>
</td>
听说您可以作为行实例访问该值的键作为 amt_inv 键。
请尝试再次检查你的线路功能逻辑它将return正确的字典列表
希望我的回答对您有所帮助:)