Воркфлоу
Обновлено: 26.04.2024
Компонента предназначена для настройки воркфлоу — процессов согласования различных сущностей.
Примечание
Для доступа к настройкам воркфлоу требуется набор прав для роли Администратор
с активными правами для гранулы «Жизненные циклы».
Воркфлоу — бизнес-процесс для согласования различных сущностей Timetta (таймшитов, заявок на затраты, заявок на отсутствия, актов и т. д.).
Для каждой сущности может быть создано несколько воркфлоу (например, таймшиты руководителей согласовываются по одному бизнес-процессу, а рядовых пользователей — по другому).
В рамках воркфлоу:
- Создаются задачи для участников бизнес-процесса;
- Выдаются права для исполнителей задач на просмотр согласуемой сущности (для всех сущностей, кроме таймшитов. Подробнее — Особенности согласования таймшитов);
- Изменяется стадия жизненного цикла сущности.
Воркфлоу — способ «доставить» сущность до участника бизнес-процесса, создать для него задачу, выдать права и, в зависимости от этапа процесса, перевести сущность на нужную стадию жизненного цикла.
Совет
Создание в системе большого числа воркфлоу существенно затрудняет администрирование. Следует стремиться к тому, чтобы для каждой сущности было одно, максимум два воркфлоу.
- Перейдите к компоненте Воркфлоу.
- На панели действий нажмите кнопку Создать воркфлоу.
- Заполните базовые реквизиты:
- Наименование — наименование воркфлоу.
- Жизненный цикл — жизненный цикл сущности, для которой создается воркфлоу. Выбор из справочника Жизненные циклы.
- Стартовое состояние — стадия жизненного цикла сущности, на которой можно стартовать данный воркфлоу.
- Нажмите кнопку Создать.
- Наименование — наименование воркфлоу. Для редактирования наименования щелкните по нему мышью.
- Жизненный цикл — жизненный цикл сущности, для которой создано воркфлоу.
- Инициатор может отменить процесс — опция, регулирующая возможность прерывания воркфлоу инициатором. Если опция активна, пользователь, стартовавший воркфлоу, может его прервать. При прерывании воркфлоу все активные задачи будут прекращены, а сущность вернется в начальное состояние.
Пример:
Пользователь стартует воркфлоу по таймшиту. Таймшит уходит на согласование нескольким менеджерам проектов. Пользователь понимает, что стартовал согласование преждевременно. Если в настройках воркфлоу активна опция Инициатор может отменить процесс, пользователю будет доступна кнопка для прерывания воркфлоу. По нажатию на кнопку все задачи на согласования будут прекращены, а таймшит вернется в состояние «Черновик».
- Сущность активна — признак активности (неактивные воркфлоу недоступны для старта).
- Стартовое состояние — стадия жизненного цикла сущности, на которой можно стартовать данное воркфлоу.
- Описание — свободное описание или заметка для воркфлоу.
Раздел определяет пользователей, имеющих право на запуск данного воркфлоу.
В качестве инициаторов можно указывать:
- Роли — бизнес-роли, определяемые из контекста сущности. Для выбора доступны следующие роли:
- Все. Воркфлоу доступно для запуска всем пользователям системы.
- Автор. Воркфлоу доступно для запуска автору (создателю) сущности.
- Руководитель автора. Воркфлоу доступно для запуска руководителю автора сущности.
- Группы — выбор из справочника Группы пользователей. Воркфлоу доступно для всех пользователей, включенных в выбранные группы.
- Пользователей — выбор из справочника Пользователи. Воркфлоу доступно указанным пользователям.
- Наборы прав — выбор из справочника Наборы прав. Воркфлоу доступно пользователям, которым явно или через включение в группы, присвоен указанный набор прав.
Совет
Предположим, что есть две категории пользователей: «Руководители» и «Рядовые сотрудники». Процесс согласования таймшитов для них различается: Руководители должны согласовывать свои таймшиты по сокращённому процессу, а рядовые сотрудники — по расширенному.
Как настроить такие процессы в Timetta:
1. Необходимо создать два воркфлоу (сокращенное и расширенное согласование) для сущности «Таймшит».
2. Создать две группы (в справочнике Группы пользователей). В одну группу включить всех руководителей, во вторую — всех рядовых сотрудников.
3. Инициаторами воркфлоу для сокращенного процесса согласования назначить группу «Руководители», а инициаторами воркфлоу для расширенного процесса согласования — группу «Рядовые сотрудники».
Настройки в данном разделе определяют наименования для действий запуска и отмены воркфлоу в русском и английском интерфейсе пользователя.
Для добавления локализации наименования действия:
- Щелкните по ссылке Добавить локализацию.
- В диалоговом окне с помощью кнопки Добавить добавьте строку в табличную часть.
- В добавленной строке выберете язык, а в колонке Наименование укажите отображаемое наименование действия для выбранного языка:
Примечание
В приведенном выше примере, кнопка для отмены запуска воркфлоу в русском интерфейсе системы будет называться «Прервать согласование», в английском — «Suspend approval».
В разделе настраивается схема воркфлоу.
Схема состоит из функций и переходов между ними. В воркфлоу всегда должна быть начальная и конечная функция (Старт и Финиш).
С помощью кнопки Новая функция в схему воркфлоу добавляются функции типа «Задача», «Условие» и «Уведомление» — подробнее Настройка функций типа «Условие» и «Уведомление».
Для каждой задачи определяется:
- Исполнитель.
- Доступные действия.
- Доступные переходы.
- Дополнительные условия.
На графической схеме отражаются добавленные в воркфлоу функции и переходы.
Для настройки функции откройте контекстное меню строки и нажмите пункт Редактировать:
Атрибуты функции:
- Наименование — указывается наименование функции. По умолчанию — «Старт».
- Следующая функция — указывается функция, следующая после старта, то есть функция, к которой перейдет процесс после запуска воркфлоу.
- Переместить сущность в состояние — указывается стадия жизненного цикла, в которую будет переведена сущность после старта воркфлоу.
Пример:
Воркфлоу для сущности «Таймшит». Стартовое состояние — «Черновик» (то есть воркфлоу можно запускать для таймшитов в состоянии «Черновик»). После старта воркфлоу таймшит должен перейти в состояние «На согласовании». Для этого в свойствах функции «Старт» в атрибуте Переместить сущность в состояние следует указать состояние «На согласовании».
Для настройки функции откройте контекстное меню строки и нажмите пункт Редактировать.
Атрибуты функции:
- Наименование — указывается наименование функции. По умолчанию — «Финиш».
Карточка со свойствами функции открывается в диалоговом окне автоматически, при добавлении новой функции типа «Задача». Кроме того, свойства функции можно открыть командой Редактировать в контекстном меню строки:
- Наименование — указывается наименование функции.
- Локализация наименования — позволяет задать правила отображения наименования задач в интерфейсе пользователя с учетом выбранного языка.
Для добавления локализации наименования задачи:
- Щелкните по ссылке Добавить локализацию.
- В диалоговом окне с помощью кнопки Добавить добавьте строку в табличную часть.
- В добавленной строке выберете язык, а в колонке Наименование укажите отображаемое наименование задачи:
Важно
При задании локализованного наименования задачи можно использовать регулярное выражение {{Name}}, что позволяет подставить в наименование задачи наименование сущности, согласуемой в рамках воркфлоу.
Пример:
Предположим, что настраивается задача для согласования Таймшита. Если добавлена локализация наименования задачи для русского языка вида «Согласовать {{Name}}», то название задачи на согласование будет формироваться динамически и иметь вид «Согласовать {{имя таймшита, направленного на согласование}}».
В разделе настраивается список исполнителей задач, создаваемых в рамках данной функции.
Исполнителей может быть указано несколько, тогда одна функция породит несколько задач (по одной задаче для каждого исполнителя).
Пример:
Предположим, что настраивается воркфлоу для согласования Таймшита. В воркфлоу добавлена функция, где исполнителями указаны роли «Менеджер проекта» и «Руководитель автора». В рамках данной функции будет создано несколько задач:
1. По одной задаче для всех менеджеров проектов, чьи проекты добавлены в таймшит.
2. Задача для непосредственного руководителя автора таймшита.
В качестве исполнителей можно указывать:
- Пользователей — выбор из справочника Пользователи. Задачи в рамках функции будут созданы для выбранных пользователей.
- Группы — выбор из справочника Группы пользователей. Задачи в рамках функции будут созданы для всех пользователей, входящих в выбранные группы.
- Роли — бизнес-роли, определяемые из контекста сущности. Для выбора доступны следующие роли:
- Автор — автор согласуемой сущности.
- Руководитель автора — непосредственный руководитель автора согласуемой сущности. Например — руководитель автора таймшита.
- Менеджер проекта — определяется из контекста согласуемой сущности. Например для таймшита — менеджеры всех проектов, чьи проекты добавлены в таймшит.
- Менеджер клиента — определяется из контекста согласуемой сущности. Например для таймшита — менеджеры всех клиентов, чьи проекты добавлены в таймшит.
- Менеджер программы — определяется из контекста согласуемой сущности. Например для таймшита — менеджеры всех программ, чьи проекты добавлены в таймшит.
- Со-менеджер проекта — определяется из контекста согласуемой сущности. Например для таймшита — со-менеджеры всех проектов, чьи проекты добавлены в таймшит.
- Со-менеджер программы — определяется из контекста согласуемой сущности. Например для таймшита — со-менеджеры всех программ, чьи проекты добавлены в таймшит.
- Инициатор — пользователь, выполнивший запуск воркфлоу.
Совет
Предположим, что настраивается воркфлоу для согласования Заявки на затраты. На одном из шагов бизнес-процесса заявку требуется согласовать с представителями отдела финансового контроля и таких сотрудников несколько. Можно решить эту задачу несколькими способами:
1. В списке исполнителей перечислить всех пользователей (не рекомендуется, так как список придется корректировать при увольнении / приеме на работу новых сотрудников).
2. В справочнике Группы пользователи создать группу, например «Финансовые контролеры». Включить в состав группы требуемых пользователей и назначить группу исполнителями функции.
В разделе задается список действий, доступных исполнителю задачи, созданной в рамках данной функции.
Фактически действия — это кнопки, доступные исполнителю в задаче.
Для создания действия нажмите кнопку Создать.
Свойства действия:
- Наименование — наименование действия.
- Локализация — позволяет задать отображаемое в карточке задачи наименование действия для русского и английского интерфейса.
- Иконка — позволяет задать отображаемую в карточке задачи иконку для действия. Выбор из каталога иконок. В поле указывается наименование иконки в формате bi-{icon_name}.
Для приведенной на скриншоте выше конфигурации действия, в интерфейсе на русском языке, в задаче будет отображаться кнопка Согласовать с соответствующей иконкой:
На вкладке Форма в карточке действия:
- Показывать форму перехода — если опция активна, после выполнения задачи с данным действием, для пользователя отобразится форма перехода с запросом дополнительных параметров.
- Запрашивать комментарий — если опция активна на форму перехода будет добавлено поле Комментарий. Опция доступна только при активной опции Показывать форму перехода.
- Комментарий обязателен — если опция активна, форму перехода нельзя будет закрыть без заполнения поля Комментарий.
Совет
Предположим, что настраивается воркфлоу для согласования Таймшита. На одном из шагов бизнес-процесса таймшит направляется на согласование Руководителю автора. В задаче на согласование доступны два действия: «Согласовать» и «Отклонить». При отклонении таймшита требуется обязательно указать комментарий с причиной отклонения.
Для реализации такого кейса в функции с типом «Задача» исполнителем следует указать роль «руководитель автора», добавить два действия: «Согласовать» и «Отклонить». Для действия «Отклонить» на вкладке Форма активировать опции Показывать форму перехода, Запрашивать комментарий и Комментарий обязателен.
В разделе определяется список возможных переходов из данной функции к другим функциям воркфлоу и условия выполнения этих переходов.
Для перехода нажмите кнопку Создать.
Свойства перехода:
- Наименование — наименование перехода, отображаемое на схеме воркфлоу.
- Переместить сущность в состояние — выбор стадии жизненного цикла сущности, в которое сущность будет переведена при выполнении данного перехода.
- Следующая функция — выбор функции воркфлоу, к которой будет выполнен переход.
В разделе Условия определяются условия выполнения перехода.
Типы условий:
- Все — переход активируется, если все исполнители задач, созданных в рамках данной функции, выполнят свои задачи с результатом, указанном в поле Ожидаемый результат.
Совет
Предположим, что несколько менеджеров проектов получают задачи на согласование Таймшита. Таймшит считается согласованным только в случае, если все менеджеры проектов выполнили свои задачи с результатом «Согласовано».
В настройках перехода между функцией «Согласование менеджерами проектов» и функцией «Финиш» следует добавить условие с типом «Все» и ожидаемым действием «Согласовано». При такой настройке переход активируется только после того, как все менеджеры проектов выполнят свои задачи с результатом «Согласовано».
- Первый — переход активируется, если хотя бы один из исполнители задач, созданных в рамках данной функции, выполнит свои задачи с результатом, указанном в поле Ожидаемый результат.
Совет
Предположим, что несколько менеджеров проектов получают задачи на согласование Таймшита. Таймшит считается согласованным только в случае, если все менеджеры проектов выполнили свои задачи с результатом «Согласовано», а если хотя бы один из менеджеров выполняет задачу с результатом «Отклонено» — таймшит должен вернуться на доработку автору.
В настройках перехода между функцией «Согласование менеджерами проектов» и функцией «Доработка автором» следует добавить условие с типом «Первый» и ожидаемым действием «Отклонено». При такой настройке переход активируется, как только хотя бы один из участников согласования отклонит таймшит. Невыполненные задачи прочих участников согласования будут прекращены.
- Иначе после всех — переход активируется, если не удалось определить исполнителей задач
для функции.
Важно
В каждой функции должен обязательно быть один переход с условием типа «Иначе после всех».
Совет
Предположим, что настраивается воркфлоу для согласования Таймшита. На одном из шагов бизнес-процесса Таймшит требуется согласовать с Руководителем автора. Допустима ситуация, когда Руководителя автора не получается вычислить (например, в карточке пользователя не заполнено поле Руководитель). Как следствие, задачу в рамках функции создать не получится.
В этом случае воркфлоу перейдет к следующей функции, активировав переход с условием «Иначе после всех».
Вкладка Не создавать задачи в карточке функции предназначена для задания условий, при выполнении которых задачи для исполнителей в рамках данной функции не будут создаваться.
Активная опция Исполнитель задачи это инициатор воркфлоу позволяет исключить создание задач для пользователя, являющегося инициатором воркфлоу, если он определен как исполнитель в какой-либо функции.
Совет
Предположим, что настраивается воркфлоу для согласования Таймшита. На одном из шагов бизнес-процесса Таймшит требуется согласовать с Менеджерами проектов. Инициатор воркфлоу сам является менеджером проекта и в его таймшите есть отметка на собственный проект.
Чтобы инициатор не согласовывал собственный таймшит, в настройках функции следует активировать опцию Исполнитель задачи это инициатор воркфлоу на вкладке Не создавать задачи.
Для прочих менеджеров проектов — участников согласования, задачи будут созданы.
Раздел Не создавать задачу, если выполнено одно из условий позволяет настраивать бизнес-правила, исключающие создание задач для отдельных исполнителей. Ниже приведено несколько бизнес-кейсов, иллюстрирующих использование данной настройки.
Кейс 1. Пропуск повторного согласования с менеджером проекта.
Таймшит согласовывается с менеджерами проектов. Предположим, что в согласовании участвует несколько менеджеров.
- Первый менеджер получает задачу на согласование и выполняет её с результатом «Согласовано».
- Следующий менеджер отклоняет таймшит и он возвращается на доработку автору.
- Автор вносит изменения в таймшит и запускает повторное согласование.
Чтобы первый менеджер проекта повторно не согласовывал таймшит, на вкладке Не создавать задачи должна быть следующая конфигурация:
Если при тех же условиях задача не должна создаваться только в случае, если автор во время доработки не вносил изменения в отметку по проекту первого менеджера, следует дополнительно активировать опцию И сущность не поменялась:
Кейс 2. Пропуск двойного согласования.
Таймшит согласовывается в два шага: с менеджерами проектов, а затем с руководителем автора. Предположим, что руководитель автора одновременно является одним из менеджеров проектов.
Чтобы избежать двойного согласования на вкладке Не создавать задачи должна быть следующая конфигурация:
- Функцию нельзя сохранить без настройки переходов. Рекомендуется после создании функции выполнить настройку действий, добавить переходы и условия, но предварительно во всех переходах в качестве следующей функции указывать «Финиш». Актуальные переходы расставить после создания всех функций.
- В каждой функции должен быть переход с условием типа «Иначе после всех».
- Следует стремиться к минимально-необходимому числу функций в воркфлоу. Воркфлоу с большим числом функций сложно администрировать и поддерживать.
- Следует избегать назначения исполнителями функций конкретных пользователей. Лучше пользоваться ролями или группами. Тогда если пользователь уволится, не придется перенастраивать исполнителя во всех функциях, где он был назначен.