Не удается открыть форму быстрого создания

В нашем экземпляре Dynamics 365 мы пытаемся открыть форму быстрого создания для объекта с именем 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() выдает
    #P2#
  • Строка Xrm.Page.getAttribute("name").getValue() выдает
    #P3#
  • Линия Xrm.Utility.openQuickCreate("SourceAssessment", thisEntity, setName).then(callback, function (error) { console.log(error.message); }); бросает

Недопустимое entityLogicalName. Это значение не может быть нулевым или пустым и должно представлять сущность в организации.


person Zameer Ansari    schedule 21.11.2016    source источник
comment
Где вы выполняете этот код? Внутри CRM?   -  person Sxntk    schedule 21.11.2016
comment
@Sxntk в консоли   -  person Zameer Ansari    schedule 21.11.2016
comment
Перепишите свой код и сделайте так, чтобы он вызывался после того, как Xrm.Entity.data.entity не является неопределенным, чтобы вы могли видеть, не вызываете ли вы его слишком рано.   -  person Sxntk    schedule 21.11.2016
comment
@Sxntk Xrm.Entity.data.entity во всех случаях равно undefined. Что нам следует сделать?   -  person Zameer Ansari    schedule 22.11.2016
comment
Что ты пытаешься сделать? Я знаю, что вы открываете форму быстрого создания, но вы используете консоль разработчика, вы тестируете код или где находится последнее место, где он будет выполняться?   -  person Sxntk    schedule 22.11.2016
comment
@Sxntk Это должно работать только в Dynamics CRM, но я проверял это, чтобы понять. В любом случае, я попытаюсь выполнить на Form_Load   -  person Zameer Ansari    schedule 22.11.2016


Ответы (1)


При использовании консоли разработчика для выполнения кода необходимо сначала переключиться на правильный фрейм, чтобы получить доступ к Xrm.Page объекту формы.

В Chrome вы можете переключать кадры здесь:

введите здесь описание изображения

Фрейм, в котором вы хотите находиться, обычно называется customScriptsFrame, а в других случаях это один из пронумерованных фреймов contentIFrames.

person mktange    schedule 21.11.2016
comment
Окей, я тоже пробовал этот трюк. Ни в одном кадре это не работает. - person Zameer Ansari; 22.11.2016