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

Задачи: бизнес-логика

Обзор

Задача — центральная бизнес-сущность платформы 1Форма. Все основные процессы (исполнение, согласование, коммуникации, автоматизация, отчётность) связаны с задачным контуром.

Доменная модель

Ядро

  • Задача (Tasks) в рамках категории/подкатегории.
  • Жизненный цикл: шаги, состояния, переходы.
  • Участники: инициатор, ответственный, исполнители, наблюдатели.
  • Сроки: плановые, фактические, контроль просрочки.

Расширение ядра

Создание задачи

Способы создания:

Способ Где
Кнопка «Создать» в панели навигации Открывает выпадающее меню: Личная задача (категория «Личные задачи» в системном разделе), Встреча, Групповой чат, Выбрать категорию (через дерево категорий)
Кнопка создания в панели инструментов категории Из списка задач категории
Иконка + рядом с категорией в Избранном Только если категория добавлена в Избранное и иконка отображается
Краткая форма из ленты Создаёт Личную задачу в системном разделе

В карточке создания категория меняется кликом по её названию; поиск категории работает по названию, идентификатору категории и номеру задачи внутри неё. Обязательные системные и дополнительные параметры помечены звёздочкой.

Для создания личной задачи из ленты у категории не должно быть обязательных полей.

Создание копий для каждого исполнителя

Если в настройках категории включена опция «Каждому исполнителю — копию» и в поле «Исполнитель» указано более одного сотрудника, в карточке создания становится активной кнопка «Создать копии» — она создаст отдельную задачу для каждого исполнителя.

Создание по шаблону

Если у категории в дополнительных настройках задан ID шаблонной категории, то по кнопке «Создать задачу», а также по «+» в бизнес-индикаторе, привязанном к этой категории, открывается модалка выбора задач-шаблонов из указанной категории.

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

Выбор одного шаблона открывает форму создания задачи (НТФ) с данными, предзаполненными из шаблона: текст задачи (название), дополнительные параметры и вложения копируются из шаблона; заказчик подставляется как текущий пользователь; срок валидируется на отсутствие даты в прошлом.

v2.268+: текст задачи (название) корректно подставляется из шаблона при открытии НТФ. До v2.268 поле названия оставалось пустым.

Мультивыбор допустим: каждый отмеченный шаблон порождает отдельную задачу-копию в целевой категории.

Флаг «Пропускать НТФ» в категории меняет поведение: при выбранном шаблоне форма создания не открывается, задача создаётся сразу. В обычной категории происходит переход в МТФ созданной задачи; при создании из бизнес-индикатора перехода в МТФ нет, БИ обновляется на месте.

Создание из карточки бизнес-инцидента (БИ). При нажатии кнопки «Создать» в карточке бизнес-инцидента (БИ) открывается модальное окно выбора шаблонов задач. Шаблоны отображаются в порядке приоритета, заданном в настройках категории. Создание задачи происходит по правилам краткой формы — заполняются только основные и обязательные дополнительные параметры, без открытия полной формы создания задачи. После создания новая задача не открывается в карточке — пользователь остаётся на странице БИ, при этом дополнительный параметр «Откуда создано» автоматически заполняется ссылкой на исходную задачу БИ.

Структура карточки задачи

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

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

  2. Дополнительные параметры (ДП) — данные, специфичные для конкретного бизнес-процесса. Набор ДП уникален для каждой категории. Могут быть сгруппированы в блоки и вкладки. Подробнее о типах ДП — ext-params/business.md.

  3. Файлы — блок отображается, если в задачу вложен хотя бы один файл. Подробнее — files/business.md.

  4. Лента — обсуждение задачи между участниками и системные сообщения. Может располагаться справа или снизу (настраивается в профиле пользователя). Подробнее — comments/business.md.

  5. Подписи — блок отображается только при наличии запрошенных подписей; после обработки исчезает. Подробнее — signatures/business.md.

  6. Подзадачи — блок с деревом подзадач. Отображается при наличии родительской задачи или подзадач.

  7. Ресурсы — блок трудозатрат и плановых ресурсов. Отображается если настроен в категории. Подробнее — resources/business.md.

  8. Основной маршрут — лента статусов в карточке (если настроен администратором). Позволяет видеть пройденные и предстоящие шаги.

Брендирование карточки

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

Шапка и панель инструментов

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

Поведение панели

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

