Вы находитесь здесь:
Параметры строки запроса Odata
Адаптеры Odata для Salesforce Connect используют поднабор системных функций Odata 2.0 и 4.0 и 4.01 и конструкции выражения filter для запроса внешних систем.
Требуемые версии
| Доступно в версиях: Salesforce Classic и Lightning Experience (не для внешних объектов большого объема данных) |
Доступно в версиях: Версия Developer Edition Доступно за дополнительную плату в версиях: Enterprise, Performance и Unlimited Edition |
Salesforce автоматически создает запросы Odata, чтобы вам, как администратору или разработчику, не пришлось. Однако, понимание способа создания запросов Odata или даже попытки ручных запросов Odata могут помочь вам устранить проблемы с поставщиком Odata внешней системы. Дополнительную информацию о каждом параметре системного запроса см. на сайте www.odata.org.
Salesforce Connect поддерживает только следующие параметры системных запросов Odata. Все остальные параметры в характеристиках Odata 2.0, 4.0 и 4.01 не используются.
-
$count(OData 4.0 и 4.01) -
$filter -
$inlinecount(только Odata 2.0) -
$orderby -
$search(OData 4.0 и 4.01) -
$select -
$skip -
$top
Строка поиска запроса во внешней системе отправляется как чувствительная к регистру отдельная фраза после удаления всех знаков препинания ASCII, кроме дефисов (-). Например, если строкой поиска является «Продажи и маркетинг», внешняя система получает «Маркетинг продаж».
$count (OData 4.0 и 4.01)
Указывает, что ответ должен содержать количество строк, определяемых URI после применения параметров запроса системы $filter, но до применения параметров запроса системы $top и $skip.
В Odata 4.01 $count=true жестко запрограммирован, а в Odata 4.0 - $count=true при включении функции «Количество строк запроса» во внешнем источнике данных. Общее количество элементов в наборе результатов соответствует значению LIMIT в запросе для значений меньше 202. Если значение LIMIT больше 202, возвращается 202 элемента, обозначающих наличие большего количества записей в следующем пакете. В Odata 4.0, если количество строк запроса отключено, Salesforce добавляет $count=false во все запросы Odata 4.0 внешнего источника данных, и 2000 элементов возвращаются в каждом наборе результатов.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Просмотр или доступ к внешнему объекту. |
| Запрос SOQL | Любой запрос SOQL внешнего объекта |
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$select=SupplierID&$count=true&$top=26
|
$filter
Фильтрует коллекцию ресурсов, обрабатываемых URL-адресом запроса. Ответ содержит результаты, оцениваемые как true.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Откройте списковое представление городов в записях поставщиков, отфильтрованных таким образом, чтобы страна была США. |
| Запрос SOQL |
SELECT City__c FROM Suppliers__x
WHERE Country__c = 'USA' ORDER BY City__c ASC LIMIT
26
|
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$orderby=City&$select=City,SupplierID&$inlinecount=allpages&$filter=Country+eq+'USA'&$top=26
|
$inlinecount (только Odata 2.0)
Указывает, что ответ должен содержать количество строк, определяемых URI после применения параметров запроса системы $filter, но до применения параметров запроса системы $top и $skip.
При включении параметра «Количество строк запроса» во внешнем источнике данных Salesforce использует $inlinecount во всех запросах Odata 2.0 этого внешнего источника данных для определения общего количества элементов в каждом наборе результатов. Если количество строк запроса отключено, $inlinecount исключается из всех запросов Odata 2.0 внешнего источника данных.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Просмотр или доступ к внешнему объекту. |
| Запрос SOQL | Любой запрос SOQL внешнего объекта. |
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$select=SupplierID&$inlinecount=allpages&$top=26
|
$orderby
Сортировка набора результатов по возрастанию или убыванию. Поля условия ORDER BY запроса SOQL не всегда соответствуют свойствам, используемым параметром $orderby в итоговом запросе Odata. Если вы используете условие OFFSET в запросе SOQL, свойство ключа объекта добавляется в итоговый запрос Odata.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Откройте списковое представление записей поставщиков, упорядоченных по названию компании. |
| Запрос SOQL |
SELECT CompanyName__c,ContactName__c
FROM Suppliers__x ORDER BY CompanyName__c ASC LIMIT
26
|
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$orderby=CompanyName&$select=CompanyName,ContactName,SupplierID&$inlinecount=allpages&$top=26
|
$search (OData 4.0 и 4.01)
Запрашивает объекты, соответствующие строке поискового запроса в качестве выражения поиска со свободным текстом. В Odata 4. 0 включите этот параметр, выбрав «Использовать выражения свободного поиска во внешнем источнике данных». По умолчанию, параметр «Использовать выражения поиска свободного текста» не включен. Строка поискового запроса используется в качестве значения contains в параметре системного запроса $filter.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Просмотр или доступ к внешнему объекту. |
| Запрос SOQL | Любой запрос SOQL внешнего объекта |
| Результат запроса Odata |
http://services.example.org/my.svc/Shippers?$select=CompanyName,Phone,ShipperID&$count=true&$search=Acme&$top=25
|
$select
Запрашивает ограниченный набор свойств для каждого объекта.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Откройте списковое представление записей поставщиков, где макет страницы отображает название компании и имя контакта. |
| Запрос SOQL |
SELECT
CompanyName__c,ContactName__c FROM Suppliers__x ORDER BY
CompanyName__c ASC LIMIT 26
|
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$orderby=CompanyName&$select=CompanyName,ContactName,SupplierID&$inlinecount=allpages&$top=26
|
$skip
Указывает количество элементов в запрашиваемой коллекции для пропуска в наборе результатов.
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Нажмите для просмотра второй страницы спискового представления записей поставщиков, упорядоченных по городу. |
| Запрос SOQL |
SELECT City__c,CompanyName__c FROM
Suppliers__x ORDER BY City__c ASC OFFSET
25
|
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$orderby=City&$select=City,CompanyName,SupplierID&$inlinecount=allpages&$top=25&$skip=25
|
$top
Указывает количество элементов в запрашиваемой коллекции для добавления в результат. Значение в условии LIMIT запроса SOQL не всегда соответствует запрошенному значению $top, поскольку последнее изменяется при необходимости для создания страниц под управлением клиента и вызовов queryMore().
| Примеры | |
|---|---|
| Действие пользователя в Salesforce | Откройте списковое представление лучших 25 записей поставщиков. |
| Запрос SOQL |
SELECT SupplierID__c FROM Suppliers__x
LIMIT 25
|
| Результат запроса Odata |
http://services.example.org/my.svc/Suppliers?$select=SupplierID&$inlinecount=allpages&$top=25
|
- Параметры запроса Odata 2.0
По умолчанию строка поискового запроса используется в качестве значенияsubstringofв параметре запроса$filterсистемы. - Параметры запроса Odata 4.0 и 4.01
По умолчанию строка поискового запроса используется в качестве значенияcontainsв параметре запроса$filterсистемы.

