Имя: Пароль:
1C
1С v8
надо число минут показать в формате hhhh:mm
,
0 vde69
 
14.08.20
10:25
надо в табличном документе число минут показать в формате hhhh:mm

например 5000 минут это должно быть 83:20 (обращаю внимание часов больше чем 24)

при этом значение должно остаться числовым для возможности выгрузки в ексель
1 Волшебник
 
14.08.20
10:30
Ну надо значит надо...

Часов = Цел(ВсегоМинут / 60);
ОстатокМинут = ВсегоМинут - Часов * 60
2 vde69
 
14.08.20
10:36
(1) и как показать два числовых значения в одной ячейки?

я спрашивал про форматную строку для числа, может это как-то возможно?
3 fisher
 
14.08.20
10:36
Чтобы выгрузить в Excel табличный документ таким образом, чтобы там были разные значения данных и представления данных, придется ячейки устанавливать как содержащие значения и писать число как значение ячейки, а представление писать в свойство "Текст".
4 Волшебник
 
14.08.20
10:39
(2) Всему вас учить надо....

СтрокаДляЯчейки = Формат(Часов, "ЧГ=0") + ":" + ОстатокМинут;
5 ДенисЧ
 
14.08.20
10:52
"при этом значение должно остаться числовым"
и "83:20"

Как-то не стыкуются. Или трусики, или крестик...
6 fisher
 
14.08.20
10:53
Не, туплю. Видимо, так как ты хочешь - не получится. Ведь для того, чтобы так получилось, соответствующий формат представления должен поддерживаться и в Эксель.
7 Kesim
 
14.08.20
10:53
(5) +1
8 fisher
 
14.08.20
10:55
(5) И эксель и табличный документ поддерживает различные форматы представления для одного и того же значения ячейки. ТС хочет чтобы значением осталось число минут, а формат его представления был как он описал.
9 Kesim
 
14.08.20
10:55
(0) Чтобы осталось числом надо Часов = Окр(ВсегоМинут / 60, 2), но формат будет  1245.33
10 fisher
 
14.08.20
10:59
Если в табличном документе ячейке указать, что она содержит значение и указать формат его представления (стандартным шаблоном формата) - то такой же парой они будут сохранены и в ексель. Проблема в том, что стандартные шаблоны форматирования не поддерживают нужный ТС вариант форматирования.
11 Волшебник
 
14.08.20
11:53
заведи 2 ячейки, а одну скрой
12 ИС-2
 
naïve
14.08.20
12:13
для СКД делал функцию повторного использования

Функция ФорматДДЧЧммсс(ЧислоСекунд) Экспорт
    Если не ЗначениеЗаполнено(ЧислоСекунд) Тогда
        Возврат "";
    КонецЕсли;
    
    КолВоДней = Цел(ЧислоСекунд / 86400);
    
    Дата = Дата(1,1,1) + ЧислоСекунд;
    
    Представление = Формат(Дата,"ДФ='ЧЧ ""ч."" мм ""м.""'");
    
    Если КолВоДней > 0 Тогда
        Представление = "" + КолВоДней + "д." + Представление;    
    КонецЕсли;
    
    Возврат Представление;
КонецФункции

Функция СекундыВДату(знач ЧислоСекунд) Экспорт
    
    
    Если не ЗначениеЗаполнено(ЧислоСекунд) Тогда
        Возврат Дата(1,1,1);
    КонецЕсли;
    
    КолВоДней = Цел(ЧислоСекунд / 86400);
    
    Если КолВоДней > 0 Тогда
        ЧислоСекунд = ЧислоСекунд - 86400;    
    КонецЕсли;    
    
    Дата = Дата(1,1,1) + ЧислоСекунд;
    
    Возврат Дата;    
КонецФункции

Функция ФорматЧас(ЧислоСекунд, ВыводитьСекунды = ЛОЖЬ) Экспорт
    Если не ЗначениеЗаполнено(ЧислоСекунд) Тогда
        Возврат "";
    КонецЕсли;
    
    КолВоЧасов = Цел(ЧислоСекунд/3600);
    КолВоМинут = цел((ЧислоСекунд - КолВоЧасов * 3600)  / 60);
    КолВоСекунд = ЧислоСекунд - КолВоЧасов * 3600 - КолВоМинут * 60;
    
    Представление = "";
    Если КолВоЧасов > 0 Тогда
        Представление = Представление + КолВоЧасов + " ч.";
    КонецЕсли;
    
    Если КолВоМинут > 0 Тогда
        Представление = Представление + КолВоМинут + " м.";
    КонецЕсли;    
    
    Если КолВоСекунд > 0 Тогда
        Если ВыводитьСекунды Тогда
            Представление = Представление + КолВоСекунд + " с.";
        КонецЕсли;    
    КонецЕсли;    
    //
    //Если Представление = "" Тогда
    //    Представление = "0 с.";
    //КонецЕсли;    
    //    
    Возврат Представление;
КонецФункции
13 Serg_1960
 
14.08.20
12:44
(0) Вместо "83:20" использовать "83.20" не судьба?
Программист всегда исправляет последнюю ошибку.