Dynamics CRM2016 Web API之更新记录的单个属性字段值

时间:2023-02-05 10:43:58

      在web api中提供了对单个属性的更新接口,这和查询中查询单个属性类似,对这个接口我个人也是比较喜欢的。

 var id = "{D1E50347-86EB-E511-9414-ADA183AB6249}";
var propertyValue="测试";
$.ajax({
async: false,
type: "PUT",
contentType: "application/json; charset=utf-8",
datatype: "json",
data: JSON.stringify("{'Value':" + propertyValue + "}"),
url: Xrm.Page.context.getClientUrl() + "/api/data/v8.0/accounts(" + id.replace('{', '').replace('}', '') + ")/name",
success: function (data, textStatus, XmlHttpRequest) {
if (XmlHttpRequest.status=='204') {
alert('更新成功');
}
},
error: function (XmlHttpRequest, textStatus, errorThrown) {

}
});

    这里的request的type是put,而传输的属性值得格式是{"value": "propertyValue"},url的格式和查询单个属性的写法相同,返回的status依旧是204。

    在测试的过程中遇到一个比较傻的问题,我取客户实体中的revenue(年收入,货币字段)的值200去更新另外一条客户记录的revenue的字段值,出现了下面第二章截图中的错误,把该值得类型识别成了int32了(这没错),然后就说不是decimal类型报错,然后我把它改成200.01就成功了(200.00也不行),脑门上一排黑线中。。。。。

Dynamics CRM2016 Web API之更新记录的单个属性字段值

Dynamics CRM2016 Web API之更新记录的单个属性字段值

    除了上面说到的money字段的更新问题,还剩一个lookup字段的更新写法在摸索中外,剩下的类型字段按照之前的赋值方法都没问题。