1

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

我尝试了很多不同的功能,但是当我单击按钮时,它只是改变了状态,而不是创建新的收据。此外,我发现这个按钮来自工作流,它的功能可能是“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

请帮我找到正确的功能。我真的很感谢你的帮助。提前致谢。

4

2 回答 2

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
于 2016-05-13T14:52:17.340 回答
1

要知道单击该按钮时将调用该模型的哪个函数,您需要执行以下步骤。

  • 启动开发者模式
  • 点击采购订单菜单
  • 单击调试菜单中的EDIT WORKFLOW选项

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

  • 单击确认订单操作,它将打开活动向导,您可以在单击该按钮时从该向导中查看已完成的操作。

在此处输入图像描述

单击此处了解有关工作流程的更多信息。

于 2016-05-14T05:26:07.497 回答