Навигация:  Корпоративные Документы и Процессы > Бизнес-процессы > Настройка бизнес-процесса >

Расчетное время выполнения задачи

ПредыдущаяВернуться к началу главыСледующая

Расчетное время выполнения - крайний срок, до которого исполнитель должен выполнить задачу. Если исполнитель не укладывается в отведенный срок выполнения, то система считает задачу просроченной.

 

Расчетное время определяется на основании:

1.Времени постановки задачи;
2.Настроек функции, по которой формируется задача:
Продолжительности задачи;
Выравнивания (если настроено).

Также может учитываться график работы исполнителя задачи.

 

Подход первый: график работы исполнителя учитывается

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

 

Время постановки задачи

Время постановки задачи - момент создания документа Задача. Если настроено оповещение о поставленных задачах, то оно будет приходить исполнителю в этот момент.

Время постановки первой задачи бизнес-процесса определяется временем запуска сессии по нему. За время постановки остальных задач берется время выполнения предшествующих им задач.

 

Обычно время, отведенное на выполнение задачи (т.е. продолжительность), начинает считаться с момента ее постановки. Однако, когда сотрудники, участвующие в одном бизнес-процессе, работают по разным графикам, возможно выполнить принудительное задание продолжительности задачи.

 

Рассмотрим следующие ситуации:

1.Сессия запускается в нерабочее время исполнителя первой задачи;
2.Момент выполнения задачи одним исполнителем попадает на нерабочее время исполнителя следующей задачи.

 

В подобных случаях задача будет создана (поставлена) в нерабочее время сотрудника, однако время, отведенное на ее выполнение (т.е. продолжительность задачи), будет считаться с момента, когда начнется рабочее время исполнителя. Например, в процессе две функции Ф1 и Ф2. Задачи по функции Ф1 выполняет исполнитель Сидоров, работающий по графику Пн-Пт с 12.00 до 18.00 (без перерыва). Задачи по функции Ф2 выполняет исполнитель Петров, работающий по графику Пн-Пт с 9.00 до 18.00 (перерыв с 13.00 до 14.00). Продолжительность выполнения функции Ф1 - 2 часа. Если, к примеру, Сидоров выполнит свою задачу в 13.20, то задача Петрова создастся (поставится) в это же время, но 2 часа начнет отсчитываться не с 13.20 (поскольку в это время у Петрова обед), а с 14.00.

 

Крайний срок выполнения задачи или расчетное время определяется как:

 

Расчетное время = Время постановки + Продолжительность задачи (с учетом графика работы исполнителя)

 

Как уже говорилось, оповещение о новой задаче приходит пользователю в момент ее постановки. Однако, важно заметить, что иногда оповещения могут немного "опаздывать" (момент получения оповещения может не совпадать с моментом постановки). Дело в том, что частота, с которой для пользователя проверяется наличие новых задач для их отображения внутри системы, зависит от интервала оповещения, заданного для исполнителя на закладке Бизнес-процессы в справочнике Исполнители. Например, сессия запущена в 9.15, а у исполнителя первой задачи настроен интервал оповещения 60 минут (то есть, программа раз в 60 минут проверяет, не назначены ли ему новые задачи и не истекает ли срок по поставленным задачам, дабы показывать подобные сообщения внутри системы), причем последний раз для него система проверяла оповещения в 9.00. Тогда оповещение о постановке задачи придет исполнителю в 10.00, хотя время постановки будет 9.15. По этой причине для пользователей рекомендуется устанавливать небольшой интервал оповещения. И еще один момент: если настроено внутрисистемное оповещение и задача поставлена в нерабочее время пользователя, когда его не было в системе, то он сможет увидеть такое оповещение только после входа в систему.

Похожая ситуация с оповещениями на внешнюю почту - там интервал, через который пользователям отсылаются сообщения, зависит от интервала оповещения, заданного для автопользователя на закладке Бизнес-процессы в справочнике Исполнители. К тому же, в случае отправки сообщений на внешнюю почту, следует учитывать еще 2 фактора: загруженность автопользователя (он автоматически отсылает сообщения на внешнюю почту тогда, когда не загружен другой системной задачей), а также частота, с которой почтовый клиент пользователя проверяет его почту (Outlook Express, The Bat или другие почтовые программы).

 

Настройки функции

К настройкам функции, влияющим на расчетное время выполнения задачи, относятся:

1.Продолжительность
2.Выравнивание (если настроено)

 

Продолжительность

Продолжительность задачи - время, отведенное на ее выполнение. Задается на закладке Свойства функции бизнес-процесса. Для того чтобы продолжительность считалась с учетом графика работы исполнителя, обязательно установить опцию Продолжительность по графику. Продолжительность можно указать в днях, часах и минутах. Например, она может быть 2 часа, 1 день, 2 дня 1 час и 30 минут. Можно задать фиксированные значения продолжительности либо указать реквизиты процесса, подходящие по типу данных, из которых эти значения будут браться.

