如何在 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" />