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

ДП «Ссылка» — справочник настроек

Полный перечень настроек ДП «Ссылка» (Lookup) и «Множественная ссылка» (MultiLookup): где хранится каждая настройка, что она делает и какие есть ограничения. Общие параметры хранятся в LookupParamSettings; специфичные для Lookup и MultiLookup — в отдельных вкладках админки. Документ также описывает каскадные связи параметров и глобальные ключи CustomSettings, влияющие на поведение лукапов.

Общие настройки (LookupParamSettings)

Общие для Lookup и MultiLookup. Хранятся в таблице LookupParamSettings.

Вкладка «Основные настройки»

Базовые параметры отображения и выбора значения:

Настройка Поле БД Тип Lookup Multi Описание
Отображать в задаче DisplayInTask int Да В разработке 0=Текст, 1=Текст+цвет, 2=Иконка+цвет, 3=Только иконка. Пока работает только в колонках ДП Таблица
Радиокнопки ShowAsRadioButtons bit Да Нет До 10 значений. Обязательный → нельзя снять выделение. Только для чтения → обычный формат
Быстрые подсказки QuickHints bit Да Да 3 последних выбранных значения. Не работают при наличии активной связи параметров

Вкладка «Источник данных»

Откуда берутся задачи для выбора и как они фильтруются:

Вкладка «Источник данных» ДП «Ссылка»: категория или сводный раздел, фильтр по статусам, доступ и режим текста

Настройка Поле БД Тип Описание Ограничения
Категория SubcatId int FK → Subcategories Категория-источник задач
Сводный раздел UnionId int FK → Unions Сводный раздел вместо категории Взаимоисключающе с Категорией
Включая статусы StatusFilter / связь через LookupParamAllowedStates Допустимые статусы задач в списке выбора. В иерархическом режиме: фильтр применяется к узлам дерева — папка в неразрешённом статусе скрывается целиком вместе с вложенными элементами. При текстовом поиске внутри иерархии фильтр по статусам не применяется.
Смарт-фильтр SmartFilterId int FK → SmartFilters Условия отбора задач Работает только в карточке существующей задачи. Для НТФ → связи параметров
Отображать только доступные ShowOnlyAccessible bit Только задачи с правами Только MultiLookup. Не распространяется на список задач (To-do)

Контекстные параметры смарт-фильтра:

  • @eventParam1 — ID текущей категории
  • @eventParam2 — ID задачи-источника
  • @eventParam3 — JSON значений строки таблицы (если Lookup в колонке ДП Таблица)
  • @eventParam4 — ID блока используется

Вкладка «Вид отображения»

Форма представления списка значений (плоский список, дерево, сортировка):

Вкладка «Вид отображения» ДП «Ссылка»: иерархический режим, выпадающий список, колонка сортировки и схема оформления

Настройка Поле БД Тип Lookup Multi Описание
Иерархический IsHierarchical bit Да Да Дерево; настройки в категории → вкладка «Иерархический справочник»
Запретить выбирать папки DenySelectFolders bit Да Да Только конечные элементы (при иерархическом)
Колонка сортировки SortColumnId int FK Да Да ДП для сортировки значений в мультилукапе. Выбор не зависит от «Параметров в табличном представлении» — один и тот же ДП можно одновременно вывести в табличное представление и использовать для сортировки. Сортировка применяется по умолчанию при отображении мультилукапа на карточке задачи. Контрол выбора поддерживает поиск по названию ДП. При сводном разделе: только ДП из всех категорий. НЕ допустимы: URL, Адрес, Email, Users, MultiLookup, Чекбокс, Дерево, Сквозной, Таблица, Файл
Отображать как текст DisplayAsText bit Да Да Значение отображается текстом, не ссылкой

Иерархический режим + фильтр по статусам: если одновременно включены «Иерархический» и «Включая статусы», дерево отображает только задачи в разрешённых статусах. Папка (узел-родитель) в запрещённом статусе скрывается вместе со всей подветкой. При текстовом поиске в иерархическом лукапе фильтр по статусам не применяется.

Настройка окна выбора значений в виде таблицы (вкладка «Табличный вид»):

Настройка Описание
Табличный вид Настройка таблицы для окна выбора значений (как табличный вид категории)
Сворачивать группы Группы свёрнуты по умолчанию (только для стандартного представления категории)

Специфичные настройки Lookup и MultiLookup

Настройки Lookup и схема оформления MultiLookup

Параметры, доступные только для одиночной ссылки (Lookup):

Настройка Описание
Отображать как радио кнопки Значения в виде радиокнопок (до 10 пунктов)
Отображать в задаче 4 режима отображения аватара задачи