Пользователь может задать вопрос: "С часами и минутами понятно, а как определяется длительность дня? Ведь у исполнителя продолжительность рабочего дня может быть неодинаковой в течении недели?". Ответ: если у задачи стоит продолжительность "день", то за продолжительность выполнения задачи (в часах) берется продолжительность того дня (с графика работы исполнителя), в который ему была поставлена задача. Рассмотрим два примера.

 

Пример 1.

Исполнитель работает по графику Пн-Пт с 9.00 до 18.00, причем 13.00 - 14.00 - перерыв. Т.е. задан график в семь дней. Первые пять дней состоят из периодов

1) 9.00 - 13.00 и 2) 14.00 - 18.00. Шестой и седьмой день имеют продолжительность 0 часов 0 минут 0 секунд. В Понедельник в 10.00 ему поставлена задача продолжительностью в 2 дня.

Система обратиться к графику работы исполнителя и увидит, что продолжительность рабочего дня, в который поставлена задача, равна восьми часам (9.00 - 13.00 = 4 часа; 14.00-18.00 = 4 часа; 4 + 4 = 8) и распределит продолжительность задачи (два дня = 8 * 2 = 16):

Пн:

С 10.00 до 13.00 = 3
С 14.00 до 18.00 = 4

Вт:

С 9.00 до 13.00 = 4
С 14.00 до 18.00 = 4

Ср:

С 9 до 10.00 = 1

3 + 4 + 4 + 4 + 1 = 16 часов, то есть расчетное время будет "{Среда} 10.00" (только вместо {Среда} отобразится конкретная дата).

 

Пример 2.

График исполнителя разный в разные дни недели. Допустим, в понедельник он работает с 9.00 до 18.00 (перерыв с 13.00 до 14.00), во вторник - с 9.00 до 12.00 (без перерыва), в среду - с 11.00 до 19.00 (перерыв с 14.00 до 15.00). Допустим, в понедельник в 17.00 ему поставлена задача продолжительностью в 1 день.

Система обратится к графику работы исполнителя и увидит, что продолжительность понедельника равна восьми часам (9.00 - 13.00 = 4 часа; 14.00-18.00 = 4 часа; 4 + 4 = 8) и распределит продолжительность задачи:

Пн:

С 17.00 до 18.00 = 1

Вт:

С 9.00 до 12.00 = 3

Ср:

С 11.00 до 14.00 = 3
С 15.00 до 16.00 = 1

1 + 3 + 3 + 1 = 8 часов, то есть расчетное время будет "{Среда} 16.00" (вместо {Среда} отобразится конкретная дата).

 

Если же такая же задача продолжительностью в 1 день будет поставлена этому же исполнителю во вторник (например, в 11.00), то система обратится к графику работы исполнителя и увидит, что продолжительность вторника равна трем часам (с 9.00 до 12.00) и распределит продолжительность задачи:

Вт:

С 11.00 до 12.00 = 1

Ср:

С 11.00 до 13.00 = 2

1 + 2 = 3, то есть расчетное время будет "{Среда} 13.00" (вместо {Среда} отобразится конкретная дата).

 

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

 

Выравнивание

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

По часу;
По дню;
По неделе;
По месяцу;
По кварталу;
По году;
Не выравнивать.

Выравнивание позволяет равнять расчетное время выполнения задачи по концу интервала выравнивания, на который попадает расчетное время.

 

Принцип работы выравнивания

Принцип работы выравнивания

 

Примеры:

1.Допустим, у исполнителя график работы Пн-Пт с 9.00 до 18.00, причем 13.00 - 14.00 - перерыв. Для задачи задана продолжительность в 3 дня и выравнивание по дню. Допустим, задача поставлена в понедельник 20.11.2008 в 11.40. Тогда, если бы выравнивание не было настроено, то расчетное время попало бы на четверг 23.11.2008 на 11.40. Но с выравниванием по дню система выравняет расчетное время выполнения по концу дня 23.11, то есть расчетное время будет "23.11.2008 18.00". Если бы четвертый рабочий день исполнителя заканчивался не в 18.00, а в 19.00, то расчетное время было бы "23.11.2008 19.00" и т.д.
2.Рассмотрим другой пример. У исполнителя график работы Пн-Пт с 9.00 до 18.00 (13.00 - 14.00 - перерыв). Для задачи задана продолжительность в 10 дней и выравнивание по неделе. Допустим, что задача поставлена исполнителю 1.11.2008 в 16.30. Тогда без выравнивания расчетное время было бы "15.11.2008 16.30" (4-ое, 5-ое, 11-ое и 12-ое - выходные дни исполнителя). С выравниванием по неделе расчетное время выравняется по концу недели, на которую оно попадает. То есть, расчетное время будет "17.11.2008 18.00". Если бы у исполнителя длительность рабочей недели изменялась бы в течении месяца, например по нечетным неделям он работает Пн-Пт с 9.00 до 18.00, а по четным Вт-Сб с 8.00 до 17.00, то расчетное время было бы "18.11.2008 17.00" (поскольку 15.11.2008 попадает на четную неделю) и т.д.

 

