在利用openEntityForm打开新的实体页面时,如果需要传值则在对应的参数位上,传个参数集object即可。
var redeem = {};
redeem["new_productid"] = Xrm.Page.data.entity.getId().replace('{', '').replace('}', '');
redeem["new_productidname"] = Xrm.Page.getAttribute("new_productname").getValue();
Xrm.Utility.openEntityForm("new_redeem", null, redeem);
但参数集中含有lookup字段时,则赋值的方式和我们在form开发时给页面上的lookup字段的赋值是不一样的,这块要注意下,正确的赋值方式如上代码。
下面这种赋值方式是错的
var redeem = {};
redeem["new_productid"] = [{
id: Xrm.Page.data.entity.getId().replace('{', '').replace('}', ''),
name: Xrm.Page.getAttribute("new_productname").getValue(), entityType: "new_product"
}];
Xrm.Utility.openEntityForm("new_redeem", null, redeem);
而当我们遇到 openEntityForm打开的新页面报错时,并没有具体的报错信息,只能一行行代码注释来查找问题。