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

Контролы формы — Администрирование

Обзор

form-controls описывает администрирование поведения контролов дополнительных параметров в MTF/NTF: какие настройки ДП и категории влияют на рендер, ввод, валидацию, сохранение и обратное чтение значения.

Администратор настраивает:

  • глобальный тип и type-specific настройки ДП;
  • привязку ДП к категории, порядок, обязательность, скрытие, readonly и размещение в блоках;
  • параметры конкретных групп контролов: File/MultiFile, Lookup/MultiLookup, SelectUsers, Table EP;
  • совместимость сценария со старым MTF, новым MTF и NTF;
  • диагностику сохранения значения через таблицы настроек, runtime-значений и link-таблицы.

Граница домена:

  • form-controls -- поведение конкретного контрола ДП на форме;
  • ../ext-params/admin.md -- жизненный цикл ДП как сущности, Admin API и глобальные настройки;
  • ../categories/admin.md -- включение ДП в категорию и category-level флаги;
  • ../task-forms/admin.md -- layout формы, блоки, порядок элементов, тулбар и JS/CSS-вставки.

Механизмы администрирования

Автоадминка, AdminSPA и EntityEditor

Отдельной формы автоадминки только для домена form-controls не выявлено. Администрирование распределено между общими контурами ДП и категории.

Механизм Где настраивается Что контролирует
AdminSPA / Admin API ДП ../ext-params/admin.md глобальная карточка ДП, тип, type-specific настройки, связи ДП
Настройки категории -> ДП ../categories/admin.md привязка ДП к категории, порядок, обязательность, скрытие, подсказки, блоки
Настройки формы задачи ../task-forms/admin.md контейнеры MTF/NTF, layout, порядок блоков и JS/CSS-вставки
Runtime MTF/NTF frontend.md, data-flow.md фактический рендер, сохранение, refresh и realtime-обновления

EntityEditor-схем для form-controls как самостоятельного домена в прочитанных источниках не выявлено.

Admin API, влияющие на контролы

Профильные административные операции выполняются через контур ext-params.

Контроллер / маршрут Назначение для form-controls
/api/admin/extparams CRUD глобального ДП и базовой модели контрола
/api/admin/subcat/extparams привязка ДП к категории, порядок, category-level настройки
/api/admin/extparams/settings чтение и сохранение type-specific настроек ДП
/api/admin/subcat/extparams/blocks блоки и группы блоков, в которых размещаются контролы
/api/admin/ext-params/links master-slave связи ДП, влияющие на Lookup/MultiLookup
/api/admin/extparam/options опции list/combobox и смежных выборов
/api/admin/ext-params/table шаблон и рендер ДП типа Table

Подробный список методов и административных сценариев находится в ../ext-params/admin.md.

Ключевые настройки контролов

Карта групп контролов

Группа Тип ДП Таблицы настроек Основной справочник
File / MultiFile File ExtParamsFileSettings controls-reference.md
Lookup LookUpField LookupParamSettings controls-reference.md
MultiLookup MultiSlctSubcatTasks LookupParamSettings, ExtParamValueSelectedTask* controls-reference.md
SelectUsers SelectUsers ExtParamSelectUserSettings, ExtParamSelectUserSettingsOrgUnitTypes controls-reference.md
Table EP Table ExtParamTableCommonSettings, ExtParamTableSettings, ExtParamTableSections controls-reference.md

⚠️ Этот файл не дублирует полный перечень type-specific параметров. Для выбора конкретной настройки использовать controls-reference.md, а для ограничений старый MTF / новый MTF / NTF -- compatibility-matrix.md.

Параметры контролов в категории

Фактическое поведение контрола на форме определяется не только глобальным типом ДП, но и привязкой к категории.

Настройка Где владелец Эффект для form-controls
Порядок ДП в категории ../categories/admin.md порядок рендера контролов в MTF/NTF
Блок ДП и группа блоков ../task-forms/admin.md контейнер и визуальная группировка контролов
Количество занимаемых колонок ../categories/admin.md, ../task-forms/admin.md ширина контрола в форме
Скрытый / скрыть при постановке / скрыть в карточке ../categories/admin.md наличие контрола в NTF и MTF
Обязательный / readonly / права по статусам ../ext-params/admin.md, ../categories/admin.md валидация и доступность ввода
Подсказка и smart-подсказка ../categories/admin.md текст или smart-результат рядом с контролом
Master-slave связи ДП ../ext-params/admin.md фильтрация зависимых Lookup/MultiLookup контролов

⚠️ Если поле не отображается на форме, сначала проверять category-level привязку и блоки. Если поле отображается, но не сохраняется или сохраняется не тем форматом, переходить к type-specific настройкам и data-flow.md.

SettingsCustom / sys_general_settings

