При получении данных можно отфильтровать их, если это требуется. Для этого предназначен специальный язык, позволяющий описывать условия, которым должны соответствовать данные, которые возвращает стандартный интерфейс OData. Описание отбора начинается с ключевого слова $filter, после которого следует собственно условие. Поддерживаются следующие операции (табл. 1.2, 1.3).
Таблица 1.2. Логические операции, используемые для фильтрации данных
Описание | Имя | Пример |
---|---|---|
Равно | eq | /Catalog_Города?$filter=Description eq 'Главный' |
Не равно | ne | /Catalog_Города?$filter=Description ne 'Пермь' |
Больше | gt | /Catalog_Товары?$filter=Цена gt 10 |
Больше или равно | ge | /Catalog_Товары?$filter=Цена ge 10 |
Меньше | lt | /Catalog_Товары?$filter=Цена lt 10 |
Меньше или равно | le | /Catalog_Товары?$filter=Цена le 10 |
Логическое «Или» | or | /Catalog_Товары?$filter=Цена lt 10 or Цена gt 100 |
Логическое «И» | and | /Catalog_Товары?$filter=Цена gt 10 and Цена lt 100 |
Отрицание | not | /Catalog_Товары?$filter=not (Цена eq 10) |
Таблица 1.3. Арифметические операции, используемые для фильтрации данных
Описание | Имя | Пример |
---|---|---|
Сложение | add | /Catalog_Товары?$filter=Цена add 5 gt 10 |
Вычитание | sub | /Catalog_Товары?$filter=Цена sub 5 gt 10 |
Умножение | mul | /Catalog_Товары?$filter=Цена mul 5 gt 1000 |
Деление | div | /Catalog_Товары?$filter=Цена div 4 gt 2 |
Например, используя следующее условие, можно получить товары из справочника Товары с именем Молоко и ценой менее 2500: http://localhost/odata/standard.odata/Catalog_Товары?$filter=Имя eq 'Молоко' and Цена lt 2500.
Для группировки условий и указания приоритета операций их можно заключить в скобки. Например: http://localhost/odata/standard.odata/Catalog_Товары?$filter=(Цена add 5) gt 10.
При формировании условий запроса или формировании реквизита, по которому выполняется упорядочивание, могут применяться функции для работы со строками (substring (), startswith(), endswith() и др.), с датами (year(), dateadd(), dayofyear() и др.) и некоторые другие.
Примеры использования условий отбора получаемых данных будут рассмотрены в разделах «».
Подробнее
Правила формирования условий отбора для получения данных через REST-интерфейс более подробно описаны в документации «1С:Предприятия» в разделе «».