Очистить регистры замеры времени. Процедура обработки регламентного задания по очистке регистров замеров
// Процедура обработки регламентного задания по очистке регистров замеров
Процедура ОчиститьРегистрыЗамерыВремени() Экспорт
Если ОценкаПроизводительностиСлужебный.ПодсистемаСуществует("СтандартныеПодсистемы.БазоваяФункциональность") Тогда
МодульОбщегоНазначения = ОценкаПроизводительностиСлужебный.ОбщийМодуль("ОбщегоНазначения");
МодульОбщегоНазначения.ПриНачалеВыполненияРегламентногоЗадания(Метаданные.РегламентныеЗадания.ЭкспортОценкиПроизводительности);
КонецЕсли;
ГраницаУдаления = НачалоДня(ТекущаяУниверсальнаяДата() - 86400*Константы.ПериодХраненияЗамеров.Получить());
ЗапросЗамерыВремени = Новый Запрос;
ЗапросЗамерыВремени.Текст = "
|ВЫБРАТЬ
| МИНИМУМ(ДатаЗаписиНачалоЧаса) КАК ДатаЗаписиНачалоЧаса
|ИЗ
| РегистрСведений.ЗамерыВремени
|ГДЕ
| ДатаЗаписиНачалоЧаса < &ГраницаУдаления
|";
ЗапросЗамерыВремени.УстановитьПараметр("ГраницаУдаления", ГраницаУдаления);
ЗапросЗамерыВремениТехнологические = Новый Запрос;
ЗапросЗамерыВремениТехнологические.Текст = "
|ВЫБРАТЬ
| МИНИМУМ(ДатаЗаписиНачалоЧаса) КАК ДатаЗаписиНачалоЧаса
|ИЗ
| РегистрСведений.ЗамерыВремениТехнологические
|ГДЕ
| ДатаЗаписиНачалоЧаса < &ГраницаУдаления
|";
ЗапросЗамерыВремениТехнологические.УстановитьПараметр("ГраницаУдаления", ГраницаУдаления);
НаборЗаписей = РегистрыСведений.ЗамерыВремени.СоздатьНаборЗаписей();
НаборЗаписейТехнологические = РегистрыСведений.ЗамерыВремениТехнологические.СоздатьНаборЗаписей();
ЕстьУдаление = Истина;
ЕстьУдалениеТехнологические = Истина;
Пока ЕстьУдаление ИЛИ ЕстьУдалениеТехнологические Цикл
Если ЕстьУдаление Тогда
ЕстьУдаление = Ложь;
Результат = ЗапросЗамерыВремени.Выполнить();
Выборка = Результат.Выбрать();
Выборка.Следующий();
ДатаЗаписиНачалоЧаса = Выборка.ДатаЗаписиНачалоЧаса;
Если НЕ ДатаЗаписиНачалоЧаса = Null Тогда
НаборЗаписей.Отбор.ДатаЗаписиНачалоЧаса.Установить(ДатаЗаписиНачалоЧаса);
НаборЗаписей.Записать(Истина);
ЕстьУдаление = Истина;
КонецЕсли;
КонецЕсли;
Если ЕстьУдалениеТехнологические Тогда
ЕстьУдалениеТехнологические = Ложь;
Результат = ЗапросЗамерыВремениТехнологические.Выполнить();
Выборка = Результат.Выбрать();
Выборка.Следующий();
ДатаЗаписиНачалоЧаса = Выборка.ДатаЗаписиНачалоЧаса;
Если НЕ ДатаЗаписиНачалоЧаса = Null Тогда
НаборЗаписейТехнологические.Отбор.ДатаЗаписиНачалоЧаса.Установить(ДатаЗаписиНачалоЧаса);
НаборЗаписейТехнологические.Записать(Истина);
ЕстьУдалениеТехнологические = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ЗакончитьЗамерВремениТехнологический (БСП)
ЗакончитьЗамерВремениАвто (БСП)
НачатьЗамерВремениТехнологический (БСП)
ЗавершитьЗамерВремениНаКлиентеАвто (БСП)
Замер времени выполнения кода с выводом результата замера в формате ЧЧ:мм:сс
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)