В правой части панели — кнопка закрепления. Активация фиксирует панель в развёрнутом состоянии: она остаётся видимой при прокрутке и взаимодействии с задачей (в т.ч. при открытии задачи во всплывающем окне). Закрепление запоминается и применяется ко всем категориям.

Состав доступных элементов на панели зависит от прав текущего пользователя и настроек категории.

Доступные кнопки в панели инструментов

Кнопка Действие
Встреча по задаче Меню ВКС: собрать конференцию, присоединиться, запланировать встречу, настройки комнаты, копировать пароль/ссылку. Модераторами становятся первый вошедший, заказчик и исполнители
Обсуждения Список всех обсуждений задачи с поиском и созданием новой ветки. Рядом — счётчик активных обсуждений
Редактировать название Изменить название задачи (если разрешено настройками категории)
Изменить аватар Выбрать цвет и иконку из набора /spa/content-icons или загрузить своё изображение
Избранное Добавить/удалить из избранного
Добавить в чаты / Убрать из чатов Закрепить ленту задачи как чат. После закрытия задачи (успешно или отклонением) комментарии автоматически прочитываются
Включить / Выключить уведомления Не получать уведомления по задаче (получение push зависит также от персональных настроек уведомлений)
Вложения Список вложенных файлов
Подписаться / Отписаться Управление подпиской на задачу
Предыдущая / Следующая Навигация по списку (отображается, если задача открыта из реестра; зависит от настроек категории)
Режим отображения Карточка + комментарии / только комментарии. Горячая клавиша Ctrl + K
Свернуть / Развернуть Доступно только при открытии из списка
Закрыть Закрыть карточку задачи

Дополнительные пункты группируются в подменю по контексту:

Подменю Состав
Подзадачи Список подчинённых и связанных, Диаграмма Ганта, Новая подзадача, Выбрать дочернюю, Назначить подзадачей, Новая связанная, Связать (см. «Подзадачи и иерархия»)
Подписи Запросить подпись, Журнал подписей, Отозвать согласование
Файлы Вложения, Диск, Вложить файл, Создать Word/Excel, Написать письмо, Печать и экспорт
Участники Подписаться/Отписаться, Добавить себя в исполнители, Исполнители, Подписчики (Добавить/Удалить/Закрепить всем как чат/Все), Изменить заказчика, Делегировать
Срок Перенести срок, Напоминания, Повторения, История смены срока

Меню «Больше»: дополнительные пункты

Кроме основных кнопок в меню «Больше» доступны:

Пункт Описание
Аудит доступа к задаче Отчёт о пользователях, имеющих доступ к задаче, с указанием орг.единиц и руководителей. Открывается в отдельном окне
Маршрут задачи Граф маршрута с проверками и условиями переходов
История переходов Хронология движения задачи по статусам в виде Ганта (см. ниже «История переходов»)
История изменений ДП Таблица изменений ДП и системных параметров (см. ext-params/business.md). Доступен, если у параметров включено сохранение истории
Таймлайн События, связанные с задачей, и задачи-ссылки в виде Ганта. Масштаб — Ctrl + колесо
Настройка (для администратора) Переход к настройкам категории в SPA-режиме администрирования
Инструкция Опционально настраивается администратором: открывает модальное окно со статьёй пространства

Аватар задачи

По умолчанию используется системный аватар. По клику на аватар → «Изменить аватар»: можно загрузить своё изображение или выбрать из палитры цвет и иконку.

Доступные цвета: «Не указано» (≈ серый), «Бренд цвет» (≈ синий), Красный, Жёлтый, Оранжевый, Зелёный, Бирюзовый, Синий, Фиолетовый, Розовый, Коричневый, Серый.

Цвет, выбранный для аватара, используется не только в карточке, но и автоматически применяется в таблицах задач: когда задача выбрана как значение Lookup-поля, ячейка в таблице окрашивается в цвет аватара. В каждой категории администратор может предустановить дефолтные цвет и иконку.

Номер задачи

