Dynamics 365中的分派(Assign)。
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复372或者20191025可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!
Dynamics 365有个分派(assign)权限,它和共享(Share)不一样,分派之后,记录的负责人(owerid)会变,记录负责人变了之后可能当前操作者就对该条记录没有读取权限了,这样会导致页面报错,没有权限的报错。当然,系统设置中有个选项【设置是否与原始负责人共享重新分派的记录】可以帮助你,但是默认值是否,当然就是不鼓励开启了。
分派权限也分为无,个人级别,业务级别,上下级业务部门,组织级别,这个和读取权限的级别没什么差别,个人级别的分派就只能分派记录负责人为当前用户,或者共享了分派权限给当前用户的记录,或者记录的负责人为当前用户所在团队的记录。
分派权限和写权限有关系吗?基本上没有关系,所以有时候你得解释,这个人对这个记录没有写权限,但是分派权限,分派后其实是改了记录得负责人字段。你对记录没有写权限(包括对这个实体没有写权限,或者对实体的某些记录没有写权限),但是只要你对记录有分派权限,还是可以分派的。哪些记录你可以执行分派还是看你对这个实体的分派权限,若是全局,就是你能看到的该实体的所有记录都可以分派,若是业务部门级别分派,则是可以分派记录负责人为你或者为你同一个业务部门用户的记录,当然也包括共享了分派权限给你的记录,负责人为你所在团队的记录。虽然这里是分开的,但是共享给其他用户分派权限的时候也会同时共享写权限。
还有一个分派功能,假设A用户从B业务部门换到C业务部门,如果你不做处理,他会将记录带走,在某些场景下是不允许带走的,我称之为这种场景为人一走茶就凉。比如某坐席负责A国的case的时候可以看到自己拥有的案例,这些案例是A国的,换业务部门后,要求他不能看到A国的案例,哪怕这些案例之前是他处理的。这时候可以将A用户的记录都分派给接受他工作的另一个用户,这样就不会带走了。可以用下面这个功能,找到这个用户,点击命令栏的 【REASSIGN RECORDS】就可以分派很多记录了。
用户更换业务部门的时候,若改用户拥有的记录比较多的话,有时候会出现SQL 执行超时的错误,我的理解是会将该用户所有拥有的记录的隐藏字段owningbusinessunit的值更改下,外表看来,这些记录还是该用户,但是这些记录的owningbusinessunit字段的值已经变了。如果超时可以参考我这篇文章 Dynamics 365执行操作报SQL Server已超时,更改这个超时设置的方法 来延长SQL 超时时长,并在系统不繁忙的时候执行更改用户的业务部门。
点击分派按钮出来的选择用户或者团队界面无法做自定义定制(至少我不知道)。有时候有需求,比如A用户只能将记录分派给同一个业务部门的用户,怎么办?如果可以接受的话,调整用户对【系统用户】实体的读取权限,设置为业务部门级别读取即可,默认情况下用户是【系统用户】实体的读取权限是全局读取的。当然,还可以通过插件/实时工作来终止并提示用户分派给了错误的用户,只是用户体验可能会差一些。