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

Категории

Категория — это шаблон, по которому создаются задачи определённого вида: заявки, договоры, поручения, обращения и т. п. Категория определяет, как выглядит форма задачи, по какому маршруту она движется, какие у неё дополнительные поля (ДП), как отображается список задач и у кого есть к ним доступ.

Настройка категории — самый объёмный раздел администрирования: у одной категории сотни параметров. Этот документ помогает разобраться, где и как они настраиваются и как диагностировать проблемы.

Сокращения в документе:

  • ДП — дополнительные параметры (настраиваемые поля задачи);
  • НТФ — форма создания новой задачи;
  • МТФ — карточка (форма) открытой задачи;
  • БИ — блоки «Используется» (связанные задачи и объекты в карточке);
  • БП — бизнес-процесс.

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

Автоадминка (dbadmin)

Часть настроек категории доступна через формы автоадминки (dbadmin) по их alias:

Alias формы Название Таблица БД Полей Секций Где используется
subcategories Категории dbo.Subcategories 319 24 Основной массив флагов и параметров категории
categories Разделы dbo.Categories 15 1 Иерархия разделов (папок). Терминология: таблица Categories = Разделы, таблица Subcategories = Категории (см. глоссарий в корневом CLAUDE.md)
states Статусы dbo.States 21 1 Справочник статусов маршрута
bp-roles Роли dbo.BpRoles 6 1 Роли БП
bp-roles-groups Привязки групп к ролям dbo.BpRolesGroups 4 1 Связь ролей и групп
bp-roles-steps Привязка роли к переходу и подписи dbo.BpRolesSteps 10 1 Роли на шагах маршрута + подписи
subcat-notes Примечания dbo.SubcatNotes 8 1 Служебные заметки по категориям
subcat-state-hints Подсказки dbo.SubcatStateHints 5 1 UI-подсказки по статусам
signatures Подписи dbo.Signatures 3 1 Справочник подписей
technical-works Технические работы dbo.Subcategories 279 Срез для техработ и сервисной диагностики

EntityEditor

Сводные категории и их состояния настраиваются через EntityEditor:

Схема Таблица БД Назначение
summarycategories.json SummaryCategories Сводные категории, группы доступа, тип поиска
summarycategoriesstates.json SummaryStates Связи «сводная категория ↔ состояния категорий»

FormsGenerator

Контроллеры формы редактирования категории (API):

  • GET /api/admin/forms/scheme/SubCategory
  • GET /api/admin/forms/{entity}/{key}
  • POST /api/admin/forms/{entity}/{key}

Форма редактирования разбита на блоки (на эти имена ссылаются разделы «Где настраивается» ниже):

Блок (SchemeBlock) Порядок Фокус
stdHeaderMain 0 Основные свойства категории
stdHeaderTerms 1 Сроки, дедлайны, напоминания
stdHeaderWord 2 Word/редлайн/сравнение файлов
EditSubcat_Counters 3 Счетчики просмотров/комментариев/лайков
stdHeaderAuto 4 Автоматизация и SP-хуки
EditSubcategory2_PerformersSubscribers 5 Исполнители/подписчики/ограничения
stdHeaderTaskText 6 Текст задачи, комментарии, поиск

Поиск по полям формы. В верхней части формы редактирования настроек категории в AdminSPA доступно поле поиска — фильтрует список секций и полей среди 319 настроек по вхождению подстроки в название (регистр не учитывается). При непустом запросе секция отображается, если её название или название хотя бы одного поля внутри неё содержит подстроку.

Admin API

Программно категории настраиваются через Admin API:

