无法打开快速创建表单

时间:2016-11-21 13:21:17

标签: javascript dynamics-crm microsoft-dynamics xrm dynamics-crm-365

在我们的Dynamics 365实例中,我们尝试使用code example here

为名为SourceAssessment的实体打开快速创建表单
var thisEntity = {
    entityType: "SourceAssessment",
    id: Xrm.Page.data.entity.getId()
};
var callback = function (obj) {
    console.log("Created new " + obj.savedEntityReference.entityType + " named '" + 

obj.savedEntityReference.name + "' with id:" + obj.savedEntityReference.id);
}
var setName = { name: "Child account of " + Xrm.Page.getAttribute("name").getValue() 

};
Xrm.Utility.openQuickCreate("SourceAssessment", thisEntity, setName).then(callback, function 

(error) {
    console.log(error.message);
});
  • Xrm.Page.data.entity.getId()抛出
      

    未捕获的TypeError:无法读取null(...)

    的属性“entity”
  • Xrm.Page.getAttribute("name").getValue()抛出
      

    未捕获的TypeError:无法读取null(...)

    的属性'getValue'
  • 这条线 Xrm.Utility.openQuickCreate("SourceAssessment", thisEntity, setName).then(callback, function (error) { console.log(error.message); });抛出
  

entityLogicalName无效。此值不能为null或为空,并且必须表示组织中的实体。

1 个答案:

答案 0 :(得分:2)

使用开发人员控制台执行代码时,必须先切换到正确的框架,才能访问表单的Xrm.Page对象。

在Chrome中,您可以在此处切换帧:

enter image description here

您想要进入的框架通常称为 customScriptsFrame ,有时则是其中一个编号的内容框架。