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

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

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

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

OpenERP备忘录



  • 问题一:
    如果在 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)




  • 问题一:
    如果在 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. 进销存进阶文章:
      OpenERP中采购销售的财务处理:http://shine-it.net/index.php/topic,2594.msg8667.html#msg8667
      OpenERP中销售订单的预收款及多次开票的处理: http://shine-it.net/index.php/topic,2606.msg8684.html#msg8684
      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)应用案例: http://shine-it.net/index.php/topic,2807.0.html
      OpenERP系统销售业务的财务处理总结:http://shine-it.net/index.php/topic,4557.0.html
      OpenERP销售业务若干实务案例的操作方法  http://shine-it.net/index.php/topic,4621.0.html

      OpenERP多币种处理:http://shine-it.net/index.php/topic,2760.0.html
      OpenERP的小数精度问题 : http://shine-it.net/index.php/topic,4416.0.html
      案例解说OpenERP中复杂产品单位的设置问题 : http://shine-it.net/index.php/topic,4480.0.html
      案例解说OpenERP中委外加工的实现方法:http://shine-it.net/index.php/topic,4482.0.html
      OpenERP中多规格产品的处理方式 http://shine-it.net/index.php/topic,4483.0.html
      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的各种提前期和时间 : http://shine-it.net/index.php/topic,2673.0.html
      生产型企业原材料采购及入库的处理: http://shine-it.net/index.php/topic,4178.0.html
      OpenERP中生产领料、投料、损耗、退料、成品入库的操作方法: http://shine-it.net/index.php/topic,4639.0.html

      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合同管理的概念: http://shine-it.net/index.php/topic,4566.0.html

      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报表开发机制: http://shine-it.net/index.php/topic,2773.0.html
      OpenERP V6.1中采购及库存管理相关的几个Bug修正: http://shine-it.net/index.php/topic,4568.0.html

      企业信息化为什么要优先选用ERP平台软件: http://shine-it.net/index.php/topic,2806.0.html
      企业信息化与OpenERP: http://shine-it.net/index.php/topic,2868.0.html
      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




  • 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删除原来的记录。



  • 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 引用父视图中的字段值。




  • OpenERP人力资源管理基本概念: http://shine-it.net/index.php/topic,2733.0.html



  • 复杂问题分析范例 文章
    思路清晰,分析透彻,有理有据,其分析方法和思路,很值得信息化过程中借鉴到企业问题分析上 : [url=http://sun-liping.blog.sohu.com/20382]http://sun-liping.blog.sohu.com/20382[/url]




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



    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文件参看附件。


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



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


  • 管理员

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

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



  • 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)OpenERP中实际库存移动时间的控制: http://shine-it.net/index.php/board,3.0.html
    2)画面编辑/创建/删除/复制功能控制: http://shine-it.net/index.php/board,3.0.html
    3)OpenERP MRP运算中的小数精度问题详解: http://shine-it.net/index.php/topic,16186.0.html



  • 好帖,学习中,收藏


登录后回复
 

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