前面几篇介绍了v9.0版的功能上的一些新特性,后续继续补充,先来穿插一篇对于咱开发人员关系比较大的开发上的增强或者说是新特性新改变。
我们都知道微软的client api会隔三差五的改,比如开始的crm.到后来的xrm.,这不v9.0版又要改了,但有的还是以xrm开头然后又新加了,比如 Xrm.Page 对象就被舍弃了,比如新加入了formContext。
我们用的比较多的Xrm.Page.context 取上下文的被 Xrm.Utility.getGlobalContext所替代。
9.0版中引入了一些新的api命名空间,我猜其中用的最多的会是WebApi,它把从2016版中新引入的dynamics crm webapi进行了封装,后续我们对数据操作时只需调这个api即可,我们不用再自己写方法了。
来看一个demo,很简单易读易写,有个关键的地方是这儿的实体名用的不再是实体名的复数了,而我为了防止他的文档写错,代码验证了一遍,确实没问题,而且如果写成复数也是ok的。
// define the data to create new account
var data =
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1
}
// create account record
Xrm.WebApi.createRecord("account", data).then(
function success(result) {
console.log("Account created with ID: " + result.id);
// perform operations on record creation
},
function (error) {
console.log(error.message);
// handle error conditions
}
);
除此之外,操作form的api也变了而且
变化很大,比如说save
formContext.data.save(saveOptions).then(successCallback, errorCallback);
需要我们慢慢去适应学习。还有
特定控件(如网格、查找、选项集和计时器)引入的客户端 API,这里不一一列出,自己去看下docs.
最后来看下被哪些api被弃用了