Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
1544 มุมมอง

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

Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ก.ค. 25
402
1
ก.ค. 25
788
1
ก.ค. 25
1217
0
มิ.ย. 25
538
1
มิ.ย. 25
1000