Dynamics CRM2016 Web API之创建记录

时间:2022-02-19 10:41:28

      前篇介绍了通过primary key来查询记录,那query的知识点里面还有很多需要学习的,这个有待后面挖掘,本篇来简单介绍下用web api的创建记录。

     直接上代码,这里的entity的属性我列了几个比较典型的,和原来相比有区别的是选项集、货币以及lookup字段,其中lookup字段赋值变化最大,new_testid即lookup的字段名,@后面的是标准写法,关联的实体名为new_test,括号里面即关联实体的guid

    var entity = {};
entity["name"] = '123';//文本
entity["new_gender"] = 100000000;//选项集
entity["new_birth"] = new Date();//日期
entity["new_testid@odata.bind"] = "/new_tests(89286A7F-83EB-E511-9414-ADA183AB6249)";//lookup
entity["new_bool"] = true;//bool
entity["revenue"] = 100;//货币
var jsonEntity = window.JSON.stringify(entity);
$.ajax({
async: false,
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts",
data: jsonEntity,
success: function (data, textStatus, XmlHttpRequest) {
if (XmlHttpRequest.status=='204') {
alert("创建成功" + XmlHttpRequest.getResponseHeader("OData-EntityId"));
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
}
});


成功后返回值和原来也有所不同,下图是sdk中response的说明,结合比对我上面的代码,data是空的无返回数据,textStatus即No Content,创建的记录id在头部信息中

Dynamics CRM2016 Web API之创建记录

下图是alert的结果

Dynamics CRM2016 Web API之创建记录
表单上各数据类型对应的数据

Dynamics CRM2016 Web API之创建记录