0. ValeriVP 06.03.09 12:15 Сейчас в теме

Получение времени с точностью до миллисекунд в 8.х

Для некоторых задач необходимо бывает определить текущее время с точностью большей чем секунда. Встроенные в платформу средства не позволяют получить такую точность. Обработка демонстрирует методику получения точного времени

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. Evg-Lylyk 2697 06.03.09 12:15 Сейчас в теме
Простенько :).

Для замеров лучше использовать

Функция ТекущееВремяВМс() Экспорт
//Получаем время в м/с через скрипт
Script.Language = "javascript";
Счетчик = Script.eval("new Date().getTime()");
Возврат Счетчик;
КонецФункции
//---------------

НачалоЗамера = ТекущееВремяВМс();
//---
<Код>
//---
//-------КонецЗамера
ПрошлоМс = ТекущееВремяВМс() - НачалоЗамера;
4. kadr 47 13.03.09 09:55 Сейчас в теме
(1) уже давненько используется в Enterprise Integrator
Evg-Lylyk; +1 Ответить
5. Evg-Lylyk 2697 13.03.09 14:00 Сейчас в теме
(4) не знал. Я в стандарной консоли отчетов 1с подсмотрел.
2. German 871 06.03.09 13:20 Сейчас в теме
3. ValeriVP 06.03.09 13:42 Сейчас в теме
6. eugeniezheludkov 32 03.07.12 10:51 Сейчас в теме
почитал скрипт и вправду замутный и незачем так изголяться ... да еще и минус у него есть MSScriptControl не на всех серверах установлен а значит есть вероятность падения базы если админов не потормошить :(
есть еще как минимум 2 варианта работающих на любом сервере это через Wbem и .Net но это все не то ..
7. ValeriVP 03.07.12 10:59 Сейчас в теме
(6)МоментВремени() - не содержит миллисекунд. Он содержит только время до секунд и уникальный идентификатор документа.
8. eugeniezheludkov 32 03.07.12 11:09 Сейчас в теме
да уже прочитал только что понял что всегда ошибался полагая что можно...спасибо.
пс: что нужно установить на сервере "файл.ехе" чтоб MSScriptControl зарегистрировать ? админа тереблю тот тоже не сном не духом
у мня ошибка : {ОбщийМодуль.Math_and_Server.Модуль(25)}: Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
9. ValeriVP 03.07.12 11:45 Сейчас в теме
10. eugeniezheludkov 32 04.07.12 06:22 Сейчас в теме
недождавшись ответа использовал этот метод который работает помоему на всех серверах:
Функция ТекущаяДатаМилисекунды() Экспорт
Locator = Новый COMОбъект("WbemScripting.SWbemLocator");
ServicesSet = Locator.ConnectServer(".");
pEnum = ServicesSet.InstancesOf("Win32_OperatingSystem");
Для каждого Object Из pEnum Цикл
Возврат сред(Object.LocalDateTime,1,20);
КонецЦикла;
Возврат 0;
//Скрипт = Новый COMОбъект("MSScriptControl.ScriptControl");
//Скрипт.language = "javascript";
//Возврат Формат(Скрипт.eval("new Date().getTime()"),"ЧГ=0")/1000;
КонецФункции
11. wiz911 27.12.16 14:04 Сейчас в теме
ТекущаяУниверсальнаяДатаВМиллисекундах() c 8.2
И никаких выдумок )
DenisCh; olegmedvedev; agent00mouse; +3 Ответить
12. agent00mouse 193 01.03.17 09:26 Сейчас в теме
(11)
ТекущаяУниверсальнаяДатаВМиллисекундах

Спасибо, актуально.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии


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

Консультант 1 С
Краснодар
зарплата от 50 000 руб. до 150 000 руб.
Полный день

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

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