Итог по дате (Времени) в СКД

1. user5300 1010 09.10.19 09:39 Сейчас в теме
Добрый день, друзья. Помогите с решением одной задачи, никак не додумаюсь сам...

Имеется отчет с учетом времени за период ( 1 день - 7 часов, 2 день -8 часов, 3 - 7,2 часов и т.д.)
Вывожу в отчет эти результаты как дату , как преобразованное число (т.е. 8,7 - как 8,45 - (70 мин не бывает )), и как число ( как 8,7 - что не правильно ) - в итоге оставлю 1 колонку которая более подойдет...


А вопрос такой - как правильно подсчитать итоги ?
Получается если сложить 1 колонку - получаются намного меньше часов, Сложить дату не получается , и 3 колонка более менее подходит но опять же - нужно преобразовать под время ...

Что лучше использовать ?) И Если варик сложить дату то подскажите как ?)
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
15. VmvLer 09.10.19 17:49 Сейчас в теме +1.84 $m
(14) в СКД ваша задача решается - достаточно одной формулы в ресурсах.
Пользовательские поля на скрине для наглядности.
Прикрепленные файлы:
ВнешнийОтчетСуммируемВремя.erf
vladisemen; Terabaytus; +2 Ответить
13. dhurricane 09.10.19 11:04 Сейчас в теме +1.25 $m
(12) Тогда вернемся к моему исходному сообщению. Зачем все это? :)

Если у Вас есть время в часах, пусть и дробное, но точное, перестаньте его округлять и преобразовывать, дабы с ума не сходили итоги. Пусть складываются дроби. А чтобы пользователь мог переварить это дробное значение часов, установите удобное представление поля количества часов. В макетах СКД, например.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. dhurricane 09.10.19 09:51 Сейчас в теме
(1) Не совсем понятно, с чем связана проблема итогов. Догадываюсь, что Вы не просто выводите результаты как дату, Вы буквально используете в отчете значения даты.

Кажется, что это неверный подход. Стоит в отчете продолжить использовать дробные значения часов, и работать с ними именно как с числами. А для удобства пользователя использовать представление значений в виде даты.
5. user5300 1010 09.10.19 09:56 Сейчас в теме
(3) да, использую )

Ну вот с числами - итога не правильный получается же - на этом примере за 3 дня - разница в 2 часа, а за месяц еще больше получается , вот я и пытаюсь сообразить как по уму подсчитать итоги
7. dhurricane 09.10.19 10:11 Сейчас в теме
(5) У Вас даже в секундах неправильный итог? Ведь там банальное сложение чисел.
8. user5300 1010 09.10.19 10:17 Сейчас в теме
(7) ну в секундах получается как 27,89 - к примеру , а должно быть 27,55
9. dhurricane 09.10.19 10:21 Сейчас в теме
(8) А что первично? Какие данные выбираются в запросе отчета? Не время в секундах?
10. user5300 1010 09.10.19 10:35 Сейчас в теме
(9) время в секундах , округляется в моем модуле и выводит результат, 2 - как дата , и 3 - время в секундах / 3600
11. dhurricane 09.10.19 10:54 Сейчас в теме
(10)
округляется
Как я понимаю, Вы имеете дело с накапливаемой ошибкой округления. Быть может тогда округлять не сами значения, а при форматировании представления?
12. user5300 1010 09.10.19 10:57 Сейчас в теме
(11) округляется как время ) -правильно


Вот функция
Функция Время(ВрВЧасах) ЭКСПОРТ
	Если не ТипЗнч(ВрВЧасах) = Тип("Число") тогда 
		возврат 0;
	КонецЕсли;
	
	ЧЧ = Цел(ВрВЧасах);
	ММ = Окр(60*(ВрВЧасах - ЧЧ));	
	Результат = ЧЧ + ММ/100;	
	Возврат Результат;
КонецФункции  

Показать
может пригодится кому )
13. dhurricane 09.10.19 11:04 Сейчас в теме +1.25 $m
(12) Тогда вернемся к моему исходному сообщению. Зачем все это? :)

Если у Вас есть время в часах, пусть и дробное, но точное, перестаньте его округлять и преобразовывать, дабы с ума не сходили итоги. Пусть складываются дроби. А чтобы пользователь мог переварить это дробное значение часов, установите удобное представление поля количества часов. В макетах СКД, например.
14. user5300 1010 09.10.19 11:32 Сейчас в теме
(13) решил так, выводится округленное значение, а в общих итогах считается скрытые дробные значения , вроде все как надо ) спасибо за советы
15. VmvLer 09.10.19 17:49 Сейчас в теме +1.84 $m
(14) в СКД ваша задача решается - достаточно одной формулы в ресурсах.
Пользовательские поля на скрине для наглядности.
Прикрепленные файлы:
ВнешнийОтчетСуммируемВремя.erf
vladisemen; Terabaytus; +2 Ответить
16. user5300 1010 10.10.19 08:18 Сейчас в теме
(15)Ого, вообще шикарно!) спасибо!
6. user5300 1010 09.10.19 10:00 Сейчас в теме
(3) если преобразовать как число , то есть 08:45 - это 8,77 - но как время - это 8,45 ( и это правильно) но в итогах все это идет в минус и разница получается больше ( Например если 8,77 сложить за весь период и обратно в дату и 8,45 так же - получится не правильная разница ((
2. VmvLer 09.10.19 09:42 Сейчас в теме
используйте РазностьДат в агрегатах
4. user5300 1010 09.10.19 09:54 Сейчас в теме
(2) я и использую разность дат в агрегатах
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот