Расчет временного резерва и его хранение в базе данных
Описание логики работы расчёта временного резерва
Для каждого объекта Системы рассчитываются 3 параметра:
- Временной резерв начала.
- Временной резерв окончания.
- Общий временной резерв.
Способы расчёта
«Временной резерв начала» вычисляется, как разница в календарных днях между поздним и ранним началом расчетной даты начала (РДН).
«Временной резерв окончания» вычисляется, как разница в рабочих днях между поздним и ранним окончанием расчетной даты окончания (РДО).
«Общий временной резерв» вычисляется как наименьшее значение между полем «Временный резерв начала» и «Временной резерв окончания».
- Если общий временной резерв равен 0, он показывает, что задача находится на критическом пути.
- Если общий временной резерв положительный, он показывает, на какое время может быть отложена задача без задержки завершения проекта в целом.
Кейсы
Значение параметра «Общий временной резерв» пересчитывается всегда с уровня того объекта, где было произведено сохранение изменений, в точности, как и критический путь в диаграмме Ганта. Или с уровня соответствующего объекта при запуске планировщика Системы (кнопка «Пересчитать даты» в карточке объектов, опция «Актуализировать план проекта» в настройках формы и т.д.). Простыми словами, если меняются даты объектов, рассчитывается и временной резерв.
Например:
- Если сохранить диаграмму Ганта с уровня объекта «Тестовый проект», то общий временной резерв для каждого из его дочерних объектов рассчитается с уровня этого объекта. Т.е. рассчитывается влияние дочерних объектов на его длительность. Например, объект «Задача N» и его дочерние объекты не имеют нулевой временной резерв, а значит не находятся на критическом пути. Т.е. при сохранении в колонке общий временной резерв для таких объектов запишется значение отличное от 0.
- Если сохранить диаграмму Ганта с уровня объекта «Задача N», то общий временной резерв для каждого из его дочерних объектов рассчитается с уровня этого объекта. Т.е. рассчитывается влияние дочерних объектов на его длительность. Например, объект «Задача N.1» и «Задача N.2» имеют нулевой временной резерв, а значит они находятся на критическом пути. Т.е. при сохранении в колонке общий временной резерв для таких объектов запишется значение равное 0.
- Если произвести изменения в продолжительности задачи проекта в ее карточке, то ее резерв будет рассчитан с уровня ее самой, т.к. в этот момент планировщик Системы не запускается. А вот если вызвать команду «Пересчитать даты», то все даты проекта будут пересчитаны, следовательно, и резерв также будет заново рассчитан по отношению уже к самому проекту.
При обновлении Системы на версию с данным функционалом параметры выше автоматически не рассчитываются. Чтобы временной резерв, к примеру, для проекта рассчитался необходимо заново сохранить его.
Временной резерв в LINQ-запросах
В LINQ-запросах в dataContext.Projects:
TimeReserveStart– временной резерв начала;TimeReserveEnd– временной резерв окончания;TimeReserve– общий временной резерв.
Временной резерв в отчёте ПиР
В настройках отчета типа «Проекты и работы» → раздел «Системные показатели» → чекбокс «Общий временной резерв».
При активации чекбокса и сохранении настроек в отчет выводится колонка «Общий временный резерв».