如何在qweb报告中计算总和

时间:2015-12-14 03:36:25

标签: python python-2.7 odoo odoo-8 qweb

如何计算报告中的多条记录 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

2 个答案:

答案 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

Refer this for more help

答案 1 :(得分:0)

也许你正在寻找这个

<t t-esc="sum(l.amount for l in object.lines)"/>

和此链接QWeb loop cannot set value to vaiables outside the loop