Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
5917 Widoki

Hi,


I was trying to update record by onchange function. It is not working.

Could you please anyone help me?!

If you have any other solution for it. Pls do suggest

odoo version : 13.0


class AssetMain(models.Model):

    _name = 'asset.asset'


    allocation_lines = fields.One2many('asset.allocation', 'asset_id', string='Allocation')

    current_employee = fields.Many2one('hr.employee', string="Allocated Employee")



class AssetAllocation(models.Model):

    _name = 'asset.allocation'

name = fields.Many2one('hr.employee', string="Employee")

asset_id = fields.Many2one('asset.asset', string="Asset")

@api.onchange('name')

    def _update_asset(self):

        for rec in self.asset_id:

if self.state == 'active'

rec.current_employee = self.name

Awatar
Odrzuć
Autor

Thank you Sudhir..

i have been resolved by below code.


def write(self, vals):
res = super(AssetAllocation, self).write(vals)
for rec in self.asset_id:
if self.state == 'active':
rec.current_employee = self.name
rec.current_branch = self.branch
return res
Najlepsza odpowiedź

It will not work with the onchange but you should do it in the create/write method because onchange is being executed at clientside and not serverside.

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
gru 21
2638
0
sty 21
3032
3
mar 24
7611
1
sie 24
15294
2
mar 24
8439