1. user5300 135 09.10.19 09:39 Сейчас в теме

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

Добрый день, друзья. Помогите с решением одной задачи, никак не додумаюсь сам...

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


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

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

Если у Вас есть время в часах, пусть и дробное, но точное, перестаньте его округлять и преобразовывать, дабы с ума не сходили итоги. Пусть складываются дроби. А чтобы пользователь мог переварить это дробное значение часов, установите удобное представление поля количества часов. В макетах СКД, например.
15. VmvLer 09.10.19 17:49 Сейчас в теме +1.84 $m
(14) в СКД ваша задача решается - достаточно одной формулы в ресурсах.
Пользовательские поля на скрине для наглядности.
Прикрепленные файлы:
ВнешнийОтчетСуммируемВремя.erf
Остальные ответы
Избранное Подписка Сортировка: Древо
3. dhurricane 09.10.19 09:51 Сейчас в теме
(1) Не совсем понятно, с чем связана проблема итогов. Догадываюсь, что Вы не просто выводите результаты как дату, Вы буквально используете в отчете значения даты.

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

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


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

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

Если у Вас есть время в часах, пусть и дробное, но точное, перестаньте его округлять и преобразовывать, дабы с ума не сходили итоги. Пусть складываются дроби. А чтобы пользователь мог переварить это дробное значение часов, установите удобное представление поля количества часов. В макетах СКД, например.
14. user5300 135 09.10.19 11:32 Сейчас в теме
(13) решил так, выводится округленное значение, а в общих итогах считается скрытые дробные значения , вроде все как надо ) спасибо за советы
15. VmvLer 09.10.19 17:49 Сейчас в теме +1.84 $m
(14) в СКД ваша задача решается - достаточно одной формулы в ресурсах.
Пользовательские поля на скрине для наглядности.
Прикрепленные файлы:
ВнешнийОтчетСуммируемВремя.erf
16. user5300 135 10.10.19 08:18 Сейчас в теме
(15)Ого, вообще шикарно!) спасибо!
6. user5300 135 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 135 09.10.19 09:54 Сейчас в теме
(2) я и использую разность дат в агрегатах
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Технический лидер, архитектор 1С, руководитель проектов
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С
Набережные Челны
зарплата до 90 000 руб.
Полный день

Программист 1С
Набережные Челны
зарплата от 40 000 руб. до 110 000 руб.
Полный день

Программист 1С
Казань
зарплата от 40 000 руб. до 110 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству