Openerp 在odoo中选择员工姓名时,如何自动填写员工详细信息?
在odoo中选择员工姓名时,如何获取员工的详细信息 我已经做了许多与人力资源部员工相关的字段。但我无法得到结果 .py代码Openerp 在odoo中选择员工姓名时,如何自动填写员工详细信息?,openerp,odoo,Openerp,Odoo,在odoo中选择员工姓名时,如何获取员工的详细信息 我已经做了许多与人力资源部员工相关的字段。但我无法得到结果 .py代码 class mom_person(osv.Model): _name = 'mom.person' _columns = { 'emp_i' : fields.many2one('hr.employee','Attendees'), 'ename_id' : fields.many2one('mom.meeting','Attend Person'), 'depat':f
class mom_person(osv.Model):
_name = 'mom.person'
_columns = {
'emp_i' : fields.many2one('hr.employee','Attendees'),
'ename_id' : fields.many2one('mom.meeting','Attend Person'),
'depat':fields.char('Department'),
'wk_mail':fields.char('Mail'),
'wk_cnt':fields.char('Contact'),
}
def get_emp_det(self, cr, uid, ids, emp_i, context=None):
val = {}
emp_id = self.pool.get('hr.employee')
if emp_i:
for rec in emp_id.browse(cr,uid,emp_i,context=context):
val = {
'depat': rec.department_id,
'wk_mail':rec.work_email,
'wk_cnt':rec.work_phone,
}
return val
mom_person()
和xml代码
<tree string="Employee name" editable="bottom">
<field name="emp_i" onchange="get_emp_det(emp_i)"/>
<field name="depat"/>
<field name="wk_mail"/>
<field name="wk_cnt"/>
</tree>
/field>
/字段>
您必须更改.py文件中的OnCharage方法,请尝试执行以下操作:
def get_emp_det(self, cr, uid, ids, emp_i, context=None):
v={}
if emp_i:
employee = self.pool.get('hr.employee').browse(cr, uid, emp_i, context=context)
if employee.department_id.id:
v['depat'] = employee.department_id and employee.department_id.id or False
if employee.work_email:
v['wk_mail'] = employee.work_email
if employee.work_phone:
v['wk_cnt'] = employee.work_phone
return {'value': v}
您可以尝试上面的更改并重新启动服务器,然后查看结果
我希望这会对您有所帮助。:)非常感谢,但是结果没有反映意味着您无法在表单中获取数据??您也更改了xml我还没有在表单中获得详细信息更新模块并重新启动服务器,然后再次检查