Dynamics CRM 用openEntityForm開啟新窗體傳lookup欄位時的注意事項

vic0228發表於2017-11-15

     在利用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開啟的新頁面報錯時,並沒有具體的報錯資訊,只能一行行程式碼註釋來查詢問題。

相關文章