Поиск в списках объектов “allowSearch”

Поле основной части меты представления списка "allowSearch" разрешает или запрещает отображение в форме поля поиска.

Логика работы

Архитектурой платформы и регистри накладываются следующие ограничения.

Для того, чтобы работал поиск в представлении “СПИСОК”, нужно выполнение одного из условий:

  • В ключе класса должны быть поля какого-нибудь из следующих типов: Строка, Дата-Время, Целое, Действительное, Десятичное
  • В классе должны быть не ключевые атрибуты этих же типов помеченные как индексируемые

Если ни одно из условий не соблюдается, поиск в представлении “СПИСОК” невозможен - соответсвенно поле для поиска не отображается. Если одно или оба условия выполняются, то поиск доступен и выполняется путем сопоставления каждого индексированного атрибута с поисковой фразой. Если хотя бы один из атрибутов соответствует поисковой фразе - объект считается удовлетворяющим условию поиска и добавляется в выборку.

В зависимости от поля, сопоставление выполняется по следующим правилам:

  • Строка - ищется вхождение поисковой фразы в значение строкового атрибута посредством регулярного выражения.
  • Дата-время - поисковая фраза приводится к дате-времени, и, если получилось это сделать, то проверяется эквивалентность значения атрибута полученной дате. Сравнение строгое - до секунд, т.е. если в поиске не указано время - будут искаться даты с временем 00:00.
  • Целое, Действительное, Десятичное число - поисковая фраза приводится к числу и проверяется равенство значению атрибута.

Поиск по объектам вычислимых атрибутов

Для объектов вычисляемых атрибутов поиск будет работать только в случае наличия настройки кеширования подробнее. Соответсвенно, нет необходимости для вычисляемых атрибутов ставить indexed , если они не cached.