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

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

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

Xrm.WebApi.retrieveRecord("email", '4884f79f-42f3-ea11-a815-000d3a44afcc', "?$select=subject&$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);
                    });

person Sean    schedule 11.09.2020    source источник
comment
Это решено?   -  person Arun Vinoth    schedule 14.09.2020


Ответы (2)


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

Обновлять:

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

person Arun Vinoth    schedule 11.09.2020
comment
Спасибо за предложение, но оно все еще не работает. Я полностью подтверждаю, что имя схемы - new_queue, независимо от того, меняю ли я его на new_Queue или new_queue, ошибка все равно возникает. - person Sean; 11.09.2020

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

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

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

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

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

person idemery    schedule 04.11.2020