|
Подскажите формулу. (разность в часах с учетом рабочего дня) | ☑ | ||
---|---|---|---|---|
0
Aswed
29.05.17
✎
14:49
|
Есть время начала выполнения операции.
27.05.17 16:15 И время окончания 29.05.17 12:02 Подскажите как посчитать сколько РАБОЧЕГО времени выполнялась задача, учитывая что рабочий день с 10 до 19? Я вот ни как не могу придумать универсальную формулу. Может кто делал уже подобное. |
|||
1
1dvd
29.05.17
✎
14:51
|
В запросе или так?
|
|||
2
RomanYS
29.05.17
✎
14:59
|
Найти пересечения, просуммировать их длительность
|
|||
3
Йохохо
29.05.17
✎
15:00
|
разностьдат(1-2, ДЕНЬ)*9 + (19:00 - время1) - (19:00 - время2)
|
|||
4
Tankur
29.05.17
✎
15:01
|
кодом или запросом надо?
|
|||
5
Йохохо
29.05.17
✎
15:01
|
круто)
|
|||
6
Tankur
29.05.17
✎
15:01
|
(3) Надо с учетом рабочего времени.
|
|||
7
Fish
29.05.17
✎
15:02
|
Имхо, тут только цикл городить.
|
|||
8
RomanYS
29.05.17
✎
15:02
|
(3) а где выходные, праздники, обеды?
|
|||
9
RomanYS
29.05.17
✎
15:06
|
(7) в запросе легко (2) делается
|
|||
10
Fish
29.05.17
✎
15:07
|
(9) Покажи пример.
|
|||
11
Aswed
29.05.17
✎
15:08
|
(1) Так.
|
|||
12
Tankur
29.05.17
✎
15:08
|
Регистры расчета: Базовые периоды
спасут вас. Эта ВТ создана для ваших случаев |
|||
13
Aswed
29.05.17
✎
15:08
|
(8) Выходные праздники обеда можно опустить. Фирма работает без выходных.
|
|||
14
aleks_default
29.05.17
✎
15:09
|
(8)+ смены, графики работы
|
|||
15
RomanYS
29.05.17
✎
15:13
|
(10)
ВЫБРАТЬ ВЫБОР КОГДА ВТ.Начало > ВТ1.Начало ТОГДА ВТ.Начало ИНАЧЕ ВТ1.Начало КОНЕЦ КАК Начало, ВЫБОР КОГДА ВТ.Конец < ВТ1.Конец ТОГДА ВТ.Конец ИНАЧЕ ВТ1.Конец КОНЕЦ КАК Конец ПОМЕСТИТЬ Пересечения ИЗ ВТ КАК ВТ ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК ВТ1 ПО (ВЫБОР КОГДА ВТ.Начало > ВТ1.Начало ТОГДА ВТ.Начало ИНАЧЕ ВТ1.Начало КОНЕЦ < ВЫБОР КОГДА ВТ.Конец < ВТ1.Конец ТОГДА ВТ.Конец ИНАЧЕ ВТ1.Конец КОНЕЦ) |
|||
16
Fish
29.05.17
✎
15:17
|
(15) Круто, но не очень понятно. ВТ.Начало и ВТ.Конец - это я так понял даты начала и конца (27.05.17 16:15 и 29.05.17 12:02 ), а ВТ1.Начало и ВТ1.Конец - это рабочее время? Или наоборот?
И как здесь учтено, что весь период на несколько дней попадает? |
|||
17
Aswed
29.05.17
✎
15:21
|
+ (16) Да да. Требуется пояснение что за параметры.
|
|||
18
RomanYS
29.05.17
✎
15:54
|
(16) (17) подразумеваются 2 разных таблицы с периодами. Запрос находит пересечения. В одной из таблиц должны быть графики (с датами и временем), если такой таблицы нет - то придется ее предварительно создать.
с учетом (13) проще допилить (точнее исправить ошибки) (3) |
|||
19
dezss
29.05.17
✎
16:10
|
(18) а какие в (3) ошибки? вроде все правильно.
|
|||
20
Aswed
29.05.17
✎
16:14
|
(18) Блин с таблицей периодов оно и понятно что можно натворить делов)))
А вот если её нет))) |
|||
21
Вафель
29.05.17
✎
16:15
|
(20) а как ты выходные и праздники тогда определишь?
|
|||
22
RomanYS
29.05.17
✎
16:15
|
(19) непонятно зачем там 19:00 два раза.
Ну и непонятно могут ли быть начала или конец вне смены. |
|||
23
RomanYS
29.05.17
✎
16:18
|
С учетом (13) формула примитивна: берем полную разность дат и вычитаем количество полных суток умноженное на 15 (нерабочее время). Это конечно если границы приходятся на рабочее время.
|
|||
24
dezss
29.05.17
✎
16:33
|
(22) на невсмену там не проверяется, это да.
А 2 раза оно там и надо, просто он прибавляет то время, что было отработано в первый день и вычитает то, что не было отработано в последний, как-то так. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |