我在按库存位置名称对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">