Маршрут Методы Назначение
/api/admin/categories GET, POST, DELETE Управление разделами, копирование, массовые уведомления, отзыв прав
/api/admin/subcategories GET, POST Управление категориями (создание, копирование, удаление, очистка), зависимости Lookup, массовая генерация текста
/api/admin/subcategories/tree GET Полное дерево категорий для админки
/api/admin/subcategories/{subcatId} GET, POST Основные и доп. настройки, панель инструментов, начальный статус, порядок полей МТФ
/api/admin/subcategories/blocks* GET, POST, PUT, DELETE Блоки формы, таблицы в блоках, порядок и связи
/api/admin/subcategories/*/buttons GET, POST, DELETE Кнопки в карточке задачи
/api/admin/subcategories/*/files GET, DELETE Файлы категории и генерация шаблона DOCX
/api/admin/subcategories/{subcatId}/includes/* GET, POST, DELETE JS/CSS/HTML-вставки для НТФ/МТФ
/api/admin/subcategories/{subcatId}/news-settings GET Настройки новостных категорий
/api/admin/subcategories/{subcatId}/resources GET, POST Ресурсные категории и доступные ресурсы
/api/admin/subcategories/{subcatId}/survey-settings GET, POST Настройки опросов
/api/admin/subcategories/{subcatId}/universal-templates GET, POST Универсальные шаблоны и правила применения
/api/admin/subcategories/steps GET, POST, DELETE Переходы маршрута в категории
/api/admin/subcategories/steps/{stepId}/actions-with-ep GET, POST, DELETE Действия над ДП/файлами/шаблонами на переходах
/api/admin/states-routes/packs-on-events GET Пакеты действий до/после перехода
/api/admin/states-routes/{stepId}/ext-params GET, POST, DELETE Ограничения переходов по ДП
/api/admin/states-routes/{stepId}/subtasks GET, POST, PUT, DELETE Автоподзадачи на переходах

Для подкатегорий с чатовым типом представления в Admin SPA дополнительно отображается секция «Настройки МТФ-панели» (чекбокс showMtfPanel + мультиселект mtfPanelGroupIds). Хранение — dbo.Subcategories (ShowMtfPanel, MtfPanelGroupIds). API: GET/PUT /api/admin/subcat/{subcatId}/settings. Бизнес-правила видимости панели описаны в бизнес-документации чата, раздел «Видимость МТФ-панели».

Список категорий, создание и переход к настройкам

Все категории площадки собраны в реестре Категории и процессы (Администрирование → Категории). Для каждой категории в списке видны ID, наименование, модуль, раздел, описание, ответственная группа и режим отображения; в блоке действий доступна кнопка «Очистить», удаляющая все задачи категории.

Список категорий: ID, наименование, раздел, ответственная группа и действия

Чтобы найти категорию по номеру задачи, введите номер в поисковую строку над списком — система покажет категорию, которой принадлежит эта задача.

Поиск категории по номеру задачи в списке категорий

Создание категории

Новая категория создаётся кнопкой «Создать» в панели инструментов. В окне создания заполняют три поля: раздел, название категории и тип.

Окно создания категории: раздел, название категории и тип

Раздел — родительский раздел, в который попадёт категория (категория обязательно принадлежит какому-либо разделу). Выбирается из выпадающего списка с поиском по названию и по ID раздела.

Выбор раздела при создании категории

Тип определяет, как будет работать процесс и какие возможности появятся внутри категории: «Задачи» (по умолчанию), «Справочник», «Ресурсы», «Экземпляры ресурсов», «Пространство», «Чаты/каналы», «Новости», «Группы соц. сетей» и «Календарь». У каждого типа в списке есть краткое описание.

Выбор типа категории при создании

Копирование категории

Категорию можно создать копированием существующей: переносятся все настройки, ДП и автоматизации (включая смарты и статические подписи маршрута). Для этого служит кнопка «Копировать категорию» в панели инструментов.

Форма копирования категории

В окне копирования вводят название новой категории и выбирают категорию-источник.

Пример копирования категории: название копии и категория-источник

Главная страница настроек категории

Выбор категории в списке открывает её настройки — блоки «Основные настройки», «Настройки категории», «Доступ», «ДП», «Маршрут», «Смарты», «Формы» и «Уведомления». Отсюда же категорию можно удалить или очистить от задач.

Главная страница настроек категории с блоками настроек

Переход к настройкам категории из пользовательского интерфейса

Открыть настройки категории можно не только из режима администрирования, но и из пользовательского интерфейса.

Из дерева «Категории» в левом меню — через контекстное меню категории, пункт «Настройка».

Переход к настройкам категории из дерева категорий

Из табличного представления категории — пункт «Настройка» в меню доступных действий.

Переход к настройкам категории из списка задач категории

Из карточки задачи — пункт «Настройка» в списке действий панели инструментов.

Переход к настройкам категории из карточки задачи

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

1. Основные свойства категории

Где настраивается:

  • автоадминка: subcategories
  • FormsGenerator: stdHeaderMain
  • API: POST /api/admin/subcategories/{subcatId}/settings

Таблица БД: dbo.Subcategories

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

Поле Что контролирует
SubcatName Имя категории в UI
Details Описание категории
CategoryId Родительский раздел
OneFMainVisibilityMode Режим видимости в 1F-main
IsDictionary Режим справочника
IsCalendar Календарный тип
FileProviderId Провайдер файлов по умолчанию
ConfidentialMode Конфиденциальность

Зависимости между полями:

  • CategoryId обязателен при создании категории.
  • IsCalendar влияет на доступность смежных календарных сценариев и на требования к датам задач.

Форма «Общие настройки» категории: название, раздел, тип, владелец, режимы отображения и конфиденциальности

2. Блоки формы задачи (МТФ)

Где настраивается:

  • API: блоки формы
  • API: основные настройки (mtf/orderable-items, mtf/reorder-items)

Таблицы БД:

  • dbo.CustomTaskUsedAsEpBlockSettings
  • dbo.Subcategories (часть общих МТФ-флагов)

Ключевые поля/объекты:

Элемент Что контролирует
Блок формы Контейнер для ДП и таблиц
Таблица в блоке Настройка таблицы внутри блока
Порядок МТФ Порядок элементов на форме задачи
Кнопки формы Связанные действия в карточке (МТФ)

Зависимости между полями:

  • Порядок МТФ зависит от включенности и видимости блока.
  • Связи таблиц с блоками влияют на фактическое расположение ДП в карточке.

3. Исполнители и подписчики

Где настраивается:

  • FormsGenerator: EditSubcategory2_PerformersSubscribers
  • API: POST /api/admin/subcategories/{subcatId}/settings

Таблица БД: dbo.Subcategories (+ связи по группам/подписям)

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

Поле Что контролирует
PerformerMode Режим автоподстановки исполнителей
DoNotSelectOwner Не подставлять заказчика автоматически
RestrictPerformerRemove Ограничить удаление исполнителей
AllowGroupSubcription Разрешить подписку группами
AllowMultiFinished Режим мультизавершения
MultiFinishAction Поведение после завершения участником
AllowSetSinglePerformer Принудительно один исполнитель
SpecialUsersSmartExpressionId Смарт-определение спецпользователей
PerformersRestrictionSmartExpressionId Смарт-ограничение набора исполнителей

Зависимости между полями:

  • DelegateTaskConfirmSignature → либо DelegateTaskConfirmSignatureId, либо DelegateTaskConfirmSignatureSmartExpressionId.
  • TaskOwnerChange → либо TaskOwnerChangeConfirmSignatureId, либо TaskOwnerChangeSmartExpressionId.
  • AllowMultiFinished открывает смысловую зависимость с MultiFinishAction.

4. Текст задачи и комментарии

Где настраивается:

  • FormsGenerator: stdHeaderTaskText
  • API: /settings, /settings/set-task-text-uniqueness, /generate-task-descriptions-by-template

Таблица БД: dbo.Subcategories

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

Поле Что контролирует
SubcatTextMode Режим работы с текстом задачи
DefaultText Дефолтный шаблон текста
TaskTextMaxLength Лимит длины текста
AllowHTMLTaskText HTML-режим ввода
AllowImagesInTaskText Картинки в тексте
OwnerCanChangeText / AdminCanEditText / SubscriberCanEditText / AnyoneCanEditText Модель редактирования текста
EnableComments / EnableCommentsEdit / DenyEnterComments Поведение комментариев
HideSystemComments Скрытие системных комментариев
TaskTextSearchType Тип поиска по тексту

Зависимости между полями:

  • При включении уникальности текста через API возможны блокировки создания дублей.
  • Массовая генерация текста зависит от шаблона и ДП категории.

5. Сроки и таймеры

Где настраивается:

  • FormsGenerator: stdHeaderTerms
  • API: POST /api/admin/subcategories/{subcatId}/settings

Таблица БД: dbo.Subcategories

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

Поле Что контролирует
SrokMode Модель срока/дедлайна
DefaultDurationMode Дефолтная длительность
MinSrok Минимальный срок
RecommendedDueDate Рекомендованный срок
AllowChangeDuration Разрешение менять длительность
AllowSetTaskStartTime Разрешение задавать старт
AllowSetTimeParamsInPast Разрешить прошлые даты
SrokControl Напоминание/контроль до срока
Smart25/Smart50/Smart75/Smart100 Процентные напоминания
ExcludeFromOverdueReport Исключение из отчёта просрочки

Зависимости между полями:

  • ChangeDueConfirmChangeDueConfirmSignatureId или ChangeDueConfirmSignatureSmartExpressionId.
  • Ограничения на прошлые/рабочие интервалы влияют на доступность ручной коррекции сроков.

6. Статусы и переходы

Где настраивается:

  • автоадминка: states, bp-roles, bp-roles-groups, bp-roles-steps, subcat-state-hints
  • API: переходы маршрута

Таблицы БД:

  • dbo.States
  • dbo.StatesRoutesInSubcat
  • dbo.BpRoles
  • dbo.BpRolesGroups
  • dbo.BpRolesSteps
  • dbo.SubcatStateHints

Ключевые поля/объекты:

Элемент Что контролирует
Переход Переход между статусами
Роли (BpRoles) Ролевая модель на переходах
Действия по ДП Действия по ДП на переходе
Ограничения перехода Блокирующие проверки перед переходом
Автоподзадачи Автосоздание подзадач на переходе
Пакеты действий Пакеты смарт-действий до/после шага

Зависимости между полями:

  • Ограничения по ДП и actions-with-ep привязаны к конкретному stepId.
  • Пакеты действий привязываются к событиям BeforeTaskStep / AfterTaskStep.

Маршрут категории и дизайнер

Маршрут (жизненный цикл) настраивается отдельно для каждой категории на вкладке «Маршрут» и состоит из переходов между статусами. При создании категории маршрут настроен по умолчанию.

Маршрут категории по умолчанию (граф статусов и переходов)

В графическом дизайнере маршрута статусы создают и редактируют в окне свойств статуса: имя, цвет, почтовые сообщения и комментарии при переходе в статус.

Окно свойств статуса (создание статуса в дизайнере маршрута)

Через панель инструментов дизайнера создают новый статус, добавляют существующий и добавляют переход. Эти кнопки активны только в режиме «Показать полный маршрут»: пока у категории настроен основной маршрут, добавление статусов и переходов скрыто.

Кнопки перехода

Каждому переходу соответствует кнопка на карточке задачи; текст кнопки — это название перехода. По умолчанию кнопки выводятся в начале формы.

Кнопки перехода в начале формы задачи

Положение меняется опцией категории «Положение кнопок переходов и смарт-кнопок» (секция «Карточка задачи»); вариант «В конце формы» выводит блок кнопок после всех ДП, перед лентой сообщений.

Кнопки перехода в конце формы задачи

Таблица переходов

Маршрут в табличном виде: каждая строка — переход из статуса (колонка «Из статуса») в целевой («В статус») с текстом кнопки, переопределением права на переход (колонка «Право»), сроком перехода, признаком активности (колонка «Активна») и автоматически присваиваемым ID. Над таблицей — кнопки «Добавить переход», «Восстановить по умолчанию», «Удалить выбранные переходы».

Таблица переходов маршрута категории

Начальный статус и шаг при постановке

Начальный статус по умолчанию — «Новая»; в опции «Произвольный статус начала маршрута» над таблицей можно выбрать другой начальный статус (только из статусов с типом «Начальный»).

Выбор произвольного статуса начала маршрута

Опция «Шаг при постановке» задаёт автоматический переход сразу после создания задачи (из переходов начального статуса). ⚠️ У создающего задачу должно быть право на этот переход.

Выбор шага при постановке

Тот же автопереход можно реализовать иначе — пакетом смарт-действий на событии «После создания задачи» (вкладка «Смарт»); это удобно, когда переход нужен по условию или не из статуса «Новая».

Настройка перехода

Клик по строке таблицы открывает настройки перехода. Окно состоит из вкладок: «Настройки», «Подзадачи на переходе», «Подписи на переходе», «Доп. параметры», «Действия с ДП», «Смарты на переходе».

Окно настройки перехода — вкладка «Настройки»

На вкладке «Настройки» задаются параметры самого перехода:

  • Кнопка и порядок — название кнопки, описание (подсказка), порядок среди кнопок.
  • Автоисполнитель — кто становится исполнителем после перехода (нажавший кнопку или роль). Вариант «берётся из ДП» работает только с ДП-списком, в значениях которого указаны ID пользователей; настройка «Действия при автоназначении» решает судьбу прежних исполнителей (оставить или удалить, назначить ответственным).
  • Срок перехода и «Альтернативный переход при просрочке» — по истечении срока задача автоматически уходит в указанный статус; если он не задан, задача остаётся в текущем статусе, а срок на кнопке становится красным.
  • Флаги: «Сбросить срок» (очищает срок; для просроченных запрашивает причину), «Кнопка скрыта» (кнопка не отображается, но переход остаётся доступен в ленте маршрута, в дизайнере — пунктиром), «Требовать комментарий при переходе», «Назначить заказчика исполнителем», «Автоматически делать переход при завершении всех подзадач».
  • «Изменить текст задачи» — подставляет новый текст по шаблону (не действует, если в категории включена автогенерация текста по ДП). «Перейти по ссылке после перехода» — смарт-выражение формирует URL или номер задачи, куда перейти после нажатия.
  • «Сквозное согласование» — переход выполняется независимо от резолюций акцептантов; «Разовое согласование» — подпись не запрашивается повторно у акцептанта, уже давшего положительную резолюцию (действует на все подписи перехода).

Блок «Ограничить доступ» управляет видимостью кнопки: смарт-фильтр видимости плюс матрица переопределения права. В режиме «По умолчанию» кнопка видна только пользователям с правом «Исполнять» в категории; служебные пользователи (Робот1Ф) выполняют переходы всегда.

⚠️ Поле «Процедура при переходе (SQL)» оставляйте пустым — оно предназначено только для сертифицированных специалистов разработчика; произвольный SQL здесь может повредить данные.

⚠️ Принудительная смена статуса (правка поля «Статус» в карточке) доступна только администратору категории и не запускает автоматизации перехода — подписи, проверки и изменения ДП, смарты; использовать только для исправления ошибок.

Подзадачи на переходе

Автосоздание подзадач или связанных задач после выполнения перехода.

Вкладка «Подзадачи на переходе»

Новая подзадача добавляется кнопкой «Добавить подзадачу» — сначала указывается категория.

Создание подзадачи на переходе: выбор категории

На вкладке «Основное» задают текст задачи (с подстановкой $ExtNДП из родителя), срок, условие создания, заказчика и флаги (связанная задача, копировать подписчиков, переносить вложения).

Создание подзадачи на переходе — вкладка «Основное»

⚠️ Флаг «Связанная задача» создаёт связанную (а не дочернюю) задачу; при его включении в родительской задаче перестаёт работать автопереход по завершении всех подзадач.

Вкладка «Параметры» — источник значения каждого ДП подзадачи: Автоматически / Фиксированное значение / из ДП родительской задачи.

Подзадача на переходе — вкладка «Параметры»

Вкладка «Исполнители» — кто назначается исполнителем подзадачи (группа, заказчик родительской, роль и т. д.).

Подзадача на переходе — вкладка «Исполнители»

Подписи на переходе

Запрос подписей (согласование) при переходе — статический или динамический маршрут согласования.

Вкладка «Подписи на переходе»

Новая подпись создаётся в форме с вкладками «Основное», «Обязательные ДП», «Информационные ДП», «Условия запроса», «Настройки ЭП».

Форма создания подписи при переходе

Порядок подписей задаёт поле «Этап согласования» на вкладке «Основное»: одинаковый номер этапа — подписи запрашиваются параллельно, разные номера — последовательно. Вкладка «Настройки ЭП» появляется только при включённом флаге «ЭЦП».

Обязательные ДП — параметры, которые акцептант должен заполнить до вынесения резолюции.

Обязательные ДП подписи на переходе

Информационные ДП — значения, видимые акцептанту при запросе подписи (не поддерживаются типы «Большой текст с форматированием», «Таблица», «Выбор пользователей», «Адрес», «Дерево»).

Информационные ДП подписи на переходе

Динамический маршрут согласования формируется SQL-процедурой в момент перехода (опция «Сервис определения подписей на переходе» = «Маршрут из sql запроса»).

Настройка динамического маршрута согласования

Флаг «Кешировать полный маршрут согласования» фиксирует настройки маршрута на момент старта согласования: правки, внесённые по ходу, применятся только в следующем цикле.

Доп. параметры (обязательные на переходе)

ДП, обязательные к заполнению для выполнения перехода.

Вкладка «Доп. параметры» настройки перехода

Обязательный ДП добавляется выбором из списка над таблицей и кнопкой «Создать».

Добавление обязательного параметра на переходе

При наведении на кнопку перехода пользователь видит список незаполненных обязательных полей; при попытке перейти они подсвечиваются красным.

Обязательные поля в пользовательском интерфейсе

Действия с ДП

Действия с ДП типа «Файл» на переходе: сгенерировать файл по шаблону и вложить его в задачу или в ДП, ограничить доступ к файлу.

Вкладка «Действия с ДП»

Новое действие создаётся заполнением параметров и кнопкой «Создать действие» (генерация по шаблону, выбор действий, ограничение доступа, имя файла-результата).

Создание нового действия с ДП

Флаг «Шаблон находится в доп. параметре» переключает источник шаблона: включён — шаблон берётся из выбранного ДП, выключен — выбирается готовый шаблон. Уровень защиты результата задаёт «Ограничить доступ к файлу»: без защиты, только чтение (с паролем или без), отслеживание изменений, комментирование.

После создания действие появляется в таблице.

Действие с ДП создано

Смарты на переходе

Смарт-пакеты, привязанные к событиям «Перед переходом» и «После перехода» (те же пакеты доступны и на вкладке «Смарт» категории — здесь вынесены для удобства).

Вкладка «Смарты на переходе»

Если на переходе настроены и подпись, и смарты, действия выполняются по порядку: акцепт подписи → смарт-действия после подписания статической подписи → переход по маршруту → смарт-действия после перехода.

7. Файлы и вложения

Где настраивается:

  • FormsGenerator: FileProviderId, Word-блок
  • API: файлы категории
  • API: действия по ДП на переходах (файловые действия на шагах)

Таблицы БД:

  • dbo.Subcategories
  • dbo.Signatures (косвенно для сценариев подписи файлов)
  • профильные таблицы вложений (через file services)

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

Поле/объект Что контролирует
FileProviderId Где хранить вложения категории
AllowDeleteFiles (AllowDeleteFilesEnum) Разрешение удаления файлов. Влияет на блок «Файлы» задачи и на кнопку удаления в ДП типа «Файл» и «Мультифайл». Значения: Allow (0), Disallow (1), DefineBySmartExpression (2). При DefineBySmartExpression: смарт-выражение возвращает true — запрещено, false — разрешено.
AllowDeleteFilesSmartExpressionId ID смарт-выражения для режима DefineBySmartExpression
ForbidUploadFilesIntoClosedTasks Блок загрузки в закрытых задачах
AutoDeletePrevVersionsOfFiles Автоудаление старых версий
DisallowProtectedDocx / DisallowEmbeddingsInDocx Ограничения Docx
GenerateSubcategoryTemplate Генерация DOCX-шаблона категории

Зависимости между полями:

  • Ограничения Docx и Word-сценарии актуальны только в категориях с соответствующим процессом документов.

8. Подписи

Где настраивается:

  • автоадминка: signatures, bp-roles-steps
  • FormsGenerator: поля *ConfirmSignature*, StepSignsFromSysRobot, DeclineSignatureFromSysRobot
  • API: маршруты/шаги и роли БП

Таблицы БД:

  • dbo.Signatures
  • dbo.BpRolesSteps
  • dbo.Subcategories

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

Поле Что контролирует
AllowSignatureRevoke Разрешение отзыва подписи
AllowSignatureRevokeByAcceptors Отзыв акцептантами
AllowSignatureRevokeByOwner Отзыв заказчиком
AllowSignatureRevokeByRequester Отзыв инициатором
DelegateTaskConfirmSignatureId Подпись при делегировании
TaskOwnerChangeConfirmSignatureId Подпись при смене заказчика
ChangeDueConfirmSignatureId Подпись при смене срока

Зависимости между полями:

  • Для каждой проверки подтверждения выбирается источник: статическая подпись (...SignatureId) или смарт-выражение (...SmartExpressionId).

9. Шаблоны задач

Где настраивается:

  • API: универсальные шаблоны
  • API: категории и разделы (auto-task-text-template, массовая генерация)

Таблицы БД:

  • таблицы контура TaskUniversalTemplates
  • dbo.Subcategories (часть template-related параметров)

Ключевые поля/объекты:

Элемент Что контролирует
Шаблон задачи Шаблоны создания задач
Правило применения Правила применения шаблонов
Генерация шаблона Генерация шаблона по структуре категории
auto-task-text-template Шаблон автогенерации текста

Зависимости между полями:

  • Правила шаблонов привязаны к категории и могут конфликтовать по приоритету.

10. JS/CSS вставки

Где настраивается:

  • API: JS/CSS-вставки

Таблицы БД: таблицы контура вставок (includes)

Ключевые поля/объекты:

Объект Что контролирует
GET .../includes/ntf Вставки на форму создания задачи (НТФ)
GET .../includes/mtf Вставки на карточку задачи (МТФ)
SubcatIncludeType Тип/режим отображения вставки

Зависимости между полями:

  • Одна и та же вставка может иметь разные типы отображения для НТФ и МТФ.

11. Опросы и новости

Где настраивается:

  • API: настройки опросов
  • API: настройки новостей
  • API: категории и разделы (/news)
  • EntityEditor: summarycategories* (для сводных категорий состояний)

Таблицы БД:

  • SummaryCategories / SummaryStates
  • настройки новостей/опросов через профильные сервисы

Ключевые поля/объекты:

Элемент Что контролирует
Настройки новостной категории Поведение новостной категории
Настройки опросов Шаблон и условия опросов
AllowPartialSurveyComplete Разрешить частичное прохождение опроса: участник может закрыть опрос на середине, промежуточные ответы автоматически сохраняются, финал фиксируется только при нажатии «Готово». При false опрос должен быть пройден за одну сессию
TaskTextSearchType (сводная категория) Поиск в сводной категории
SummaryCategoryIDSummaryStates Состояния, включённые в сводку

Smart-события при прохождении опроса:

Когда срабатывает EventID / код
Промежуточное автосохранение ответов (IsComplete = false, есть изменения) 187AfterSurveyResultUpdated
Финальное «Готово» (IsComplete = true) 188AfterSurveyCompleted + custom event SURVEY_RESULT (для смарт-пакетов «После завершения опроса»)

AfterSurveyCompleted и SURVEY_RESULT срабатывают на финальное «Готово» независимо от настройки AllowPartialSurveyComplete. Повторное нажатие «Готово» по уже завершённому опросу отбивается ошибкой SurveyHasAlreadyBeenCompleted — событие не дублируется.

Зависимости между полями:

  • Сводная категория зависит от выбранных состояний и привязанных групп доступа.

12. Кнопки действий

Где настраивается:

  • API: кнопки действий

Таблицы БД: контур пользовательскых кнопок (TaskFormCustomButton*)

Ключевые поля/объекты:

Элемент Что контролирует
Создание кнопки Параметры создаваемой кнопки
Условия кнопки Условия показа и действия
Список кнопок Список кнопок категории
buttons/update Изменение кнопок без редактирования категории целиком

Зависимости между полями:

  • Видимость кнопки зависит от её условий и от структуры переходов/ролей.

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

Частые проблемы настройки категории и где их проверять:

Симптом Причина Где проверить SQL-диагностика
Не видны нужные блоки/ДП в карточке Нарушен порядок МТФ или связи блок-таблица блоки формы + subcategories select top 100 * from dbo.CustomTaskUsedAsEpBlockSettings where SubcatID = @SubcatId order by SortOrder;
Переход не срабатывает Ограничение по ДП на шаге или неверный role-step states-routes*, bp-roles-steps select * from dbo.BpRolesSteps where StepId = @StepId;
Нельзя делегировать/сменить заказчика Включено подтверждение подписью, но не настроен источник подписи блок исполнителей в FormsGenerator select top 1 SubcatId, DelegateTaskConfirmSignatureId, TaskOwnerChangeConfirmSignatureId from dbo.Subcategories where SubcatId = @SubcatId;
Невозможно загрузить файл в закрытой задаче Активен запрет для закрытых задач subcategories / files settings select SubcatId, ForbidUploadFilesIntoClosedTasks from dbo.Subcategories where SubcatId = @SubcatId;
Массовая генерация текста изменила все задачи не так, как ожидалось Ошибка в шаблоне автотекста generate-task-descriptions-by-template select SubcatId, AutoTaskTextTemplate from dbo.Subcategories where SubcatId = @SubcatId;
Категория «пропала» из нужного дерева Сбита привязка к разделу или видимость categories + subcategories select s.SubcatId, s.CategoryId, c.Name as CategoryName from dbo.Subcategories s left join dbo.Categories c on c.CategoryId = s.CategoryId where s.SubcatId = @SubcatId;

SQL-диагностика метамодели админки

Проверка, какими формами и полями управляется категория:

select
    af.Alias,
    af.Name,
    do.FullObjectName,
    afc.CountColumns,
    afs.CountSections
from dbadmin.AdminForms af
left join (
    select FormId, count(1) as CountColumns
    from dbadmin.AdminFormSectionColumns
    group by FormId
) afc
    on afc.FormId = af.Id
left join (
    select FormId, count(1) as CountSections
    from dbadmin.AdminFormSections
    group by FormId
) afs
    on afs.FormId = af.Id
left join dbadmin.DbaObjects do
    on do.Id = af.DbaObjectId
where af.Alias in (
    'subcategories',
    'categories',
    'states',
    'bp-roles',
    'bp-roles-groups',
    'bp-roles-steps',
    'subcat-notes',
    'subcat-state-hints',
    'signatures',
    'technical-works'
)
order by af.Alias;

Проверка зависимостей полей в форме subcategories:

select
    dep.AdminFormSectionColumnId as ColumnId,
    dep.DependsOnColumnId,
    dep.OperationType,
    dep.Value,
    dep.DependencyRuleType
from dbadmin.AdminFormSectionColumnsDeps dep
where dep.FormId = (
    select top 1 af.Id
    from dbadmin.AdminForms af
    where af.Alias = 'subcategories'
)
order by dep.AdminFormSectionColumnId;

Admin API — создание категорий и разделов

Создание раздела (Category)

Раздел создаётся запросом:

POST("/api/admin/categories", {
    "CategoryName": "Название раздела"  # НЕ "Name"!
})

Создание категории (Subcategory)

Категория создаётся запросом:

POST("/api/admin/subcategories", {
    "SubcategoryName": "Название категории",  # НЕ "Name"!
    "CategoryID": category_id  # Поле БД: CategoryId; в API принимается как CategoryID
})

Создание переходов (StateRoutes / Steps)

Переходы маршрута создаются запросом:

POST("/api/admin/subcategories/steps", {
    "SubcatID": subcat_id,
    "StateID": state_id,
    "HiddenStep": False  # ОБЯЗАТЕЛЬНО — bool?, NULL → InvalidCastException
})

Системные steps создаются автоматически при создании категории (stateId:1 «Новая», stateId:2 «Завершена»). Повторный вызов с теми же stateId → 500.

Типичные ошибки Admin API категорий

Частые ошибки при работе с Admin API категорий:

Проблема Причина Решение
Name → 500 Поле называется CategoryName / SubcategoryName Использовать точные имена полей (см. примеры запросов выше)
HiddenStep не передан → InvalidCastException bool? → NULL в БД → ошибка приведения типа Всегда передавать HiddenStep: false
500 при создании step Дубль stateId (системные steps уже созданы) Проверять наличие перед созданием

13. Дополнительные параметры (ДП) в категории

Дополнительные параметры (ДП) — настраиваемые поля задачи помимо системных: они определяют, какие данные собираются в категории, как они отображаются на форме и в карточке задачи и кто имеет к ним доступ.

Привязка ДП к категории и все их настройки описаны в профильном домене ДП — ext-params/admin.md → «Привязка ДП к категории».


14. Блоки «Используется» (БИ)

БИ отображают связанные задачи и объекты (письма, звонки, файлы) в карточке задачи.

В карточке задачи блок «Используется» выглядит как отдельный список связанных задач или объектов с собственной панелью инструментов и (при настройке) кнопкой «Создать».

Блок «Используется» в карточке задачи (пользовательский режим)

Где настраивается:

  • UI: настройки категории → «Блоки Используется»
  • API: блоки формы

Таблицы БД: dbo.CustomTaskUsedAsEpBlockSettings, dbo.EpBlockSettingsToBlocks

Все блоки БИ категории собраны в списке: идентификатор, имя, порядок на форме и признаки сворачивания. Новый блок создаётся кнопкой «Создать».

Список блоков «Используется» в категории

Настройки блока

Параметры блока «Используется» (БИ):

Параметр Описание
ID Присваивается автоматически при создании
Имя Название блока
Порядок на форме Общий порядок с блоками ДП (порядок 1 выше порядка 2)
Может сворачиваться / По умолчанию свернут Управление раскрытием
Доступен по смарт-фильтру Видимость блока по условиям (пользователь, параметры задачи). Недоступно при создании — задаётся на форме редактирования
Видимость Скрыта / Только мобильный / Только веб / Отображать везде. Приоритет над смарт-фильтром. Недоступно при создании — задаётся на форме редактирования
Вид отображения Таблица (стандартный список), Формы задач подряд (последовательность карточек), Галерея задач (в разработке)

Новый блок создаётся в форме с полями «Имя», «Порядок на форме» и флагами сворачивания.

Форма создания блока «Используется»

Существующий блок редактируется на вкладке «Редактировать блоки»: сверху — параметры блока, снизу — список его вкладок.

Редактирование настроек блока «Используется» и список его вкладок

В виде отображения «Таблица» связанные задачи показываются стандартным списком.

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

В виде «Формы задач подряд» каждая связанная задача выводится отдельной карточкой без панели инструментов и ленты комментариев; ДП, ресурсы и вложения можно редактировать прямо из блока, как в форме задачи. Если в блоке одна таблица — задачи показываются раскрывающимися блоками с заголовком «имя БИ + номер»; если таблиц несколько — единой лентой с горизонтальными разделителями.

Вид отображения «Формы задач подряд»

Если у категории-источника включено «Скрыть текст задачи» и задано «Название сущности», это название показывается вместо имени блока БИ. Если в категории-источнике задан «Текст кнопки постановки», он используется как надпись кнопки создания задачи из БИ.

Источники данных вкладки БИ

Вкладка БИ может брать данные из разных источников:

Тип источника Описание
Связанная категория Категория с Lookup-ДП на данную. При создании из БИ — автозаполнение Lookup. В выпадающем списке доступны только категории, где уже есть такой Lookup-ДП (иначе сначала создайте его в категории-источнике)
Хранимая процедура SQL Обязательные параметры: @UserID, @TaskID, @UserNameMode, @ShowAllTasks, @StartIndex, @EndIndex. Обязательные поля: TaskID, IsOverdue, StateID, PriorityID, IsClosed, IntColor, FinishWork, ParentTaskID. Опционально: TaskIdToDrillDown (int) — цель перехода при клике. Для корректной группировки/фильтрации переведите вкладку на «Произвольный источник»
Произвольный источник ХП с произвольными колонками. @UserID обязательно, @TaskID опционально
Смарт-фильтр Отбор задач из любых категорий. Поле «Категория» определяет куда ставить новые задачи
Существующая таблица Повторное добавление вкладки из другого БИ. Одна таблица может быть в нескольких блоках, но в одном блоке — только один раз

⚠️ БИ работает с уникальными TaskID — основной TaskID должен быть уникален для каждой строки набора данных (повторы допустимы только в колонке TaskIdToDrillDown).

Новая вкладка добавляется на вкладке «Добавить таблицу в блок»: выбирают тип источника, блок, категорию и параметры отображения.

Добавление таблицы (вкладки) в блок «Используется»

Настройки вкладки

Параметры вкладки БИ:

Параметр Описание
Имя Название вкладки; если не задано — берётся имя источника (только для SQL и Smart)
Показывать только активные На вкладке только незавершённые задачи (только для связанных категорий)
Категории источники Мультивыбор категорий; для оптимизации запросов данных
Показывать кнопку «Создать» Да / Нет / Smart+TSql. Кнопка видна только пользователям с правом создавать задачи в категории
Пакетная обработка Кнопка пакетной обработки на панели инструментов. Для SQL/Smart источников — ограниченный набор операций
Режим выбора Выбор задач для пакетной обработки
Тип контента Задача / Прочее (для SQL-источников)
Брать ссылку из Колонка набора данных со ссылкой; по клику на строку открывается она вместо карточки задачи (только SQL)
Открывать ссылку в По умолчанию (по профилю) / Новое окно / Модальное окно (только SQL)
Приоритетный режим таблицы Прямое редактирование (двойной клик → edit, только при праве менять параметр) или Просмотр (клик → карточка). По умолчанию «Не указано» — применяется режим из РМ группы «Приоритет режима редактирования»
Не закрывать окно после создания Задача остаётся в модальном окне
Видимость Скрыта / Только мобильный / Только веб / Везде. Приоритет над смарт-фильтром видимости

Существующая вкладка редактируется в отдельном окне — те же параметры источника, кнопки «Создать», режима таблицы и видимости.

Редактирование таблицы (вкладки) блока

Форма быстрой постановки

Флаг IsQuickCreateForm в CustomTaskUsedAsEpBlockSettings. Показывает краткую форму (системные поля + обязательные ДП). Недоступна если есть обязательные ДП типа Таблица или Multilookup. Только для БИ на категорию.

При включённой быстрой постановке кнопка «Создать» открывает краткую форму — только системные поля (в зависимости от настроек категории) и обязательные при создании ДП.

Краткая форма постановки задачи из блока «Используется»

В выпадающем меню у кнопки «Создать» остаётся пункт «Полная форма» — для открытия полной карточки постановки.

Пункт «Полная форма» в выпадающем меню кнопки «Создать»

Итоги (агрегаты)

CustomSetting DataSourceAggregates:

[{"type": "taskUsed", "id": 39, "gridTotalColumns": {"ExtParam1709": ["sum", "avg"]}}]
Поддержка: sum, avg, min, max. Для ДП — ключ ExtParam{ID}, для системных — имя параметра (overallPlan, overallFact).

Связь БИ-таблицы с блоком ДП

Одна таблица БИ (режим «Таблица») может быть встроена внутрь блока ДП — отображается рядом с полями. Порядок блоков ДП и БИ — общий.

Встраивание включается в настройках блока ДП опцией «Связь таблицы БИ с блоком ДП» (доступно только для БИ с видом отображения «Таблица»).

Опция «Связь таблицы БИ с блоком ДП» в настройках блока ДП

После связывания таблица БИ отображается внутри блока ДП рядом с его полями.

Таблица БИ, встроенная в блок ДП

UI-переход к настройкам

Открыть настройки БИ можно из пользовательского интерфейса: ПКМ на блоке в карточке задачи → «Настройки» — откроется соответствующий раздел администрирования. Пункт «Настройки» в контекстном меню доступен только администраторам.

Переход к настройкам блока «Используется» из карточки задачи


15. Смарт-кнопки

Кнопки действий в карточке задачи и в статьях пространств.

Где настраивается:

  • UI: настройки категории → вкладка «Кнопки»
  • API: кнопки действий

Таблицы БД: контур TaskFormCustomButton*

Смарт-кнопки настраиваются в настройках категории на вкладке «Кнопки» — здесь их список и кнопка «Создать». По умолчанию кнопки выводятся в начале формы вместе с переходами по маршруту; их положение меняется опцией категории «Положение кнопок переходов и смарт-кнопок» (секция «Карточка задачи»).

Список смарт-кнопок категории (вкладка «Кнопки»)

Основные параметры кнопки

Основные параметры смарт-кнопки:

Параметр Описание
Имя Текст кнопки (или tooltip при наличии иконки)
Описание Всплывающая подсказка
Иконка Из набора /spa/content-icons
Порядок Порядок среди кнопок
Видимость Скрыта / Только мобильный / Только веб / Отображать везде. Приоритет над всеми остальными настройками видимости
Отображать в «Других действиях» Группировка в выпадающее меню. Доступно только при Видимость = «Только веб» / «Отображать везде». Название меню задаётся опцией категории «Другие действия»

Новая кнопка создаётся кнопкой «Создать» — в окне свойств задают имя, описание, иконку, порядок, видимость, действие (JS/пакет/URL), права и связь с ДП/БИ.

Окно свойств настраиваемой кнопки

Действие кнопки

Действие кнопки задаётся одним из вариантов:

Вариант Описание
JavaScript выражение Скрипт при нажатии
Пакет действий Глобальный или локальный пакет смарт-действий
URL Произвольная ссылка / Форма новой задачи / Форма задачи / Раздел / Категория. FastReport: /reports/view/{id}/print-form. onlyCloseAfterCreate=true — закрыть модалку без редиректа (только для ссылок в модальном окне). Для «Форма новой задачи» — смарт-выражения: Категория (обяз.), Задача-источник/Подзадача/Связанная (опц.); ДП переносятся из задачи-источника
Открывать ссылку в В текущем окне / В модальном окне / В новом окне — способ открытия URL

⚠️ Если указаны и JS/пакет, и URL — сначала JS/пакет, затем URL. Ошибка JS → переход по URL не выполняется.

Режим недоступности

Поведение недоступной кнопки:

Параметр Описание
Сообщение пользователю Текст или смарт-выражение при нажатии на недоступную кнопку
Смарт-фильтр активности true → доступна, false → недоступна
Скрыть по смарт-фильтру При false — кнопка полностью скрыта

Права на кнопку

Доступ к кнопке:

  • По умолчанию — только с правом «Исполнять». Робот1Ф всегда имеет доступ
  • Матрица доступа — статусы × группы/роли/права

Матрица настраивается по кнопке «Настройка прав доступа»: статусы × группы/роли/права, иконка 👁 — просмотр, ✏️ — редактирование.

Настройка прав доступа к кнопке (матрица по статусам)

Связь с ДП и БИ

Кнопку можно привязать к полю ДП или таблице БИ:

  • С ДП — кнопка рядом с полем (одна кнопка ↔ несколько ДП и наоборот). С иконками — друг за другом, без иконок — свёрнуты в «Действия». Для «Большой текст» — max 2 кнопки напрямую, с 3-й переносятся в «Действия»; длинный текст кнопки обрезается (полный — в подсказке)
  • С таблицами БИ — кнопка в панели инструментов блока (одна кнопка ↔ несколько таблиц и наоборот)

С иконками кнопки выводятся рядом с ДП друг за другом.

Пример отображения кнопок с иконками рядом с ДП

Без иконок кнопки сворачиваются в меню «Действия».

Пример отображения кнопок без иконок (меню «Действия»)

Привязанная к таблице БИ кнопка отображается в панели инструментов блока.

Пример кнопки в панели инструментов блока «Используется»

Созданная кнопка появляется в списке; чтобы изменить её — кликните по строке (удаление — через контекстное меню строки).

Редактирование кнопки

Кнопки в пространствах

Доступны через иконку действий в статье. иконка по умолчанию из /spa/content-icons. Отделены от стандартных действий горизонтальной чертой. Кнопки можно сгруппировать в «Другие действия», как в карточке задачи.

Пример смарт-кнопок в статье пространства

Автоматически создаваемые кнопки

Пример: «Пройти опрос» при включении режима опросов, «Редактор» для категории-справочника опросов.

UI-переход к настройкам

Открыть настройки кнопки можно из пользовательского режима: ПКМ на кнопке в карточке задачи → «Настройки» (доступно только администраторам).

Переход к настройкам кнопки из карточки задачи


16. Опросы

Двухкатегорийная архитектура: справочник опросов + категория прохождения.

Где настраивается:

  • UI: настройки категории → вкладка «Опросы»
  • API: настройки опросов

Таблицы БД: dbo.Surveys, dbo.SurveyQuestions, dbo.SurveyResults, dbo.SurveyResultQuestions

⚠️ Не путать с опросами в сообщениях (чаты/соцсеть) — там таблицы Polls, PollsQuestions, PollsQuestionsAnswersOptions, PollsResponses.

Режим «Опросы» (категория-справочник)

Автосоздаётся смарт-кнопка «Редактор» с URL /spa/survey/creator/?surveyTaskId={surveyTaskId}. Настройки кнопки можно корректировать (видимость, статусы и т.д.).

Режим «Прохождение опросов» (категория-исполнитель)

Требует ДП Lookup (источник — категория-справочник), указанный в «Выбор опроса».

Параметр Описание
Разрешить частичное прохождение Автосохранение каждого ответа, возврат к прерванному месту. Если выключено — сохранение только по кнопке «Готово»
Опрос — настройка доступа Матрица доступа к кнопке прохождения (статусы × группы/роли). По умолчанию — доступно всем
Результат — настройка доступа Матрица доступа к блоку результатов. По умолчанию — доступно всем

Кнопка «Пройти опрос» доступна только исполнителю. В результатах — только показанные вопросы с записанными ответами (включая пустые). Скрытые по условиям вопросы не выводятся.

События автоматизации

При работе с опросом доступны события автоматизации:

  • «После завершения опроса»
  • «После обновления результата опроса»

17. Права доступа к категории

Вкладка «Доступ» в настройках категории. Детальная матрица 12 прав — см. ../permissions/admin.md.

Где настраивается:

  • UI: настройки категории → вкладка «Доступ»
  • UI: настройки группы → «Права на категории»

Два режима просмотра: «По группам» и «По правам». Поиск групп — по названию и ID.

Права группы на категории: вкладка «Права на категории» с режимами «По группам» / «По правам»

12 прав на категорию

Полный набор прав, выдаваемых группам на категорию:

Право Описание
Администратор задач Менять любые параметры, удалять задачи/комментарии, принудительные переходы, редактировать пространства
Администратор категории Настройка категории (кроме ДП, удаления, маршрута), смарт-поиск, табличный вид
Добавлять и менять акцептантов Делегирование подписей, добавление акцептантов
Запретить экспортировать в Excel Блокировка выгрузки
Исполнять Работа с задачами, переходы по маршруту
Менять заказчика Смена заказчика задачи
Редактировать исполнителей Назначение/удаление исполнителей, трудозатраты за других
Пакетная обработка Массовые действия над задачами
Переносить срок Смена срока (при включённом ограничении в настройках)
Просмотр всех задач Просмотр и комментирование всех задач
Просмотр зашифрованных задач Доступ к тексту/ДП зашифрованных задач
Создавать задачи Создание задач (пользователь = заказчик)

Взаимодействие «Редактировать исполнителей» × «Ограничить удаление»

Совместное действие двух настроек:

Редактировать исполнителей Ограничить удаление Результат
+ + Можно удалить себя, можно добавлять
+ Можно добавлять и удалять любых
Только чтение
+ Только чтение

SQL view доступа на просмотр

v2.265 Цефей+. View/таблица возвращает (TaskID, UserID). Имя хранится в dbo.Subcategories.TSQLAccessFunction. ⚠️ WITH (NOLOCK) обязательно. Права категории > SQL view.

Наследование руководителями

Право «Просмотр всех задач» может наследоваться руководителями двумя способами:

  1. CustomSetting ForbidSubcatRightsInheritanceToDirector — наследование права «Просмотр всех задач» по группам
  2. Общая настройка «Руководитель наследует право на просмотр задач» — по роли в задаче

Заместители

Получают все права замещаемого, кроме просмотра конфиденциальных задач и просмотра зашифрованных задач.


18. Настройки раздела (Category)

Раздел = папка для группировки категорий (dbo.Categories).

Где настраивается:

  • UI: режим администрирования → раздел
  • API: разделы

Параметры раздела

Доступные параметры раздела:

Параметр Описание
Родительский раздел Иерархия разделов
Стандартное представление вид по умолчанию для всех категорий раздела (Лента, Таблица, Календарь, Канбан, Галерея, Иерархия, Диск, Проекты, Соц. сети и др.)
Дополнительный синдикат Подключение портала к разделу
Модуль Привязка к модулю. Новые категории наследуют модуль раздела

Выбор родительского раздела осуществляется через выпадающий список в настройках категории (вкладка «Основные»). С v2.268 список показывает полный иерархический путь раздела в виде Родитель / Подраздел / Раздел — вместо плоского отображения только имени и ID. Это позволяет однозначно выбрать нужный раздел, если несколько разделов имеют одинаковые названия.

Массовые действия с правами

Единственный способ массово настроить доступ при создании нового раздела:

  • Выбрать «Группа» + «Право» → Выдать (добавляет право всем вложенным категориям) или Отобрать (снимает)
  • Отобрать все права у всех групп — полный сброс

Быстрые действия

Быстрые действия с разделом:

  • Быстрое создание категорий в разделе
  • Копировать в новый раздел (с вложенными категориями)
  • Переименовать (контекстное меню)

19. Счётчики задач

Где настраивается:

  • UI: настройки категории → Инструменты → Счётчики
Настройка Описание
Показывать количество новых задач Синий индикатор в дереве (начальный статус). Кроме Справочников
Показывать количество просроченных Красный индикатор в дереве + в Панели навигации (где пользователь = исполнитель)
Показывать количество всех задач Серый индикатор в дереве. Кроме Справочников
Показывать количество в заголовках Над списком задач — количество с учётом фильтров
Количество просмотров Только для Новостей — счётчик просмотров новости

20. Названия интерфейса

Основные названия

Основные интерфейсные названия категории:

Настройка Описание По умолчанию
Подсказка (тултип) Всплывающая подсказка при наведении на категорию в дереве
Название сущности Вместо «Задача» — «Документ», «Поручение» и т.д. Задача
Текст кнопки постановки Текст кнопки на НТФ Поставить задачу

Прочие названия

Прочие настраиваемые названия и тексты:

Настройка Описание По умолчанию
Название срока выполнения Срок
Название даты начала работы Начало работы
Текст назначения исполнителя Системное сообщение при назначении
Ссылка на текст родительской Заголовок текста родителя в подзадаче
Наименование исполнителя Исполнитель
Наименование заказчика Для Новостей → автоматически «Автор» Заказчик
Сообщение о создании Поступила новая задача
Текст при добавлении подписчика (один) Добавлен подписчик
Текст при добавлении подписчиков (несколько) Добавлены подписчики
Шаблон напоминания Текст напоминания, поддерживает вставки автогенерации

21. Иерархический вид

Два метода настройки иерархии:

  1. По ДП Lookup: создать ДП Lookup (источник = сама категория) + ДП Галочка. В настройках иерархии указать «Лукап родителя» и «Чекбокс папки»
  2. По дереву подзадач: создать настройку без выбора ДП — иерархия соответствует дереву подзадач

Доп. параметры в гриде — список ДП для отображения в иерархическом представлении.


22. Новостные категории

Доступно при типе категории «Новости».

Настройка Описание
Наличие обложки Обязательная при включении. Пропорция 2:3
Отображать автора Автоподстановка «Автор» в «Наименование заказчика»
Теги Обязательные при включении. ДП «Новости - Теги»
Рубрика Обязательная при включении. ДП «Новости - Рубрика»
Аннотация Max 150 символов. ДП «Новости - Аннотация»

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


23. Рекомендуемые категории

Список категорий, рекомендуемых для создания подзадач/связанных задач. Отображается перед полным списком. В проектном управлении — первая категория из списка становится целевой для новой подзадачи.


24. Подзадачи

Настройки поведения подзадач в категории:

Настройка Описание
Ставить только подзадачи Задачи создаются только как дочерние
Отклонять дочерние при отклонении родительской Каскадное отклонение
Для завершения требуется завершить подзадачи Блокировка завершения
Фиксировать смену статусов дочерних Сообщение в родительскую при смене статуса
Срок зависит от дочерних/родительских Дочерняя не позже родительской
Копировать подписчиков в подзадачи Автокопирование подписчиков

25. Повторения задач

Настройки материализации повторяющихся задач.

Параметр Описание
Включить материализацию повторений Создание цепочек задач. Опорная дата = дата начала работы. При перематериализации: будущие задачи корректируются, прошлые — нет
Отображать в задаче (Смарт) 1 = показать блок повторений, 0 = скрыть
Дата начала / Дата окончания (Смарт) даты по умолчанию повторения
Право редактировать повторение (Смарт) 1 = можно менять настройки, 0 = нельзя
Порядок повторений Порядок блока относительно ДП
Стилизация календаря (Смарт) Набор данных: datetime2, color, title
Срок (Смарт) срок по умолчанию для каждого экземпляра
Скрыть выбор даты окончания серии Убрать элемент выбора окончания
Скрыть выбор срока Скрыть поле срока (при авто-расчёте)

Материализация при переносе с нерабочих дней (с 2.268.332). Если в правиле повторения используется перенос с нерабочего дня (настройка «При попадании на нерабочий день» = «Перенести на ближайший рабочий день»), материализация включается принудительно, независимо от значения параметра «Включить материализацию повторений» в категории. Механизм переноса реализован только в материализованной ветке исполнения, бэк-валидация ValidateRecurrences отклоняет такие расписания при отключённой материализации. В остальных случаях, когда фронт не передаёт isMaterializationEnabled, бэк подставляет значение из настройки категории (Subcategories.IsRecurrenceMaterializationEnabled). Глубина материализации задаётся пользовательской настройкой RecurrenceTasksMaterializationDays (по умолчанию 365 дней).


26. Форма создания задачи (НТФ)

Настройки карточки создания новой задачи.

Параметр Описание
Не использовать форму создания Мгновенное создание без НТФ. Недоступно если: есть обязательные ДП, текст обязателен без default, срок обязателен без default, исполнитель обязателен
Разрешить назначать приоритет Выбор приоритета на НТФ
Разрешить добавление подписчиков Поле «Подписчики» на НТФ
Разрешить указывать получателей уведомлений Поле «Уведомить» на НТФ
Разрешить устанавливать повторения Кнопка «Параметры времени» на НТФ
Разрешить устанавливать напоминания Кнопка «Напоминания» на НТФ
Разрешено устанавливать дату начала Поле «Начало работы» на НТФ
Заполнять дату начала текущим временем Автозаполнение при создании
Отображать кнопку «Закрепить как чат» Пункт в карточке и меню «Участники»
Лимит вложений Суммарный размер файлов (байты). Автоформатирование: байты → КБ → МБ → ГБ
Количество колонок доп.параметров (НТФ) По умолчанию = 3. Влияет на «Количество занимаемых колонок» ДП

27. Прочие настройки

Прочие настройки категории:

Параметр Описание
Тип поиска Вхождение / Полнотекстовый / Полное совпадение / Обрамлять справа / Обрамлять слева
Искать в ДП по умолчанию режим по умолчанию поиска «в полях»
Ограничить просмотр истории Нет / Согласно доступам на редактирование / Смарт-выражение
Частота обновления грида (сек) Автообновление списка. Не чаще 30 сек
Напоминание за N дней Автосоздание напоминания подписчикам
Использовать триграмм Нечёткий поиск с учётом опечаток. Минимум 3 символа. SP OnChangeSubcatUseTrigramSearchF (MS SQL only)
Напоминание 25%/50%/75%/в день окончания Процентные напоминания
Скрыть быстрое создание в ДП Блокировка быстрой постановки в Lookup/Multilookup
Скрыть кнопку создания Блокировка создания во всех представлениях

CustomSettings для триграмм:

  • UseTrigramInSimpleSearch — нечёткий поиск в быстром поиске
  • FilterChain.MaxTrigramCountForTrigramSearch — max триграмм (по умолчанию: 100000)
  • FilterChain.MinSubcatSizeForTrigramSearch — min размер категории (по умолчанию: 100000)

28. Представления категории

Включение/отключение представлений и выбор представления по умолчанию.

⚠️ Между доменами: масштабы Ресурсов (7 масштабов) и Календаря (6 масштабов) + флаг «Отображать в терминальном статусе» настраиваются в календаре. Здесь — только включение/отключение и выбор представления по умолчанию.

Параметр Описание
Включение представлений Активация переключателей для каждого типа (Таблица, Лента, Канбан, Календарь и т.д.)
Представление по умолчанию Кнопка ★ на блоке. Вступает в силу после перезагрузки страницы
Закреплять по умолчанию как чат Задачи автоматически приравниваются к чатам

Для блока «Таблица» — переход к настройкам табличного вида (см. ниже).

Настройки табличного вида категории

Доступны через блок «Таблица» представлений категории. Настройки определяют дефолтный вид списка задач для всех пользователей.

Изменения вступают в силу после сброса пользователем настроек на вид по умолчанию.

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

Общие настройки табличного вида:

Параметр Описание
Отбор по умолчанию Преднастроенный отбор категории, применяемый при открытии списка
Тип статуса Все / Активные / Завершённые / Отклонённые. С 2.268.363 значение «Все» применяется корректно при открытии грида — раньше оно автоматически подменялось дефолтным «Активные». С 2.268.366 (#2097422, ч.2) также корректно сохраняется ручной выбор «Все» в пользовательских настройках грида (раньше null терялся при сериализации). См. ../grids/business.md § «Системные отборы по статусу»
Группировать по Одно или несколько полей для дефолтной группировки
Группировать одной строкой Склеивает группу в одну строку (по умолчанию вкл)
Позиция закрепления Слева / Справа — для столбцов с активной опцией «Закрепить столбец»
Скрыть невидимые поля Скрывает поля без видимости по умолчанию

Кнопки: «Открыть предпросмотр» (проверка изменений до сохранения), «Сбросить на рекомендуемые» (Выравнивание/Ширина/Тип фильтра в дефолт), «Сбросить» (откат изменений и колонок с «Видимостью по умолчанию» до предыдущего сохранения для всех).

Дополнительные настройки таблицы

«Больше настроек»:

Параметр По умолчанию Поведение
Можно менять ширину столбцов Вкл Перетаскивание угла столбца. Установленная ширина сохраняется индивидуально для каждого пользователя
Можно менять порядок столбцов Вкл Перемещение заголовка мышью. Сохраняется индивидуально для каждого пользователя
Сохранять пользовательские настройки Вкл При повторном входе таблица открывается с пользовательскими настройками. При экспорте в Excel учитывается тоже: вкл = пользовательские, выкл = дефолт
Можно включать фильтры Вкл Кнопка фильтрации + пункт «Фильтровать по значению» в контекстном меню. Панель по умолчанию раскрыта
Можно включать группировку Вкл Кнопка группировки + пункт «Группировать» в контекстном меню. Если группировка задана — раскрыта; иначе свёрнута
Можно включать доп. поле столбца Выкл Кнопка «Показать меню» в панели; иначе — в меню действий
Переносить заголовки по строкам Вкл Полные заголовки с переносом; иначе обрезаются многоточием

С версии 2.268 быстрая фильтрация по аватарке исполнителя включена по умолчанию (доп. настройки не требуются).

Доступ по группам к колонкам

При настройке доступа по группам к колонкам виртуальные группы (например, «Подписчики задач (всем)») не применяются — нужно использовать обычные или связанные группы.


29. Блоки ДП и группы блоков

Настройки блоков ДП и групп блоков (список, создание и редактирование блока, цвет, смарт-фильтры, группы) — в ext-params/admin.md → «Блоки ДП и группы блоков». Здесь — связь с БИ.

Связь БИ-таблицы с блоком ДП

Одна таблица БИ (вид «Таблица») может быть встроена в блок ДП. Порядок блоков ДП и БИ — общий (блок с порядком 1 выше блока с порядком 2). Привязка хранится в ExtParamsInSubcatToBlocks.

Группы блоков ДП

Блоки объединяются в группы. Порядок внутри группы — по Порядок на форме. Группа связывается с категорией через страницу «Группы блоков ДП».

Смарт-фильтры блоков

Видимостью блоков можно управлять смарт-фильтрами:

Фильтр Контекст
Сворачивать по смарт-фильтру МТФ: true = свёрнут
Скрывать по смарт-фильтру МТФ: true = скрыт
Сворачивать при постановке НТФ: true = свёрнут
Скрывать при постановке НТФ: true = скрыт

Контекстный параметр @eventParam1 (WhenOpenTask=64): 0=Undefined, 1=Spa, 2=Mobile, 3=Conference.


30. ДП на мобильном

Ключевые принципы настройки ДП с учётом мобильного приложения:

  • ДП должны быть сгруппированы в тематические блоки
  • Порядок — по ходу заполнения
  • Видимость — по правам и логике процесса
  • Обязательность — на каждом переходе хотя бы один ДП
  • Не требовать много параметров при создании — использовать статус «Подготовка» с автопереходом

Наследование значений из задачи-источника

При создании из контекста (БИ, Lookup, Multilookup, подзадачи) — совпадающие ДП наследуют значения. Отключение — опция «Не копировать значения из задачи-источника» в настройках ДП.


31. Автосоздание подзадач на переходах

Настройка подзадач, создаваемых при переходе по маршруту.

Где настраивается:

  • API: автоподзадачи на переходах
  • См. также: transition-settings-reference.md (поля StatesRoutesSubtask*)

Основные параметры подзадачи на переходе

Основные параметры автосоздаваемой подзадачи:

Параметр Описание
Текст задачи С вставками $Ext{ID} из родительской задачи
Срок задачи На основе поправки срока
Имя параметра Условное создание: если ДП родителя = значение
От кого От исполнителя / От заказчика / От нажавшего кнопку
Связанная задача Не дочерняя, а связанная (отключает автопереход по завершении подзадач)
Копировать подписчиков Из родительской
Переносить вложения Все файлы из родителя
Каждому исполнителю — копию Отдельная подзадача на каждого

Исполнители подзадачи

Исполнители подзадачи определяются одним из способов:

  • Исполнители из группы
  • Назначить исполнителем заказчика родительской
  • Назначать роль заказчика (по группе)
  • Копировать исполнителей

Параметры подзадачи

Для каждого ДП — источник: Автоматически / Фиксированное значение / Из ДП родителя.


CustomSettings — глобальные ключи поведения категорий

Глобальные ключи CustomSettings, влияющие на поведение категорий:

Ключ Тип Назначение
ExtendedSubcatSettings JSON Расширенные настройки категории (per-SubcatID): отключить вопросы (commentQuestionsAllow=false) и/или требование комментария при «Вопрос не мне» (commentNotMeAnswerRequired=false). Формат: {"$SUBCAT_ID":{"commentQuestionsAllow":bool,"commentNotMeAnswerRequired":bool}}
FromUtpTableFirstOrderSubcats array ID категорий, для которых в SQL-запросе списка задач предикат проверки прав ставится первым в FROM — оптимизация для крупных таблиц с дорогостоящими JOIN
CalendarPopupMenuSubcats array ID категорий, попадающих в контекстное меню календарных категорий для быстрой постановки задачи. Если ключ не задан — в меню стандартный набор (Событие в календаре, Задача в категории, все календарные категории)

Последовательность действий при переходе по маршруту

При выполнении перехода система последовательно выполняет 38 шагов, в том числе:

  1. Проверка статуса подзадач (если требуется).
  2. Проверка прав пользователя.
  3. Проверка динамических подписей.
  4. Выполнение коннекторов и смартов «перед сменой статуса».
  5. Проверка плановых трудозатрат (если назначаются исполнители).
  6. Мультизавершение (если включено).
  7. Запрос подписей (задача переходит в «На подписи»).
  8. Выполнение перехода и запись в журнал.
  9. Генерация текста задачи (по шаблону), сброс срока.
  10. Комментарий о переходе, email-рассылка уведомлений.
  11. Постановка подзадач на переходе.
  12. Выполнение хранимых процедур.
  13. Смарты «После перехода» и «После изменения статуса».
  14. Обновление денормализации.

Принудительная смена статуса (через редактирование поля «Статус») не выполняет переход по маршруту и пропускает все автоматизации. Доступна только пользователям с правами администратора категории.

Связи с другими доменами

Категория связана с другими доменами системы:

Домен Связь
Задачи Категория — шаблон для создания задач; определяет маршрут, ДП, представления, права
Дополнительные параметры Привязка ДП к категории с индивидуальными настройками (имя, обязательность, блок)
Подписи Подписи на переходах маршрута; настройки отзыва и делегирования через подписи
Маршруты / Статусы Маршрут жизненного цикла задач; автопереходы, альтернативные переходы
Смарт-логика Смарты на переходах, смарт-доступ, смарт-выражения для исполнителей/подсказок
Комментарии Настройки ленты сообщений на уровне категории
Пользователи и группы Права доступа на категорию выдаются группам; роли определяют доступ к задачам
Уведомления Оповещения при переходах, просрочках, изменениях
Почта Настройки почтовых ящиков категории
Файлы Настройки вложений, шаблоны файлов
Порталы Раздел может отображаться как портал (дополнительный синдикат)
Проекты Проектные задачи, рекомендуемые категории для подзадач
Календарь Категории типа «Календарь» отображаются в календарях пользователей
Чат Категории типа «Чаты/каналы» для мессенджера
Отчеты Рекомендуемый срок, исключение из отчетов о просрочке
Интеграции Синхронизация с 1С, коннекторы, хранимые процедуры

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

См. также: