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

第一种做法:是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'

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

另外一种是运行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); 

        }

}

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveV9mMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

04-24 21:02