【问题标题】:Openerp override product_id_change function for sale orders销售订单的 Openerp 覆盖 product_id_change 函数
【发布时间】:2014-06-05 17:17:13
【问题描述】:

我需要重写sale.order.line中定义的product_id_change函数,所以每次更新数量时它都不会改变unit_price。

我知道我必须使用 super,但我不确定它是如何工作的。

谁能帮忙?

谢谢。

【问题讨论】:

    标签: overriding openerp onchange


    【解决方案1】:

    这很简单,但您需要做几件事(假设 OpenERP 7)

    1. 创建您的新模块。
    2. 创建一个继承osv.Model的类
    3. 添加 _inherit = 'sale.order.line'
    4. 实现您的新 product_id_change 方法。
    5. 安装您的模块,它应该可以工作。

    一个典型的模式是调用super然后处理结果。

    class MyModel(osv.Model):
    
       _inherit = 'sale.order.line'
    
       def product_id_change(self, cr, uid, ids, ...):
          res = super(MyModel, self).product_id_change(cr, uid, ids...)
    
          # do stuff with res.
    
          return res
    

    在 sale_margin.py 文件中的 OpenERP sale_margin 模块中有一个例子。

    【讨论】:

      猜你喜欢
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多