Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

理解OpenERP的BoM表的Properties



  • BoM表的Properties,在按订单生产的情况中,沟通销售部和生产部非常有用。

    一、问题
        OpenERP的BoM定义了产品的物料构成,也定义了产品的生产工艺信息。一个产品可以定义多个BoM,例如某型号的家具,生产方式可能有大批量流水线生产,少量半自动生产。两种生产方式有不同的BoM(因为生产工艺不同)。又如,OEM加工的情况,同一规格型号产品,如LED灯具,不同客户,要求外观上刻印不同的客户铭牌。

    二、OpenERP的解决办法
        例如,工厂有100种型号的LED灯具,有200个OEM客户,每个客户都要求外观上刻印客户铭牌。一种解决办法是,定义100 × 200个产品,即每个型号产品都按客户细分成200个子型号。但这个办法的麻烦是,销售人员面对如此多的产品容易出错,且订单处理效率低。
        OpenERP的解决办法是,只定义100个产品,每个产品有200个BoM。在MRP中配置Properties Group “客户铭牌”,该Properties Group有200个Properties,即每个客户一个。在BoM的Properties中指定该BoM对应的客户,即“客户铭牌”。销售人员创建销售订单时候,选择产品型号,根据订单的客户,为每一个产品型号指定“客户铭牌”的Properties。
        当销售订单Approve时候,系统会根据订单上定义的Properties,自动匹配该产品的BoM中(200个),Properties相同的那个BoM,而后根据该BoM计算物料,产生生产单(Manufactory Order)和操作单(Work Order)。系统自动匹配产品BoM的规则是,订单上的Properties,和BoM上的Properties,匹配相同项最多的那个BoM。

    三、解决办法评论
        OpenERP的解决办法,简化了产品定义,因而,销售、库存等非生产人员的工作更简单。但BoM表数量没有减少,将复杂性局限在生产环节。实际上,系统自动匹配BoM,并根据BoM计算MO和WO,生产工人根据MO和WO开工生产。生产工人的复杂性并没有增加。真正增加的复杂性是BoM的设计和定义,产品和工艺设计人员的工作复杂化了。
        也许,另一种解决办法是动态BoM,即不是为每个产品定义200个静态BoM,而是每次根据订单情况动态改变BoM。这个做法,谁来动态改变BoM呢?或者销售人员,或者生产人员,或者系统。销售人员或生产人员动态改变是不现实的,因为增加了他们的工作复杂度。由系统自动改变BoM结构,极大增加了系统计算的复杂性。想比较而言,还是OpenERP的办法好些,虽然BoM数量增加了很多。



  • BoM表的Properties,在按订单生产的情况中,沟通销售部和生产部非常有用。

    一、问题
        OpenERP的BoM定义了产品的物料构成,也定义了产品的生产工艺信息。一个产品可以定义多个BoM,例如某型号的家具,生产方式可能有大批量流水线生产,少量半自动生产。两种生产方式有不同的BoM(因为生产工艺不同)。又如,OEM加工的情况,同一规格型号产品,如LED灯具,不同客户,要求外观上刻印不同的客户铭牌。

    二、OpenERP的解决办法
        例如,工厂有100种型号的LED灯具,有200个OEM客户,每个客户都要求外观上刻印客户铭牌。一种解决办法是,定义100 × 200个产品,即每个型号产品都按客户细分成200个子型号。但这个办法的麻烦是,销售人员面对如此多的产品容易出错,且订单处理效率低。
        OpenERP的解决办法是,只定义100个产品,每个产品有200个BoM。在MRP中配置Properties Group “客户铭牌”,该Properties Group有200个Properties,即每个客户一个。在BoM的Properties中指定该BoM对应的客户,即“客户铭牌”。销售人员创建销售订单时候,选择产品型号,根据订单的客户,为每一个产品型号指定“客户铭牌”的Properties。
        当销售订单Approve时候,系统会根据订单上定义的Properties,自动匹配该产品的BoM中(200个),Properties相同的那个BoM,而后根据该BoM计算物料,产生生产单(Manufactory Order)和操作单(Work Order)。系统自动匹配产品BoM的规则是,订单上的Properties,和BoM上的Properties,匹配相同项最多的那个BoM。

    三、解决办法评论
        OpenERP的解决办法,简化了产品定义,因而,销售、库存等非生产人员的工作更简单。但BoM表数量没有减少,将复杂性局限在生产环节。实际上,系统自动匹配BoM,并根据BoM计算MO和WO,生产工人根据MO和WO开工生产。生产工人的复杂性并没有增加。真正增加的复杂性是BoM的设计和定义,产品和工艺设计人员的工作复杂化了。
        也许,另一种解决办法是动态BoM,即不是为每个产品定义200个静态BoM,而是每次根据订单情况动态改变BoM。这个做法,谁来动态改变BoM呢?或者销售人员,或者生产人员,或者系统。销售人员或生产人员动态改变是不现实的,因为增加了他们的工作复杂度。由系统自动改变BoM结构,极大增加了系统计算的复杂性。想比较而言,还是OpenERP的办法好些,虽然BoM数量增加了很多。



  • 很有帮助,感谢。



  • 精辟,谢谢老肖!



  • 建议老肖或者哪位大大配个插图什么的...
    都是麻麻的文字, 看起来好头痛....




  • 关于BoM表维护的思考。
        采用OpenERP的解决方法,同一型号的产品,根据客户的不同,有200个BoM。BoM的维护是个麻烦问题。例如,某产品的BoM稍有变更,则该产品下的200个BoM都必须做同样的变更。系统没有提供BoM变更维护的工具,因此,如果BoM变更较为频繁则是个很大的问题。目前尚未有好的解决办法。
        如果同一产品下的BoM差别很小,如本例子中的情况,各个BoM仅仅是铭牌不同,一个考虑办法是:每个产品仍然有200个BoM,但每个BoM都是一样的,仅仅是BoM的Properties不同。即BoM001 = 基本BoM + Properties001, BoM002 = 基本BoM + Properties002, ......  BoM200 = 基本BoM + Properties200。 如此,则基本BoM修改,BoMnnn并不需要修改。只是,在下达给工厂的生产单(MO)打印件要稍作修改,将Properties的信息打印到MO上,告诉工厂该批货应贴什么铭牌。



  • 如果BOM有多层,这个订单和BOM的匹配规则会逐级找下去么?
    如果会逐级去找的话,可以把铭牌作为虚拟BOM挂在主BOM上,这就避免了主BOM变更的问题。
    等老肖的测试结果,或者周末读一下源代码。。。


  • 管理员

    [quote]如果同一产品下的BoM差别很小,如本例子中的情况,各个BoM仅仅是铭牌不同,一个考虑办法是:每个产品仍然有200个BoM,但每个BoM都是一样 的,仅仅是BoM的Properties不同。即BoM001 = 基本BoM + Properties001, BoM002 = 基本BoM + Properties002, ......  BoM200 = 基本BoM + Properties200。 如此,则基本BoM修改,BoMnnn并不需要修改。只是,在下达给工厂的生产单(MO)打印件要稍作修改,将Properties的信息打印到MO上, 告诉工厂该批货应贴什么铭牌。[/quote]
    老肖尝试简化bom的设置的方法,个人认为并不可取。理由是:
    一般来说不同的客户铭牌对应铭牌供应商来说是完全不同的产品,如果你不在bom里面区分不同的铭牌,如何让MRP计算不同铭牌的需量进而生成对应的采购建议。



  • 高人见解,想的更远



  • 今天仍然值得探讨这个问题。


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待