ДП «Ссылка» — справочник настроек¶
Полный перечень настроек с указанием где хранится, что делает, ограничения
Общие настройки (LookupParamSettings)¶
Общие для Lookup и MultiLookup. Хранятся в таблице LookupParamSettings.
Вкладка «Основные настройки»¶
| Настройка (UI) | Поле БД | Тип | Lookup | Multi | Описание |
|---|---|---|---|---|---|
| Отображать в задаче | DisplayInTask |
int | Да | В разработке | 0=Текст, 1=Текст+цвет, 2=Иконка+цвет, 3=Только иконка. Пока работает только в колонках ДП Таблица |
| Радиокнопки | ShowAsRadioButtons |
bit | Да | Нет | До 10 значений. Обязательный → нельзя снять выделение. Readonly → обычный формат |
| Быстрые подсказки | QuickHints |
bit | Да | Да | 3 последних выбранных значения. Не работают при наличии активной связи параметров |
Вкладка «Источник данных»¶
| Настройка (UI) | Поле БД | Тип | Описание | Ограничения |
|---|---|---|---|---|
| Категория | SubcatId |
int FK → Subcategories | Категория-источник задач | |
| Сводный раздел | UnionId |
int FK → Unions | Сводный раздел вместо категории | Взаимоисключающе с Категорией |
| Включая статусы | StatusFilter / связь через LookupParamAllowedStates |
— | Допустимые статусы задач в списке выбора. В иерархическом режиме (v2.267+): фильтр применяется к узлам дерева — папка в неразрешённом статусе скрывается целиком вместе с вложенными элементами. При текстовом поиске внутри иерархии фильтр по статусам не применяется. До v2.267: в иерархическом режиме настройка статусов игнорировалась. | |
| Смарт-фильтр | SmartFilterId |
int FK → SmartFilters | Условия отбора задач | Работает только в карточке существующей задачи. Для NTF → связи параметров |
| Отображать только доступные | ShowOnlyAccessible |
bit | Только задачи с правами | Только MultiLookup. Не распространяется на To-do list |
Контекстные параметры смарт-фильтра:
- @eventParam1 -- ID текущей категории
- @eventParam2 -- ID задачи-источника
- @eventParam3 -- JSON значений строки таблицы (если Lookup в колонке ДП Таблица)
- @eventParam4 -- ID блока используется
Вкладка «Вид отображения»¶
| Настройка (UI) | Поле БД | Тип | Lookup | Multi | Описание |
|---|---|---|---|---|---|
| Иерархический | IsHierarchical |
bit | Да | Да | Дерево; настройки в категории → вкладка «Иерархический справочник» |
| Запретить выбирать папки | DenySelectFolders |
bit | Да | Да | Только конечные элементы (при иерархическом) |
| Колонка сортировки | SortColumnId |
int FK | Да | Да | ДП для сортировки значений в мультилукапе. Выбор не зависит от «Параметров в гриде» — один и тот же ДП можно одновременно вывести в табличное представление и использовать для сортировки. Сортировка применяется по умолчанию при отображении мультилукапа на карточке задачи. Контрол выбора поддерживает поиск по названию ДП. При сводном разделе: только ДП из всех категорий. НЕ допустимы: URL, Адрес, Email, Users, MultiLookup, Чекбокс, Дерево, Сквозной, Таблица, Файл |
| Отображать как текст | DisplayAsText |
bit | Да | Да | Значение отображается текстом, не ссылкой |
Иерархический режим + фильтр по статусам (v2.267+): если одновременно включены «Иерархический» и «Включая статусы», дерево отображает только задачи в разрешённых статусах. Папка (узел-родитель) в запрещённом статусе скрывается вместе со всей подветкой. Поведение при текстовом поиске в иерархическом лукапе — отдельный режим: фильтр по статусам там не применяется.
Вкладка «Табличный вид»¶
| Настройка (UI) | Описание |
|---|---|
| Табличный вид | Настройка грида для окна выбора значений (как табличный вид категории) |
| Сворачивать группы | Группы свёрнуты по умолчанию (только для дефолтного представления категории) |
Настройки только Lookup¶
| Настройка (UI) | Описание |
|---|---|
| Отображать как радио кнопки | Значения в виде радиокнопок (до 10 пунктов) |
| Отображать в задаче | 4 режима отображения аватара задачи |
Настройки только MultiLookup¶
Схема оформления¶
| Схема | Описание |
|---|---|
| По умолчанию (таблица) | Табличное представление выбранных задач |
| Облако тегов | Компактное отображение тегами |
| LookUp | В новом интерфейсе = Облако тегов. В старом = По умолчанию. Будет удалено |
| To-do list | Чек-лист; отдельная подсистема, см. todolist.md |
| Чекбоксы | До 10 значений; автосохранение; readonly → облако тегов. В разработке |
Параметры в гриде¶
Добавление колонок из категории-источника в табличное представление MultiLookup: системные параметры (Дата начала, Срок, Статус) и ДП категории. Всегда отображается колонка «Значение» (текст задачи). Кнопка «Добавить» (ранее «Создать») открывает выбор доступных параметров; контрол выбора поддерживает поиск по названию ДП. Эта настройка участвует в экспорте/импорте конфигурации: при переносе ДП типа MultiLookup «Параметры в гриде» включаются в пакет и восстанавливаются на целевой площадке автоматически.
Пейджинг¶
| Настройка | Описание |
|---|---|
| Количество строк на странице | 0 = без пейджинга; >0 = постраничный вывод. Только для схемы «По умолчанию». Тестовый режим |
Отображать только доступные задачи¶
Отдельная настройка MultiLookup. Если включена -- в ДП и в окне выбора видны только задачи с правами доступа.
Связи параметров (каскадные зависимости)¶
Настраиваются через отдельный интерфейс «Связи между параметрами» (dp_links).
| Настройка | Описание |
|---|---|
| Родительский параметр | ДП-источник |
| Подчинённый параметр | ДП, значения которого фильтруются |
| Источник данных | Таблица/view БД для связи (ExtParamValues, TasksInSubcatXXXDenormalized, custom view) |
| Колонка для отбора | Столбец со значением родительского ДП |
| Значение подчинённого | Столбец со значением подчинённого ДП |
| Текст подчинённого | Столбец с отображаемым текстом |
| Жёсткая связь | Да = дочерний пуст без родителя; Нет = фильтрация по заполненным родителям |
| Активно | Временное отключение связи |
Допустимые комбинации¶
| Родитель | Подчинённый | Типы связей | Доп. родитель |
|---|---|---|---|
| Lookup | Lookup | Ж, С | Выпадающий список (ЖЖ, ЖС, СЖ) |
| Выпадающий список | Lookup | Ж, С | Текст/Число (ЖЖ, ЖС, СЖ) |
| Lookup | Выпадающий список | Ж, С | |
| Выпадающий список | Выпадающий список | Ж | |
| Текст/Число | Lookup | Ж, С | Текст/Число (ЖЖ, ЖС, СЖ) |
| Текст/Число | MultiLookup | Ж, С | Текст/Число (ЖЖ, ЖС, СЖ) |
| MultiLookup | Выпадающий список | Ж, С | |
| MultiLookup | Lookup | Ж, С | |
| Выпадающий список | MultiLookup | Ж, С | |
| Lookup | MultiLookup | Ж, С | Текст/Число (ЖЖ, ЖС, СЖ) |
Ограничения связей¶
- Нельзя создать цикл (A→B и B→A)
- Нельзя: подчинённый в таблице, родитель вне таблицы
- При наличии связи подсказки не отображаются для подчинённых
- Связи внутри строки ДП Таблица поддерживаются (колонка → колонка)
Хранение значений¶
Lookup¶
Значение: ExtParamValues.SelectedTaskID (int) -- ID выбранной задачи.
В денормализации: TasksInSubcatXXXDenormalized.ExtParamYYYNativeValue = SelectedTaskID, ExtParamYYYValue = текст задачи.
MultiLookup¶
Значения: отдельная таблица MultiLookupValues:
- TaskID -- задача-владелец
- ExtParamID -- ID ДП
- SelectedTaskID -- выбранная задача
- Comment -- комментарий к выбранному значению
В ExtParamValues.SelectedTaskID хранится одно из значений (legacy, для обратной совместимости).