Время в миллисекундах в 1С 8
В 1С 8.3 еще совсем недавно не была реализована возможность работы с временем в миллисекундах вообще. Сейчас в версии 8.2.17 технологическая платформа начала поддерживать данный функционал. Рассмотрим использование данной возможности, а также как обойти данный недостаток в старых версиях 1С — 8.2, 8.1 и т.д.
Для примера будем реализовывать замер производительности в разных версиях 1С:
Для 1С версии 8.2.16 и старше необходимо пользоваться сторонними инструментами:
Попытка
мЯваСкрипт = Новый COMОбъект(«MSScriptControl.ScriptControl»);
мЯваСкрипт.Language = «javascript»;
Исключение
Сообщить(«Невозможно подключить MSScriptControl.ScriptControl»);
Возврат;
КонецПопытки;ВремяНачала = мЯваСкрипт.Eval(«(new Date()).valueOf()»);
// операция, которую необходимо замерить в миллисекундах
ВремяКонцаВыполнения = мЯваСкрипт.Eval(«(new Date()).valueOf()»);
ВремяВыполненияВМиллисекундах = ВремяНачала — ВремяКонцаВыполнения;
Для 1С версии 8.2.17 и новее можно использовать встроенные инструменты, всё становится гораздо проще:
ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
// выполняем операцию, которую необходимо замерить
ВремяКонцаВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах();
ВремяВыполненияВМиллисекундах = ВремяНачала — ВремяКонцаВыполнения;
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Андрей:
на самом деле:
ВремяВыполненияВМилисекундах = ВремяКонцаВыполнения — ВремяНачала;
Alexander:
Комментарий Андрея совершенно уместен, от себя хочу добавить, что «тире» нужно заменить на «минус» («дефис»), иначе он не воспринимается интерпретатором.
И еще, миллисекунды пишется с двумя «л».
Кирилл:
Согласен так время в миллисекундах не подсчитать 🙂
Тире, минус — скорее всего это ЦМС сайта преобразует.
Аноним:
Он видимо просто хотел сказать, что не ВремяНачала — ВремяКонцаВыполнения (как в статье), а ВремяКонцаВыполнения — ВремяНачала 😉