Собственные SettingsCustom или sys_general_settings ключи для form-controls как отдельного домена в прочитанных источниках не выявлены.

Связанные настройки находятся у доменов-владельцев:

Ключ / настройка Где описано Что влияет
HideEmptyEpOnNtf ../categories/admin.md скрытие пустых ДП на форме создания задачи
UseNewMTF, UseNewMTFStyle ../task-forms/admin.md выбор runtime MTF и стиль карточки задачи
type-specific настройки ДП ../ext-params/admin.md, controls-reference.md поведение конкретных контролов

Runtime-совместимость MTF/NTF

При настройке контролов учитывать режим формы.

Режим Что важно администратору
Старый MTF часть сценариев поддерживается ограниченно, особенно для табличного ДП и realtime
Новый MTF основной runtime для интерактивных контролов и полного поведения Table EP
NTF create-flow до создания задачи; часть сценариев File/Table/Lookup зависит от контекста будущей задачи

Полная матрица поддержки по группам контролов вынесена в compatibility-matrix.md.

⚠️ Для инцидентов "работает в MTF, но не работает в NTF" сначала проверять, требует ли сценарий уже существующий TaskID, строки таблицы или link к файлу. Эти цепочки описаны в data-flow.md.

Аудит и диагностика

Объекты БД

Объект Назначение
ExtParams глобальная карточка ДП и тип контрола
ExtParamsInSubcat привязка ДП к категории и category-level настройки
ExtParamValues базовое значение ДП в задаче
ExtParamsFileSettings настройки File/MultiFile
LookupParamSettings настройки Lookup/MultiLookup
ExtParamSelectUserSettings, ExtParamSelectUserSettingsOrgUnitTypes настройки SelectUsers
ExtParamTableCommonSettings, ExtParamTableSettings, ExtParamTableSections настройки Table EP
ExtParamTableValues значения ячеек табличного ДП
ExtParamValueSelectedTasks, ExtParamValueSelectedTaskFolders выбранные задачи и папки MultiLookup
ExtParamSelectUsersValues* значения SelectUsers по пользователям, группам и оргструктуре
FileStorageFileToExtParamLinks связь файлов с ДП File/MultiFile и файловыми колонками таблицы

Минимальные проверки

-- Глобальная карточка ДП
select *
from ExtParams
where ExtParamID = @extParamId;

-- Привязка ДП к категории
select *
from ExtParamsInSubcat
where ExtParamID = @extParamId
  and SubcatID = @subcatId;

-- Runtime-значение ДП в задаче
select *
from ExtParamValues
where ExtParamID = @extParamId
  and TaskID = @taskId;

-- File/MultiFile: есть ли link к ДП
select *
from FileStorageFileToExtParamLinks
where ExtParamID = @extParamId
  and TaskID = @taskId;

Для Lookup/MultiLookup, SelectUsers и Table EP использовать специализированные таблицы из data-flow.md, потому что один ExtParamValues не показывает всю модель значения.

Типичные ошибки настройки

Симптом Что проверить первым Где подробности
Контрол не отображается привязка в ExtParamsInSubcat, скрытие, блоки, режим NTF/MTF ../categories/admin.md, ../task-forms/admin.md
Контрол виден, но readonly права ДП, права по статусам, smart-access, режим формы ../ext-params/admin.md
Lookup/MultiLookup пустой источник, smart-фильтр, master-slave связи, доступ к задачам источника controls-reference.md, data-flow.md
SelectUsers показывает не тот набор AllowUsers / AllowGroups / AllowOrgUnits, фильтрации по группе/оргструктуре/smart-фильтру controls-reference.md
File загружается, но не отображается link в FileStorageFileToExtParamLinks, ограничения размера/расширений, источник файла data-flow.md
Table EP не сохраняет строки настройки колонок, readonly/required/key column, denorm-view и reload data-flow.md, backend.md
Сценарий работает в MTF, но не в NTF наличие TaskID, create-flow ограничения, матрица совместимости compatibility-matrix.md

Связанные документы

  • business.md -- бизнес-границы и типовые пользовательские сценарии.
  • backend.md -- контроллеры, сервисы и таблицы настроек по группам контролов.
  • frontend.md -- SPA-компоненты, модели и состояния контролов.
  • data-flow.md -- сквозные цепочки чтения, сохранения, upload, Table EP и refresh.
  • controls-reference.md -- справочник групп контролов и ключевых type-specific настроек.
  • compatibility-matrix.md -- совместимость старый MTF / новый MTF / NTF.
  • ../ext-params/admin.md -- администрирование ДП как сущностей и Admin API.
  • ../categories/admin.md -- привязка ДП к категории и category-level поведение.
  • ../task-forms/admin.md -- layout MTF/NTF, блоки, порядок и JS/CSS-вставки.