Как переопределить кнопку "подтвердить заказ" в модуле "Покупка Odoo"

Я пытаюсь переопределить кнопку "Подтвердить заказ" в модуле "Покупка". Эта кнопка преобразует предложение в заказ на покупку (состояние: Покупка подтверждена), одновременно автоматически создавая новую квитанцию ​​в модуле "Склад", поэтому, когда я нажимаю кнопку "Получить товары", я вижу квитанцию.

Я попытался использовать много разных функций, но когда я нажал кнопку, он просто изменил состояние, а не создал новую квитанцию. Кроме того, я обнаружил, что эта кнопка из рабочего процесса, и ее функция может быть "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 ответа

Решение

Чтобы узнать, какая функция этой модели будет вызываться при нажатии на эту кнопку, необходимо выполнить следующие действия.

  • Запустить режим разработчика
  • Нажмите на меню " Заказы на покупку".
  • Нажмите на EDIT WORKFLOW в меню отладки.

  • Затем откройте эту запись рабочего процесса в виде диаграммы, нажав на представление диаграммы.

  • Затем откроется весь рабочий процесс заказа на покупку.

  • Нажмите "Подтвердить действие заказа", откроется мастер действий, из которого вы сможете увидеть, какое действие было выполнено, пока вы нажимаете эту кнопку.

Нажмите здесь, чтобы узнать больше о рабочем процессе.

Это правильный синтаксис переопределения метода в 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
Другие вопросы по тегам