You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo中如何区分pick、pack、out单据实现拣货行颜色配置

Odoo拣货单类型区分及行颜色配置方案

你可以通过Odoo标准关联字段直接区分Pick、Pack、Out三类单据,不需要额外新增字段,修改原xpath的装饰器判断条件即可实现仅对应类型单据行生效颜色规则。

核心区分逻辑

move_ids_without_package对应的stock.move模型默认关联父级拣货单字段picking_id,拣货单的picking_type_id字段关联对应作业类型,通过作业类型的属性即可区分三类单据。

方案1:通过作业类型序列编码判断(最稳定,不受名称翻译/修改影响)

多步出库场景下三类作业默认的序列编码前缀分别为PICK/PACK/OUT,修改后的代码示例如下:

<xpath expr="//field[@name='move_ids_without_package']/tree" position="attributes">
    <!-- Pick单完成行标绿 -->
    <attribute name="decoration-success">picking_id.picking_type_id.sequence_code == 'PICK' and quantity_done >= product_uom_qty</attribute>
    <!-- 按需追加其他类型样式 -->
    <attribute name="decoration-warning">picking_id.picking_type_id.sequence_code == 'PACK' and quantity_done >= product_uom_qty</attribute>
    <attribute name="decoration-info">picking_id.picking_type_id.sequence_code == 'OUT' and quantity_done >= product_uom_qty</attribute>
</xpath>
  • 若你的系统自定义过作业类型序列编码,替换条件中的PICK/PACK/OUT为实际使用的编码即可。

方案2:通过作业类型编码+名称组合判断

如果序列编码无固定规则,可结合作业类型的code和名称关键词判断:

  • Pick单判断条件:picking_id.picking_type_id.code == 'internal' and 'Pick' in picking_id.picking_type_id.name
  • Pack单判断条件:picking_id.picking_type_id.code == 'internal' and 'Pack' in picking_id.picking_type_id.name
  • Out单判断条件:picking_id.picking_type_id.code == 'outgoing' and 'Out' in picking_id.picking_type_id.name

中文系统可替换名称关键词为对应中文,比如'拣货' in picking_id.picking_type_id.name。

内容的提问来源于stack exchange,提问作者Oscar Vardela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:45:04