You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo 15中直接从现有员工创建用户账户及批量操作方法

Odoo 15 从现有员工创建/批量创建用户账户

单个员工直接创建用户

完全可以直接从现有员工表单创建关联用户,步骤如下:

  • 进入HR模块,打开目标员工的详情表单
  • 点击顶部菜单栏的动作下拉选项,选择「创建用户」
  • 在弹出的用户创建窗口中,填写用户名、邮箱等必填信息,保存后系统会自动将该用户与当前员工绑定

批量将员工转为用户账户

有两种常用方式实现批量操作:

方式1:原生批量动作(无需开发)

  • 进入HR模块的员工列表视图
  • 勾选所有需要创建用户的员工记录
  • 点击顶部菜单栏的动作下拉选项,选择「创建用户」
  • 在批量创建弹窗中,可统一设置默认规则(如是否发送激活邮件、默认用户组),确认后系统会批量生成用户并自动关联对应员工

方式2:自定义服务器动作(灵活扩展)

如果需要自定义字段映射或逻辑,可通过开发者模式创建服务器动作:

  1. 开启开发者模式(设置->激活开发者模式)
  2. 进入「设置->技术->自动化->服务器动作」,新建动作
  3. 模型选择hr.employee,动作类型选择「Python代码」
  4. 写入以下代码(可根据需求调整字段规则):
for employee in records:
    if not employee.user_id:
        # 生成登录名,优先用工作邮箱,无则用姓名拼接
        login = employee.work_email or f"{employee.name.replace(' ', '.').lower()}@yourcompany.com"
        # 创建用户并关联员工
        user = self.env['res.users'].create({
            'name': employee.name,
            'login': login,
            'email': employee.work_email,
            'groups_id': [(6, 0, [self.env.ref('base.group_user').id])],  # 绑定基础用户组
            'notify_email': 'always'  # 自动发送激活邮件
        })
        employee.write({'user_id': user.id})
  1. 保存动作后,回到员工列表勾选目标记录,选择该服务器动作执行即可

注意事项

  • 确保员工的work_email字段尽量完整,避免生成无效或重复的登录名
  • 批量创建时,系统会自动处理登录名重复的情况,若冲突会在登录名后添加后缀
  • 若不需要自动发送激活邮件,可去掉代码中的notify_email参数,或在原生批量动作中取消勾选发送邀请

内容的提问来源于stack exchange,提问作者RAK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:00:02