1С 8.3 Замер производительности в журнале регистрации
Данные > Примеры кода 1С > 1С 8.3 Журнал регистрации
Перейти в раздел примеры кода 1С 8.3:
Программное тестирование журнала регистрации в 1С 8.3 от Foх-trоt:
&НаСервереБезКонтекста
Функция Тест(Знач Шаги, Знач ИмяСобытия, Знач Комментарий="")
НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах();
Для Шаг = 1 По Шаги Цикл
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , Комментарий);
КонецЦикла;
Возврат Окр((ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоВыполнения) * 0.001, 1);
КонецФункции
&НаКлиенте
Процедура Запуск(Кнопка)
Если ПроверитьЗаполнение() Тогда
Если Отчет.ОчищатьПредыдущиеРезультаты Тогда
График.Очистить();
ИтогоВЦикле = 0;
КонецЕсли;
Элементы.Группа.ТекущаяСтраница = Элементы.Основная;
НаличиеТочекГрафика = График.Точки.Количество() > 0;
Шаг = Цел(Отчет.Количество / Отчет.КоличествоШагов);
СерияГрафика = График.Серии.Добавить(Строка(Отчет.Количество));
Для Шаг = 1 По Отчет.КоличествоШагов Цикл
ЗначениеГрафика = Тест(Шаг, ИмяСобытия, Комментарий);
ИтогоВЦикле = ИтогоВЦикле + Шаг;
Текст = Строка(ИтогоВЦикле);
Если Отчет.ОчищатьПредыдущиеРезультаты Тогда
ТочкаГрафика = График.УстановитьТочку(Текст);
ТочкаГрафика.Текст = Строка(Строка(ИтогоВЦикле));
Иначе
Если НаличиеТочекГрафика Тогда
НаличиеТочекГрафика = Ложь;
ТочкаГрафика = График.Точки.Получить(График.Точки.Количество() - 1);
Иначе
ТочкаГрафика = График.УстановитьТочку(Текст);
ТочкаГрафика.Текст = Текст;
КонецЕсли;
КонецЕсли;
График.УстановитьЗначение(ТочкаГрафика, СерияГрафика, ЗначениеГрафика);
ОбработкаПрерыванияПользователя();
КонецЦикла;
ИтогоВЦикле = Макс(ИтогоВЦикле - Шаг, 0);
КонецЕсли;
КонецПроцедуры
НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах();
Для Шаг = 1 По Шаги Цикл
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Ошибка, , , Комментарий);
КонецЦикла;
Возврат Окр((ТекущаяУниверсальнаяДатаВМиллисекундах() - НачалоВыполнения) * 0.001, 1);
КонецФункции
&НаКлиенте
Процедура Запуск(Кнопка)
Если ПроверитьЗаполнение() Тогда
Если Отчет.ОчищатьПредыдущиеРезультаты Тогда
График.Очистить();
ИтогоВЦикле = 0;
КонецЕсли;
Элементы.Группа.ТекущаяСтраница = Элементы.Основная;
НаличиеТочекГрафика = График.Точки.Количество() > 0;
Шаг = Цел(Отчет.Количество / Отчет.КоличествоШагов);
СерияГрафика = График.Серии.Добавить(Строка(Отчет.Количество));
Для Шаг = 1 По Отчет.КоличествоШагов Цикл
ЗначениеГрафика = Тест(Шаг, ИмяСобытия, Комментарий);
ИтогоВЦикле = ИтогоВЦикле + Шаг;
Текст = Строка(ИтогоВЦикле);
Если Отчет.ОчищатьПредыдущиеРезультаты Тогда
ТочкаГрафика = График.УстановитьТочку(Текст);
ТочкаГрафика.Текст = Строка(Строка(ИтогоВЦикле));
Иначе
Если НаличиеТочекГрафика Тогда
НаличиеТочекГрафика = Ложь;
ТочкаГрафика = График.Точки.Получить(График.Точки.Количество() - 1);
Иначе
ТочкаГрафика = График.УстановитьТочку(Текст);
ТочкаГрафика.Текст = Текст;
КонецЕсли;
КонецЕсли;
График.УстановитьЗначение(ТочкаГрафика, СерияГрафика, ЗначениеГрафика);
ОбработкаПрерыванияПользователя();
КонецЦикла;
ИтогоВЦикле = Макс(ИтогоВЦикле - Шаг, 0);
КонецЕсли;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник