Отсутствует поиск в API?

Я использую JavaScript и API Dynamics для извлечения моих сущностей, но по некоторым причинам поля типа Lookup не передается в JavaScript. Более простые типы - одна строка, несколько строк, число и т. Д. - все они передаются через поля сущности, а не поля типа Lookup,

Мой запрос выглядит так:

var req = new XMLHttpRequest()
req.open("GET",encodeURI(Xrm.Page.context.getClientUrl() + "/api/data/v8.1/pss_servicetasks"), true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");

Этот запрос возвращает все сущности с их полями (без полей типа Lookup) типа pss_servicetasks,

Есть ли причина, почему я скучаю по поискам? Он получает все остальные поля в сущностях.

1 ответ

Вы должны использовать $select, чтобы упомянуть имена столбцов для выборки. Например - поиск по имени и владельцу, как показано ниже.

req.open("GET",encodeURI(Xrm.Page.context.getClientUrl() + "/api/data/v8.1/pss_servicetasks?$select=name,_ownerid_value"), true);

Я рекомендую вам использовать инструмент CRM REST Builder для построения запросов.

Ссылка: https://community.dynamics.com/crm/b/mscrmcustomization/archive/2016/10/18/ms-crm-2016-web-api-operations-retrieve-single-or-multiple-records