コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
1437 ビュー

When I cancel production in the production model, I want to access the data, but the data does not come from the write method. I am using Odoo 17.

アバター
破棄
最善の回答

Hello ahmet@patrion.net,


Explanation of Behaviour :


1) Overriding write Method:


- The write method is triggered whenever a record is updated. This includes updates made by various methods, including action_cancel.

  When you click the "Cancel" button, it triggers the action_cancel method, which might involve updating the record’s state.

  This update invokes the write method.


2) action_cancel Method:


- This method is responsible for changing the state of the record, usually by calling the write method to update the record’s state to 'done'.


Here, When you call action_cancel, it internally calls write to update the record’s state. That’s why both action_cancel and write methods are invoked.

So, Override the 'action_cancel'  method to get the record.


Please find the below snippet code.


//Code in Comment//


Hope this helps.

   

If you need any help in customization feel free to contact us.

       

Thanks & Regards,

Email:  odoo@aktivsoftware.com           

Skype: kalpeshmaheshwari  

アバター
破棄

Code :

# -*- coding: utf-8 -*-

from odoo import fields, models, api

class MrpProduction(models.Model):
"""Inherited mrp for customization"""
_inherit = 'mrp.production'

def write(self, vals):
if 'state' in vals:
res = super().write(vals)
return res

def action_cancel(self):
res = super().action_cancel()
return res

関連投稿 返信 ビュー 活動
0
7月 25
300
1
7月 25
356
1
7月 25
846
0
6月 25
458
1
6月 25
571