我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复371或者20191017可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!

Dynamics 365的高级查找是个很好用的功能,某些特殊情况下,有需求要求实体不要在高级查找中出现,可以吗?

通过 MetadataBrowser 可以看到实体有一个属性叫做 IsValidForAdvancedFind ,默认是True,改成False可以吗?

顺着这条思路,我用Web API来更改该实体的元数据看下,主要参考官方文档 Create and update entity definitions using the Web API .

我这里利用POSTMAN来调用Web API,方法参考我前面的博文:配置Postman通过OAuth 2 implicit grant获取Dynamics 365 CE Online实例的Access Token

首先找到要更改实体的 MetadataId,可以通过类似这样的URL来找到。

https://crm867953.api.crm5.dynamics.com/api/data/v9.1/EntityDefinitions?$select=MetadataId&$filter=LogicalName eq 'cr051_testentity'

然后我用POSTMAN发起请求,截图如下:

注意请求的方法是PUT,请求的URL是:https://crm867953.api.crm5.dynamics.com/api/data/v9.1/EntityDefinitions(32398015-4ce4-e911-a996-000d3aa0f3aa) ,请求的内容是JSON格式,我用的是:

{
"IsValidForAdvancedFind":false
}

截图如下:

可以看到发起请求后没有报错,执行成功,返回的HTTP 状态码是204,代表执行成功,没有返回内容。但是再去看该实体的元数据,发现这个属性还是true,没有改过来,实体也还是显示在高级查找中。

是这种更改实体元数据的方法不好用吗?我用下图来更改另外一个属性- IsQuickCreateEnabled ,执行后是可以更改成功的。

若有人知道可以让实体不出现在高级查找中的方法请留言告知我。

下面代码是查询哪些实体启用了Audit。

    var clientURL = Xrm.Page.context.getClientUrl();
var req = new XMLHttpRequest()
req.open("GET", encodeURI(clientURL + "/api/data/v9.1/EntityDefinitions?$select=LogicalName,DisplayName&$filter=IsAuditEnabled/Value eq true&$count=true"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.onreadystatechange = function () {
if (this.readyState == 4) {
req.onreadystatechange = null;
if (this.status == 200) {
var responseJSON = JSON.parse(this.responseText);
Xrm.Utility.alertDialog("本次查询返回符合条件的记录条数:" + responseJSON["@odata.count"]);
if (responseJSON.value != null && responseJSON.value.length >= 1) {
for (var i = 0; i < responseJSON.value.length; i++) {
console.log(responseJSON.value[i].LogicalName + "," + responseJSON.value[i].DisplayName.UserLocalizedLabel.Label);
}
}
}
else {
var error = JSON.parse(this.responseText).error;
Xrm.Utility.alertDialog("查询出错." + error.message);
}
}
};
req.send();

可以设置实体在Dynamics 365高级查找中不显示吗?的更多相关文章

  1. 介绍Dynamics 365 Customer Engagement中的备用键(alternate key)

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  2. Dynamics 365 Customer Engagement 中对API的调整内容分享

    当前版本中弃用了以下客户端 API 以重新组织 Xrm 客户端 API 对象模型,从而更好地满足以下需求:使用同一客户端脚本而不必基于上下文或基于运行这些脚本的客户端(Web 客户端或新的统一接口)来 ...

  3. Dynamics 365 Customer Engagement中插件的调试

    微软动态CRM专家罗勇 ,回复319或者20190319可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文主要根据官方的教 ...

  4. Dynamics 365 Customer Enagement中的更改跟踪(change tracking)

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  5. Dynamics 365 Customer Engagement中使用JavaScript和C#调用操作Action示例

    微软动态CRM专家罗勇 ,回复334或者20190509可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Action (操作)是流程的一种,可以在工作流中调用,可以使用 ...

  6. table中bordercolor属性设置后最新ie浏览器或firefox中不显示边线,借助table的css来实现边线

    table中的bordercolor属性设置后在最新的ie或者firefox中均不显示边线,table的边线又是常用功能.只能使用css来实现了,更通用,更方便一些. css: ​.ctable{ b ...

  7. Dynamics CRM 将实体从高级查找列表中移除不可见

    有时我们不需要将某个实体显示给一般用户比如配置实体,但是这种类型的实体有时候又需要给一般用户读权限ODATA的时候得能读,站点地图上的隐藏比较容易用工具配置下权限即可.其实做到这步一般就可以了但有的客 ...

  8. 无依赖简单易用的Dynamics 365实体记录数计数器并能计算出FetchXml返回的记录数

    本人微信公众号:微软动态CRM专家罗勇 ,回复278或者20180812可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 我们 ...

  9. Dynamics 365利用HTML页面创建实体记录并同步上传附件

    我是微软Dynamcis 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

随机推荐

  1. java集合讲解

    java集合讲解 1.概述 集合类的顶级接口是Iterable,Collection继承了Iterable接口 常用的集合主要有 3 类,Set,List,Queue,他们都是接口,都继于Collec ...

  2. Redis系列(三):Redis集群的水平扩展与伸缩

    一.Redis集群的水平扩展 Redis3.0版本以后,有了集群的功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,接下来介绍下Redis高可用集群如何做水平扩展,在原 ...

  3. Java基础面试题及答案(三)

    多线程 35. 并行和并发有什么区别? 并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔发生. 并行是在不同实体上的多个事件,并发是在同一实体上的多个事件. 在一台处理器 ...

  4. SpringBoot学习(七)—— springboot快速整合Redis

    目录 Redis缓存 简介 引入redis缓存 代码实战 Redis缓存 @ 简介 redis是一个高性能的key-value数据库 优势 性能强,适合高度的读写操作(读的速度是110000次/s,写 ...

  5. C语言I博客作业10

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095 我在这个课程的 ...

  6. Spring面试题集锦(精选)

    以下来自网络收集,找不到原文出处.此次主要为了面试收集,希望对大家有所帮助~~~~ 1.什么是Spring? Spring是一个开源的Java EE开发框架.Spring框架的核心功能可以应用在任何J ...

  7. js点击历史记录

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. git 使用详解(2)——安装+配置+获取帮助

    安装 Git Git 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. 从源代码安装 若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本. ...

  9. [01]Go设计模式:单例模式(Singleton)

    目录 单例模式 一.简介 二.代码实现 1.懒汉模式 2.饿汉模式 3.改进型懒汉模式 4. sync.once实现 5.测试用例 单例模式 一.简介 单例模式(Singleton Pattern)是 ...

  10. 数据库Oracle的select用法(部分)

    Oracle的select用法(部分): 1.查询所有: select * from employees; 2.加上where子句:用选择限制行 select * from employees whe ...