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

Формы задач (MTF/NTF) — Справочник блоков

1. Типы элементов формы

Тип Enum Где хранится Поле порядка
Блок ДП EpBlock ExtParamBlocks [Order]
Группа блоков ДП EpBlockGroup ExtParamBlocksGroups OrderInMtf
БИ-блок BlockUsed CustomTaskUsedAsEpBlocks [Order]
Системный блок MtfSystemBlock SubcatMtfSystemBlocksOrders OrderInMtf

2. Блок ДП (ExtParamBlocks)

Ключевые поля:

Поле Назначение
Id, SubcatId, Name Идентификация блока в категории
[Order] Позиция в общем списке MTF
CanFold, DefaultMinimized Сворачивание блока
Color Цветовое выделение блока
HiddenSmartFilterId Условие скрытия блока
MinimizedSmartFilterId Условие сворачивания блока
ExtParamBlocksGroupId Принадлежность к группе блоков

3. Группа блоков ДП (ExtParamBlocksGroups)

Ключевые поля:

Поле Назначение
Id, SubcatId, Name Идентификация группы в категории
OrderInMtf Позиция группы в MTF
CanFold, IsDefaultMinimized Сворачивание группы
IsHidden Принудительное скрытие группы
HiddenSmartFilterId Условие скрытия группы
MinimizedSmartFilterId Условие сворачивания группы

4. БИ-блок (CustomTaskUsedAsEpBlocks)

Ключевые поля:

Поле Назначение
Id, SubcatId, Name Идентификация БИ-блока
[Order] Позиция в MTF
NotShowCreateButton Скрыть кнопку создания из блока
VisibilityMode Режим видимости блока «Используется»
IsCollapsable, IsCollapsedByDefault Сворачивание блока
SmartId Смарт-условие доступа/видимости блока

5. Системные блоки (MtfSystemBlockTypes)

Тип Назначение
SurveyResultsTable Системный блок результатов опросов
ProjectInformation Блок проектной информации
Signatures Блок подписей
Attachments Блок вложений
Recurrence Блок повторений
Resources Блок ресурсов
Parameters Блок параметров

6. Информационные блоки («Подзадачи» и «Связи»)

Блоки «Подзадачи» и «Связи» — особый тип элементов MTF, не входящий в MtfSystemBlockTypes. Они располагаются в фиксированной позиции: после блока файлов (Attachments) и перед разделом ресурсов (Resources).

Общие свойства обоих блоков:

  • отображаются только при наличии данных (скрываются автоматически, если данных нет);
  • каждая строка содержит: цветной аватар с иконкой категории, заголовок, приоритет, счётчик вложенных подзадач, список исполнителей (до трёх человек), срок с цветовой индикацией (оранжевый — завтра, красный — просрочено);
  • клик по строке открывает задачу в модальном окне;
  • доступна кнопка «Развернуть» — переход к расширенному просмотру подзадач и связей;
  • управление через меню «⋯».

Поведение блоков настраивается на уровне категории отдельно для «Связей» и «Подзадач» (Настройки категории → Основные настройки → Связи и подзадачи): блок можно скрыть, сделать сворачиваемым, задать состояние «свёрнут по умолчанию», включить или отключить показ завершённых задач, а также управлять скрытием и сворачиванием через smart-выражения. Значения по умолчанию: блок не скрыт, не сворачиваемый, не свёрнут, завершённые задачи не показываются. Если для новой задачи заданы smart-настройки этих блоков, они не применяются на этапе постановки — пока у задачи ещё нет данных о связях и подзадачах.

Блок «Подзадачи»

  • Всегда показывает родительскую задачу (на один уровень выше текущей), если она есть.
  • Для каждой задачи-родителя рассчитывается процент выполнения — доля закрытых подзадач среди всех подзадач любого уровня вложенности (округляется до целого числа).
  • Кнопка «+» — быстрое создание новой подзадачи.

Блок «Связи»

  • Связанные задачи сгруппированы по типам проектных связей.
  • По умолчанию показывает первые восемь задач; кнопка «Показать все» раскрывает полный список.
  • Завершённые задачи выделяются серым цветом.

7. Правила порядка

  1. Итоговый порядок формируется только через SubcategoryMtfService.
  2. Системные блоки, у которых нет записи в SubcatMtfSystemBlocksOrders, добавляются в список с Order = null.
  3. После reorder значения порядков перезаписываются последовательно (0..N) по всем типам.

  4. Блоки «Подзадачи» и «Связи» учитываются в общем порядке наравне с системными блоками: их позиция хранится в SubcatMtfSystemBlocksOrders (тип MtfSystemBlock из §1) и пересчитывается тем же SubcategoryMtfService — несмотря на то, что они не входят в MtfSystemBlockTypes.

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

  • docs/domains/task-forms/backend.md
  • docs/domains/task-forms/business.md
  • docs/domains/task-forms/data-flow.md
  • docs/domains/task-forms/mtf-ntf-differences.md