Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
1423 Ansichten

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.

Avatar
Verwerfen
Beste Antwort

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  

Avatar
Verwerfen

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

Verknüpfte Beiträge Antworten Ansichten Aktivität
0
Juli 25
234
1
Juli 25
338
1
Juli 25
820
0
Juni 25
436
1
Juni 25
555