В системе можно настроить возможность расчета сроков и трудоемкости как в рабочих днях, так и в рабочих часах.

Для этого используется оператор "AddWorkingTime".

Расчет может производиться в рамках задач и процессов.

Функция

AddWorkingTime(This('start_date_fact'), 5, true, '9,13,14,18')

Где:

  • - размер трудозатрат
  • true - трудозатраты вычисляются в часах
  • false - трудозатраты вычисляются в днях
  • '9,13,14,18' - восьмичасовой рабочий день с 9:00 до 13:00 и с 14:00 до 18:00 (Если не указать, то данное значение будет использоваться по умолчанию)
  • При использовании функции "AddWorkingTime" используется производственный календарь, а суббота и воскресенье являются выходными днями по умолчанию

Настройка расчета в задаче на примере "Задача на согласование"

ВНИМАНИЕ! Для возможности отображения в атрибуте с типом "Дата" даты и времени необходимо поставить галочку в требуемом атрибуте "Показывать время".

1. Перейти в автоматизацию задачи.

2. Выбрать правило автоматизации "Задача на согласование_Не_начато_Установить значение поля":

3. Выбрать элемент с названием "Установить значение поля (Дата окончания (План))":

4. В поле "Формула" установить следующее значение:

Пример для копирования

AddWorkingTime(Date(), Switch(This("Статус процесса.Название"), "Входной контроль", This("Процесс.Трудозатраты этап 1"), "Согласующие", This("Процесс.Трудозатраты этап 2"), "Утверждающие", This("Процесс.Трудозатраты этап 3")), true, '9,13,14,18')

5. Результатом станет вычисление поля "Дата окончание (План)" в карточке задачи в часах:

Настройка расчета в процессе на примере "Согласование документации (v2)"

ВНИМАНИЕ! Для возможности отображения в атрибуте с типом "Дата" даты и времени необходимо поставить галочку в требуемом атрибуте "Показывать время".

1. Перейти в автоматизацию процесса.

2. Выбрать правило автоматизации "Согласование документации_Инициализация_Установить значение поля":

3. Выбрать элемент с названием "Установить значение поля (Дата окончания (План))":

4. В поле "Формула" установить следующее значение:

Пример для копирования

AddWorkingTime(Date(),if(IsNull(This("Входной контроль")),0,This("Трудозатраты этап 1")) + if(IsNull(This("Согласующие")),0,This("Трудозатраты этап 2")) + if(IsNull(This("Утверждающие")),0,This("Трудозатраты этап 3")), true, '9,13,14,18')

5. Результатом станет вычисление поля "Дата окончание (План)" в карточке процесса в часах:

  • No labels