Имя: Пароль:
1C
 
Неправильно работает функция "РазностьДат" в запросе
0 Aleksey1989
 
27.11.15
22:50
Добрый вечер. Подскажите, пжл, в чем м.б. ошибка.
Использую в запросе функцию разность дат:

РАЗНОСТЬДАТ(ВремяНачала, ВремяОкончания, ЧАС) КАК ЗатраченоЧасов

ВремяНачала = 25.11.2015 13:58:50
ВремяОкончания = 25.11.2015 14:01:37
При этом данная функция в запросе при указанных значениях возвращает 1, т.е. почему-то функция отбрасывает минуты, секунды, как я понял и просто из 14 отнимает 13, что не правильно, значение д.б. равно 0.
1 RomanYS
 
27.11.15
22:53
(0) "значение д.б. равно 0", почему? что в документации написано?
2 Armando
 
27.11.15
22:54
"из 14 отнимает 13, что не правильно"
на основании чего сделал вывод что это неправильно?
3 Aleksey1989
 
27.11.15
22:56
(1) Точно, в документации написано:
"Третий параметр содержит единицу измерения, в которой необходимо получить результат функции. В качестве третьего параметра можно использовать следующие значения: Секунда, Минута, Час, День, Месяц, Квартал, Год. При расчете результата функция игнорирует единицы измерения, которые меньше, чем указанная в данном параметре единица."

Но это, на мой взгляд, бред, т.к. явно при указанных значениях функция выдаст неверный результат.
4 RomanYS
 
27.11.15
22:59
(3) она даст ровно то, что написано в доках. "Бред" - это когда наоборот.

В твоем случае бери секунды, дели на 3600 и округляй как тебе надо. Все инструменты для этого есть.
5 GROOVY
 
27.11.15
22:59
(3)  Так считается это на скуле, а там испокон веков так.
6 Aleksey1989
 
27.11.15
22:59
Придется в секундах считать с помощью функции разностьДат и потом переводить в часы.