我通过以下代码在default value
分配analytic distribution
到account.invoice.line
字段
def _get_default_account(self, cr, uid, context=None):
res = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('code','=','LAL')], context=context)
return res and res[0] or False
_defaults = {
'analytics_id': _get_default_account,
}
但现在我想为特定的用户组设置默认值。我想为一个组设置一个值,为其他组设置其他值。意味着我想为不同的用户设置两个不同的默认值。 有人请给我一些想法。我会非常感激......
答案 0 :(得分:1)
最简单的方法是使用has_group方法。你应该这样做:
if self.env['res.users'].has_group('base.group1'):
res = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('code','=','LAL')], context=context)
return res and res[0] or False
elif self.env['res.users'].has_group('base.group2'):
res = self.pool.get('account.analytic.plan.instance').search(cr, uid, [('code','=','SAS')], context=context)
return res and res[0] or False
依此类推。