如何计算报告中的多条记录 qweb 使用 odoo 。我试图在报告 py 中创建方法来计算
@api.one
@api.depends("total_do")
def _get_total(self):
batch_ids = self.batch_ids
total_do = self.total_do
for in item batch_ids:
total_do += item.qty_received
print total_do
我在qweb中显示如下:
<div class="col-xs-1" style="text-align:center;border: 1px solid #568eff;border-left:0px;">
<span t-esc="o.total_do" />
</div>
在打印报告的时候,想从多行显示总数。在我的情况下只显示0
答案 0 :(得分:0)
您必须在该模型的localcontext中设置您的总方法(report_sxw.rml_parse)
def __init__(self, cr, uid, name, context):
super(class_name, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'time': time,
'_get_total': self._get_total,
})
您只需要从调用该总方法的位置更新该部分。
<div class="col-xs-1" style="text-align:center;border: 1px solid #568eff;border-left:0px;">
<span t-esc="o._get_total" />
</div>
你的总方法就像,
def _get_total(self):
batch_ids = self.batch_ids
total_do = 0
for in item batch_ids:
total_do += item.qty_received
return total_do
答案 1 :(得分:0)
也许你正在寻找这个
<t t-esc="sum(l.amount for l in object.lines)"/>