Dynamics CRM2016 Web API之Create related entities in one operation
本篇继续来介绍两个web api的接口,一个是“Create related entities in one operation”即在一步操作中完成主实体的创建加关联实体的创建,一个是“Associate entities on create“即在创建记录的时候填充lookup字段。
先来说第一个api,老规矩直接上代码,稍微做下解释,注意下面的几点不存在先后顺序,我只是分开说明罢了
1、这里创建一个account实体记录
2、创建一条名为"John Smith"的contact记录(注意这条记录是新建的不是已经存在的),赋值给account中的primarycontactid(与联系人关联的lookup字段)属性字段
3、创建一条名为"测试联系人"的contact记录,account记录和这条测试联系人记录是1:N的关系,也就是说这里的contact记录可以创建多条
4、在第3点中创建的contact记录中再关联task记录,原理同第三点
var entity =new Object();entity["name"] = 'Create related entities';//文本var contact=new Object();contact["firstname"]="John";contact["lastname"]= "Smith";entity["primarycontactid"]=contact;var contact_customer_accounts=new Array();contact_customer_accounts[0]=new Object();contact_customer_accounts[0]["firstname"]="联系人";contact_customer_accounts[0]["lastname"]="测试";var Contact_Tasks=new Array();Contact_Tasks[0]=new Object();Contact_Tasks[0]["subject"]="Task associated to contact";contact_customer_accounts[0]["Contact_Tasks"]=Contact_Tasks;entity["contact_customer_accounts"]=contact_customer_accounts;var jsonEntity = window.JSON.stringify(entity);var req = new XMLHttpRequest()req.open("post",Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts", false);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) {if (this.status == 204) {}else {var data=JSON.parse(this.responseText).error.message;}}};req.send(jsonEntity);
关于代码中的contact_customer_accounts的由来如下截图,Contact_Tasks也是同理可以在contact中找到,架构名称注意大小写
有图有真相,上截图
创建的account主实体记录,account中的"John Smith"的lookup字段关联的contact也是本次operation中新建的
account记录下关联的多条(我这只创建了一条)联系人记录
测试联系人记录下创建的多条(我这只创建了一条)task记录
上述即是一个create operation中产生的数据记录,是不是很cool。这个场景一般在后台代码中用的比较多,以前的做法都是通过组织服务先创建主记录后,拿到主记录的guid然后再一条条的创建子记录,现在一个api一次request就能搞定。
关于第二个api"Associate entities on create",这里不多做阐述了,以上面的demo来举例,就是创建一条account记录给primarycontactid这个lookup字段赋值,实际过程中用到的不多,就算要用到也都直接是包含在create的api中了。
Dynamics CRM2016 Web API之Create related entities in one operation相关推荐
- Dynamics CRM2016 Web API之更新记录
本篇继续探索web api,介绍如何通过web api更新记录. 下面是一段简单的更新代码,更新了几个不同类型的字段,entity的赋值和前篇创建时候的一样的. var entity = {};ent ...
- Dynamics CRM2016 Web API之创建记录
前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录. 直接上代码,这里的entity的属性我列了几 ...
- Dynamics CRM2016 Web Api之根据时间查询数据
我的博文里已经有多次提到CRM中的时间处理问题了,本篇继续探讨在web api的场景下时间字段如何处理,本篇只涉及查询,针对2016中新增的时间行为"用户当地时间"和"无 ...
- Dynamics CRM2016 Web API之查询单个属性字段的值
之前已有文章介绍过通过web api来更新单个属性字段的值,本篇要讲的是查询,查询其实很简单但其中有个注意点,这就是本篇文章的目的. 主要的区别在于js代码返回的结果的处理上,下面这段代码乍看之下没问 ...
- 【转】Dynamics CRM 365零基础入门学习(三)Dynamics 通过Web API 来调用自定义的Action(使用插件)
今天想实现一个Search Product的功能,首先要将数据展示在页面,然后前端根据查询需求进行处理.之前是在salesforce中实现的,可以定义一个Search Product的页面,然后在页面 ...
- Dynamics 365本地部署版本配置OAuth 2 Password Grant以调用Web API
微软动态CRM专家罗勇 ,回复330或者20190504可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 根据官方建议,不要再使用Dynamics 365 Custome ...
- Dynamics CRM2016 Update or Create parentcustomerid in Contact using web api
联系人实体中有个特殊的字段parentcustomerid 在通过web api创建或更新记录时,如果在给这个字段赋值时当做查找字段对待的话,那你就会遇到问题了,报错信息如下 正确的赋值方式如下 转载 ...
- Dynamics CRM2016 通过web api来调用自定义action
action操作很早就已出现,今天要分享的是通过web api来调用action,该功能在online版本中非常有用,可以将js中复杂的逻辑操作放在处理能力更强的后端来做. 首先咱们先简单的新建一个a ...
- Dynamics CRM中跨域调用Web API 2
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复224或者20160611可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
最新文章
- RHEL 5服务篇—修改MySQl数据库root密码的几种方式
- VS2008修改工程名
- java课程设计图片浏览器_java课程设计图片浏览器
- TMG2010发布web服务器
- Spring 社区的唯一一个国产开源项目 - Spring Cloud Alibaba 毕业了
- 使用Jupyter Notebook+bokeh绘图入门完整步骤
- Java中List, Integer[], int[]的相互转换
- 子级Repeater获取 父级Repeater 中的值
- R语言空间权重矩阵columbus及画图
- 教科书级——黑盒测试设计用例的方法的介绍
- vue tinymce安装及使用
- 淘宝店铺店名起、分类如何定【太原网络营销师】教你
- 笔记本连接无线网络后通过有线网口共享网络
- Node-Red UI界面基础设计
- cron表达式及其验证方法
- 2022北京冬奥会开幕式视觉盛宴技术揭晓
- 博士科研论坛和一些学者研究
- 运营︱如何实现用户增长?
- 数据预处理概述和数据清洗
- HTML制作简单交互网页
热门文章
- ZigBee无线抄表系统集中器设计
- 完爆Excel表格的酷炫大屏效果,可视化还能这么玩?
- FPDLINK与GMSL汇总
- 企业应如何做好客户管理和客户服务
- R语言ggplot2 | 如何绘制美观的散点图
- python 测试端口连通_python探测服务器端口连通性
- SpringMvc 限流之 RateLimiter
- word中把带有某个符号的行全部选中,更改为标题
- 暑假线上兼职:300-500元/小时,安利一个大学生也能月入8K的线上兼职
- 论文笔记:Modeling Consumer Preferences and Price Sensitivities from Large-Scale Grocery Shopping Transac