zoukankan      html  css  js  c++  java
  • [转]全面解析Odoo的补货、补货组(group_id)、补货规则

    https://www.zhiyunerp.com/forum/erp-1/question/odoo-group-id-536

     

    全面解析Odoo的补货、补货组(group_id)、补货规则

    1. SO、PO、Procurement、Stock Picking、Stock Move、Production Order、补货规则(procurement.rule)几个对象上都有补货组(group_id)字段
    2. SO确认时候,如果SO上没有填写group_id,系统自动以SO单号为名创建一个补货组作为SO的补货组(同时SO上的partner_id字段值也作为该补货组的partner_id值)
    3. PO确认时候,如果PO上没有填写group_id,系统自动以PO单号为名创建一个补货组作为PO的补货组(同时SO上的partner_id字段值也作为该补货组的partner_id值)
    4. SO确认时候,系统为每个Order Line创建一个Procurement Order,Procurement Order的group_id取自SO的补货组。如果SO Order Line上指定了补货规则,该规则传递到Procurement Order的补货规则(rule_id)
    5. PO确认时候,创建采购入库的Picking,该Picking及其Stock Move的group_id都取自PO
    6. Procurement Order确认时候,如果Procurement Order没有规则,则系统自动查找合适的规则作为Procurement Order的规则。而后根据规则采取不同的处理方法。
    7. 补货规则(procurement.rule)的处理。如果是移库规则,系统自动产生一条Stock Move,如果是购买的规则,系统自动产生一个PO,如果是制造的规则,系统自动产生一个MO。
    8. 如果规则的group_propagation_option字段取值为 propagate,则Procurement Order的group_id会被传递到新产生的后续单据(Stock Move、PO、MO),如果为fixed,则将规则上的指定的补货组传递给后续单据,如果为空,则不往下传递group_id
    9. 如果规则的procre_method字段是mto(只有移库规则有此选项),则规则进一步产生新的Procurement Order。新的Procurement Order的取值基本上全来自产生该Procurement Order的移库Stock Move。其产生逻辑是,Stock Move confirm时候,系统会查找源库位、目标库位和该Stock Move相同的补货规则,如果找到了,且其procre_method字段是mto,则系统拷贝Stock Move的字段值创建一个新的Procurement Order,Stock Move上的group_id也被传递到了新Procurement Order。
    10. MO confirm时候,如果MO没有指定group_id,系统自动以MO的name为名创建一个新补货组。MO根据BoM展开原料消耗和成品生成的Stock Move时候,MO上的补货组传递到Stock Move上。
    11. MO的原料消耗的Stock Move Confirm时候,系统可能产生进一步的Procurement Order,其group_id来自Stock Move,也即MO的name。该Procurement Order进一步运行时候,系统根据rule_id上的group_propagation_option字段决定是否将group_id(MO单号)继续传递下去。如果希望主MO和子MO的投料单、成品入库单、或者原料采购单汇总到一个Picking或PO,则传递下去。如果希望主MO和子MO分开投料,则不必传递下去。
    12. SO确认时候,如果是MTO产品,系统自动创建的Procurement Order的rule_id是MTO,该规则产生一条 总库 -> 客户的Stock Move,该Stock Move confirm时候,系统又产生了一个新的Buy的Procurement Order。系统默认配置的 Buy的规则上,group_propagation_option字段值是留空,因而补货组(SO单号)不会传递到PO的group_id。这样系统会将不同SO的采购需求汇总成一个PO。如果修改一下 Buy规则的group_propagation_option成propagate,则SO单号会传递下去作为PO的group_id,不同SO的PO则不会自动合并。 
    13. Stock Move confirm时候,系统自动查找未Done的、相同补货组的Stock Picking,找到了则将自己添加进去,找不到则创建一个新的Stock Picking,其补货组取自该Stock Move。
  • 相关阅读:
    js解析与序列化json数据(三)
    flex与js通信
    js解析与序列化json数据(一)
    js自定义事件(二)
    js解析与序列化json数据(二)
    js自定义事件(一)
    用户详情接口
    积分转让二维码url接口
    组合模式 The Composite Pattern
    计算机系统中的整数运算
  • 原文地址:https://www.cnblogs.com/misstaste/p/8846987.html
Copyright © 2011-2022 走看看