crm查询记录共享给了哪些人

有时候,我们需要查询一个记录,共享给了哪些人?怎么做?

第一种做法:是sql的方式

select * from PrincipalObjectAccess where objectid = '522626B1-D10C-E411-80FF-00155D002F02'
select u.FullName,sup.SystemUserId,POA.ObjectId,AccessRightsMask
from PrincipalObjectAccess POA inner
join SystemUserPrincipals sup on POA.PrincipalId = sup.PrincipalId
inner join SystemUserBase u
on sup.SystemUserId=u.SystemUserId
where
((POA.AccessRightsMask | POA.InheritedAccessRightsMask) & 1)=1
and POA.ObjectId='522626B1-D10C-E411-80FF-00155D002F02'

第二种是执行request的方式:

EntityReference target = new EntityReference();
target.Id = new Guid("522626B1-D10C-E411-80FF-00155D002F02");
target.LogicalName = "new_pr_detail_gather";

                
RetrieveSharedPrincipalsAndAccessRequest shareRequest = new RetrieveSharedPrincipalsAndAccessRequest();
shareRequest.Target = target;
RetrieveSharedPrincipalsAndAccessResponse shareResponse =
      (RetrieveSharedPrincipalsAndAccessResponse)service.Execute(shareRequest);
if(shareResponse.PrincipalAccesses != null) 
{
        foreach(PrincipalAccess pa in shareResponse.PrincipalAccesses)
        {
                 System.Console.WriteLine("AccessMask: " + pa.AccessMask);
                 System.Console.WriteLine("Id: " + pa.Principal.Id + ",LogicalName: " + pa.Principal.LogicalName); 
        }
}


                

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值