CRM 权限内可查看的记录数
CREATE FUNCTION dbo.fn_GetFilteredIdsSqlString
(
@SystemUserId VARCHAR(36) ,
@ObjectTypeCode VARCHAR(10) ,
@entityname VARCHAR(100)
)
RETURNS NVARCHAR(max)
AS
BEGIN DECLARE @sqlText NVARCHAR(4000)
SET @sqlText = ' SELECT ' + @entityname + 'id id from ' + @entityname
+ ' JOIN SystemUserBase u ON ( u.SystemUserId = '''
+ @SystemUserId + ''' AND u.IsDisabled = 0 ) '
+ ' CROSS JOIN dbo.fn_GetMaxPrivilegeDepthMask_SQL('
+ @ObjectTypeCode + ',''' + @SystemUserId + ''' ) pdm '
+ ' WHERE ( ' + ' pdm.PrivilegeDepthMask IS NOT NULL '
+ ' AND ( ' + ' [' + @entityname + '].OwnerId IN ( '
+ ' SELECT OwnerId '
+ ' FROM [dbo].[fn_GetOwnerIdsForFilteredView](u.SystemUserId,'
+ @ObjectTypeCode + ') ) ' + ' OR EXISTS ( SELECT 1 '
+ ' WHERE ( ( ( ( pdm.PrivilegeDepthMask & 0x4 ) != 0 ) OR ( ( pdm.PrivilegeDepthMask & 0x2 ) != 0 ) '
+ ' AND [' + @entityname + '].[OwningBusinessUnit] IN ( '
+ ' SELECT BusinessUnitId FROM SystemUserBusinessUnitEntityMap WITH ( NOLOCK ) WHERE SystemUserId = '''
+ @SystemUserId + ''' AND ObjectTypeCode =' + @ObjectTypeCode
+ ' ) ) '
+ ' OR ( ( ( pdm.PrivilegeDepthMask & 0x8 ) != 0 ) AND ['
+ @entityname + '].[OwningBusinessUnit] IS NOT NULL) ) ' + ' OR ['
+ @entityname + '].' + @entityname + 'id IN ( '
+ ' SELECT ObjectId FROM [dbo].[fn_GetSharedRecordIdsForFilteredView]('''
+ @SystemUserId + ''' , ' + @ObjectTypeCode + ') ) ) ) )' RETURN @sqlText END
因为存在动态SQL,所以不好写成 表值函数.暂时只能这样了.
CRM 权限内可查看的记录数的更多相关文章
- sqlserver sql语句查看分区记录数、查看记录所在分区
select count(1) ,$PARTITION.WorkDatePFN(workdate) from imgfile group by $PARTITION.WorkDatePFN(workd ...
- 无依赖简单易用的Dynamics 365实体记录数计数器并能计算出FetchXml返回的记录数
本人微信公众号:微软动态CRM专家罗勇 ,回复278或者20180812可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 我们 ...
- 亿方云(用电话或者qq沟通是远远不够的,容易忘还不能反复催,最好的方式就是指定一个平台,团队内的人定期查看最新记录)
作者:城年链接:http://www.zhihu.com/question/20579359/answer/106319200来源:知乎著作权归作者所有,转载请联系作者获得授权. 更新,文字发完后,好 ...
- Dynamic CRM 2015学习笔记(6)没有足够的权限 - 您没有访问这些记录的权限。请联系 Microsoft Dynamics CRM 管理员
我们经常遇到下面这种问题:没有足够的权限 - 您没有访问这些记录的权限.请联系 Microsoft Dynamics CRM 管理员. 下面将详细介绍下如何解决这种问题:进不了CRM系统:进了CRM ...
- 查看mysql库中所有表的大小和记录数
查看mysql库中所有表的大小和记录数 ,), 'MB') as total_size FROM information_schema.TABLES WHERE TABLE_SCHEMA='datab ...
- navicat查看mysql数据表记录数不断变化
在使用navicat进行数据库管理的时候,在查看表对象的时候会发现,每次刷新,数据表的记录数不断变化,尤其是大表. 对于100万的数据经常会显示九十几万,当然通过count(*)出来的数据是正确的. ...
- MySQL数据库查看数据表占用空间大小和记录数
MySQL数据库中每个表占用的空间.表记录的行数的话,可以打开MySQL的 information_schema 数据库.在该库中有一个 TABLES 表,这个表主要字段分别是: TABLE_SCHE ...
- SQLSERVER 数据库查看各表的记录数
select a.name as 表名,max(b.rows) as 记录条数 from sysobjects a ,sysindexes b where a. ...
- SQL Server 2008系统信息查询常用命令 查看表大小、记录数等
1.返回所有数据库信息(数据库名,创建日期,存储路径等). use master; GO select * from dbo.sysdatabases 2.返回当前数据库所有对象(可根据type字 ...
随机推荐
- Android.bp学习笔记
1.Android.bp简介 Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生.An ...
- MySQL Disk--SSD和HDD的性能
========================================================= 机械硬盘的性能 7200转/分的STAT硬盘平均物理寻道时间是9ms 10000转/ ...
- 使用 loki grafana 分析nginx 请求日志
loki 是类似prometheus 的log 可视化展示.收集系统,已经集成在grafana 6.0 版本中了 说明: 测试环境使用了docker-compose 运行 环境准备 docker-co ...
- redis之 Redis持久化配置
Redis持久化配置 Redis的持久化有2种方式 1快照 2是日志 Rdb快照的配置选项 save 900 1 // 900内,有1条写入,则产生快照 save 300 1000 ...
- ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)
ES6 中 Class 与 TypeScript 中 Class 的区别(待补充)
- django用mysql数据库出现的问题解决
blog添加不了文章!! 做了个程序,将数据库迁移到服务器之后,发现一个奇怪的错误.Field 'id' doesn't have a default value.查看了一下,程序是没问题的,但是这是 ...
- 如何利用jquery来给input添加或删除disabled属性
1.以下二种方法是可以为input添加disabled属性的方法: //两种方法设置disabled属性 $(".save").attr("disabled", ...
- jdk源码剖析三:锁Synchronized
一.Synchronized作用 (1)确保线程互斥的访问同步代码 (2)保证共享变量的修改能够及时可见 (3)有效解决重排序问题.(Synchronized同步中的代码JVM不会轻易优化重排序) 二 ...
- C#性能优化总结
1. C#语言方面 1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意. 1.1.1 避免不必要的对象创建 由于垃圾回收的代价较高,所 ...
- delphi读取xml文件
功能: 根据省份更新地市信息 -------------------------------------------------------------------------------} proc ...