Способ отображения выбранных задач в MultiLookup:

Схема Описание
По умолчанию (таблица) Табличное представление выбранных задач
Облако тегов Компактное отображение тегами
LookUp В новом интерфейсе = Облако тегов. В старом = По умолчанию. Будет удалено
Список задач (To-do) Чек-лист; отдельная подсистема
Чекбоксы До 10 значений; автосохранение; только для чтения → облако тегов. В разработке

Добавление колонок из категории-источника в табличное представление MultiLookup: системные параметры (Дата начала, Срок, Статус) и ДП категории. Всегда отображается колонка «Значение» (текст задачи). Кнопка «Добавить» (ранее «Создать») открывает выбор доступных параметров; контрол выбора поддерживает поиск по названию ДП. Эта настройка участвует в экспорте/импорте конфигурации: при переносе ДП типа MultiLookup «Параметры в табличном представлении» включаются в пакет и восстанавливаются на целевой площадке автоматически.

Разбиение длинного списка выбранных задач на страницы:

Настройка Описание
Количество строк на странице 0 = без постраничного вывода; >0 = постраничный вывод. Только для схемы «По умолчанию». Тестовый режим

Отдельная настройка MultiLookup «Отображать только доступные задачи»: если включена — в ДП и в окне выбора видны только задачи с правами доступа.

Связи параметров (каскадные зависимости)

Настраиваются через отдельный интерфейс «Связи между параметрами» (dp_links).

Настройка Описание
Родительский параметр ДП-источник
Подчинённый параметр ДП, значения которого фильтруются
Источник данных Таблица или представление БД для связи (ExtParamValues, TasksInSubcatXXXDenormalized, пользовательское представление)
Колонка для отбора Столбец со значением родительского ДП
Значение подчинённого Столбец со значением подчинённого ДП
Текст подчинённого Столбец с отображаемым текстом
Жёсткая связь Да = дочерний пуст без родителя; Нет = фильтрация по заполненным родителям
Активно Временное отключение связи

Допустимые комбинации и ограничения связей

Какие типы родительского и подчинённого ДП можно связать. В колонке «Типы связей»: Ж — жёсткая связь (подчинённый пуст без родителя), С — связь по заполненным родителям. Двухбуквенные коды (ЖЖ, ЖС, СЖ) описывают сочетание для второго (дополнительного) родителя.

Родитель Подчинённый Типы связей Доп. родитель
Lookup Lookup Ж, С Выпадающий список (ЖЖ, ЖС, СЖ)
Выпадающий список Lookup Ж, С Текст/Число (ЖЖ, ЖС, СЖ)
Lookup Выпадающий список Ж, С
Выпадающий список Выпадающий список Ж
Текст/Число Lookup Ж, С Текст/Число (ЖЖ, ЖС, СЖ)
Текст/Число MultiLookup Ж, С Текст/Число (ЖЖ, ЖС, СЖ)
MultiLookup Выпадающий список Ж, С
MultiLookup Lookup Ж, С
Выпадающий список MultiLookup Ж, С
Lookup MultiLookup Ж, С Текст/Число (ЖЖ, ЖС, СЖ)

Правила, которые нужно учитывать при настройке связей:

  • Нельзя создать цикл (A→B и B→A)
  • Нельзя: подчинённый в таблице, родитель вне таблицы
  • При наличии связи подсказки не отображаются для подчинённых
  • Связи внутри строки ДП Таблица поддерживаются (колонка → колонка)

Глобальные настройки (CustomSettings)

Ключи, влияющие на поведение ДП «Ссылка» во всей системе:

Ключ Тип Описание
AllLocalesSearchEpIds int[] Список ID Lookup-ДП, в которых текстовый поиск проверяет совпадение по локализованным значениям всех настроенных локалей задачи-источника (а не только по локали пользователя). Применяется к выпадающему списку и к фильтрам lookup-колонок в таблицах. По умолчанию — пустой массив (поиск идёт только в текущей локали). Подробнее: Кастомные настройки → AllLocalesSearchEpIds

Хранение значений Lookup и MultiLookup

Lookup. Значение: ExtParamValues.SelectedTaskID (int) — ID выбранной задачи.

В денормализации: TasksInSubcatXXXDenormalized.ExtParamYYYNativeValue = SelectedTaskID, ExtParamYYYValue = текст задачи.

MultiLookup. Значения: отдельная таблица MultiLookupValues:

  • TaskID — задача-владелец
  • ExtParamID — ID ДП
  • SelectedTaskID — выбранная задача
  • Comment — комментарий к выбранному значению

В ExtParamValues.SelectedTaskID хранится одно из значений (для обратной совместимости).