Имя: Пароль:
1C
1С v8
как посчитать общую продолжительность перерывов в наряде?
0 vfrcbv
 
02.04.18
15:59
Добрый день.
В течение рабочей смены с 08:00 до 17:00, есть три фиксированных перерыва (например, с 10:00 до 10:10, 12:00 по 12:30, 15:00 по 15:10).

Продолжительность сдельного наряда зависит от задания и может быть произвольной.Подскажите, каким оптимальным способом, можно найти за произвольный период(время начала и окончания работ по наряду), общую продолжительность перерывов, которые вошли в наряд?
1 Волшебник
 
02.04.18
16:01
переведи всё в секунды
2 vfrcbv
 
02.04.18
16:06
(1) можно чуть поподробней?
3 fedoss
 
02.04.18
16:44
А в чем проблема проверить вхождение времени перерывов в интервал работ по наряду?
4 vfrcbv
 
05.04.18
15:00
Скрин шкалы рабочего времени: https://drive.google.com/file/d/18X38qXubftnoKeXB4PM5UCWyBK7kSRpG/view

Например, есть наряд с 08:00 утра до 16:00, в него попадают два пeрeрыва и обед, т.е. из общей продолжительности наряда, надо будет вычесть 2 пeрeрыва по 10 мин + 30 мин обeда. В итоге, имеем 430 минут чистого рабочего времени.

Подскажите пожалуйста, идею реализации этого алгоритма.
5 fedoss
 
05.04.18
15:19
Для Каждого СтрокаПерерывов Из ТаблицаПерерывов Цикл
   Если СтрокаПерерывов.ВремяНачала >= НачалоРабот И СтрокаПерерывов.ВремяОкончания <= ОкончаниеРабот Тогда
      РабочееВремя = РабочееВремя - СтрокаПерерывов.Продолжительность;
   КонецЕсли
КонецЦикла

+Допистать условия, если вдруг смена может начаться/окончиться во время перерыва
6 vfrcbv
 
05.04.18
15:40
(5) Спасибо!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший