在CRM2011中遇到过一个很奇葩的问题,对某一条记录取消对某个人的共享后,但是这个用户还能看到记录该条记录。觉得很奇葩。
调查了一下发现每次对记录进行共享操作后都会在数据库表(PrincipalObjectAccess)中进行留痕。
表结构主要如下:
其中
【OBJECTID】:具体某一条记录的id
【PrincipalId】:关联用户、团队的id(该条记录具体共享给哪个用户或团队)
【AccessRightsMask】:共享的权限有哪些(0:没有权限,1:读)
注:该表只会递增,不会自动删除,如果取消共享的话 【AccessRightsMask】的值为0
【PrincipalObjectAccessId】:是该表的主键。
很奇怪的问题是【AccessRightsMask】的值已经为0了,但是对应的用户依然可以看到。
很奇葩,只好将该条记录删除掉,然后对应的用户就不能看到了。
虽然问题是解决了,但是还是不知道其原理是什么,如果有懂的大神希望能够留言赐教。