Устаревшее |
---|
Расчет Срока исходя из Точки Отсчета и расчетного времени -- времени, отведенного на выполнение операции.
1. Если время Точки Отсчета раньше, чем начало рабочего дня, то сдвинем ее вперед, на начало рабочего дня. |
2. Если время Точки Отсчета позже, чем окончание рабочего дня, то сдвинем ее назад, на конец рабочего дня. |
3. Если Точка Отсчета попадает на выходной день, то перенесем ее на первый следующий рабочий день, на то же время.
|
4. Время, оставшееся в день начала расчета между Точкой Отсчета и концом рабочего дня, назовем Остаток дня отсчета. |
5. Если расчетное время меньше длины рабочего дня, а Остаток дня отсчета больше расчетного времени, то Точка Отсчета и Срок попадают на один и тот же рабочий день. Чтобы вычислить Срок, прибавим к Точке Отсчета расчетное время. На этом завершим расчет. Пример: Начало рабочего дня: 9:00 Конец рабочего дня: 21:00 Длина рабочего дня: 8 часов Точка Отсчета: 10 августа 2015 10:00 Расчетное время: 6 часов Срок = 10 августа 2015 16:00 |
6. Если расчетное время больше длины рабочего дня, то разделим расчетное время на две части: полные рабочие дни (максимальное время, кратное длине рабочего дня и меньшее расчетного времени) и остаток расчетного времени.
Пример: Длина рабочего дня: 8 часов Расчетное время: 22 часа 22 часа = 2 * 8 часов длина рабочего дня + 6 часов. Количество полных рабочих дней: 2 дня Остаток расчетного времени: 6 часов |
7. Если остаток расчетного времени меньше остатка дня отсчета. В этом случае день Срока рассчитаем как отстоящий на количество полных рабочих дней от дня Точки Отсчета (выходные и праздничные дни пропускаем). Время Срока рассчитаем как отстоящее на остаток расчетного времени от времени Точки Отсчета. Пример: Начало рабочего дня: 9:00 Конец рабочего дня: 21:00 Длина рабочего дня: 8 часов Точка Отсчета: 10 августа 2015 16:00 Расчетное время: 18 часов Расчетное время = 2 * 8 часов длина рабочего дня + 2 часа. Количество полных рабочих дней: 2 дня Остаток расчетного времени: 2 часа Остаток дня отсчета: 5 часов День Срока = 10 августа 2015 + 2 рабочих дня = 12 августа 2015 Время Срока = 16:00 + 2 часа = 18:00 Срок: 12 августа 2015 18:00 |
8. Если остаток расчетного времени больше остатка дня отсчета. В этом случае остаток расчетного времени снова разделим на две части: время, равное остатку дня отсчета, и остаток дня срока. День Срока рассчитаем как отстоящий на (количество полных рабочих дней + 1) от дня Точки Отсчета (выходные и праздничные дни пропускаем). Время Срока рассчитаем как отстоящее на остаток дня срока от начала рабочего дня. Пример: Начало рабочего дня: 9:00 Конец рабочего дня: 21:00 Длина рабочего дня: 8 часов Точка Отсчета: 10 августа 2015 19:00 Расчетное время: 21 час Расчетное время = 2 * 8 часов длина рабочего дня + 5 часов. Количество полных рабочих дней: 2 дня Остаток расчетного времени: 5 часов Остаток дня отсчета: 2 часа Остаток дня срока: 5 часов — 2 часа = 3 часа День Срока = 10 августа 2015 + (2+1) рабочих дня = 13 августа 2015 Время Срока = 9:00 + 3 часа = 12:00 Срок: 13 августа 2015 12:00 |