как использовать параметр расширения в Xrm.WebAPI.retrieveRecord

#dynamics-crm #dynamics-crm-webapi

#dynamics-crm #dynamics-crm-webapi

Вопрос:

Я использую приведенные ниже сценарии для получения ссылочного объекта из объекта электронной почты. При запуске скриптов появляется запрос 'Could not find a property named 'new_queue' on type 'Microsoft.Dynamics.CRM.email'' . Имя схемы ссылочного объекта — new_queue, и я думаю, что структура сценария такая же, как в руководстве статьи Microsoft knowledge. ( https://learn.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-webapi/retrieverecord)

Кто-нибудь может указать, что здесь не так?

 Xrm.WebApi.retrieveRecord("email", '4884f79f-42f3-ea11-a815-000d3a44afcc', "?$select=subjectamp;$expand=new_queue($select=queueid,name)").then(
                    function success(result) {
                        var toLookup = new Array();
                        toLookup[0] = new Object();
                        toLookup[0].id = result.queueid;
                        toLookup[0].entityType = "queue";
                        toLookup[0].name = result.name;

                    alert(result.name);

                    }, function (error) {
                        Xrm.Utility.alertDialog(error.message);
                    });
  

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

1. Это решено?

Ответ №1:

Обычно эта проблема возникает из-за того, что имя схемы чувствительно к регистру, попробуйте new_Queue вместо new_queue . Вы всегда можете проверить это, проверив метаданные xml.

Обновить:

Я помню, что действие (электронная почта, задача, встреча и т.д.) Является особенным и немного отличается. Убедитесь, что вы загрузили XML метаданных из ресурсов разработчика и проверили правильное свойство навигации. Это должно выглядеть как email_new_queue или new_queue_email

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

1. Спасибо за ваше предложение, но оно все еще не работает. Я полностью подтверждаю, что имя схемы — new_queue, независимо от того, меняю ли я его на new_Queue или new_queue, ошибка все равно возникает.

Ответ №2:

Знать правильное имя свойства навигации, чтобы использовать его в $expand:

Запросите объект «Email» и включите следующий заголовок Prefer: odata.include-annotations="*" .

В ответе вы должны найти поле, которое выглядит примерно так:

 "_new_queue_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "????"
  

Используйте имя, которое вы найдете вместо «????» в выражении $expand.