Dynamics CRM2016 Web API之创建记录

      前篇介绍了通过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在头部信息中


下图是alert的结果


表单上各数据类型对应的数据





原文地址:https://www.cnblogs.com/cl1024cl/p/6205828.html