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

it2025-06-21  11

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

第一种做法:是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);          } }

                

 

转载于:https://www.cnblogs.com/bhlsheji/p/5199283.html

相关资源:ASP客户关系(CRM)系统源码
最新回复(0)