今天我们来看看怎么在表单上面通过JS来创建记录,同时,我们这次也是使用系统原生的API进行webapi访问,来创建实体记录,下面我们来看看这次的实验场景吧:
在商机实体上面,我们有联系人记录,如果该记录有值,那么在保存的时候,系统会自动创建一条Budget Plan记录用来跟踪当前商机的预算情况。接下来我们就来实现它吧:
第一步,将My Budget Plan记录的子网格插入到表单中

第二步,添加表单的onsave事件,添加创建my budget plan记录的JS代码

第三步,选中联系人,并点击保存按钮触发创建实体记录的JS代码

第四步,创建后的my budget plan记录


使用到的代码:
javascript
Form_Onsave:function(eContext)
{
debugger;
var budgetAmount=Xrm.Page.getAttribute("budgetamount").getValue();
if(budgetAmount<10000)
{
Xrm.Utility.alertDialog("Please input correct budget amount!");
eContext.getEventArgs().preventDefault();
}
var contact=Xrm.Page.getAttribute("parentcontactid").getValue();
if(contact!=null)
{
var oppId=Xrm.Page.data.entity.getId().replace("{","").replace("}","");
var contactId=contact[0].id.replace("{","").replace("}","");
var myBudgetPlan=new Object();
myBudgetPlan["new_name"]=oppId;
myBudgetPlan["new_opportunityId@odata.bind"]="opportunities("+oppId+")";
myBudgetPlan["new_contact@odata.bind"]="contacts("+contactId+")";
myBudgetPlan["new_budgetamount"]=budgetAmount;
// create account record
Xrm.WebApi.createRecord("new_mybudgetplan", myBudgetPlan).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
}
);
}
}