跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. OpenERP备忘录

OpenERP备忘录

已定时 已固定 已锁定 已移动 Odoo 新手求助
17 帖子 6 发布者 19.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • N 离线
    N 离线
    NewZN
    写于 最后由 编辑
    #1

    问题一:
    如果在 top-level BOM with type Sets/Phantom,则在SO上,确认SO时候,系统会自动创建包含该产品的子部件的Delivery Order。问题是,DO处理完毕,SO的Deliveried不会Check,即使SO支付完毕,SO却永远不会变为Done的状态。问题详细如下:
    I'm using the version 6.0.3 of OpenERP.
    When I'm confirming a sale order for a product that is top-level Phantom BOM, a delivery order is generated with the detailed BOM omponents but also a procurement order for the Phantom BOM.
    The problem is, even when I confirmed the delivery order and entered the generated invoice paiement, the sale order is never marked as terminated, because there is the procurement order for the Phantom BOM that is blocked in Confirmed state.
    I tried to manually run the Procurement planners but it didn't generate any production order.
    The procurement order also blocks the planner for the minimum stock rules, as it doesn't generate purchase order anymore to fill the stock...

    Here is my BOM configuration:
    - Product1 - BOM Type : Sets/Phantom
    - Product2 - BOM Type : Normal - Quantity : 1
    - Product3 - BOM Type : Normal - Quantity : 2

    As I've set the top-level BOM with type Sets/Phantom, I thought the sale order will only generate a delivery order and invoice, without procurement order or production order.
    This is how I need OpenERP to work, if possible.

    解决办法:
    不要用  Sets/Phantom 的办法处理“散件打包”的产品,而是改用Extra Module "nan_product_pack"。该模块功能如下:
    Allows configuring products as a collection of other products. If such a product is added in a sale order, all the products of the pack will be added automatically (when storing the order) as children of the pack product.
    The module has been made compatible with nan_external_prices and containts code to specifically handle when the module is available but they're still independent and there are no dependencies between them.

    解决办法二:
    经查,这是OpenERP的一个Bug。对于Sets/Phantom 类型的产品(下文称A产品)的SO单,当SO确认时候,
    1)系统自动创建一张A产品的出货单(Delivery Order, stock.picking),库存移动单(stock.move), 补货单(procurement.order)。相关代码参见:Sale模块的 sale.py 的 action_ship_create
    2)系统自动确认出货单(DO),此时,系统自动将DO上的A产品用BoM表里的产品替换掉(因为是Sets/Phantom 类型的BoM),并生成新的补获单(BoM中的每个产品一个补货单)。相关代码参见:mrp模块的 stock.py 的 _action_explode
    3)系统自动关闭原来的补货单(A产品)。问题是这里有个Bug,A产品的补货单关闭不了。修改方法是,在mrp模块的 stock.py 的 _action_explode 中增加一行(Line 101):wf_service.trg_validate(uid, 'procurement.order', m, 'button_confirm', cr)


    1 条回复 最后回复
    0
    • N 离线
      N 离线
      NewZN
      写于 最后由 编辑
      #2
      1. 进销存进阶文章:
        OpenERP中采购销售的财务处理:http://shine-it.net/index.php/topic,2594.msg8667.html#msg8667
        OpenERP中销售订单的预收款及多次开票的处理: [检测到链接无效,已移除] br />OpenERP的价格表(Pricelist)机制:http://shine-it.net/index.php/topic,2446.msg8196.html#msg8196

        OpenERP财务管理若干概念讲解:http://shine-it.net/index.php/topic,2431.msg8090.html#msg8090
        OpenERP分析会计(Analytic Account)应用案例: [检测到链接无效,已移除] br />OpenERP系统销售业务的财务处理总结:http://shine-it.net/index.php/topic,4557.0.html
        OpenERP销售业务若干实务案例的操作方法  [检测到链接无效,已移除]

        OpenERP多币种处理:http://shine-it.net/index.php/topic,2760.0.html
        OpenERP的小数精度问题 : [检测到链接无效,已移除]
        案例解说OpenERP中复杂产品单位的设置问题 : [检测到链接无效,已移除] br />案例解说OpenERP中委外加工的实现方法:http://shine-it.net/index.php/topic,4482.0.html
        OpenERP中多规格产品的处理方式 [检测到链接无效,已移除] br />OpenERP库存管理的若干概念讲解(新增库存价值):http://shine-it.net/index.php/topic,2425.msg8079.html#msg8079
        OpenERP的实时库存价值:http://shine-it.net/index.php/topic,2586.msg8628.html#msg8628
        深入解说OpenERP的各种提前期和时间 : [检测到链接无效,已移除] br />生产型企业原材料采购及入库的处理: [检测到链接无效,已移除] br />OpenERP中生产领料、投料、损耗、退料、成品入库的操作方法: [检测到链接无效,已移除]

        3)其他
        OpenERP生产基本概念:http://shine-it.net/index.php/topic,2746.msg9256.html#msg9256
        理解OpenERP的BoM表的Properties:http://shine-it.net/index.php/topic,2574.msg8554.html#msg8554
        OpenERP的生产成本解说:http://shine-it.net/index.php/topic,2576.msg8578.html#msg8578
        OpenERP的市场及客户关系管理若干概念讲解:http://shine-it.net/index.php/topic,2427.msg8073.html#msg8073
        OpenERP 7.0合同管理的概念: [检测到链接无效,已移除]

        OpenERP的权限设置:http://shine-it.net/index.php/topic,2503.msg8282.html#msg8282
        深入理解OpenERP的工作流(Workflow):http://shine-it.net/index.php/topic,2494.msg8283.html#msg8283
        OpenERP报表开发机制: [检测到链接无效,已移除] br />OpenERP V6.1中采购及库存管理相关的几个Bug修正: [检测到链接无效,已移除]

        企业信息化为什么要优先选用ERP平台软件: [检测到链接无效,已移除] br />企业信息化与OpenERP: [检测到链接无效,已移除] br />Openerp压力测试:OpenERP Web Client 无缓存1000并发测试OpenERP Server 性能 :http://shine-it.net/index.php/topic,2557.0.html
        OpenERP多核CPU支持:http://shine-it.net/index.php/topic,5745.msg14182.html#msg14182
        OpenERP 7.0 Web模块开发:http://shine-it.net/index.php/topic,5747.0.html


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

        many2many

        (0,0,{values}) 根据values里面的信息新建一个记录。

        (1,ID,{values})更新id=ID的记录(写入values里面的数据)

        (2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)

        (3,ID) 切断主从数据的链接关系但是不删除这个数据

        (4,ID) 为id=ID的数据添加主从链接关系。

        (5) 删除所有的从数据的链接关系就是向所有的从数据调用(3,ID)

        (6,0,[IDs]) 用IDs里面的记录替换原来的记录(就是先执行(5)再执行循环IDs执行(4,ID))

        例子[(6, 0, [8, 5, 6, 4])] 设置 many2many to ids [8, 5, 6, 4]

        one2many

        (0, 0,{ values })根据values里面的信息新建一个记录。

        (1,ID,{values}) 更新id=ID的记录(对id=ID的执行write 写入values里面的数据)

        (2,ID) 删除id=ID的数据(调用unlink方法,删除数据以及整个主从数据链接关系)

        例子:

        [(0,0,{'field_name':field_value_record1,...}),(0,0,{'field_name':field_value_record})]

        many2one的字段比较简单,直接填入已经存在的数据的id或者填入False删除原来的记录。

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

          View的字段定义中的default_get 及 Parent 备注

          如stock_view.xml的stock.picking 的Form中有如下定义:
          <field colspan="4" name="move_lines" nolabel="1" widget="one2many_list" default_get="{'move_line':move_lines}">

          其含义是在context中设置变量{'move_line':move_lines},该变量可以在stock.move的字段缺省值函数中使用。即stock.move的字段缺省值函数中,如果context中有变量move_line表示该stock.move是从stock.picking中创建。如果没有变量move_line,则它可能是别的途径创建。

          视图定义中可以用parent 引用父视图中的字段值。

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


            OpenERP人力资源管理基本概念: [检测到链接无效,已移除] br />

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

              复杂问题分析范例 文章
              思路清晰,分析透彻,有理有据,其分析方法和思路,很值得信息化过程中借鉴到企业问题分析上 : [检测到链接无效,已移除]

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


                OpenERP V6.1 报销事务处理详解:http://shine-it.net/index.php/topic,2790.0.html

                1 条回复 最后回复
                0
                • N 离线
                  N 离线
                  NewZN
                  写于 最后由 编辑
                  #8
                  1. openerp-server-6.0.3\bin\report\render\rml2pdf\trml2pdf.py
                      修改点有:
                      a) 支持RML的Directive:<pageDrawing> 及 <pageInfo>
                      b) 支持RML的Image Directive 的属性'preserveAspectRatio - Boolean'
                        Preserve Aspect Ratio: A flag determining whether the image's aspect ration should be conserved under any circumstances.
                      c) 修正Bug:下述RML上显示产品照片时候,所有行总是显示第一行的照片
                              <td>
                                <image width="60" height="90"  preserveAspectRatio="True" >[[ line.product_id and line.product_id.product_image or removeParentNode('image') ]]</image>
                              </td>


                    2) OpenERP 6.0.3\Server\addons\mrp\mrp.py
                      修改点: 避免BoM表的MRP运算陷入死循环

                    3) OpenERP 6.0\Server\addons\procurement\schedulers.py
                      Bug修正:当符合条件state='confirmed' and procure_method='make_to_order' 的procurement_order 超过500时候,系统的最小库存规则运算失效。

                    4) OpenERP 6.0.3\Server\addons\mrp\stock.py
                      修改点:
                      对于Sets/Phantom 类型的产品(下文称A产品)的SO单,当SO确认时候,
                        1)系统自动创建一张A产品的出货单(Delivery Order, stock.picking),库存移动单(stock.move), 补货单(procurement.order)。相关代码参见:Sale模块的 sale.py 的 action_ship_create
                        2)系统自动确认出货单(DO),此时,系统自动将DO上的A产品用BoM表里的产品替换掉(因为是Sets/Phantom 类型的BoM),并生成新的补获单(BoM中的每个产品一个补货单)。相关代码参见:mrp模块的 stock.py 的 _action_explode
                        3)系统自动关闭原来的补货单(A产品)。问题是这里有个Bug,A产品的补货单关闭不了。修改方法是,在mrp模块的 stock.py 的 _action_explode 中增加一行:wf_service.trg_validate(uid, 'procurement.order', m, 'button_confirm', cr)


                    1) openerp-6.1\openerp\addons\account\report\account_financial_report.py
                      Bug修正:财务报表的余额符号(sign)设置无效。

                    2) openerp-6.1\openerp\addons\base\res\ir_property.py
                      Bug修正:多公司数据导入时候,例如下述res.partner 的property字段数据对应的系统property parameter,其公司总是当前用户的公司。现改为总是取Property值(如 应收账款)对应的公司。
                    "id","name","property_account_payable/name","property_account_receivable/name","category_id/id","company_id/name"
                    "res_partner_test001","测试","220200 应付账款 Shop1","112200 应收账款 Shop1","base.res_partner_category_0","Shop 1"

                    DIFF文件参看附件。
                  1 条回复 最后回复
                  0
                  • N 离线
                    N 离线
                    NewZN
                    写于 最后由 编辑
                    #9

                    举个例子,镀锌铁管,这个产品需要从A供应商采购铁管,直接发货到B供应商,B供应商镀锌。需要给A、B供应商各下一张采购订单,以及给他俩各付一笔钱。
                    当镀锌铁管库存不足时候,怎么让系统自动给A、B分别下采购订单呢?
                    解决办法是,镀锌铁管的供应方式是Produce,其BoM由铁管和镀锌俩产品构成,其中铁管默认向A供应商采购。关键之处在于“镀锌”,镀锌设成Service类型,默认向B供应商采购。
                    BoM表中的部件可以是Service,这个太妙啦!

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

                      外协加工过程中,要向B供应商提供物料,如何处理呢?

                      1 条回复 最后回复
                      0
                      • digitalsatoriD 离线
                        digitalsatoriD 离线
                        digitalsatori 管理员
                        写于 最后由 编辑
                        #11

                        [quote author=lky link=topic=2639.msg9800#msg9800 date=1335448521]
                        外协加工过程中,要向B供应商提供物料,如何处理呢?
                        [/quote]
                        为供应商设置特定的’供应商库位‘
                        在工艺路线的生产库位中选择‘供应商库位’, 这样就可以实现委外物料向供应商提供,加工完成产品返回本地生产库位。

                        如果要手工确认这些物料外派单,还要安装‘no auto picking' 模块,并在相关物料上勾选‘no autopicking'

                        【上海先安科技】(tony AT openerp.cn)

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

                          OpenERP会计帐套年末结转的处理
                          0)结转前确认科目类型及结转方法(Deferral Method)是否完全正确
                            None:不结转,通常是损益类科目
                            Balance:余额结转,通常是资产、负债、权益类科目
                            Detail:完全结转,即会计凭证原样搬至下一期
                            Unreconciled:结转未核销凭证,通常是应收、应付类科目

                          1)结转前务必备份数据库,用备份的数据库恢复若干个测试数据库,在测试数据库上先结转,
                            根据测试结果修正科目的结转类型,直到确认科目结转正确无误,再开始实际结转。

                          2)创建新财务年度及会计期间
                          3)创建Opening/Closing Journal
                            Journal类型必须是:Opening/Closing Situation
                            默认借贷科目通常类似于:111300 Reserve and Profit & Loss Account(generic chart of accounts).
                            必须勾选Centralised counterpart 。
                          4)凭证结转:Accounting ‣ Periodical Processing ‣ End of Period ‣ Generate Opening Entries.
                            可以多次结转,系统会自动覆盖前一次的结转凭证

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

                            非常有用,谢谢!

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

                              老肖这个备忘录篇篇精华,篇篇深入浅出,佩服

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

                                新增备忘录:
                                1)OpenERP中实际库存移动时间的控制: [检测到链接无效,已移除] br />2)画面编辑/创建/删除/复制功能控制: [检测到链接无效,已移除] br />3)OpenERP MRP运算中的小数精度问题详解: http://shine-it.net/index.php/topic,16186.0.html

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

                                  好帖,学习中,收藏

                                  简单就是美

                                  1 条回复 最后回复
                                  0

                                  • 登录

                                  • 没有帐号? 注册

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