Время в миллисекундах в 1С 8
Меню

Время в миллисекундах в 1С 8

Содержание статьи
  1. Код 1C v 8.2 УП
  2. Код 1C v 8.х
  3. Код 1C v 7.x

«Дата» – это один из простых типов данных в 1С, который используется повсеместно. Переменная типа «Дата» имеет формат – год, месяц, день, час, минута, секунда. Таким образом, она содержит не только дату, но и время.

Иногда случаются ситуации, когда происходит запись в регистр значений очень большого объема информации, при этом последовательность их записи имеет значение. Тут важна более точная информация о времени записи. Начиная с версии 1С:Предприятие 8.2.17, была реализована возможность работы со временем в миллисекундах, используя функцию получения числа миллисекунд, прошедших с 1 января 0001 года, 0:00:00 UTC.

Синтаксис:

ТекущаяУниверсальнаяДатаВМиллисекундах()

Возвращаемое значение:

Тип: Число.

Описание:

Получается текущая универсальная дата в миллисекундах (в UTC, начиная с 01.01.0001 00:00:00).

Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), интеграция.

Код 1C v 8.2 УП


ТекущаяУниверсальнаяДатаВМиллисекундах()

Например, нам требуется узнать время выполнения запроса с точностью до миллисекунд.


Запрос=Новый Запрос;
Запрос.Текст=«…»;
ДатаНачала=ТекущаяУниверсальнаяДатаВМиллисекундах();
Результат = Запрос.Выполнить();
ДатаОкончания=ТекущаяУниверсальнаяДатаВМиллисекундах();
ВремяВыполненияЗапроса = ДатаОкончания—ДатаНачала;

В старших версиях 1С переменная с типом «Дата» тоже содержала в своем значении миллисекунды, только это нигде не показывалось и не выделялось.

Код 1C v 8.х


ИсходнаяДата = ТекущаяДата(); //обычная текущая дата
НоваяДата=ИсходнаяДата + 0.328; //прибавляем к текущей дате миллисекунды
Миллисекунды = (НоваяДата - ИсходнаяДата) * 1000; //получаем миллисекунды из даты

В версиях 1С:Предприятие 7.7 тоже можно было реализовать такую возможность.

Код 1C v 7.x


Scr=СоздатьОбъект("MSScriptControl.ScriptControl");
Scr.Language = "javascript";
d=Scr.Eval("new Date();");
Сообщить(d.getTime(0));
Сообщить(d.getHours(0));
Сообщить(d.getMinutes(0));
Сообщить(d.getSeconds(0));
Сообщить(d.getMilliseconds(0));


Рассказать друзьям
Предыдущая статья статья
Настройка итогов в СКД 1С 8.3
Следующая статья статья
Внешняя обработка 1С: запуск, параметры, вызов
Комментарии