Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
3 Odpovědi
5415 Zobrazení

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

Avatar
Zrušit
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
Nejlepší odpověď

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.

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
1
pro 21
2119
0
led 21
2460
3
bře 24
7045
1
srp 24
14651
2
bře 24
7747