Перейти к содержанию

Гриды — Справочник фильтров

Справочник соответствия типов колонок грида и применяемых фильтров.

Справочник описывает, какой фильтр применяется для каждого типа колонки в гриде задач и в ДП Таблица: текстовые фильтры, фильтры по пользователям, по подзадачам и вопросам, по дополнительным параметрам, а также фильтры колонок ДП Таблица и особую обработку сквозных ДП (Through).

Два контекста фильтрации

Каждый фильтр работает в одном или обоих контекстах:

  • Грид задач — фильтрация списка задач категории;
  • ДП Таблица — фильтрация строк внутри табличного дополнительного параметра.

Фильтр колонки в ДП Таблица: операторы «Содержит», «Начинается с», «Пусто» и другие

Фильтры гридов задач

Текстовые и поисковые

Фильтры по текстовым полям задачи:

Колонки Тип фильтра Описание
TaskText, Description TextFilter Фильтр по тексту задачи. Поддерживает contains, startsWith, endsWith, equals. Также используется для быстрого фильтра.
SubcategoryName TextFilter Фильтр по названию категории.

Пользователи и роли

Фильтры по участникам задачи:

Колонки Тип фильтра Описание
Owner, OwnerName SetFilter Фильтр по заказчику задачи.
Performer SetFilter Фильтр по единственному исполнителю.
Performers SetFilter Фильтр по множественным исполнителям.
Acceptors SetFilter Фильтр по согласующим.
ExtParam{id} (SelectUsers type) SetFilter Фильтр для ДП "Выбор пользователей/групп".

Подзадачи и вопросы

Числовые фильтры по подзадачам и вопросам:

Колонки Тип фильтра Описание
Subtasks NumberFilter Фильтр по наличию подзадач.
ActiveSubtasks NumberFilter Количество активных подзадач.
TotalSubtasks NumberFilter Общее количество подзадач.
MyQuestions NumberFilter Мои вопросы в задаче.
QuestionsToMe NumberFilter Вопросы адресованные мне.
QuestionsFromMe NumberFilter Вопросы от меня.

ДП и специальные

Фильтры по дополнительным параметрам и специальные фильтры:

Колонки Тип фильтра Описание
ExtParam{id} (MultiSelect types) SetFilter Универсальный фильтр для ДП с множественным выбором (MultiSlctSubcatTasks, MultiCheckbox, etc.).
ExtParam{id} (LookUpField) SetFilter / TextFilter Фильтр для lookup ДП. Фильтрует по связанной задаче.
Любая SmartFilter Фильтр через smart-выражение (ESQL).
Signatures* SetFilter Фильтры по подписям задач.
Custom AdvancedFilter Произвольный гибкий фильтр.
Table columns SetFilter Мультивыбор строк в ДП Таблица. Работает в обоих контекстах.

Фильтры колонок ДП Таблица

Эти фильтры работают только в контексте ДП Таблица:

Тип колонки Тип фильтра Описание
Lookup-колонка в таблице SetFilter Фильтр по lookup-связи внутри ДП Таблица. Зависит от LookupParamSettings.
Виртуальная (вычисляемая) колонка TextFilter / NumberFilter Фильтр по вычисляемому значению. Может не поддерживать все операции.
"Выбор пользователей" в таблице SetFilter Фильтр по пользователям/группам внутри ДП Таблица.

Маппинг: тип ДП → фильтр

Какой фильтр применяется для каждого типа дополнительного параметра:

Тип ДП Грид задач ДП Таблица Примечание
String, MultiLineString TaskTextFilter (или стандартный) стандартный Текстовый
Number, Decimal, Money стандартный стандартный Числовой
DateTime стандартный стандартный Дата
Boolean стандартный стандартный Чекбокс
LookUpField LookupFilter LookupColumnFilter Lookup
MultiSlctSubcatTasks MultiSelectFilter стандартный Мультилукап
SelectUsersType, SelectGroupsType, SelectOrgUnit SelectUsersExtParamFilters SelectUsersColumnFilter Выбор пользователей
MultiCheckbox, DropDown MultiSelectFilter стандартный Множественный выбор
Table Ограничено (не через ShowTasksFeed) N/A (Table — это сам грид) Фильтрация задач возможна через HTML-представление при настройке шаблона. См. support-guide §1.3
Through Особая обработка N/A Сквозной ДП: система определяет целевой ДП, но передаёт тип Through — хранимая процедура сама определяет целевой тип и применяет правильную логику. Замена на SelectUsersOrgUnits/SelectUsersGroups происходит только при группировке, не при фильтрации. Типичные применения: Through → ДП «Выбор пользователей» (Менеджер клиента, РП, BDM и др.)
File ИСКЛЮЧЁН N/A Файловый ДП
Numerator стандартный стандартный Нумератор
Virtual (колонка таблицы) N/A VirtualColumnFilter Только внутри ДП Таблица

Дерево FilterNode

Фильтры строят дерево FilterNode:

GeneralFilter (root, AND)
├── FilterNode (column=State, operand=IN, values=[1,3])
├── FilterNode (column=ExtParam42, operand=CONTAINS, value="test")
└── GeneralFilter (OR)
    ├── FilterNode (column=Owner, operand=EQUALS, value=123)
    └── FilterNode (column=Performer, operand=EQUALS, value=456)

Дерево передаётся в SP ShowTasksFeed / ShowExtParamTableData и транслируется в WHERE-clause.