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