跳至内容
菜单
此问题已终结
1 回复
1407 查看

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
208
1
7月 25
318
1
7月 25
807
0
6月 25
423
1
6月 25
539