Выравнивание по остальным интервалам работает аналогично. Стоит только отметить выравнивание по часу:

 

При настроенном выравнивании расчетного времени по часу система равняет его не по концу часа, на который попадает время, а по началу следующего часа. Например, расчетное время без выравнивания попало бы на 10 часов и 44 минуты. При настроенном выравнивании по часу расчетное время установится не на 10.59, а на 11.00.

 

Вывод

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

 

Схема определения расчетного времени выполнения задачи

Схема определения расчетного времени выполнения задачи

 

Подход второй: график работы исполнителя не учитывается

Рассмотрим второй подход определения расчетного времени задачи - без учета рабочего графика исполнителя. Реализуется путем установки опции Продолжительность абсолютная в настройках функции бизнес-процесса. Этот подход используется в двух случаях:

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

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

 

Пример.

Допустим, исполнитель реально работает по графику: с 9.00 до 18.00, причем с 13.00 до 14.00 у него обед. Если ему в 8.00 поставлена задача с абсолютной продолжительностью в 7 часов, время, отведенное на ее выполнение, начнет считаться именно с 8.00, несмотря на то, что его рабочий день начинается в 9.00. А расчетное время попадет на 15.00 (8.00 + 7), несмотря на то, что у исполнителя с 13.00 до 14.00 обед.

 

Определение расчетного времени при абсолютной продолжительности задачи

Определение расчетного времени при абсолютной продолжительности задачи

 

То же самое с выходными и праздниками. Например, у исполнителя суббота и воскресенье - выходные. Если ему в пятницу в 14.00 поставлена задача с абсолютной продолжительностью в 2 дня, то расчетное время определится как "{Воскресенье} 14.00" (только вместо {Воскресенье} отобразится конкретная дата).

 

Время постановки задачи

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

 

Расчетное время = Время постановки + Продолжительность задачи (без учета графика работы исполнителя)

 

Настройки функции

К настройкам функции, влияющим на расчетное время выполнения задачи, относятся:

1.Продолжительность
2.Выравнивание (если настроено)

 

Продолжительность

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

 

Выравнивание

Выравнивание при данном подходе имеет аналогичное значение, что и при при подходе с учетом графика, однако за интервал выравнивания берется не рабочий интервал, а реальный календарный. Например, в функции настроено выравнивание по дню, а у ее исполнителя рабочий день заканчивается в 18.00. Если настроена абсолютная продолжительность, то расчетное время будет равняться не по концу рабочего дня, а по реальному концу дня, то есть будет приводиться не к 18.00, а к 24.00. Еще один пример: в функции задано выравнивание по неделе, а у ее исполнителя суббота и воскресенье выходные. Если настроена абсолютная продолжительность, то расчетное время задачи будет равняться не по концу рабочего времени пятницы, а по концу календарной недели, то есть будет приводится к "{Воскресенье} 23.59" (только вместо {Воскресенье} будет подставляться конкретная дата).

 

Вывод

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

 

Схема определения расчетного времени выполнения задачи

Схема определения расчетного времени выполнения задачи

 

Настройка указываемого расчетного времени

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

Настроить реквизит процесса типа Дата, в котором будет указываться расчетное время. Например, если нужно, чтобы продолжительность N-ой задачи определялась исполнителем задачи N-1, то в N-1 функцию можно добавить реквизит Расчетное время выполнения задачи N.
В функцию, по которой будут формироваться задачи с фиксированным расчетным временем, добавить реквизит типа Число с формулой расчета:

 

[Реквизит процесса, в котором будет определяться расчетная дата и время] - [Задача.Дата],

 

где Задача.Дата - это дата документа Задача, то есть время постановки задачи.

Этот реквизит можно назвать Продолжительность и сделать видимым либо же невидимым.

В функции, по которой будут формироваться задачи с фиксированным расчетным временем, указать продолжительность из параметра процесса (реквизита Продолжительность ). Разница между датами считается в секундах (например, 27.04.2007 20:00 - 27.04.2007 14:00 = 6 часов = 21 600 с).

 

Если расчетная дата получится меньше, чем дата постановки задачи, то она приравнивается к дате постановки.

 

См. также:

График работ
Корректировки графиков работ
Состояние Функция