﻿# Поисковые запросы на языке EQL365

> [HTML Version](eql365-search.html)

**Язык EQL365** (ELMA365 Query Language) — это язык запросов к данным, хранящимся в системе ELMA365. EQL-запросы составляются по разработанному синтаксису и расширяют базовые возможности поиска. Они позволяют создавать сложные выборки данных по указанным параметрам с учётом нескольких условий. 

Вы можете присвоить свойствам приложения определённые значения, сравнить их между собой или вычислить значения с помощью функций. Для проверки нескольких условий в одном запросе используются логические связки — операторы. Например, в результате поиска можно отобразить все компании с заказами на определённую сумму и с договорами в указанном статусе. 

## Использование EQL-поиска

### Поиск на странице приложения

EQL-поиск можно применять, чтобы найти элементы на странице приложения. Для этого в строке поиска нажмите значок фильтра. 

На вкладке **По параметрам** в поле **EQL-поиск** запрос составляется по правилам [синтаксиса языка EQL365](eql-syntax.md). Чтобы вызвать опцию автозаполнения строки, нажмите сочетание клавиш **Ctrl + Пробел**. В выпадающем списке перечисляются:

- переменные текущего приложения;

- ключевые слова языка EQL365;

- [функции](eql-syntax.md#functions): **Дата** (\[OBJECT\]), **Время** (\[OBJECT\]), **Текущий пользователь** (\[OBJECT\]) и т. д.;

- [логические операторы](eql-syntax.md#logical-operators) для комбинации нескольких условий: \[OBJECT\], \[OBJECT\], \[OBJECT\] и т. д.

В сложном запросе каждое условие можно вводить с новой строки для более удобного чтения и редактирования. Для этого используйте клавишу **Enter**. 

**(eql-search-1.png)**

После ввода запроса нажмите **Поиск**. Также можно сохранить запрос как [фильтр](filters-for-search.md), чтобы использовать повторно.

## Создание запросов в виджете EQL-поиск

Вы можете разместить на формах приложений или страницах виджет [EQL-Поиск](eql-search-widget.md). В его настройках указывается любое приложение системы. Пользователи смогут составлять запросы и осуществлять поиск по его параметрам. 

Например, на отдельной странице создан график отслеживания наиболее доходных заказов компании. Добавим на неё виджет **EQL-поиск**, настроить поиск по параметрам приложения **Заказы**. Пользователи смогут создавать сложные выборки данных с множеством условий, находить определённые элементы и открывать их карточки со страницы с графиком.

Обратите внимание, поиск данных с помощью EQL-запросов может замедлить работу системы, если в неё занесён большой объём данных. В таких случаях рекомендуем использовать [поиск по параметрам](360009669952.md#expanded_search).

### Выборки данных в Web API

EQL-запросы можно использовать в Web API, например, добавить их в структуру запроса получения списков элементов приложения. Для этого применяется конструкция \[OBJECT\], в которой можно указать несколько EQL-запросов. 

При составлении запроса для ключа описания используется значение \[OBJECT\]. Для тела запроса указывается конструкция из подключа \[OBJECT\] и текст условия выборки. 

Например, для приложения **Товары** получим все элементы с ценой за единицу (код переменной \[OBJECT\]) равной 4 000: 

````
\{  
    "filter": \{  
        "eql":\{  
            "query":"\[price\] = 4000"  
        \}  
    \}  
\}

````
Чтобы протестировать составленный запрос, перейдите в настройки приложения, выберите пункт **API** и откройте вкладку **Список элементов**. 

Подробнее о Web API читайте в статье [«API в приложениях»](360009921431.md). Специфика составления запросов с помощью API и их примеры описаны в [справке по публичному API ELMA365](https://api.elma365.com/ru/public-api/guides/Filter/).