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);

}

}

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

时间: 2024-10-03 22:41:34

crm查询记录共享给了哪些人的相关文章

crm查询和删除审核历史记录

using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Messages; using System.Collections.Generic; /// <summary> /// 审核历史记录 /// </summary> public class

查询记录时rs.previous()的使用

查询记录时rs.previous()的使用 假如查询一个数据表,假设没有记录就显示提示信息,有就所有显示出来查询结果.这时假设是有查询结果的话就须要进行两次查询,第一次查完记录指针指向最后一条记录,開始第二次查询前,须要将指针回到第一条记录(使用rs.previous()),红色标记是使用rs.previous()方法时,必须採用的设置记录指针的方法. Statement stat=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,Res

mysql随机查询记录的高效率方法

mysql使用rand随机查询记录的高效率方法 一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了. 但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低. You cannot use a column with RAND() values in an ORDER BY clause

mongodb慢查询记录

在 MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL的Slow Query Log更详细的信息.它就是我们这篇文章的主题. 开启 Profiling 功能 有两种方式可以控制 Profiling 的开关和级别,第一种是直接在启动参数里直接进行设置. 启动MongoDB时加上–profile=级别 即可. 也可以在客户端调用db.setProfilin

JDBC访问Oracle数据库例子源代码,包括创建table,删除table,插入记录,删除记录,查询记录等

package com.cb; public class SMSInfo { public static String ITEMINDEX = "sms_index"; public static String ITEMTO = "sms_to"; public static String ITEMFROM = "sms_from"; public static String ITEMMSG = "sms_msg"; publ

Aerospike C客户端手册———查询—查询记录

查询记录 查询时除了使用主索引,Aerospike C客户端也提供API来通过检索次索引查询数据库. 为了使用次索引查询数据,首先应初始化并填充一个as_query对象:然后,以初始化完成的as_query对象,使用aerospike_query_foreach()执行查询.一个查询可以: 对返回的满足条件记录逐个调用回调函数. 对返回的满足条件记录集合应用流式用户定义函数(StreamUDF),再对StreamUDF返回结果调用回调用函数. 此章节专注于第一种方式,如想了解第二种方式,请参见[

Hibernate单表操作(六)——查询记录get()与load()方法区别

转载请注明:http://blog.csdn.net/uniquewonderq 在上一次的案例中,通过get或者load方法得到的结果一样. 既然得到的结果一样, 那么  get和load方法查询记录的区别是什么呢? 区别一: 在不考虑缓存的情况下,get方法会在调用之后立即向数据库发出sql语句,发出selelct语句,去查找这个记录或者说对象,返回本身的持久化对象. load方法会在调用后返回一个代理对象. 该代理对象只保存了实体对象的主键id,直到真正使用对象的非主键属性时才会发出sql

MYSQL获得查询记录的行号

对于获得查询记录的行号这一功能,Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的ROWNUM,MS SQL Server 则在 2005 版本中提供了ROW_NUMBER()函数.但在 MySQL 中似乎还没有这样的系统自带功能 = =!真是悲剧啊~ 好在民间的力量总是强大的,我们可以自己构造一个类似的功能! 表 a: UID Money 2 444 1 222 3 555 4 6666 想要以Money排序取得排行号:SQL文如下: Select UID,(@rowNum:

MySQL使用rand 随机查询记录效率测试

以下的文章主要介绍的是MySQL使用rand 随机查询记录效率测试,我们大家一直都以为MySQL数据库随机查询的几条数据,就用以下的东东,其实其实际效率是十分低的,以下就是文章的主要内容. SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了.但是真正测试一下才发现这样效率非常低.一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低. You cannot use