首页 > 解决方案 > Odoo 14 Picking Operations 报告按位置名称排序

问题描述

我在按库存位置名称对 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 默认报告时,我也弄错了顺序。

我究竟做错了什么?

标签: pythonxmlodooqwebodoo-14

解决方案


问题是您正在move_line_ids从 a排序stock.move,因此除非该移动有几行,否则只有一行要排序。要按位置对整个采摘进行排序,您应该在 first 中进行<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">

推荐阅读