如何覆盖按钮"确认订单"在模块购买Odoo

时间:2016-05-13 14:35:14

标签: openerp odoo-8 purchase-order

我试图覆盖按钮"确认订单"在模块"购买"。此按钮会将报价更改为采购订单(状态:已确认采购),同时自动在模块中创建新收据"仓库"所以当我点击按钮"接收产品"时,我可以看到收据。

我尝试超过许多不同的功能但是当我点击按钮时,它只是改变了状态,而不是创建新的收据。在旁边,我发现这个按钮来自工作流程,它的功能可能是" wkf_confirm_order"但它没有用。

@api.multi
def purchase_confirm(self):
    #super(purchase_order,self).wkf_bid_received()
    super(purchase_order,self).wkf_confirm_order()
    #super(purchase_order,self).wkf_approve_order()
    return True

请帮我找到正确的功能。我非常感谢你的帮助。提前谢谢。

2 个答案:

答案 0 :(得分:1)

这是覆盖python

中方法的正确语法
def my_method(self):
    #do task before my_method
    result=super(MyClass,self).my_method()
    #do task after my_method by using result
    return result

试试这段代码:

@api.multi
def purchase_confirm(self):
    #do task before confirm
    res=super(purchase_order,self).purchase_confirm()
    #do task after confirm by using res
    return res

答案 1 :(得分:0)

要知道在单击该按钮时将调用该模型的哪个功能,您需要按照以下步骤操作。

  • 启动开发者模式
  • 点击购买订单菜单
  • 点击调试菜单
  • 中的编辑工作流程选项

enter image description here

  • 然后单击图表视图在图表视图中打开该工作流程记录。

enter image description here

  • 然后它将打开采购订单的整个工作流程

enter image description here

  • 点击确认订单操作,它会打开活动向导,您可以在该向导中查看单击该按钮时已执行的操作。

enter image description here

Click here了解有关工作流程的更多信息。