在 Odoo 中获取登录用户的员工 ID - 8
Getting the Employee id of the Log User in Odoo - 8
美好的一天,我在过滤 Odoo 8 字段时遇到问题
我只想 Select 日志用户的员工 ID 我只是将其添加到我的 XML
<field name="employee_id" style = "width:500px" domain = "[('id', '=', user.id.employee_id.id)]" options="{'no_create': True}"/>
但是我有一个错误提示
未捕获错误:NameError:未定义名称 'user'。
在 Odoo 8 中是否有正确的方法来获取日志用户的员工 ID?
您可以尝试使用以下域:
替换您的代码
[('id', '=', user.id.employee_id.id)]
和
[('employee_id.user_id','=',user.id)]
这将过滤员工的用户。根据登录用户,过滤员工用户。
为了获取登录用户的员工,我这样做:
resource = self.env['resource.resource'].search([('user_id','=',self.env.user.id)])
employee = self.env['hr.employee'].search([('resource_id','=',resource.id)])
当然不容易放在一个域中,所以也许你可以使用一个存储的计算字段来保存你table中员工的user_id,然后你可以写这样的域:
[('user_id', '=', uid)]
可以用更简单的方式完成。
试试这个
.py 文件
employee_id = fields.Many2one('hr.employee', string=u"Employé", readonly=True, store=True, default=_employee_get)
def _employee_get(self):
record = self.env['hr.employee'].search([('user_id', '=', self.env.user.login)])
return record[0]
美好的一天,我在过滤 Odoo 8 字段时遇到问题 我只想 Select 日志用户的员工 ID 我只是将其添加到我的 XML
<field name="employee_id" style = "width:500px" domain = "[('id', '=', user.id.employee_id.id)]" options="{'no_create': True}"/>
但是我有一个错误提示
未捕获错误:NameError:未定义名称 'user'。
在 Odoo 8 中是否有正确的方法来获取日志用户的员工 ID?
您可以尝试使用以下域:
替换您的代码
[('id', '=', user.id.employee_id.id)]
和
[('employee_id.user_id','=',user.id)]
这将过滤员工的用户。根据登录用户,过滤员工用户。
为了获取登录用户的员工,我这样做:
resource = self.env['resource.resource'].search([('user_id','=',self.env.user.id)])
employee = self.env['hr.employee'].search([('resource_id','=',resource.id)])
当然不容易放在一个域中,所以也许你可以使用一个存储的计算字段来保存你table中员工的user_id,然后你可以写这样的域:
[('user_id', '=', uid)]
可以用更简单的方式完成。 试试这个 .py 文件
employee_id = fields.Many2one('hr.employee', string=u"Employé", readonly=True, store=True, default=_employee_get)
def _employee_get(self):
record = self.env['hr.employee'].search([('user_id', '=', self.env.user.login)])
return record[0]