美好的一天我在过滤Odoo 8 Field时遇到了问题 我只想选择Log User的Employee id,我只需在我的XML中添加它
<field name="employee_id" style = "width:500px" domain = "[('id', '=', user.id.employee_id.id)]" options="{'no_create': True}"/>
但我说错误
未捕获错误:NameError:name&#39; user&#39;没有定义。
是否有正确的方法在Odoo 8中获取日志用户的员工ID?
答案 0 :(得分:5)
要获取已登录用户的员工,请执行以下操作:
NSURL *videoURl = [NSURL fileURLWithPath:mPath];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURl options:nil];
AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset];
generate.appliesPreferredTrackTransform = YES;
NSError *err = NULL;
CMTime time = CMTimeMake(1, 60);
CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err];
UIImage *img = [[UIImage alloc] initWithCGImage:imgRef];
[m_videoFrames addObject:img];
CMTime duration = [asset duration];
int seconds = ceil(duration.value/duration.timescale);
当然将它放在域中并不容易,因此也许您可以使用存储的计算字段将员工的user_id保存在表中,然后您可以这样编写域:
resource = self.env['resource.resource'].search([('user_id','=',self.env.user.id)])
employee = self.env['hr.employee'].search([('resource_id','=',resource.id)])
答案 1 :(得分:2)
您可以尝试使用以下域名:
替换您的代码
[('id', '=', user.id.employee_id.id)]
与
[('employee_id.user_id','=',user.id)]
这将过滤员工的用户。基于记录用户,它过滤员工的用户。
答案 2 :(得分:0)
可以用更简单的方式完成。 试试这个 .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]