Функции типа «Условие» позволяют настраивать дополнительные правила перехода между задачами, созданных в рамках воркфлоу. Функции типа «Уведомление» позволяют отправлять пользователям разные уведомления по ходу работы воркфлоу.
Примечание
Настройка предназначена для опытных администраторов. Список навигационных свойств можно посмотреть по ссылке. Для получения дополнительных свойств обратитесь в поддержку: support@timetta.com.
Рассмотрим создание нескольких функций условия.
Важно
Созданные выражения должны быть типа boolean
, то есть содержать значения, которые могут быть только true
или false
:
true
, воркфлоу будет следовать по ветке с заданным условиемfalse
— по ветке «Иначе»В выражениях допускаются арифметические и логические операторы, а также встроенные функции. Подробнее — Выражения вычисляемых полей.
Допустим, необходимо выполнить проверку общего количества часов по проекту. Если сумма оценочных часов превышает 200, то добавляется дополнительный этап согласования проекта.
Чтобы задать такое условие:
Перейдём в настройки Воркфлоу и откроем нужную сущность.
Для добавления новой функции типа «Условие» нажмём на кнопку Новая функция и выберем «Условие»:
Заполним наименование условия. Условие «Иначе» будет создано автоматически.
Для добавления условия нажмём на кнопку Создать. Введём нужное выражение, по которому будет выполняться проверка, — [Total.EstimatedHours]>=200
:
В качестве следующей функции выберем «Дополнительное согласование» — её необходимо создать заранее.
Схема воркфлоу с функцией «Условие»:
Тип сущности | Условие | Выражение |
---|---|---|
Запрос ресурса | Запрос на универсальный ресурс или актуализацию бронирования по пользователю | [TeamMember.Resource.ResourceType] = 'Generic' |
Запрос ресурса | Забронированные часы равны запрошенным часам | Round([RequestedHours], 1) = Round([BookedHours], 1) |
Таймшит | Срок отправки таймшита на согласование — в текущем году | DateDiff('year', GetDate(), [DueDate])=0 |
Проект | Общая сумма оценочных затрат больше заданной | ([Total.EstimatedExpensesBC] + [Total.EstimatedCostBC]) >= 2000000 |
Проект | Проверка того, что: а) у проекта есть Мастер-версия; б) в Мастер-версии есть плановые часы; в) эти плановые часы не равны 0 | ! IsNull([Total.PlannedHours]) and ([Total.PlannedHours]! =0) |
Проект | Заполнено дополнительное поле типа «Список» | ! IsNull([LookupValue4id]) |
Заявка на затраты | Общая сумма по заявке на затраты — в заданном диапазоне | (1000<=[TotalAmount]& &[TotalAmount]<=10000) |
Заявка на затраты | В проект добавлено дополнительное поле типа «Список» (например, тип проекта). При согласовании заявки на затраты проверяем, что значение доп. поля проекта, с которым связана заявка, соответствует заданному | [Project.LookUpValue6.Name]='Внешний' |
Задача | В задаче указаны проект и работа проекта | ! IsNull([ProjectId]) & & ! IsNull([ProjectTaskId]) |
Задача | Работа проекта относится к первому уровню иерархии | [ProjectTask.Indent]==0 |
Задача | Работа проекта относится ко второму уровню иерархии | [ProjectTask.Indent]==1 |
Перейти на русскую версию?