|
как пересчитать минуты в отчете функцией из документа? | ☑ | ||
---|---|---|---|---|
0
YamEgor
12.09.19
✎
12:55
|
Добрый день, в документе, в таб части, пересчитываются минуты и выводится представление, например 90мин выводится как 1ч 30 мин ,
Функция ОбновитьНадписьВремя() Экспорт ВремяДляНадписи = УчетРабочегоВремени.Итог("ИтогоОтработано")/60; ВремяЧасы= Цел(ВремяДляНадписи); ВремяМинуты = Формат((времяДляНадписи - времяЧасы)*60,"ЧЦ=2; ЧДЦ=0"); ЗаголовокВремяНадписи = "" + ВремяЧасы + " ч " + ВремяМинуты + " мин"; Если не СокрЛП (ЗаголовокВремяНадписи) = "0 ч мин" тогда НадписьВремя = ЗаголовокВремяНадписи; иначе НадписьВремя = ""; конецЕсли; КонецФункции и можно ли этот алгоритм использовать для отчета, когда будут выводится минуты в отчете, чтобы выводилось не минутами а часы и минуты? |
|||
1
dka80
12.09.19
✎
12:57
|
Можешь эту процедуру в общий модуль засунуть и вызвать ее
|
|||
2
dka80
12.09.19
✎
12:57
|
Можешь создать пользовательское поле и в нем этот код написать
|
|||
3
YamEgor
12.09.19
✎
13:16
|
можете подсказать как это сделать?
|
|||
4
dem0sphen
12.09.19
✎
14:10
|
(0)
Запили функцию ПолучитьДлительностьТекстом в общем не привилегированном модуле ТвойОбщийМодуль и вызывай ее в отчете так: https://drive.google.com/open?id=1rn96XY4Yt5QwCglWnjuXSFo2Dtc0pDf3 Функция ПолучитьДлительностьТекстом(ДлительностьВМинутах) ДлительностьСтрокой = Формат(дата(1,1,1) + ДлительностьВМинутах, "ДЛФ=T"); ЧастиВремени = СтрРазделить(ДлительностьСтрокой, ":", Ложь); КолЧасов = Число(ЧастиВремени[0]); КолМинут = Число(ЧастиВремени[1]); ТекстЧасов = ?(КолЧасов > 0, "ч ", ""); ТекстМинут = ?(КолМинут > 0, "мин", ""); КолЧасов = ?(КолЧасов > 0, КолЧасов, ""); КолМинут = ?(КолМинут > 0, КолМинут, ""); Возврат СтрШаблон("%1%2%3%4", КолЧасов, ТекстЧасов, КолМинут, ТекстМинут); КонецФункции // ПолучитьДлительностьТекстом() |
|||
5
dem0sphen
12.09.19
✎
14:12
|
(4) поправь: ДлительностьСтрокой = Формат(дата(1,1,1) + ДлительностьВМинутах*60, "ДЛФ=T");
|
|||
6
YamEgor
12.09.19
✎
14:16
|
Спасибо сейчас попробую
|
|||
7
YamEgor
12.09.19
✎
14:36
|
в детальных записях отработала,а в итоговых нет, можно ли как нибудь и там заменить?
|
|||
8
dem0sphen
12.09.19
✎
15:03
|
(7) В лоб у меня не получилось в итогах вывести длительность текстом.
Есть вариант формировать свою таблицу значений с данными и ее как объект передавать в СКД в набор данных-объект. |
|||
9
hhhh
12.09.19
✎
15:04
|
(7) там в итоговых точно не задано СУММА() или МАКСИМУМ() по этому полю ?
|
|||
10
YamEgor
12.09.19
✎
15:25
|
(9) в отчете на закладке Ресурсы для этого поля задано СУММА()
|
|||
11
YamEgor
12.09.19
✎
15:36
|
и еще один вопрос, когда это поле измерение в регистре, то все работает, только в итогах нет, а если его сделать ресурсом в регистре, то выдает ошибку при формировании отчета : Индекс находится за границами массива,что то можно сделать?
|
|||
12
vicof
12.09.19
✎
15:40
|
Разобраться, что такое регистры, зачем они нужны и как работают.
|
|||
13
hhhh
12.09.19
✎
15:47
|
(10) ну убери, нахрена указал, если там не Сумма.
|
|||
14
YamEgor
12.09.19
✎
15:48
|
(12) Да согласен
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |