如何在 Qweb 报表中添加带有 sum python 函数的字段?
How to add a field with the sum python function in a Qweb Report?
我正在尝试继承 Qweb 报告。我成功地在我的 qweb 报告中插入静态值,但是当我尝试添加一些计算模块时,它没有显示这些值。
<odoo>
<data>
<template id="delivery_order_report" inherit_id="stock.report_picking">
<xpath expr="//table[@id='mytable']" position="inside">
<tfoot>
<tr>
<td>sum</td>
<td><t t-esc="sum([o.pack_operation_ids.pack_lot_ids.qty for o in docs])" /></td>
</tr>
</tfoot>
</xpath>
</template>
</data>
</odoo>
你可以看到我的代码,我继承了名为stock.report_picking
的模型的qweb报告。当我试图获取 o.origin
时,它成功地向我显示了该字段。下面是代码:
<odoo>
<data>
<template id="delivery_order_report" inherit_id="stock.report_picking">
<xpath expr="//table[@id='mytable']" position="inside">
<tfoot>
<tr>
<td>sum</td>
<td><t t-esc="o.origin" /></td>
</tr>
</tfoot>
</xpath>
</template>
</data>
</odoo>
您的 python 表达式有误。试试这个:
<t t-set="result" t-value="0" />
<t foreach="o.pack_operation_ids" t-as="pack" >
<t t-set="result" t-value="result + sum([x for x in pack.pack_lot_ids.mapped('qty')])" />
</t>
<t t-esc="result" />
我正在尝试继承 Qweb 报告。我成功地在我的 qweb 报告中插入静态值,但是当我尝试添加一些计算模块时,它没有显示这些值。
<odoo>
<data>
<template id="delivery_order_report" inherit_id="stock.report_picking">
<xpath expr="//table[@id='mytable']" position="inside">
<tfoot>
<tr>
<td>sum</td>
<td><t t-esc="sum([o.pack_operation_ids.pack_lot_ids.qty for o in docs])" /></td>
</tr>
</tfoot>
</xpath>
</template>
</data>
</odoo>
你可以看到我的代码,我继承了名为stock.report_picking
的模型的qweb报告。当我试图获取 o.origin
时,它成功地向我显示了该字段。下面是代码:
<odoo>
<data>
<template id="delivery_order_report" inherit_id="stock.report_picking">
<xpath expr="//table[@id='mytable']" position="inside">
<tfoot>
<tr>
<td>sum</td>
<td><t t-esc="o.origin" /></td>
</tr>
</tfoot>
</xpath>
</template>
</data>
</odoo>
您的 python 表达式有误。试试这个:
<t t-set="result" t-value="0" />
<t foreach="o.pack_operation_ids" t-as="pack" >
<t t-set="result" t-value="result + sum([x for x in pack.pack_lot_ids.mapped('qty')])" />
</t>
<t t-esc="result" />