跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. Odoo 8.0 product, product variant 产品和产品系列 的实现,实施和操作

Odoo 8.0 product, product variant 产品和产品系列 的实现,实施和操作

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
21 帖子 14 发布者 30.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • Y 离线
    Y 离线
    Ying Liu
    写于 最后由 编辑
    #1

    Odoo 8.0 的产品 product 支持 product variant (产品系列)。 可是实施操作起来有很多容易出错的地方。下面是从源代码总结出来的正确实施操作办法。欢迎指正。

    1. 实现原理
    在Odoo 8.0 里面,有很多Model用来实现产品管理功能。 “product_template” 是基本的产品model, 一个“product_template”可以有多个“product_attribute_line” 属性系列。 一个属性系列是一个产品属性(product_attribute)和其中的多个属性值(product_attribute_value)。比如,一个帽子的产品有尺寸属性,尺寸属性值可以有大中小三个。 在产品(product_template)里面这是一个属性系列。一个产品可以有多个系列,比如还可以有颜色和颜色属性值比如红和白。 对一个产品的不同属性值(product_attribute_value)可以有附加的价格比如帽子的大号价钱要加十块钱。这个是存在 “product_attribute_price" model 里面。 Odoo为一个产品的suoy属性值组合自动产生所有个产品系列product variant, 实际的实现是 “product_product” model. 上面帽子产品有六个系列(大中小 )× (红白)。 

    问题的关键是这六个product variant是Odoo自动产生的,而且会在两种情况下重置:1)你修改产品的属性列表 2)产品的Active设为True时。此时所有在product variant的列表里面增删都会被重置。 技术细节参考这里( [检测到链接无效,已移除] )。 删除不掉的产品系列其Active设为“False”。

    2. 实施操作建议
    实施时候要规划好,一个产品到底有什么属性,这个最重要。加一个或减一个属性,Odoo会删除所有的产品系列来产生新的。 相比之下,具体的属性值比如加减一个颜色不是大问题。 有个关键细节: 每个属性最少有二个值,要不然会被忽略。比如,系统初始化时候如果帽子颜色只有一个白色,Odoo会忽略颜色这个属性系列, 只为尺寸产生三个产品系列。 如果后来再加一个红色,系统就会删除旧的产品系列,重新生成六个产品系列。  如果再加一个颜色比如黄色,系统会为大中小生成三个黄色的产品系列,旧的保留。  同理, 如果只有红白二个颜色时候,不要删除一个。因为系统认为没有必要为单值的产品属性系列生成产品系列,因而会删除六个产品系列而重新生成大中小三个产品系列。

    操作是正确的做法是在Product 的 attribute 里面 定义好所有的产品属性系列 (attribute 和product attribute value),每个属性定义至少二个值。 在 variant prices里,可以为某个属性增加减少附加价格。[color=red][b]每次点击List Variants 的时候[/b][/color],Odoo系统会自动验证和产生所有的产品系列(product variants)并删除多余的产品系列。
    在Product variants 可以看到所有的产品系列,不要在这里增删任何产品系列。

    1 条回复 最后回复
    0
    • 卓忆卓 离线
      卓忆卓 离线
      卓忆
      写于 最后由 编辑
      #2

      补充 一点内容:
      见这个帖子:  [检测到链接无效,已移除]


      补充另外一点内容:http://shine-it.net/index.php/topic,17076.msg30233.html#msg30233

      恬淡

      1 条回复 最后回复
      0
      • wjfonhandW 离线
        wjfonhandW 离线
        wjfonhand
        写于 最后由 编辑
        #3

        如果这个product.product数据已经有了采购销售库存生产记录,他还怎么删除?

        GoodERP -- Odoo China fork

        1 条回复 最后回复
        0
        • Y 离线
          Y 离线
          Ying Liu
          写于 最后由 编辑
          #4

          如果这个记录不能删除,就设置其active = False, 参见下面product.py的源代码:

          # unlink or inactive product
          for variant_id in map(int,variants_inactive):
              try:
                    with cr.savepoint():
                        product_obj.unlink(cr, uid, [variant_id], context=ctx)
              except (psycopg2.Error, osv.except_osv):
                        product_obj.write(cr, uid, [variant_id], {'active': False}, context=ctx)
                        pass

          1 条回复 最后回复
          0
          • R 离线
            R 离线
            royalier
            写于 最后由 编辑
            #5

            非常感谢,很好理解。。。。

            昨天试用了下,,有些和我想象的不一样。。。。

            比如,有个产品,假设是床单,设置两个属性,尺寸:1.2米,1.5米,1.8米;颜色:红色,黄色。
            然后就变成了6种,

            在设置价格的时候出现理解上的差异:
            在Product Variants中,修改任何一个的标价和成本价,都是全部更改,也就是这些价格是共享的。
            后来找到了,在Variant Values中,可以针对6个中的任何一个设置价格差异,这个是标价的差异。

            但是成本价,肯定也是不一样的,比如1.2米、1.5米、1.8米的肯定不一样,就好像手机的白色壳和黑色壳的成本不一样。

            所以目前理解,这个上面的系列,是不是只有不涉及到进价的?或者是我没有考虑到?

            1 条回复 最后回复
            0
            • L 离线
              L 离线
              lihaihe
              写于 最后由 编辑
              #6

              当排列组合生成的变体太多时,无论是生成的速度和查询的速度都很慢,只间涉及到几个函数字段,计算量太大了,不知道大家有没有好的解决方法?

              1 条回复 最后回复
              0
              • JoshuaJ 在线
                JoshuaJ 在线
                Joshua 管理员
                写于 最后由 编辑
                #7

                尝试使用 stroe = {} 还有就是 multi 参数

                【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

                1 条回复 最后回复
                0
                • N 离线
                  N 离线
                  NewZN
                  写于 最后由 编辑
                  #8

                  Liu Ying好啊,看过你的Mind is Software,你对Odoo做了很多研究啊。
                  有个建议,能否搞成中文,让国内的小伙伴们多些有深度的学习资料。

                  1 条回复 最后回复
                  0
                  • mrshellyM 离线
                    mrshellyM 离线
                    mrshelly
                    写于 最后由 编辑
                    #9

                    v8.0 的 产品规格这一部分的确还存在这样的问题.....

                    产品属性 前面规划不当 是概率很大的事件...

                    1 条回复 最后回复
                    0
                    • wjfonhandW 离线
                      wjfonhandW 离线
                      wjfonhand
                      写于 最后由 编辑
                      #10

                      有一个姑娘,是爸爸妈妈的独生宝贝。

                      后来她有了个弟弟。

                      于是 active属性变成了false

                      那MRP就永远找不到她了对不对?

                      f*ck

                      GoodERP -- Odoo China fork

                      1 条回复 最后回复
                      0
                      • L 离线
                        L 离线
                        lihaihe
                        写于 最后由 编辑
                        #11

                        针对这个功能,对于属性少的产品用与不用,差别都不大,对于那些属性组多,属性组下的属性也多的产品,我们都期望利用此功能,减轻

                        基础数据维护的工作量,这看起来吸引力很大,但真正实施起来还是有些难度的,比如:
                        (1)数据生成的效率?
                        (2)自动生成的冗余数据如休处理?
                        (3)属性信息变更后的处理?
                        (4)物料编码如何管理?
                        (5)单据录入时,不能以属性信息查找产品的问题?
                        (6)查询统计时无法按属性(组)分组?

                        我认为,除非必要,还是慎用此功能。

                        1 条回复 最后回复
                        0
                        • Q 离线
                          Q 离线
                          qiushiliang
                          写于 最后由 编辑
                          #12

                          [quote author=royalier link=topic=16720.msg29531#msg29531 date=1418181275]
                          非常感谢,很好理解。。。。

                          昨天试用了下,,有些和我想象的不一样。。。。

                          比如,有个产品,假设是床单,设置两个属性,尺寸:1.2米,1.5米,1.8米;颜色:红色,黄色。
                          然后就变成了6种,

                          在设置价格的时候出现理解上的差异:
                          在Product Variants中,修改任何一个的标价和成本价,都是全部更改,也就是这些价格是共享的。
                          后来找到了,在Variant Values中,可以针对6个中的任何一个设置价格差异,这个是标价的差异。

                          但是成本价,肯定也是不一样的,比如1.2米、1.5米、1.8米的肯定不一样,就好像手机的白色壳和黑色壳的成本不一样。

                          所以目前理解,这个上面的系列,是不是只有不涉及到进价的?或者是我没有考虑到?
                          [/quote]


                          我也是遇到了  不同产品规格成本价格不一样的问题 这个很常见啊      现在论坛大神 有解决的办法吗?  如果没有 基本只能舍弃属性咯 一个一个当产品录入了 

                          1 条回复 最后回复
                          0
                          • Y 离线
                            Y 离线
                            yanggg1133
                            写于 最后由 编辑
                            #13

                            我的天呢。。应该不会把。。我看了数据库里  有product_pricelist ...

                            最基本sku的功能 应该不会错把

                            1 条回复 最后回复
                            0
                            • Y 离线
                              Y 离线
                              yanggg1133
                              写于 最后由 编辑
                              #14

                              Phone 5C 红黄蓝绿紫
                              iPhone 5C  8G/16G/32G

                              这些是在网站中展示的,客户下订单购买蓝色的/16G的iPhone 5C

                              也就是说颜色和容量只是一个属性,每台机器只能选择其中一项,我们怎样在OpenERP中配置呢?

                              如方便的话请上图,非常感激。
                              图:





                              [img [检测到链接无效,已移除] /img]

                              引用自: 星叔 于 九月 11, 2014, 09:10:21 上午
                              感谢元老的回复

                              还有2个问题麻烦您

                              1.这个是需要安装哪个模块?我昨天查找了下,搜索到一个<br / https://www.odoo.com/apps/7.0/product_variant_multi/ br />不知道元老是否用的也是这个

                              2.产品属性有数十个,我用iPhone只是举例,是否可以设置N多属性

                              谢谢您的答复。


                              1.  V8.0 内置功能.

                              2.  截图中 不是还有个 Wifi 2.4GHz 的属性么? 你没有看到下面还有一个 "Add an item" 吗? 别说10个, 20000个也不存在问题呀.

                              1 条回复 最后回复
                              0
                              • Y 离线
                                Y 离线
                                yanggg1133
                                写于 最后由 编辑
                                #15

                                【上校】昆山-jeffery
                                呵,成本方法 试试

                                1 条回复 最后回复
                                0
                                • C 离线
                                  C 离线
                                  CnBoYer
                                  写于 最后由 编辑
                                  #16

                                  实际操作前后,反复读了多遍这个帖子,继续关注官方后续的改进。

                                  这个功能对购物车功能来说很有必要,把product temple拆成一个一个的product上架不现实,

                                  本来一个产品的事情,属性和属性值多的情况下,拆成几十上百个来录入,录入管理的工作量先不说,前台用户选择购买也是很不可行的。

                                  1 条回复 最后回复
                                  0
                                  • C 离线
                                    C 离线
                                    CnBoYer
                                    写于 最后由 编辑
                                    #17

                                    补充问一下:重新组合之后,属性值上的库存、价格,全都会丢失吗?    跟调整前的物料清单会有什么冲突?原先建的各个物料清单都需要重新编辑或者重建?

                                    1 条回复 最后回复
                                    0
                                    • L 离线
                                      L 离线
                                      lonely落叶
                                      写于 最后由 编辑
                                      #18

                                      [quote author=yanggg1133 link=topic=16720.msg30555#msg30555 date=1434629664]
                                      Phone 5C 红黄蓝绿紫
                                      iPhone 5C  8G/16G/32G

                                      这些是在网站中展示的,客户下订单购买蓝色的/16G的iPhone 5C

                                      也就是说颜色和容量只是一个属性,每台机器只能选择其中一项,我们怎样在OpenERP中配置呢?

                                      如方便的话请上图,非常感激。
                                      图:





                                      [img [检测到链接无效,已移除] /img]

                                      引用自: 星叔 于 九月 11, 2014, 09:10:21 上午
                                      感谢元老的回复

                                      还有2个问题麻烦您

                                      1.这个是需要安装哪个模块?我昨天查找了下,搜索到一个<br / https://www.odoo.com/apps/7.0/product_variant_multi/ br />不知道元老是否用的也是这个

                                      2.产品属性有数十个,我用iPhone只是举例,是否可以设置N多属性

                                      谢谢您的答复。


                                      1.  V8.0 内置功能.

                                      2.  截图中 不是还有个 Wifi 2.4GHz 的属性么? 你没有看到下面还有一个 "Add an item" 吗? 别说10个, 20000个也不存在问题呀.
                                      [/quote]



                                      其实jeffery已经说了,涉及产品多属性的话,产品成本不准备,不能正常显示成本,成本价=采购成本/规格数

                                      1 条回复 最后回复
                                      0
                                      • jefferyJ 离线
                                        jefferyJ 离线
                                        jeffery
                                        写于 最后由 编辑
                                        #19

                                        variant 的使用要权衡使用场景, 把握一个原则, 那就是Variants 公用了大多数的 属性,Variant 仅仅是个 细微的变化。

                                        不要滥用

                                        1 条回复 最后回复
                                        0

                                        • 登录

                                        • 没有帐号? 注册

                                        • 登录或注册以进行搜索。
                                        • 第一个帖子
                                          最后一个帖子
                                        0
                                        • 版块
                                        • 标签
                                        • 热门
                                        • 用户
                                        • 群组