Имя: Пароль:
1C
 
Учет времени с перерывами
0 vfrcbv
 
08.07.15
15:40
Добрый день.
Подскажите пожайлуста идею для реализации следующего алгоритма:

В документе есть два реквизита: Дата начала выполнения работы и Дата окончания выполнения работы.  
Нужно получить разность в минутах между этими датам, учитывая перерывы в работе. (В перерывов в течения дня бывают несколько).

Например, ДатаОкончания=08.07.2015 16:30
ДатаНачала=08.07.2015 15:00, мы попадаем в один из перерывов с 15:30 до 16:00. Соответственно по факту работа = 60 минут.
1 Ненавижу 1С
 
гуру
08.07.15
15:41
а как определены перерывы?
2 vfrcbv
 
08.07.15
15:44
(1) 6 фиксированных перерывов в течения дня.
3 Лефмихалыч
 
08.07.15
15:47
(0) от начала дня до начала первого перерыва, плюс от конца первого перерыва до начала второго, и так далее.
Но проще не колебать мозг и сделать, как, например, в ДО графики работы реализованы. Там в спрвочнике задается количество часов в дне, в неделе и в месяце. Чтоб значит, не сочинять вот эти дрова гнилые
4 Timon1405
 
08.07.15
15:49
конфа 1С:Бордель?
5 palpetrovich
 
08.07.15
15:49
(2) общеевремя - квоПерерывовПопавшееВИнтервал * времяПерерыва
как-то так
6 fisher
 
08.07.15
15:50
Идею ты как бы уже озвучил. Что смущает в реализации? Можно хоть так, хоть запросом. Тебе как?
7 Ненавижу 1С
 
гуру
08.07.15
15:56
подсказка, реальные перерывы, попадающие в интервал это
(А,Б) если А<Б, где
А = Макс(НачалоПерерыва,НачалоИнтервала)
Б = Мин(КонецПерерыва,КонецИнтервала)
8 Garykom
 
гуру
08.07.15
15:57
(3)(5)(7) это все фигня. предлагаю графически... или лучше методом монте-карло...
9 fisher
 
08.07.15
15:59
Желательно сразу учесть возможность переходящих между сутками работ, чтобы два раза не вставать. Это подсказка в части генерации таблицы реальных дат/времен перерывов.
10 Garykom
 
гуру
08.07.15
16:02
(9) угу и что график работы (интервалов) иногда меняется и иногда бывают дни без интервалов да?
11 fisher
 
08.07.15
16:03
(10) Это уже выход на календари, как более общий случай. В случае генерации календарей перерывов решение даже упрощается.
12 fisher
 
08.07.15
16:07
На практике для простых задач типа (0) редко нужны полные календари. Достаточно набора правил и календаря исключений.