Префильтр — особая часть таблицы, выполняющая несколько функций одновременно. Помимо этого, она существует индивидуально в каждой вкладке браузера, в которой открыта таблица. У разных пользователей и на разных вкладках у одного пользователя в префильтре одновременно могут быть введены разные данные.
Префильтр вычисляется в момент открытия таблицы. Изменения, которые вносятся в поля префильтра применяются не сразу, а по нажатию кнопки GO
. Пока GO
не нажали изменения не применены и префильтр подсвеживается желтым
.
Значения полей префильтра передаются в адресной строке в шифрованном виде.
Тк у браузеров есть ограничение на предельную длину заголовков, не рекомендуется передавать в префильтры большие массивы данных (например, списки из сотен значений).
Поле префильтра может быть привязано к полю в строчной части таблицы, тогда префильтр будет осуществлять на сервере функции фильтрации строк.
Для правильной работы, используйте в префильтре типы полей аналогичные типу поля привязки.
Возможно использование селектов с введенными вручную основаниями для задания условий фильтрации.
Помимо этого, можно использовать интервальную настройку поля префильтра. Для этого используется два поля префильтра привязанных к одному полю строчной части с параметром интервальный. Сравнение в интервальном префильтре идет в соответствии с типом поля по условию >=
и <=
.
Возможно использовать селект в качестве интервального префильтра с числовыми или буквенными основаниями.
Помимо этого, селекты имеют дополнительные настройки показа всех значений
(фильтрация выключена) или ни одного
(для обязательного ввода значения в префильтр для показа строчной части). Для этого используются специальные значения:
*ALL*
— вывести все значения.
*NONE*
— не выводить ни одного значения.
Поле префильтра может быть доступно или недоступно для редактирование для роли. Также может быть видно или скрыто для роли. В зависимости от этой комбинации будут осуществлятся различные функции префильтра:
Фильтрация строк, выводимых в браузер.
Ограничение доступа для редактирования строк.
Использование как временной переменной для строчной части.
Автоподстановка значений префильтра в привязанные поля строчной части в строке добавления.
Соотношение параметров и реализуемой задачи в виде таблицы:
Показывать в web/api | Привязка | Видно роли | Редактирование ролью | Фильтр | Доступ | Переменная | Автоподстановка |
---|---|---|---|---|---|---|---|
Выключено | — | — | — | Не фильтрует | Не ограничивает | Возвращает null | Нет |
Включено | Не привязано | Любое | Любое | Не фильтрует | Не ограничивает | Возвращает значение | Нет |
Включено | Привязано | Любое | Недоступно | Фильтрует | Ограничивает | Возвращает значение | Работает |
Включено | Привязано | Любое | Доступно | Фильтрует | Не ограничивает | Возвращает значение | Работает |
Фильтр — зависит от включенности и привязки.
Доступ — зависит от включенности, привязки и редактирования.
Переменная — зависит от включенности.
Автоподстановка — зависит от включенности и привязки.
В API префильтры извне доступны на изменение только в секции export и работают на Фильтрацию.
При изменении и удалении в API префильтр доступный и недоступный для изменения возвращает свое значение в Переменную.
При изменении и удалении в API префильтр недоступный для изменения работает на Доступ.
Автоподстановка в API не работает (тк она раотает только в строке добавления).
При выполнении кодов действий значения префильтров берется только при обращении в ту таблицу из которой запускается выполнение действия! В остальных случаях возвращается
null
.Проверка доступа к строкам по Префильтрам для роли Создатель — ОТКЛЮЧЕНА!