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 に答える