Имя: Пароль:
1C
 
Как получить представление даты (время) зная сколько сейчас секунд.
0 AndreYAN
 
15.10.07
18:59
Люди кто знает есть ли возможность в 1С:БП получить представление времени ЧАС:МИН:СЕК, зная время в секундах?
Ну что-то вроде:
КолВоСек = 3000;
ПредставлениеВремени = ТекущееВремя(КолВоСек);
// в результате необходимо увидеть 0:50:00
1 Bahmet
 
15.10.07
19:08
в одном часе - 60 минут
в одной минуте - 60 секунд
три класса образования тебя спасут
2 Diman000
 
15.10.07
19:15
Ща выложу функцию... делал такую...
3 КонецЦикла
 
15.10.07
19:17
Ветки, не связанные с 1С или IT, помещайте в раздел LIFE.
(цы) Блошиный
4 Diman000
 
15.10.07
19:19
// Преобразует общее количество секунд в строку времени в формате <Час:Мин:Сек>
//
// Возвращаемое значение:
//   Строка    – строковое представление времени
//
Функция мПолучитьСтрокуВремени(Секунд) Экспорт
   
   Часов    = Цел(Секунд / 3600);
   Минут    = Цел((Секунд - Часов * 3600) / 60);
   Секунд    = (Секунд - Часов * 3600 - Минут * 60);
   Возврат Формат(Часов,"ЧЦ=2; ЧН=00; ЧВН=") + ":" + Формат(Минут,"ЧЦ=2; ЧН=00; ЧВН=") + ":" + Формат(Секунд,"ЧЦ=2; ЧН=00; ЧВН=");
   
КонецФункции // мПолучитьСтрокуВремени()
5 AndreYAN
 
15.10.07
20:18
Не ну до этого я сам догадался, я думал в системе уже что-то подобное реализовано.
6 Diman000
 
15.10.07
20:25
(5) Думаешь, есть какие скрытые от СП методы? Типа GetPerformanceCounter?
)))
7 IronDemon
 
15.10.07
20:31
Функция ТекущееВремяТ()
   Scr = Новый COMОбъект("MSScriptControl.ScriptControl");
   Scr.Language = "javascript";
   ВремяОтНачалаДня = Scr.eval("new Date().getTime()");
   Возврат ВремяОтНачалаДня;
КонецФункции

Процедура Вывод()
   
   ВремяНачала = ТекущееВремяТ();
   
   //что-то делаем
   
   Разность = ТекущееВремяТ() - ВремяНачала;
   ЧислоСекунд = Цел(Разность/1000);
   Разность = Разность - ЧислоСекунд*1000;
   
   Сообщить("Время выполнения (с): " + ЧислоСекунд + "." + Разность, СтатусСообщения.Информация);
   
КонецПроцедуры
8 AndreYAN
 
15.10.07
20:50
Не ну разницу в секундах получить гораздо проше.
9 Wladimir_spb
 
15.10.07
20:53
Сколько интересных решений... Даже скрипты...
Формат(НачалоДня(ТекущаяДата()) + КолВоСекунд, "ДЛФ=T")
10 Ковычки
 
15.10.07
20:54
а сколько секунд в годах ?
11 Wladimir_spb
 
15.10.07
20:55
(10) По-разному)))
Вспомни про 31 марта
12 IronDemon
 
15.10.07
20:56
(9) только в (7) еще и миллисекунды есть
13 Wladimir_spb
 
15.10.07
20:56
(12) Зачем?
14 Wladimir_spb
 
15.10.07
20:56
15 Defender aka LINN
 
15.10.07
20:57
(10) Счеты сломались? :)
16 IronDemon
 
15.10.07
21:00
(13) шоб було :)
17 Ковычки
 
15.10.07
21:03
на абаке в детстве гонял, ако на колеснице... лучшего применения не нашел
18 Defender aka LINN
 
15.10.07
21:05
(17) потому и сломались!
19 AndreYAN
 
15.10.07
21:07
А казалось бы такой простой вопрос, предполагающий четкий ответ: "в системе не предусмотрена такая функция, необходимо писать свою". А в итоге, даже скрипт предложили... Зверев тут бы сказал: "ЗВЕЗДА В ШОКЕ" :)
20 Defender aka LINN
 
15.10.07
21:10
(19) Откуда инфа про Зверева? Лично знаком?
АХТУНГ!!!
21 Wladimir_spb
 
15.10.07
21:10
(19) Формат использовать религия не позволяет?
22 Defender aka LINN
 
15.10.07
21:14
(21) Да, это очень популярная среди 1Сников религия.
Я пока всех тонкостей не понял, но главная заповедь - "Не читай документацию, ибо есть форумы!"
23 Wladimir_spb
 
15.10.07
21:18
(22) Надо спросить у у лю 427 он их давно изучает, даже рейтинг ведет...
24 Ковычки
 
15.10.07
22:04

   Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
   Скрипт.language="javascript";
   Время=Скрипт.Eval("Date");
   Секунд=500;
   Миллисекунд=Секунд*1000;
   НачалоДня=Число(Время.parse(ТекущаяДата()));
   Сообщить(НачалоДня);
   Сообщить(Скрипт.Eval("new Date("+(Миллисекунд+НачалоДня)+")").toLocaleTimeString(0));

фигня
25 AndreYAN
 
15.10.07
22:23
(21) Формат использовать можно но не в данном случае.
26 AndreYAN
 
15.10.07
22:23
продолжение...
не представляется возможным.
27 Wladimir_spb
 
15.10.07
22:35
Даже интересно стало, в каком случае нельзя пользоваться форматом?
28 AndreYAN
 
15.10.07
22:38
В итоге я предоставляю пользователю информацию сколько времени осталось до перепроведения документов в формате Час:Минуты:Секунды, интересно как же я воспользуюсь форматом?
29 Wladimir_spb
 
15.10.07
22:41
А что мешает?

Как ты собирался в (0) информировать пользователя?
30 AndreYAN
 
15.10.07
22:46
Как в (4) была показана функция выдающая необходимое представление, а далее через, форму "ХодВыполненияОбработкиДанных" на экран пользователю.
31 Wladimir_spb
 
15.10.07
22:49
М-мм... И что передавать в форму "Формат(НачалоДня(ТекущаяДата()) + КолВоСекунд, "ДЛФ=T")" ?
32 IronDemon
 
15.10.07
22:50
(28) а как ты узнаешь точное время выполнения запросов и проведения? научи.
33 AndreYAN
 
15.10.07
22:51
(31) нет так не подходит, но спасибо натолкнул на мысль, да супер.