Odoo 14 拣选操作报告按位置名称排序

Odoo 14 Picking Operations report sort by location name

我在按股票位置名称对 Qweb 报告进行排序时遇到问题。

我已经检查了默认报告,但我无法弄清楚为什么不应该首先对它进行排序。

<t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.name, reverse=False)"
t-as="ml">

列表仍按默认顺序返回。

这是 Odoo 标准报告代码:

<t t-foreach="o.move_ids_without_package" t-as="move">
<!-- In case you come across duplicated lines, ask NIM or LAP -->
<t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.id)" t-as="ml">

即使在打印 Odoo 默认报告时我也弄错了顺序。

我做错了什么?

问题是您正在从 stock.move 中排序 move_line_ids,因此除非该移动有几行,否则只有一行要排序。要按位置对整个采摘进行排序,您应该在第一个 <t> 中进行,如下所示:

<t t-foreach="o.mapped('move_ids_without_package.move_line_ids').sorted(key=lambda ml: ml.location_id.id)" t-as="move">
<t t-foreach="move" t-as="ml">