Наведение на номер показывает иконку копирования. Скопировать можно тремя способами:

  • Кликом по иконке копирования.
  • Правой кнопкой → «Скопировать» (только номер: 12345) или «Поделиться» (полная ссылка: https://{адрес}/spa/tasks/12345).
  • Клик по самому номеру открывает задачу в новой вкладке.

Номер копируется с символом #. В строку главного поиска можно вставить как #12345, так и 12345 — система распознаёт оба варианта.

Текст задачи

Возможность редактирования зависит от прав и настроек категории. В тексте поддерживаются изображения и HTML (если разрешено в настройках категории — иначе курсор всегда устанавливается в конце текста).

Скопировать текст — правая кнопка → «Скопировать».

Если для категории настроена локализация текста, при редактировании отображается окно для ввода значений на разных языках. Пользователю показывается значение в его текущей локали.

Кнопки переходов и действий

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

После нажатия любой кнопки переходов/действий остальные блокируются до завершения операции, чтобы исключить параллельный запуск.

Кнопка статуса в правой части шапки также управляет переходом по маршруту: показывает доступные переходы, а пользователю с правом «Администратор задач» — пункт «Принудительный переход» со всеми статусами категории. Если переходов нет, кнопка некликабельна. Названия переходов длиннее 15 символов сокращаются многоточием.

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

Системные параметры задачи

Все задачи имеют единый набор системных параметров:

Параметр Описание
Номер задачи Уникальный идентификатор, присваивается автоматически при создании
Заказчик Сотрудник, поставивший задачу. Может быть только один. При смене — прежний заменяется новым
Исполнители Один или несколько сотрудников. Ограничений на количество нет. Один из исполнителей — ответственный
Подписчики Сотрудники, заинтересованные в выполнении и следящие за ходом работ
Дата создания Фиксируется автоматически
Срок Плановая дата завершения
Текст задачи Описание сути
Статус Текущее состояние на маршруте

Поиск участников доступен по имени, фамилии и основной должности. Если пользователь не находится в поиске — у него нет прав на данную роль в этой категории.

Сроки задачи

Установка и перенос срока

Срок устанавливается или переносится через поле «Срок» в карточке или пункт меню «Перенести срок». При изменении доступны чипы быстрого планирования:

Чип Поведение
В течение часа +1 час к текущему локальному времени
Сегодня к вечеру Последний рабочий час текущего дня
Завтра к вечеру Последний рабочий час следующего рабочего дня
В конце недели Последний рабочий день текущей недели
На следующей неделе Последний рабочий день следующей недели
В конце месяца Последний рабочий день текущего месяца
В течение месяца Та же дата в следующем месяце (с поиском ближайшего рабочего дня)

Также доступен календарь с блоками времени: Утро (начало рабочего дня — 11:00), День (11:00 — 16:00), Вечер (17:00 — конец рабочего дня). Минуты — с шагом 5. Доступные значения времени связаны с производственным календарём.

При изменении срока может требоваться причина. Если причина обязательна, поле подсвечивается красным при попытке сохранить без неё. Можно выбрать быстрый ответ.

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

Блокировка срока

Заказчик или пользователь с правом «Администратор задач» может заблокировать/разблокировать срок. Рядом с полем отображается иконка замка. При блокировке изменение срока другими участниками запрещено.

Правила расчёта сроков

При расчёте срока (дедлайна) система опирается на точку отсчёта и интервал времени (рабочие дни/часы/минуты). Используются функции: tc_AddWorkingDays, tc_AddWorkingHours, tc_AddWorkingMinutes (в смарт-выражениях — ДобавитьРабочихДней/Часов/Минут).

Ключевые правила:

  1. Сдвиг точки отсчёта. Если точка отсчёта приходится на нерабочее время (до начала рабочего дня, после окончания, выходной), она сдвигается на начало ближайшего рабочего дня.
  2. Перерыв. Если срок переходит на другой рабочий день, к началу следующего дня прибавляется время перерыва (Рабочее время − Рабочих минут в дне). Если точка отсчёта и срок в один день и интервал меньше продолжительности дня — перерыв не учитывается.
  3. Интервал ≥ рабочий день. Если интервал больше или равен продолжительности рабочего дня, вместо часов откладываются полные сутки, а остаток прибавляется по правилам выше.

В расчётах используются: производственный календарь (рабочие/выходные дни), настройки «Рабочее время (с… по…)» и «Рабочих минут в дне» из общих настроек приложения.

Напоминания

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

Параметр Описание
Напомнить один раз Дата и время
Текст напоминания Выводится в ленте задачи
Кому Выбранные пользователи
Уведомить по SMS Дублирование по SMS (может быть запрещено в категории)
Создать копию в Outlook Дублирование в Outlook

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

Повторяющиеся задачи

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

Ключевые настройки: дата начала, дата окончания (или количество повторений), время начала, срок, копирование файлов. При создании подзадачи в её текст автоматически добавляется текст родительской задачи.

История смены срока

Все переносы срока фиксируются: время изменения, причина, пользователь. Доступны в отдельной таблице в меню «Срок».

Маршрут задачи

Маршрут — последовательность шагов от начала работы с задачей до завершения. Настраивается администратором в категории (см. categories/business.md). Все задачи одной категории имеют одинаковый маршрут.

Просмотр маршрута

В меню «Больше» → «Маршрут задачи» открывается схема в виде графа: статусы — блоки, переходы — стрелки с названиями кнопок.

Цветовая схема статусов:

Цвет Значение
Синий Активный статус
Серый Терминальный статус (неуспешное завершение)
Зелёный Терминальный статус (успешное завершение)

Завершающие статусы всегда зелёные, отклоняющие — красные (смена цвета для них недоступна).

Иконки на переходах:

Иконка Значение
Подписи На переходе запрашиваются подписи
Автоматизация На переходе настроена автоматизация
Автоматизация (неактивна) Настроена, но неактивна
Подзадачи На переходе создаются подзадачи
Проверки Проверки заполнения обязательных полей
Автозаполнение Автоматическое заполнение полей
Автоисполнитель Назначение исполнителя

Основной и полный маршрут

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

Лента основного маршрута в карточке задачи: - Насыщенный цвет — текущий статус. - Бледные цвета — пройденные и последующие статусы. - Серый — последующие статусы, недоступные из текущего. - При наведении на блок текущего статуса — подсказка с датой перехода и длительностью нахождения. - В некоторых категориях клик по стрелке выполняет переход (только вперёд; назад — только через кнопки).

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

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

Участники и роли

Роли

Роль Описание
Заказчик Инициатор задачи. Может быть только один. Имеет расширенные права (блокировка срока, управление конфиденциальностью)
Исполнитель Выполняет работы. Может быть несколько. Один из них — ответственный
Ответственный Исполнитель, отвечающий за результат. По умолчанию — первый в списке
Подписчик Наблюдатель, получающий уведомления о ходе задачи
Согласующий Утверждает или отклоняет решения через механизм подписей (см. подписи)

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

Добавление и удаление участников

Добавление — через меню «Участники» или клик по полю в карточке. Можно указать отдельных пользователей или группы (если разрешено в категории). Изменение состава группы влечёт изменение подписчиков задачи.

Поиск участников работает не только по имени и фамилии, но и по основной должности. Если пользователь не находится в поиске — у него нет прав на эту роль в категории.

Удаление: заказчика удалить нельзя (только заменить); исполнитель/подписчик удаляется через иконку удаления. При удалении заказчик/исполнитель сначала становится подписчиком, и только потом может быть удалён.

Контекстное меню участника

ПКМ по заказчику или исполнителю в карточке открывает меню. Состав зависит от роли пользователя и текущих прав:

Пункт Когда доступен
Добавить в адресаты Добавляет в поле «Кому» ленты сообщений
Добавить в копию Добавляет в поле «Копия» ленты сообщений
Только этому адресату Очищает всех добавленных ранее в «Кому»/«Копия» и оставляет одного адресата. Поле «Копия» сворачивается
Удалить из адресатов Если пользователь уже был адресатом
Информация о пользователе Открывает профиль в модальном окне
Добавить в подписчики Если пользователь не подписчик
Назначить исполнителем Если не исполнитель + право «Редактировать исполнителей»
Назначить ответственным Если не ответственный + право «Редактировать исполнителей»
Удалить из исполнителей Если исполнитель + право «Редактировать исполнителей»

Делегирование

Передача исполнения другому сотруднику через меню «Участники» → «Делегировать». Текущий ответственный заменяется новым пользователем. Возможность зависит от прав и настроек категории. Делегирование доступно если:

  • В категории не запрещено назначение исполнителя
  • Задача не в терминальном статусе
  • У пользователя есть право «Редактировать исполнителей» или спецправо «Разрешить делегировать задачи, назначенные на себя» (тогда можно заменить только себя)

Конфиденциальность

Категория настраивается администратором в одном из режимов: отключено, выборочно или обязательно (см. categories/business.md). При выборочном режиме включить конфиденциальность для отдельной задачи можно из меню «Больше» в карточке. Активный режим обозначается зелёной иконкой замка вместо красной.

В задачах с включённым режимом конфиденциальности: - Добавлять участников может только заказчик. - Подписчики (кроме заказчика) не могут отправлять комментарии пользователям вне задачи. - Запрещён запрос динамических подписей у не-подписчиков. - Статические подписи не блокируются. - Эскалация просроченных задач не производится.

При попытке выполнить запрещённое действие пользователь получает сообщение «Нет доступа к задаче. Для получения доступа Вы можете попросить добавить Вас в подписчики задачи следующих людей».

Шифрование

Шифрование — отдельный механизм, который скрывает текст задачи, сообщения и файлы от всех пользователей кроме подписчиков и обладателей права «Просматривать зашифрованные задачи». Категория настраивается администратором: отключено, выборочно или обязательно. При выборочном режиме шифрование включается из меню «Больше» в карточке.

У зашифрованной задачи рядом с номером в карточке отображается иконка замка. Текст скрыт и в списке задач, и в карточке: вместо него — заглушка «Текст задачи недоступен для просмотра».

Особенности: - Зашифрованные сообщения не отображаются при перевоплощении в аккаунт пользователя, который их видит в обычном режиме. - Шифрование в чатах недоступно — для шифрования чата его нужно открыть как задачу. - Поиск по тексту зашифрованных задач отключён по умолчанию. Включается админской настройкой SearchEncryptedTasks. - ДП остаются видимыми; отдельные ДП «Текст» и «Большой текст» тоже можно зашифровать.

Шифрование необратимо — расшифровать задачу обратно нельзя. Подробнее в разделе Важные предупреждения.

Подзадачи и иерархия

Дерево подзадач

Крупную задачу можно разбить на подзадачи, которые образуют иерархическое дерево. Подзадачи могут принадлежать разным категориям. Вложенность не ограничена.

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

Блок не отображается, если у задачи нет ни родительской, ни подзадач. Начальное состояние, видимость, отображение завершённых задач настраиваются администратором в категории — в т.ч. через smart-выражения.

Процент выполнения родительской задачи = отношение закрытых подзадач к общему числу подзадач всех уровней. Округляется до целого.

Действия

  • Клик по строке — открывает задачу в модальном окне
  • «+» — быстрое создание подзадачи
  • «Развернуть» — расширенный просмотр со списком подзадач и связей
  • Меню «⋯» — дополнительные действия

Создание и управление

Создать подзадачу можно: - Кнопкой «Новая подзадача» на панели инструментов — с выбором категории - Кнопкой «Поставить подзадачи» — массовое создание через промежуточную таблицу - Кнопкой «Назначить подзадачей» — привязка существующей задачи - Кнопкой «Выбрать дочернюю» — выбор из существующих

При создании подзадачи значения совпадающих ДП копируются из родительской задачи.

Рекомендуемые категории для подзадач: администратор может настроить список (preferred-subcategories) — в окне выбора категории такие категории отображаются над общим деревом.

Просмотр через панель инструментов

В тулбаре карточки кнопка с индикатором числа подчинённых и связанных задач → пункт «Подзадачи» → открывается окно со всем деревом подзадач. Текущая задача в дереве подсвечена. Опция «Показывать завершённые» переключает видимость завершённых (отображаются более светлым шрифтом). Система запоминает значение опции для категории.

Массовое создание через «Поставить подзадачи»

Меню «Подзадачи» в тулбаре → «Поставить подзадачи». Открывается окно с промежуточной таблицей:

  1. Заполнить поля (текст, срок, исполнитель, категория) → кнопка + создаёт строку.
  2. Каждая строка редактируется (иконка карандаша) и сохраняется/отменяется (зелёная галочка / красный крестик).
  3. Когда все подзадачи готовы — кнопка «Поставить подзадачи». В окне выводятся номера созданных задач.

Права доступа и связи

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

Установить связь можно только при наличии прав на привязываемую задачу. Разорвать связь между задачами может только пользователь с правом «Администратор задач» или из группы администраторов системы — иконка удаления связи в строке подзадачи.

Иерархии задач

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

Путь: {адрес_1Формы}/spa/task-hierarchy/{id} — где {id} — идентификатор иерархии.

Возможности:

Возможность Описание
Сворачивание/разворачивание Клик мышью по стрелке слева от строки
Переход в карточку Клик по ссылке в строке — задача открывается в модальном окне
Постановка подзадачи Если настроено — контекстное меню строки → «Поставить подзадачи» → выбор категории
Инлайн-редактирование Двойной клик по тексту задачи (при включённой настройке)
Drag-and-drop Перетаскивание строк мышью для смены родительской задачи (только при связи «родительская→дочерняя»)
Контекстные действия Правый клик → меню действий над задачей
Мультивыбор Выделить несколько строк одного уровня с одним родителем → правый клик → выполнить действие
Закреплённые столбцы Первые колонки остаются видны при горизонтальной прокрутке
Настройка столбцов Кнопка «Поля» в правом верхнем углу — включить/выключить, изменить порядок (если разрешено)
Фильтр Кнопка «Фильтр» в правом верхнем углу — задать условия отбора (если настроено)
Выгрузка Кнопка «Выгрузить в Excel» — XLSX со всеми отображаемыми по умолчанию столбцами

Настройка иерархий — задача администратора (см. tasks/admin.md).

Действия с задачей

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

Для удаления требуется право «Администратор задач» на категорию. Без этого права пункт «Удалить» не отображается ни в карточке, ни в контекстном меню грида.

Копирование

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

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

Опция «Установить текущего пользователя заказчиком» заменяет заказчика; при выключенной опции сохраняется заказчик исходной задачи.

Перенос в другую категорию

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

При переносе: - статус задачи сбрасывается на начальный по новому маршруту; - очищается дата начала работы; - значения ДП, отсутствующих в целевой категории, удаляются; - при невозможности переноса показывается окно с причиной и предложением создать новую задачу с предзаполненными ДП.

Перенос задач из категории с новым интерфейсом задач в категорию со старым интерфейсом не поддерживается.

Удаление

Удаление физическое и необратимое — данные не подлежат восстановлению. Доступно только администраторам системы и пользователям с правом «Администратор задач» в категории.

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

Приоритет

Приоритет выделяет задачи по важности. 4 уровня:

Уровень Отображение в таблице
Критичный Вертикальная красная полоса + ярко-красная ячейка
Повышенный Бледно-красная ячейка
Обычный (по умолчанию) Без выделения
Пониженный Бледно-синяя ячейка
Самый низкий Серая ячейка

Установка: меню «Больше» в карточке, контекстное меню в списке задач, или быстрый клик по индикатору приоритета в карточке (для задач с обычным приоритетом быстрый клик недоступен). Доступность установки зависит от настроек категории.

В карточке приоритет отображается под текстом задачи, в ленте — цветом строки.

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

Оценки

Оценка задачи («лайки»)

В отдельных категориях может быть включён режим оценки задач — аналог «лайков». Оценка проставляется кликом на иконку из карточки задачи или ленты.

Оценка исполнителей

После завершения задачи заказчик может оценить работу каждого исполнителя по пятибалльной шкале. Оценка проставляется в окне редактирования участников.

Обязательные правила: - Заказчик обязан прокомментировать каждую оценку - Если заказчик является исполнителем — свою работу он не оценивает - Оценки могут быть открытыми (видят все) или закрытыми (только пользователи с правом ViewSecretPerformerPoint)

Комментарии к оценкам отображаются в ленте задачи.

Пакетная обработка

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

Требования (для админа): - Спецправо «Разрешить массовую обработку задач» на группе пользователя. - Право на пакетную обработку в настройках категории (вкладка «Доступ»).

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

Поле «Выполнить действие от»

Указывается сотрудник, от чьего имени будут выполнены действия. По умолчанию — текущий пользователь. Используется для аудита и для случаев, когда нужно выполнить от имени системного бота / руководителя.

Каталог действий

Состав «Выбора действия» зависит от набора задач и контекста. Недоступные действия не отображаются. Если ранее выбранное действие недоступно, при открытии формы автоматически выбирается первое доступное.

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

Подбор свободных исполнителей

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

Лента задач

Лента — основной инструмент мониторинга задач пользователя. Состоит из ленты задач и ленты комментариев. Каждая область содержит набор вкладок.

Цветовая схема ленты задач (в старом интерфейсе): - Голубой — задачи, где пользователь исполнитель - Зелёный — задачи, где пользователь заказчик - Серый — личные задачи - Красный шрифт — просроченные задачи - Полужирный — задачи в начальном статусе - Серый шрифт — завершённые - Зачёркнутый серый — отклонённые

Режим «Агенда» (вкладка «Исполнитель»): отображает только задачи с плановыми трудозатратами, ещё не перекрытыми фактическими — т.е. предстоящий объём работ.

Подробнее о ленте комментариев и уведомлениях — notifications/business.md.

Повестка дня

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

Критерии попадания задачи в повестку:

Критерий Условие
Срок Истекает в этот день, пользователь — ответственный исполнитель
Просрочка Задача просрочена, пользователь — ответственный
Плановые трудозатраты Запланированы на этот день
Контрольные точки Назначены на этот день (исполнитель или ответственный)

Просроченные задачи отображаются в списке сегодняшнего дня.

Иконки в повестке: - Просрочка — с количеством часов просрочки - Контрольная точка - Плановые трудозатраты — с объёмом на день - Срок — с временем наступления

Если на один день выпадают и срок, и трудозатраты: для исполнителей — иконка срока, для остальных — иконка трудозатрат.

В настройках повестки можно исключить «Задачи на подписи» — те, по которым ожидается решение и работы пока выполнять нельзя.

История переходов

История переходов отображает хронологию движения задачи по статусам в виде диаграммы Ганта: слева — таблица этапов с датами начала и окончания, справа — полосы на временной шкале (начало = дата входа в статус, конец = дата выхода). Текущая дата — красная черта с флагом «Сегодня».

Цветовая кодировка полос Ганта:

Цвет Состояние
Стандартный Пройденные статусы
Активный Текущий статус (кроме терминального)
Доступный Последующие статусы, переход возможен
Серый Недоступные или терминальные статусы

При клике на полосу — тултип с датами начала/окончания, средним временем в статусе и статусом обработки подписи. Контекстное меню позволяет экспортировать данные в CSV или Excel.

Важные предупреждения (критичные правила)

Правило Последствия
Шифрование необратимо Зашифрованную задачу нельзя расшифровать. Текст видят только подписчики; для остальных — «Текст задачи недоступен для просмотра». Поиск по тексту зашифрованных задач не работает
Удаление — физическое и необратимое Задача удаляется из БД без возможности восстановления. Крайняя мера, не должна быть частью бизнес-процесса. Вместо удаления — перевод в статус «Отменена» или перенос в архивную категорию
Конфиденциальность без эскалации Просроченные конфиденциальные задачи не эскалируются. Добавлять участников может только заказчик. Статические подписи не блокируются

5. Учёт производственного календаря в повторениях задач

При настройке периодических повторений задач доступна опция «Учитывать производственный календарь» (флаг OnlyWorkTime). При её включении система проверяет рассчитанные даты повторений через сервис ProdCalendar.IsNonWorkingDay. Если дата выпадает на нерабочий день (выходной или праздник по действующему производственному календарю РФ), поведение зависит от настройки «При попадании на нерабочий день» (NonWorkingDayBehavior):

  • Перенести на ближайший рабочий день (значение Shift, по умолчанию для новых правил) — повторение переносится с нерабочего дня на ближайший рабочий день по следующим правилам:
  • Если следующий день — рабочий, повторение переносится на него.
  • Если следующий рабочий день уже относится к другому календарному месяцу, повторение переносится назад — на последний рабочий день текущего месяца.
  • Не переносить (значение None) — при включённом OnlyWorkTime повторение в нерабочий день не создаётся; при выключённом — дата включается как есть.

Примеры переноса: - Сб 12 апреля → Пн 14 апреля (перенос вперёд, через выходной). - Сб 30 марта → Пт 29 марта (перенос назад, т.к. следующий рабочий день — 1 апреля, уже другой месяц).

Время начала (Start.TimeOfDay) при переносе сохраняется от исходной даты.

Дедупликация. Если на одну и ту же дату приходятся и штатное срабатывание правила, и перенос с нерабочего дня, приоритет у штатного срабатывания. Дублирование не возникает.

Ограничения — когда перенос недоступен: - Количество повторений (Range = OccurrenceCount, «прекратить после N раз») — перенос недоступен; при выборе этого режима настройка автоматически сбрасывается на None. - Рабочий день месяца (WorkDayType ≠ none, режимы «первый / последний / N-й / custom рабочий день месяца») — перенос недоступен; при включении любого из этих режимов настройка автоматически сбрасывается на None.

В интерфейсе перенесённые даты отображаются в preview-календаре повторения с маркером и всплывающей подсказкой «Перенесено с {исходная дата}».

Ежемесячно — N-й рабочий день. В режиме «Каждый месяц» доступна опция выбора конкретного номера рабочего дня (например, 17-й или 20-й). Система вычисляет список всех рабочих дней месяца согласно производственному календарю и выбирает день с заданным порядковым номером. Если в месяце количество рабочих дней меньше указанного номера, для повторения выбирается последний рабочий день этого месяца. Смещение (WorkDayShift) для этого режима не применяется.

Несколько правил в одной задаче. Для одной задачи можно задать до 10 правил повторения и комбинировать их между собой (например, «каждый Пн, Ср, Пт» + «1-е число месяца» + «15-е января»). В UI повторений рядом со списком правил доступна кнопка «+» для добавления ещё одного. Задачи создаются по объединённому расписанию всех правил: если несколько правил указывают одну и ту же дату, задача создаётся один раз. Общие настройки задачи (срок, материализация, копирование файлов) применяются ко всем правилам сразу. Серия завершается, когда исчерпаны все правила.

Флаг «Только рабочие дни»

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

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

Расчёт последовательности с учётом производственного календаря выполняется в TaskRecurrenceManageService.

Логика применяется ко всем типам интервалов:

  • Ежедневно (каждый N день): если выпадающий день нерабочий — повторение не создаётся, отсчёт интервала не сбрасывается. Например, при «каждые 2 дня» пропущенный выходной не влияет на последующие даты.
  • Ежедневно / каждый рабочий день: повторения идут по пн–пт и дополнительно исключаются праздники; если по календарю сб или вс рабочий день — повторение создаётся.
  • Еженедельно (каждую N неделю + выбор дней недели): повторение создаётся только если выбранный день недели является рабочим по производственному календарю.
  • Ежемесячно (N числа или относительный день недели): повторение пропускается при выпадании на нерабочий день.
  • Ежегодно (число–месяц или относительный день недели–месяц): повторение пропускается при выпадании на нерабочий день.

Бизнес-правила

  1. Любое действие над задачей должно проходить проверку прав и допустимости перехода.
  2. Изменения ключевых полей должны быть консистентно отражены в денормализованных read-моделях.
  3. Для критичных действий (сроки, шаги, исполнители) обязателен аудит и восстановимость истории.
  4. Side-effects (уведомления, smart-actions, подписи) считаются частью транзакционного бизнес-результата.

Зависимости

  • categories — настройка жизненного цикла, прав, ДП
  • ext-params — дополнительные параметры задачи
  • comments — обсуждение и системные сообщения
  • files — вложения
  • notifications — уведомления, тикеры, контроль просрочки
  • smart-actions — автоматизация
  • signatures — подписи и согласования
  • resources — трудозатраты и ресурсы
  • calendar — производственный календарь, события

Операционные риски

  • Нарушение консистентности денормализованных таблиц.
  • Частичный успех сложного действия (основное изменение прошло, side-effects нет).
  • Конфликт конкурентных изменений в активной задаче.

Что проверять при инцидентах

  1. Базовые поля задачи и журнал переходов.
  2. Связанные записи по исполнителям/подписям/комментариям.
  3. Денормализованные представления (TasksInSubcat*Denormalized).
  4. Факт вызова событийного контура (EventsActions).

Связи задач и проектные связи

Типы связей

Задачи могут быть связаны друг с другом. Выделяют два уровня связей:

  1. Простая связь — произвольная ассоциация между задачами без направления и семантики.
  2. Проектные связи — типизированные связи с временной семантикой, используемые в проектном планировании (диаграмма Ганта):
Тип Описание Семантика
Начало → Начало (НН) Задача B начинается, когда начинается A Start-to-Start
Начало → Конец (НК) Задача B завершается, когда начинается A Start-to-Finish
Конец → Начало (КН) Задача B начинается после завершения A Finish-to-Start
Конец → Конец (КК) Задача B завершается, когда завершается A Finish-to-Finish

При создании связей из проектного плана тип проставляется автоматически. Связь типа «просто связь» при этом не создаётся.

Отображение в МТФ (карточка задачи)

С версии 2.267.385 в МТФ добавлены два блока:

  • Связи — список связанных задач, сгруппированный по типам проектных связей (если они есть).
  • Подзадачи — список подзадач текущей задачи.

Оба блока поддерживают фильтр «показывать завершённые» (по умолчанию — скрыты) и обновляются по сигналу (push через SignalR).

Каждая строка содержит цветной аватар категории, заголовок, приоритет, счётчик подзадач, до 3 исполнителей, срок (оранжевый — завтра, красный — просрочено). Завершённые задачи — серым цветом.

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

Создание связанной задачи

Через подменю «Подзадачи» в тулбаре или через окно «Подчинённые и связанные» (низ окна — таблица связанных):

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

Быстрый способ связать две задачи: в первой задаче отправить сообщение с символами +# и номером второй (например, +#123456).

Права на разрыв связи

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

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