Проблема с использованием Xrm.Utility.openQuickCreate() из веб-ресурса HTML

#dynamics-crm-online #webresource

#dynamics-crm-online #webresource

Вопрос:

Я пытаюсь открыть форму быстрого создания объекта из веб-ресурса HTML из навигации по объекту. Для начала я использую Xrm.Utility.openQuickCreate(«entityname», null, null).

Я получаю сообщение об ошибке, в котором говорится, что JQueryApi не определен в консоли браузера.

Однако другие функции, такие как Xrm.Utility.openEntityForm и Xrm.Utility.isActivityType(entityname) действительно работает.

Есть предложения? Спасибо.

Комментарии:

1. Однако это отлично работает с использованием формы сущности.

Ответ №1:

Попробуйте зайти в родительскую форму, чтобы вызвать метод: parent.Xrm.openQuickCreate("entityname", null, null)

Комментарии:

1. Да, это может сработать. Я еще не пробовал. На самом деле я не хотел использовать parent, поскольку он не поддерживается.

2. Доступ к API Xrm с веб-ресурса через родительский ресурс определенно поддерживается (если они недавно не изменили руководство). Если вы попытались связаться с родительским сервером, а затем изменить DOM или получить доступ к недокументированной части API, это не будет поддерживаться.

Ответ №2:

@Polshgiant — Спасибо! У меня была именно эта проблема, и, хотя я правильно ссылался на идентификатор родительского объекта, я не сделал то же самое для вызова openQuickCreate . Жаль, что я не нашел этот ответ 10 часов назад. Вот мой полный код, на случай, если он кому-то понадобится (или может предложить предложения по его улучшению):

 function YOURFUNCTIONNAME() {
            var parentContact = {
                entityType: "contact",
                id: window.parent.Xrm.Page.data.entity.getId().substring(1, 37)
            };

            // You can set parameters here to pre-fill the form; I haven't
            var parameters = {

            };

            parent.Xrm.Utility.openQuickCreate("YOURLOGICALENTITYNAME", parentContact, parameters)
                .then(function(lookup) { successCallback(lookup); }, function(error) { errorCallback(error); });

            function successCallback(lookup) {
                alert("lookup: "   lookup.savedEntityReference.id);
                alert("lookup: "   lookup.savedEntityReference.name);
            }

            function errorCallback(e) {
                alert("Error: "   e.errorCode   " "   e.message);
            }
        }