Общие сведения
Надёжность и безопасность
Покупка лицензии
Начало работы
Роли в системе
Проекты
Концепции
Компоненты
Инструкции
Задачи
Финансы
Ресурсы
Таймшиты
Клиенты
Вики
Затраты
Отчёты и аналитика
FAQ
Типы отчётов
Использование отчётов
Группировка данных источника
Группировка данных в отчёте
Типы виджетов
Общие отчёты и шаблоны
Настройка отчёта
Экспорт отчётов
Пользовательские настройки отчёта
Вычисляемые поля
Особые колонки отчётов с временными рядами
Использование панелей мониторинга
Публикация панелей
Фильтры источников данных
Настройка и администрирование
Типовой порядок настройки системы
Язык формул и выражений
On-premises
API
История изменений
Термины и определения

Дополнительные роли жизненного цикла и воркфлоу

Обновлено: 29.10.2025

Компонент Роли жизненного цикла и воркфлоу расширяет стандартную модель ролей жизненного цикла платформы. Он позволяет создавать дополнительные (кастомные) роли для использования в различных функциях системы.

Компонент доступен в разделе Настройка — https://app.timetta.com/settings/lifecycle-roles.

Области применения ролей

Созданные роли можно использовать в следующих сценариях:

  • управление правами на переход между статусами жизненного цикла;
  • определение пользователей, которые могут инициировать воркфлоу;
  • настройка участников в воркфлоу типов Задание и Уведомление.

Примеры настройки ролей

  1. Роль по дополнительному полю.
    Добавьте в сущность (например, задачу) дополнительное поле типа Пользователь с именем Заказчик. На основе этого поля создаётся роль. Она автоматически определяет пользователя, указанного в поле, как участника роли.

  2. Роль по связанным данным.
    Для проекта можно создать роль Аналитики команды. В неё войдут все пользователи с ролью Аналитик в команде проекта. Это позволяет динамически формировать список участников на основе связанных сущностей.

Пример реализации обработчика роли

Для реализации пользовательской роли используется интерфейс ILifecycleRoleResolver<T>, где T — тип сущности, для которой определяется роль.

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

/// <summary>
/// Определяет участников роли для указанного проекта.
/// </summary>
/// <param name="context">Контекст жизненного цикла.</param>
/// <param name="entity">Сущность проекта.</param>
/// <returns>Список идентификаторов пользователей, входящих в роль.</returns>
public class ProjectLifecycleRoleResolver : ILifecycleRoleResolver<Project>
{
    public async Task<List<Guid>> ResolveRole(LifecycleRoleContext context, Project entity)
    {
        return [entity.UserValue1Id ?? Guid.Empty];
    }
}

Обработчик возвращает пользователя, указанного в дополнительном поле проекта UserValue1Id.

Аналогичным образом можно реализовать более сложную логику:

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

Содержание

Области применения ролей Примеры настройки ролей Пример реализации обработчика роли
Ничего не найдено

Перейти на русскую версию?