Формы задач (MTF/NTF) — Справочник блоков¶
Справочник описывает типы блоков формы задачи (МТФ/NTF): блоки ДП, группы блоков, БИ-блоки, системные и информационные блоки. Для каждого типа перечислены ключевые поля БД и правила отображения. В конце — правила порядка блоков на форме и ссылки на связанные документы.
1–3. Типы элементов, блок ДП и группа блоков¶
Форма задачи (МТФ) собирается из элементов нескольких типов:
| Тип | Enum | Где хранится | Поле порядка |
|---|---|---|---|
| Блок ДП | EpBlock |
ExtParamBlocks |
[Order] |
| Группа блоков ДП | EpBlockGroup |
ExtParamBlocksGroups |
OrderInMtf |
| БИ-блок | BlockUsed |
CustomTaskUsedAsEpBlocks |
[Order] |
| Системный блок | MtfSystemBlock |
SubcatMtfSystemBlocksOrders |
OrderInMtf |
Блок ДП (ExtParamBlocks) — ключевые поля:
| Поле | Назначение |
|---|---|
Id, SubcatId, Name |
Идентификация блока в категории |
[Order] |
Позиция в общем списке МТФ |
CanFold, DefaultMinimized |
Сворачивание блока |
Color |
Цветовое выделение блока |
DefaultBlock |
Признак «блок ДП по умолчанию» категории |
HiddenSmartFilterId |
Условие скрытия блока |
MinimizedSmartFilterId |
Условие сворачивания блока |
ExtParamBlocksGroupId |
Принадлежность к группе блоков |
Блок ДП с таблицей БИ. В блок ДП можно привязать не только обычные ДП, но и таблицу «Используется» (БИ) — тогда у блока заполнено поле модели blockUsedTable, а список обычных ДП (extParamIds) может быть пустым. Блок показывается на МТФ, если есть хотя бы один видимый привязанный ДП или заполнен blockUsedTable. Заголовок берётся из block.title (то есть Name блока), позиция — из группировки блоков. Таблица БИ внутри блока рисуется тем же компонентом, что и БИ-таблицы вне блоков (см. ниже «БИ-блок»); отличие — здесь она наследует заголовок и позицию своего блока ДП, а не имеет собственный [Order].
Группа блоков ДП (ExtParamBlocksGroups) — ключевые поля:
| Поле | Назначение |
|---|---|
Id, SubcatId, Name |
Идентификация группы в категории |
OrderInMtf |
Позиция группы в МТФ |
CanFold, IsDefaultMinimized |
Сворачивание группы |
IsHidden |
Принудительное скрытие группы |
HiddenSmartFilterId |
Условие скрытия группы |
MinimizedSmartFilterId |
Условие сворачивания группы |
4. БИ-блок (CustomTaskUsedAsEpBlocks)¶
Ключевые поля:
| Поле | Назначение |
|---|---|
Id, SubcatId, Name |
Идентификация БИ-блока |
[Order] |
Позиция в МТФ |
NotShowCreateButton |
Скрыть кнопку создания из блока |
VisibilityMode |
Режим видимости блока «Используется» |
IsCollapsable, IsCollapsedByDefault |
Сворачивание блока |
SmartId |
Смарт-условие доступа/видимости блока |
Редактирование ячеек¶
При включённом режиме редактирования таблицы БИ-блок поддерживает мультиредактирование ячеек — аналогично ДП «Таблица» (см. ext-params/business.md § Редактирование ячеек):
- Выделение непрерывного диапазона ячеек мышью.
- Копирование и вставка через
Ctrl+C/Ctrl+V(Cmd+C/Cmd+Vна macOS). - Автозаполнение «протягиванием»: значение из одной ячейки распространяется на выделенные ниже строки.
Поддерживаются типы ДП со встроенным редактированием в ячейке: текст, число, деньги, лукап, мультилукап и другие. Нередактируемые ячейки (заблокированные правами на статусе или смарт-условиями) остаются недоступными для изменения. При попытке изменить более 100 задач операция отклоняется с предложением использовать пакетную обработку задач — это защита от случайных массовых правок.
5. Системные блоки (MtfSystemBlockTypes)¶
Системные блоки добавляются автоматически в зависимости от настроек категории:
| Тип | Назначение |
|---|---|
SurveyResultsTable |
Системный блок результатов опросов |
ProjectInformation |
Блок проектной информации (процент выполнения, плановые/фактические даты, длительности). Отображается, если категория проектная (IsForProjects или IsForProjectTasks). На МТФ видимость дополнительно управляется категорийной настройкой Subcategories.IsProjectInfoBlockVisible (по умолчанию 1) — при 0 блок не передаётся в мобильный API |
Signatures |
Блок подписей |
Attachments |
Блок вложений |
Recurrence |
Блок повторений |
Resources |
Блок ресурсов |
Parameters |
Блок параметров |
6. Информационные блоки («Подзадачи» и «Связи»)¶
Блоки «Подзадачи» и «Связи» — особый тип элементов МТФ, не входящий в MtfSystemBlockTypes. Они располагаются в фиксированной позиции: после блока файлов (Attachments) и перед разделом ресурсов (Resources).
Общие свойства обоих блоков:
- отображаются только при наличии данных (скрываются автоматически, если данных нет);
- каждая строка содержит: цветной аватар с иконкой категории, заголовок, приоритет, счётчик вложенных подзадач, список исполнителей (до трёх человек), срок с цветовой индикацией (оранжевый — завтра, красный — просрочено);
- клик по строке открывает задачу в модальном окне;
- доступна кнопка «Развернуть» — переход к расширенному просмотру подзадач и связей;
- управление через меню «⋯».
Поведение блоков настраивается на уровне категории отдельно для «Связей» и «Подзадач» (Настройки категории → Основные настройки → Связи и подзадачи): блок можно скрыть, сделать сворачиваемым, задать состояние «свёрнут по умолчанию», включить или отключить показ завершённых задач, а также управлять скрытием и сворачиванием через смарт-выражения. Значения по умолчанию: блок не скрыт, не сворачиваемый, не свёрнут, завершённые задачи не показываются. Если для новой задачи заданы смарт-настройки этих блоков, они не применяются на этапе постановки — пока у задачи ещё нет данных о связях и подзадачах.
Сортировка строк и меню действий¶
Строки блоков «Подзадачи» и «Связанные» на МТФ сортируются компонентом TaskCardRelationshipsSortingComponent. Доступные варианты заданы enum'ом TaskCardRelationshipsSorting: Created (по дате создания), Priority (по приоритету), Status (по статусу), Performers (по исполнителям), Order (по порядку). Выбор пользователя сохраняется в localStorage под ключом task-card-subtasks-sorting и применяется единообразно к обоим блокам при следующем открытии карточки.
В меню «⋯» блока доступны действия:
- «Изменить родительскую» / «Как подзадачу» — открывают
SelectTaskDialogComponent(подгружается lazy) для выбора родительской задачи или переноса текущей задачи в подзадачи выбранной. - «Раскрыть в табличном виде» — открывает
SubtasksComponent(подгружается lazy) с полным списком подзадач и связей в табличном представлении с расширенным набором колонок.
Блок «Подзадачи»:
- Всегда показывает родительскую задачу (на один уровень выше текущей), если она есть.
- Для каждой задачи-родителя рассчитывается процент выполнения — доля закрытых подзадач среди всех подзадач любого уровня вложенности (округляется до целого числа).
- Кнопка «+» — быстрое создание новой подзадачи.
Блок «Связи»:
- Связанные задачи сгруппированы по типам проектных связей.
- По умолчанию показывает первые восемь задач; кнопка «Показать все» раскрывает полный список.
- Завершённые задачи выделяются серым цветом.
7. Правила порядка и связанные документы¶
Итоговый порядок блоков на форме формируется платформой по следующим правилам:
- Порядок формируется платформой единообразно для всех типов блоков.
- Системные блоки, у которых нет записи в
SubcatMtfSystemBlocksOrders, добавляются в список сOrder = null. - После перестановки значения порядков перезаписываются последовательно (
0..N) по всем типам. - Блоки «Подзадачи» и «Связи» учитываются в общем порядке наравне с системными блоками: их позиция хранится в
SubcatMtfSystemBlocksOrders(типMtfSystemBlockиз §1) и пересчитывается той же логикой платформы — несмотря на то, что они не входят вMtfSystemBlockTypes.
См. также: