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

How to pass value from employee to contact on odoo 16 using code

Awatar
Odrzuć
Najlepsza odpowiedź

Employee and partner are connected by 'address_id' field in odoo 17.
you can pass values from employee by inheriting 'create' or 'write' method or by calling your custom method.

@api.model
def create(self, vals):
result = super(ClassName, self).create(vals)
result.address_id.write({'field_in_partner': value_from_employee}
return result
def write(self, vals):
res = super(ClassName, self).write(vals)
​ self.address_id.write({'field_in_partner': value_from_employee}
return res
Awatar
Odrzuć
Najlepsza odpowiedź

from odoo import models


class HrEmployee(models.Model):

    _inherit = 'hr.employee'


    def sync_employee_to_contact(self):

        for employee in self:

            if employee.address_home_id:

                contact = employee.address_home_id

                contact.write({

                    'email': employee.work_email or employee.private_email,

                    'phone': employee.work_phone,

                    'function': employee.job_title,

                })

Awatar
Odrzuć
Najlepsza odpowiedź

from odoo import models


class HrEmployee(models.Model):

    _inherit = 'hr.employee'


    def get_partner_country(self):

        for employee in self:

            if employee.related_partner_id and employee.related_partner_id.country_id:

                partner_country = employee.related_partner_id.country_id.name

                print('Partner Country:', partner_country)

            else:

                print('No related partner or country assigned.')

Hope it helps you

Awatar
Odrzuć
Najlepsza odpowiedź

Hi,


In the 'hr.employee' model, a many2one field named 'related_partner_id' connects the 'hr.employee' (Employee) with the 'res.partner' (Contact). This field allows us to access all the fields in the 'res.partner' model.


Eg:

class HrEmployee(models.Model):
_inherit = 'hr.employee'

def get_partner_country(self):
partner_country = self.related_partner_id.country_id
print('Partner Country',partner_country)

Hope it helps

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
lip 25
770
1
kwi 25
829
0
mar 25
781
1
wrz 24
1862
0
sie 24
1185