1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-10-06 22:06:59 +02:00

feat: вывод информации об окружении в лог + список расширений

This commit is contained in:
alkoleft
2025-01-13 01:36:08 +03:00
parent 03b4be18a6
commit 541c1f135f
8 changed files with 115 additions and 77 deletions

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -190,7 +190,7 @@
КонецПроцедуры
Процедура ОбработчикПослеФормированияИсполняемыхНаборовТестов(_, ДополнительныеПараметры) Экспорт
Процедура ОбработчикПослеФормированияИсполняемыхНаборовТестов(_, ДополнительныеПараметры) Экспорт
ЮТСобытияСлужебный.ПослеФормированияИсполняемыхНаборовТестов(ДополнительныеПараметры.ИсполняемыеТестовыеМодули);
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
@@ -383,6 +383,7 @@
// Повторно сохраним для передачи на сервер
ЮТКонтекстСлужебный.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекстСлужебный.ГлобальныеНастройкиВыполнения());
ЮТСобытияСлужебный.ПослеИнициализации();
КонецПроцедуры

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -108,6 +108,19 @@
КонецПроцедуры
Процедура ПослеИнициализации() Экспорт
Контекст = Контекст();
Если НЕ ЛогированиеВключено(Контекст) Тогда
Возврат;
КонецЕсли;
Окружение = ЮТОкружение.ОписаниеОкружения();
ЮТЛогирование.Информация(ЮТОбщийСлужебный.ПредставлениеОбъекта(Окружение, , "Окружение"));
КонецПроцедуры
// Обработка события "ПередЧтениемСценариевМодуля"
//
// Параметры:

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -762,72 +762,6 @@
#Область СлужебныеПроцедурыИФункции
Функция ПредставлениеОбъекта(Объект, Знач Уровень = 1, ПредставлениеОбъекта = Неопределено)
ТипОбъекта = ТипЗнч(Объект);
Шаблон = "%1 (%2)";
Представление = "";
ПредставлениеТипа = ТипОбъекта;
Если ТипОбъекта = Тип("Структура") ИЛИ ТипОбъекта = Тип("Соответствие") Тогда
ЮТСтроки.СтрокаСимволов(" ", Уровень * 4);
Шаблон = "%2:
|%1";
Представление = ЮТСтроки.СтрокаСимволов(" ", Уровень * 4) + ПредставлениеСтруктуры(Объект, Уровень);
ИначеЕсли ТипОбъекта = Тип("Массив") Тогда
Шаблон = "[%1] (%2)";
Представление = СтрСоединить(Объект, ", ");
ИначеЕсли ТипОбъекта = Тип("Число") Тогда
Представление = ЧислоВСтроку(Объект);
ИначеЕсли ТипОбъекта = Тип("Дата") Тогда
Представление = Формат(Объект, "ДФ=""dd.MM.yyyy ЧЧ:мм:сс""");
ИначеЕсли ТипОбъекта = Тип("Булево") Тогда
Представление = Строка(Объект);
ИначеЕсли ТипОбъекта = Тип("Строка") Тогда
Представление = Объект;
Иначе
Представление = Строка(Объект);
ПредставлениеТипа = ЮТТипыДанныхСлужебный.ПредставлениеТипа(ТипОбъекта); // Для ссылочных
КонецЕсли;
Если ПустаяСтрока(Представление) Тогда
Представление = "<Пусто>";
КонецЕсли;
Возврат СтрШаблон(Шаблон, Представление, ?(ПредставлениеОбъекта = Неопределено, ПредставлениеТипа, ПредставлениеОбъекта));
КонецФункции
Функция ПредставлениеСтруктуры(Значение, Уровень)
Строки = Новый Массив();
Для Каждого Элемент Из Значение Цикл
Строки.Добавить(СтрШаблон("%1: %2", Элемент.Ключ, ПредставлениеОбъекта(Элемент.Значение, Уровень + 1)));
КонецЦикла;
Возврат СтрСоединить(Строки, Символы.ПС + ЮТСтроки.СтрокаСимволов(" ", Уровень * 4));
КонецФункции
Функция ЧастиПути(Цепочка) Экспорт
ПутьКСвойству = Новый Массив();

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -102,8 +102,79 @@
// BSLLS:NumberOfParams-on
// BSLLS:NumberOfOptionalParams-on
Функция ПредставлениеОбъекта(Объект, Знач Уровень = 1, ПредставлениеОбъекта = Неопределено) Экспорт
ТипОбъекта = ТипЗнч(Объект);
Представление = "";
Если ТипОбъекта = Тип("Структура") ИЛИ ТипОбъекта = Тип("Соответствие") Тогда
Представление = ЮТСтроки.СтрокаСимволов(" ", Уровень * 4) + ПредставлениеСтруктуры(Объект, Уровень);
ИначеЕсли ТипОбъекта = Тип("Массив") Тогда
Представление = "[" + ПредставлениеМассива(Объект, Уровень) + "]";
ИначеЕсли ТипОбъекта = Тип("Число") Тогда
Представление = ЮТОбщий.ЧислоВСтроку(Объект);
ИначеЕсли ТипОбъекта = Тип("Дата") Тогда
Представление = Формат(Объект, "ДФ=""dd.MM.yyyy ЧЧ:мм:сс""");
ИначеЕсли ТипОбъекта = Тип("Булево") Тогда
Представление = Строка(Объект);
ИначеЕсли ТипОбъекта = Тип("Строка") Тогда
Представление = Объект;
Иначе
Представление = СтрШаблон("%1 (%2)", Объект, ЮТТипыДанныхСлужебный.ПредставлениеТипа(ТипОбъекта)); // Для ссылочных
КонецЕсли;
Если ПустаяСтрока(Представление) Тогда
Представление = "<Пусто>";
КонецЕсли;
Возврат Представление;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ПредставлениеСтруктуры(Значение, Уровень)
Строки = Новый Массив();
Для Каждого Элемент Из Значение Цикл
Строки.Добавить(СтрШаблон("%1: %2", Элемент.Ключ, ПредставлениеОбъекта(Элемент.Значение, Уровень + 1)));
КонецЦикла;
Разделитель = Символы.ПС + ЮТСтроки.СтрокаСимволов(" ", Уровень * 4);
Возврат Разделитель + "- " + СтрСоединить(Строки, Разделитель + "- ");
КонецФункции
Функция ПредставлениеМассива(Значение, Уровень)
Строки = Новый Массив();
Для Каждого Элемент Из Значение Цикл
Строки.Добавить(ПредставлениеОбъекта(Элемент, Уровень + 1));
КонецЦикла;
Разделитель = Символы.ПС + ЮТСтроки.СтрокаСимволов(" ", Уровень * 4);
Возврат Разделитель + СтрСоединить(Строки, Разделитель);
КонецФункции
#КонецОбласти

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -49,6 +49,7 @@
Окружение.ФайловаяБаза = ЭтоФайловаяБаза();
Окружение.Расширения = ОписаниеСерверногоОкружения.Расширения;
#Если ВебКлиент Тогда
Окружение.ВебКлиент = Истина;
#ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда
@@ -144,6 +145,17 @@
Окружение.Вставить("Конфигурация", Метаданные.Представление());
Окружение.Вставить("ВерсияКонфигурации", Метаданные.Версия);
Окружение.Вставить("Расширения", Новый Массив);
Для Каждого Расширение Из РасширенияКонфигурации.Получить() Цикл
ОписаниеРасширения = Новый Структура;
ОписаниеРасширения.Вставить("Имя", Расширение.Имя);
ОписаниеРасширения.Вставить("Версия", Расширение.Версия);
ОписаниеРасширения.Вставить("БезопасныйРежим", Расширение.БезопасныйРежим);
ОписаниеРасширения.Вставить("ЗащитаОтОпасныхДействий", Строка(Расширение.ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях));
Окружение.Расширения.Добавить(ОписаниеРасширения);
КонецЦикла;
Возврат Окружение;
КонецФункции

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -63,6 +63,12 @@
КонецПроцедуры
Процедура ПослеИнициализации() Экспорт
ВызватьПодключаемыйОбработчикСобытия("ПослеИнициализации", "Инициализация", Новый Массив);
КонецПроцедуры
// Вызывается при сборе информации об окружении на клиенте.
// Позволяет дополнить описание окружения своими данными
//

View File

@@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
// Copyright 2021-2025 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -283,8 +283,6 @@
// * ИнформационнаяСреда - Строка -
// * ТестовыйДвижок - Строка -
// * ВерсияТестовогоДвижка - Строка -
// * ЛокальПлатформы - Строка -
// * ЛокальИнтерфейса - Строка -
// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS
// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386
// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS
@@ -295,6 +293,7 @@
// * ВебКлиент - Булево -
// * ТолстыйКлиент - Булево -
// * ВремяЗапуска - Дата -
// * Расширения - Массив из Структура - Описание расширений
Функция НовоеОписаниеОкружения() Экспорт
Окружение = Новый Структура;
@@ -319,6 +318,8 @@
Окружение.Вставить("ТолстыйКлиент", Ложь);
Окружение.Вставить("ВремяЗапуска", '00010101');
Окружение.Вставить("Расширения", Новый Массив);
Возврат Окружение;
КонецФункции