Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

надо число минут показать в формате hhhh:mm

надо число минут показать в формате hhhh:mm
Я
   vde69
 
14.08.20 - 10:25
надо в табличном документе число минут показать в формате hhhh:mm

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

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

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

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

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

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

    //КонецЕсли;    

    //    

    Возврат Представление;
КонецФункции
   Serg_1960
 
13 - 14.08.20 - 12:44
(0) Вместо "83:20" использовать "83.20" не судьба?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.