用户账号被+1问题说明原创
金蝶云社区-李鸿运
李鸿运
5人赞赏了该文章 335次浏览 未经作者许可,禁止转载编辑于2022年07月26日 15:13:53
  • 本文编写目的

      用户在【用户管理】通过引入引出批量导入用户或新增用户时,发现用户账号莫名奇妙被+1,即账号在原计划输入的情况下后延一位数字1,本文将对该情况的发生逻辑,以及处理逻辑做进一步说明,并提供去掉数字1的处理办法供用户参考。

  • 用户账号被+1场景

      当管理员通过开启参数【员工通过入职单入职后自动生成用户】,通过新增员工的形式创建新用户,而新增员工的员工编码与【用户回收站】内的用户账号一致或与【用户管理】内已存在的用户账号一致,则此时创建的新用户账号在用户管理内可见,用户账号被+1,见图1和2。目前EAS和SHR都有这样的场景,自动生成用户的逻辑可见文章https://vip.kingdee.com/article/326682448983524864

    image.png

    图1-在EAS新增职员yh10

    image.png

    图2-新增职员后自动创建用户yh10(1)

  • 用户账号被+1的设计原因

    1、EAS用户删除逻辑。

      目前EAS用户不存在真删除的逻辑,在用户管理删除后会直接进入用户回收站,回收站的用户可以复原但不允许删除。另外即使用户在回收站,如对应的职员已经关联了该用户,则该职员也不允许删除,见下图3。综上,此处新增用户(使用回收站用户的用户账号),无论是通过引入新增或者直接单个用户新增,都会弹出校验,见下图4。

    image.png

    图3

    image.png

    图4

       此处的删除逻辑设计,是因为用户是一个基础资料,一旦被其他数据引用,则不能真删除,否则已引用的数据逻辑则会丢失。

     2、云平台同步

         目前EAS主流为注册制的,因此如使用注册制需要考虑用户同步问题。当用户被删除时,由于在线同步,调取云平台的删除接口,并不是实时去删除用户,而是有延迟,因此此时若再通过自动生成用户后,再同步云平台,则此时有两个一样账号,云平台如何去处理?目前云平台也是需要校验ERP用户名唯一值的,见下图5

image.png

图5

      综上,才考虑给自动生成的用户账号+1。


  • 账号+1目前可行处理办法

    基于上述分析,目前结合云平台现状,有以下结论:

    1、若用户删除员工后,(此处是SHR反审批删除职员,EAS若已有用户关联职员,则职员无法删除)再同步云平台,云平台会删除该用户(非实时),因此如通过后台执行脚本将账号+1的用户和回收站用户全部删除,则无风险,删除用户后,再通过批量引入即可。此处需考虑云平台的数据情况,如删除前已同步,则需要手工去云平台移除这些删除用户。

    2、如未删除员工,则这些用户需要通过批量修改用户名的办法,此处是后台脚本修改,可参考文章https://vip.kingdee.com/article/322675800308570880

    3、如未删除员工,可通过客户端修改。操作方法:

     ①将回收站用户全部复原至用户列表,此时用户列表存在用户账号+1和用户账号2种数据

     ②将复原的用户账号全部修改为用户账号+x,再删除

     ③再将用户账号+1修改为用户账号,即可

     上述操作,需要考虑云平台同步,如用户账号已在云平台移除,则③修改后,需要再次同步云平台

赞 5