Фильтр по тексту в колонке „assoc“. Настройки innerQuery
Расширены настройки – добавлена возможность использовать RecordsQuery. Например, на вычисляемых полях, что позволяет формировать произвольный запрос к разным источникам данных.
Для решения вопроса - когда пользователь выбирает произвольные предикаты (Contains, Equals, Starts with, …) при настройке фильтра добавлен еще один тэг в запрос - $PREDICATE_TYPE - для его замены на клиенте.
Добавлен атрибут - innerQueryAttribute, для возможности настройки отображения:
searchConfig: {
delimiters: [],
searchByText: {
{
"innerQuery": {
"sourceId": "",
"page": {
"maxItems": 25
},
"query": {
"t": "and",
"val": [
{
"att": "TYPE",
"val": "idocs:currency",
"t": "eq"
},
{
"att": "idocs:currencyCode",
"val": "$TEXT",
"t": "$PREDICATE_TYPE"
}
]
}
},
"innerQueryAttribute": ""
}
}
}
Рассмотрим пример. Настроим поиск только по колонке «Статус».
Перейти в дополнительные настройки колонки:
Тип редактора указать text:
В разделе Search Config в запросе введите:
Совет
Запрос нужно задавать как можно точнее, с указанием типа запрашиваемой ноды.
{
"t": "and",
"val": [
{
"att": "TYPE",
"val": "icase:caseStatus",
"t": "eq"
},
{
"att": "cm:title",
"val": "$TEXT",
"t": "$PREDICATE_TYPE"
}
]
}
Укажите необходимое Количество записей подзапроса:
Количество записей подзапроса - сколько максимально записей на данный запрос вернет сервер. Далее эти ноды будут использоваться как фильтр для формирования основного запроса - для отображения нужных записей в самом журнале.
Но в ответе также будет приходить число, сколько сервер всего нашел записей, и если это число больше указанного количества записей подзапроса, то на клиенте будет показываться сообщение о необходимости задать более точный фильтр.
Сохраните
Поиск осуществляется только по колонке «Статус»: