本篇继续来介绍两个web api的接口,一个是"Create related entities in one operation"即在一步操作中完成主实体的创建加关联实体的创建,一个是"Associate entities on create"即在创建记录的时候填充lookup字段. 先来说第一个api,老规矩直接上代码,稍微做下解释,注意下面的几点不存在先后顺序,我只是分开说明罢了 1.这里创建一个account实体记录 2.创建一条名为"John Sm…
本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multiple的方式. 直接上代码,注意url最后的写法 var req = new XMLHttpRequest() req.open("get",Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts(" +Xr…
本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会常常被用到并且比原来的odata方式更加方便.之前假设我们要取主实体下全部的关联实体的记录都是通过Retrieve Multiple的方式. 直接上代码.注意url最后的写法 var req = new XMLHttpRequest() req.open("get",Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts(" +Xr…
在dynamics crm web api还没出现前,我们是通过fetchxml来实现的,当然这种方式依旧可行,那既然web api来了我们就拥抱新的方式. web api中我们通过指定查询的条数来实现分页的效果,很简单设置http的head即prefer,odata.maxpagesize就可以了. HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(weburi); req.Credentials = new NetworkC…
通过组织服务中获取实体picklist字段的text和value可以通过RetrieveAttributeRequest实现,但在使用web api的今天该怎么实现,本文即来一探究竟,本篇基于SDK中的Query Metadata using the Web API一节. 首先我们要获取到实体的metadataid,代码如下,这个metadataid后面会用到,我这里用的是account实体 string weburi = WebUri + "EntityDefinitions?$filter=…
之前的博文中有介绍过,Web Api中的一个删除单个属性的Api但没提供查找字段的删除方法,本篇补充上,这里给出的示例代码是C#的(主要看url的拼接),看下url中最后的/$ref,这个标示表明了当前删除的字段是一个查找类型的,区别就在这. string weburi = System.Configuration.ConfigurationManager.AppSettings["WebUri"] + entityName +"(" + guid.Replace(…
本篇再来介绍个web api的功能,关于lookup的text这里只是略带,因为有expand,现有的web api就能实现,主要提的是选项集的text,我们通过基本的查询api查出来的字段值只带有value,如果想要获取text也很简单,只需要在request的头部加一条信息即可,下面分别给出了C#及JS的示例代码. HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(weburi); req.Credentials = new…
CRM2016中新增的web api支持fetch xml了,之前使用FetchXML的场景是在后天代码中通过组织服务的retrieve multiple方法,但实际的应用效果有多大,还需要在实际的项目中去体会了. 上代码,注意要对fetch xml进行编码 var fetch="<fetch mapping='logical'>" +"<entity name='account'>" +"<attribute name='a…
本篇继续探索web api,介绍如何通过web api更新记录. 下面是一段简单的更新代码,更新了几个不同类型的字段,entity的赋值和前篇创建时候的一样的. var entity = {}; entity["name"] = '测试更新';//文本 entity["new_gender"] = 100000001;//选项集 entity["new_birth"] = new Date();//日期 entity["new_test…
CRM2016启用了webapi 而弃用了odata,作为码农的我们又开始学习新东西了. 下面是一段简单的查询代码,通过systemuser的primary key来查询一条记录 Web API查询方式 var userId = Xrm.Page.getAttribute("ownerid").getValue()[0].id; var appellation; $.ajax({ async: false, type: "GET", contentType: &qu…