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

Формы задач (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 Смарт-условие доступа/видимости блока

Редактирование ячеек

При включённом режиме редактирования грида БИ-блок поддерживает мультиредактирование ячеек — аналогично ДП «Таблица» (см. ext-params/business.md § Редактирование ячеек):

  • Выделение непрерывного диапазона ячеек мышью.
  • Копирование и вставка через Ctrl+C / Ctrl+V (Cmd+C / Cmd+V на macOS).
  • Автозаполнение «протягиванием»: значение из одной ячейки распространяется на выделенные ниже строки.

Поддерживаются типы ДП с inline-редактированием: текст, число, деньги, лукап, мультилукап и другие. Нередактируемые ячейки (заблокированные правами на статусе или смарт-условиями) остаются недоступными для изменения. При попытке изменить более 100 задач операция отклоняется с предложением использовать пакетную обработку задач — это защита от случайных массовых правок.

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

Тип Назначение
SurveyResultsTable Системный блок результатов опросов
ProjectInformation Блок проектной информации (процент выполнения, плановые/фактические даты, длительности). Отображается, если категория проектная (IsForProjects или IsForProjectTasks). На МТФ видимость дополнительно управляется категорийной настройкой Subcategories.IsProjectInfoBlockVisible (по умолчанию 1) — при 0 блок не передаётся в мобильный API
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