mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2024-11-27 08:31:11 +02:00
Merge pull request #280 from bia-technologies/feature/rebuild-api
Рефакторинг движка
This commit is contained in:
commit
c6f46b972b
@ -149,7 +149,7 @@ tags: [Начало, Утверждения]
|
||||
### Проверка сложного объекта
|
||||
|
||||
```bsl
|
||||
Объект = ЮТОбщий.ЗначениеВМассиве("1", "2", "3");
|
||||
Объект = ЮТКоллекции.ЗначениеВМассиве("1", "2", "3");
|
||||
ЮТУтверждения.Что(Объект, "Проверка элементов массива")
|
||||
.Содержит("1")
|
||||
.НеСодержит(1)
|
||||
@ -162,7 +162,7 @@ tags: [Начало, Утверждения]
|
||||
.НетСвойства(3)
|
||||
.НеИмеетСвойства("[3]");
|
||||
|
||||
Объект.Добавить(Новый Структура("Первый, Второй", 1, ЮТОбщий.ЗначениеВМассиве(2)));
|
||||
Объект.Добавить(Новый Структура("Первый, Второй", 1, ЮТКоллекции.ЗначениеВМассиве(2)));
|
||||
ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива")
|
||||
.Свойство("[3].Первый").Равно(1)
|
||||
.Свойство("[3].Второй[-1]").Равно(2)
|
||||
@ -173,14 +173,14 @@ tags: [Начало, Утверждения]
|
||||
|
||||
```bsl
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("МетодБезИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение"))
|
||||
.Метод("МетодБезИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение"))
|
||||
.НеВыбрасываетИсключение()
|
||||
.НеВыбрасываетИсключение("Ожидаемое исключение");
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение", 2))
|
||||
.Метод("МетодИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение", 2))
|
||||
.ВыбрасываетИсключение("Слишком много фактических параметров");
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение"))
|
||||
.Метод("МетодИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение"))
|
||||
.ВыбрасываетИсключение("Исключение");
|
||||
ЮТУтверждения.Что(ОМ_ЮТУтверждения)
|
||||
.Метод("МетодБезИсключение")
|
||||
@ -196,7 +196,7 @@ tags: [Начало, Утверждения]
|
||||
Объект.Вставить("Число", 1);
|
||||
Объект.Вставить("Строка", "1");
|
||||
Объект.Вставить("Дата", Дата);
|
||||
Объект.Вставить("Массив", ЮТОбщий.ЗначениеВМассиве(1, "1"));
|
||||
Объект.Вставить("Массив", ЮТКоллекции.ЗначениеВМассиве(1, "1"));
|
||||
|
||||
ПроверкаЧисла = ЮТест.Предикат().Реквизит("Число")
|
||||
.ИмеетТип(Тип("Число"))
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -197,17 +197,17 @@
|
||||
Параметр8 = "_!%*",
|
||||
Параметр9 = "_!%*",
|
||||
Параметр10 = "_!%*") Экспорт
|
||||
|
||||
Возврат ЮТОбщий.ЗначениеВМассиве(Параметр1,
|
||||
Параметр2,
|
||||
Параметр3,
|
||||
Параметр4,
|
||||
Параметр5,
|
||||
Параметр6,
|
||||
Параметр7,
|
||||
Параметр8,
|
||||
Параметр9,
|
||||
Параметр10);
|
||||
|
||||
Возврат ЮТКоллекции.ЗначениеВМассиве(Параметр1,
|
||||
Параметр2,
|
||||
Параметр3,
|
||||
Параметр4,
|
||||
Параметр5,
|
||||
Параметр6,
|
||||
Параметр7,
|
||||
Параметр8,
|
||||
Параметр9,
|
||||
Параметр10);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.Мокито">
|
||||
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоОбучение">
|
||||
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -244,7 +244,7 @@
|
||||
|
||||
СтруктураВызоваМетода = ПараметрыПроверки().СтруктураВызоваМетода;
|
||||
Объект = СтруктураВызоваМетода.Объект;
|
||||
ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗнч(Объект));
|
||||
ПредставлениеТипа = ЮТТипыДанныхСлужебный.ПредставлениеТипа(ТипЗнч(Объект));
|
||||
Возврат СтрШаблон(" - вызовы метода `%1(%2).%3`,", Объект, ПредставлениеТипа, СтруктураВызоваМетода.ИмяМетода);
|
||||
|
||||
КонецФункции
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоПроверки">
|
||||
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
Функция Включен() Экспорт
|
||||
|
||||
ДанныеКонтекста = ЮТКонтекст.ДанныеКонтекста();
|
||||
ДанныеКонтекста = ЮТКонтекстСлужебный.ДанныеКонтекста();
|
||||
Настройки = Неопределено;
|
||||
Возврат ДанныеКонтекста <> Неопределено И ДанныеКонтекста.Свойство(КлючНастроек(), Настройки) И Настройки <> Неопределено;
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
// см. НовыеНастройки
|
||||
Функция Настройки() Экспорт
|
||||
|
||||
Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек());
|
||||
Настройки = ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючНастроек());
|
||||
|
||||
Если Настройки = Неопределено Тогда
|
||||
ВызватьИсключение "Что-то пошло не так, настройки Мокито не инициализированы";
|
||||
@ -206,7 +206,7 @@
|
||||
|
||||
ИначеЕсли Условие.Режим = ТипыУсловий.Значение Тогда
|
||||
|
||||
Совпадает = ЮТСравнениеКлиентСервер.ЗначенияРавны(Условие.Значение, Параметр);
|
||||
Совпадает = ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Условие.Значение, Параметр);
|
||||
|
||||
ИначеЕсли Условие.Режим = ТипыУсловий.Тип Тогда
|
||||
|
||||
@ -218,7 +218,7 @@
|
||||
|
||||
ИначеЕсли Условие.Режим = ТипыУсловий.Предикат Тогда
|
||||
|
||||
Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Параметр, Условие.Предикат);
|
||||
Результат = ЮТПредикатыСлужебныйКлиентСервер.ПроверитьПредикаты(Параметр, Условие.Предикат);
|
||||
Совпадает = Результат.Успешно;
|
||||
|
||||
КонецЕсли;
|
||||
@ -531,7 +531,7 @@
|
||||
|
||||
Процедура ИнициализироватьНастройки() Экспорт
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), НовыеНастройки(), Истина);
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючНастроек(), НовыеНастройки(), Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -568,7 +568,7 @@
|
||||
|
||||
Процедура ОчиститьНастройки() Экспорт
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), Неопределено);
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючНастроек(), Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -611,10 +611,10 @@
|
||||
|
||||
Условия.Добавить(Параметр);
|
||||
|
||||
ИначеЕсли ЮТПредикатыКлиентСервер.ЭтоПредикат(Параметр) Тогда
|
||||
ИначеЕсли ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(Параметр) Тогда
|
||||
|
||||
Маска = ОписаниеМаскиПараметра(ТипыУсловий.Предикат, 90);
|
||||
Маска.Вставить("Предикат", ЮТПредикатыКлиентСервер.НаборПредикатов(Параметр));
|
||||
Маска.Вставить("Предикат", ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(Параметр));
|
||||
Условия.Добавить(Маска);
|
||||
|
||||
Иначе
|
||||
@ -672,7 +672,7 @@
|
||||
И Элемент.Ключ.Ссылка = Ссылка
|
||||
И Элемент.Значение.Свойство(ИмяМетода);
|
||||
Если ПодходящийЭлемент Тогда
|
||||
ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
|
||||
ЮТКоллекции.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
@ -700,7 +700,7 @@
|
||||
ПодходящийЭлемент = ТипЗнч(Элемент.Ключ) = ТипОбъекта
|
||||
И Элемент.Значение.Свойство(ИмяМетода);
|
||||
Если ПодходящийЭлемент Тогда
|
||||
ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
|
||||
ЮТКоллекции.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.МокитоСлужебный">
|
||||
<suppressions key="com.e1c.v8codestyle.md:extension-md-object-prefix" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -35,7 +35,7 @@
|
||||
Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -49,7 +49,7 @@
|
||||
// Произвольный - Значение реквизита ссылки
|
||||
Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт
|
||||
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -65,9 +65,9 @@
|
||||
// Структура, Неопределено - Содержит все данные записи, включая табличный части
|
||||
Функция Запись(ИмяТаблицы, Предикат) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Истина);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -83,8 +83,8 @@
|
||||
// Массив из Структура - Найденные записи, включая табличный части
|
||||
Функция Записи(ИмяТаблицы, Предикат) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
|
||||
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -102,8 +102,8 @@
|
||||
//
|
||||
Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -121,9 +121,9 @@
|
||||
//
|
||||
Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -139,7 +139,7 @@
|
||||
// Булево - Таблица содержит записи
|
||||
Функция ТаблицаСодержитЗаписи(ИмяТаблицы, Предикат = Неопределено) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат);
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат);
|
||||
Возврат НЕ РезультатПустой(ОписаниеЗапроса);
|
||||
|
||||
КонецФункции
|
||||
@ -155,9 +155,9 @@
|
||||
Функция РезультатЗапроса(ОписаниеЗапроса) Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Истина);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Истина);
|
||||
#Иначе
|
||||
Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Ложь);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Ложь);
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -171,7 +171,7 @@
|
||||
// Булево - Результат пустой
|
||||
Функция РезультатПустой(ОписаниеЗапроса) Экспорт
|
||||
|
||||
Возврат ЮТЗапросыВызовСервера.РезультатПустой(ОписаниеЗапроса);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.РезультатПустой(ОписаниеЗапроса);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -202,7 +202,7 @@
|
||||
|
||||
Функция НовыйОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля) Экспорт
|
||||
|
||||
Возврат ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);
|
||||
Возврат ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -228,10 +228,10 @@
|
||||
КонецЕсли;
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ);
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
|
||||
ОписаниеЗапроса.Порядок.Добавить("НомерСтроки");
|
||||
|
||||
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);
|
||||
Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -156,7 +156,7 @@
|
||||
Если ОписаниеЗапроса.ВыбираемыеПоля.Количество() Тогда
|
||||
ВыбираемыеПоля = ОписаниеЗапроса.ВыбираемыеПоля;
|
||||
Иначе
|
||||
ВыбираемыеПоля = ЮТОбщий.ЗначениеВМассиве("1 КАК Поле");
|
||||
ВыбираемыеПоля = ЮТКоллекции.ЗначениеВМассиве("1 КАК Поле");
|
||||
КонецЕсли;
|
||||
|
||||
Строки.Добавить(СтрСоединить(ВыбираемыеПоля, "," + Символы.ПС));
|
||||
@ -176,7 +176,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Запрос.Текст = СтрСоединить(Строки, Символы.ПС);
|
||||
ЮТОбщий.ОбъединитьВСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров);
|
||||
ЮТКоллекции.ДополнитьСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров);
|
||||
|
||||
Возврат Запрос;
|
||||
|
||||
@ -276,9 +276,9 @@
|
||||
Функция ШаблонУсловия(ВыражениеПредиката, ВыраженияПредикатов, ТипРеквизита)
|
||||
Выражение = ВыражениеПредиката.ВидСравнения;
|
||||
|
||||
Отрицание = ЮТПредикатыКлиентСервер.ЭтоВыраженияОтрицания(Выражение);
|
||||
Отрицание = ЮТПредикатыСлужебныйКлиентСервер.ЭтоВыраженияОтрицания(Выражение);
|
||||
Если Отрицание Тогда
|
||||
Выражение = ЮТПредикатыКлиентСервер.ВыраженияБезОтрицания(Выражение);
|
||||
Выражение = ЮТПредикатыСлужебныйКлиентСервер.ВыраженияБезОтрицания(Выражение);
|
||||
КонецЕсли;
|
||||
|
||||
Если Выражение = ВыраженияПредикатов.Равно Тогда
|
||||
@ -323,7 +323,7 @@
|
||||
ДлинаПсевдонима = СтрДлина(ПсевдонимТаблицы);
|
||||
|
||||
Для Каждого ВыражениеПредиката Из Предикаты Цикл
|
||||
Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ВыражениеПредиката) И ЗначениеЗаполнено(ВыражениеПредиката.ИмяРеквизита) Тогда
|
||||
Если ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(ВыражениеПредиката) И ЗначениеЗаполнено(ВыражениеПредиката.ИмяРеквизита) Тогда
|
||||
Реквизиты.Добавить(СтрШаблон("%1.%2 КАК _%3", ПсевдонимТаблицы, ВыражениеПредиката.ИмяРеквизита, Реквизиты.Количество()));
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@ -337,7 +337,7 @@
|
||||
Попытка
|
||||
Схема.УстановитьТекстЗапроса(СтрШаблон("ВЫБРАТЬ %1 ИЗ %2 КАК %3", СтрСоединить(Реквизиты, ","), ИмяТаблицы, ПсевдонимТаблицы));
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора.
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора.
|
||||
|Возможно имена реквизитов заданы неверно");
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
@ -372,7 +372,7 @@
|
||||
|
||||
Для Каждого Условие Из Условия Цикл
|
||||
|
||||
Если НЕ ЮТПредикатыКлиентСервер.ЭтоПредикат(Условие) Тогда
|
||||
Если НЕ ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(Условие) Тогда
|
||||
Результат.Добавить(Условие);
|
||||
Продолжить;
|
||||
КонецЕсли;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9115c1c4-e348-46da-820d-e61915f18fde">
|
||||
<name>ЮТЗапросыВызовСервера</name>
|
||||
<name>ЮТЗапросыСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Запросы вызов сервера</value>
|
@ -29,7 +29,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ПредикатыУсловия <> Неопределено Тогда
|
||||
Описание.Условия = ЮТПредикатыКлиентСервер.НаборПредикатов(ПредикатыУсловия);
|
||||
Описание.Условия = ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(ПредикатыУсловия);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Описание;
|
||||
@ -45,7 +45,7 @@
|
||||
ТипПараметра = ТипЗнч(ВыбираемыеПоля);
|
||||
|
||||
Если ТипПараметра = Тип("Строка") Тогда
|
||||
ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ",");
|
||||
ВыбираемыеПоля = ЮТСтроки.РазделитьСтроку(ВыбираемыеПоля, ",");
|
||||
ТипПараметра = Тип("Массив");
|
||||
КонецЕсли;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6dfe96cd-f835-42f2-b5d7-561680929207">
|
||||
<name>ЮТЗапросыКлиентСервер</name>
|
||||
<name>ЮТЗапросыСлужебныйКлиентСервер</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Запросы клиент сервер</value>
|
@ -16,21 +16,45 @@
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Формирует текст исключения о некорректных параметрах вызова метода
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМетода - Строка
|
||||
// Пояснение - Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Текст исключения
|
||||
Функция НекорректныеПараметрыМетода(ИмяМетода, Пояснение = Неопределено) Экспорт
|
||||
|
||||
Сообщение = СтрШаблон("Некорректные параметры метода `%1`");
|
||||
Возврат ЮТОбщий.ДобавитьСтроку(Сообщение, Пояснение, ", ");
|
||||
Возврат ЮТСтроки.ДобавитьСтроку(Сообщение, Пояснение, ", ");
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует текст исключения о неподдерживаемом значении параметра вызова метода
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМетода - Строка
|
||||
// ЗначениеПараметра - Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Текст исключения
|
||||
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
|
||||
|
||||
Возврат СтрШаблон("Неподдерживаемый параметр метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует текст исключения о недоступности метода в указанном контексте
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМетода - Строка
|
||||
// ИмяКонтекста - Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Текст исключения
|
||||
Функция МетодНеДоступен(ИмяМетода, ИмяКонтекста = "веб-клиенте") Экспорт
|
||||
|
||||
Возврат СтрШаблон("Метод `%1` не доступен в/на %2", ИмяМетода, ИмяКонтекста);
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТИсполнительСервер">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -22,14 +22,14 @@
|
||||
// Выполняет тесты наборов модуля. Возвращает результат прогона
|
||||
// Это обертка для прогона на сервере
|
||||
// Параметры:
|
||||
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
Функция ВыполнитьГруппуНаборовТестов(Знач Наборы, Знач ТестовыйМодуль) Экспорт
|
||||
|
||||
Возврат ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль);
|
||||
Возврат ЮТИсполнительСлужебныйКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль);
|
||||
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bc8637e0-b62c-49eb-9bea-bd06b7e690ae">
|
||||
<name>ЮТИсполнительСервер</name>
|
||||
<name>ЮТИсполнительСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Исполнитель тестов (сервер)</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
Процедура ЮТВыполнитьМодульноеТестирование() Экспорт
|
||||
|
||||
ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование();
|
||||
ЮТИсполнительСлужебныйКлиент.ВыполнитьМодульноеТестирование();
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c71e5399-4012-43dd-8025-379f4211a16a">
|
||||
<name>ЮТИсполнительГлобальный</name>
|
||||
<name>ЮТИсполнительСлужебныйГлобальный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Исполнитель клиент глоб</value>
|
||||
<value>Исполнитель глобальный</value>
|
||||
</synonym>
|
||||
<global>true</global>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
@ -80,7 +80,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
РежимИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим);
|
||||
РежимИсполнения = ЮТФабрикаСлужебный.КонтекстИсполнения(Набор.Режим);
|
||||
|
||||
Если РежимИсполнения = КонтекстыИсполнения.Клиент Тогда
|
||||
КлиентскиеНаборы.Добавить(Набор);
|
||||
@ -92,20 +92,20 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ТестовыйМодульОблегченный = ЮТОбщий.СкопироватьСтруктуру(ТестовыйМодуль);
|
||||
ТестовыйМодульОблегченный = ЮТКоллекции.СкопироватьСтруктуру(ТестовыйМодуль);
|
||||
ТестовыйМодульОблегченный.НаборыТестов = Новый Массив();
|
||||
|
||||
Если ЗначениеЗаполнено(КлиентскиеНаборы) Тогда
|
||||
Результаты = ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(КлиентскиеНаборы, ТестовыйМодульОблегченный);
|
||||
Результаты = ЮТИсполнительСлужебныйКлиентСервер.ВыполнитьГруппуНаборовТестов(КлиентскиеНаборы, ТестовыйМодульОблегченный);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(СерверныеНаборы) Тогда
|
||||
Результат = ЮТИсполнительСервер.ВыполнитьГруппуНаборовТестов(СерверныеНаборы, ТестовыйМодульОблегченный);
|
||||
ЮТЛогирование.ВывестиСерверныеСообщения();
|
||||
ЮТОбщий.ДополнитьМассив(Результаты, Результат);
|
||||
Результат = ЮТИсполнительСлужебныйВызовСервера.ВыполнитьГруппуНаборовТестов(СерверныеНаборы, ТестовыйМодульОблегченный);
|
||||
ЮТЛогированиеСлужебный.ВывестиСерверныеСообщения();
|
||||
ЮТКоллекции.ДополнитьМассив(Результаты, Результат);
|
||||
КонецЕсли;
|
||||
|
||||
ЮТОбщий.ДополнитьМассив(Результаты, ПропущенныеНаборы);
|
||||
ЮТКоллекции.ДополнитьМассив(Результаты, ПропущенныеНаборы);
|
||||
|
||||
ТестовыйМодульОблегченный.НаборыТестов = Результаты;
|
||||
|
||||
@ -117,6 +117,17 @@
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВыполнитьИнициализацию(ПараметрыЗапуска) Экспорт
|
||||
|
||||
ЮТКонтекстСлужебный.ИнициализироватьКонтекст();
|
||||
ЮТКонтекстСлужебный.УстановитьГлобальныеНастройкиВыполнения(ПараметрыЗапуска.settings);
|
||||
// Повторно сохраним для передачи на сервер
|
||||
ЮТКонтекстСлужебный.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекстСлужебный.ГлобальныеНастройкиВыполнения());
|
||||
|
||||
ЮТСобытияСлужебный.Инициализация(ПараметрыЗапуска);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
@ -132,7 +143,7 @@
|
||||
Процедура ОбработчикЗагрузитьПараметры(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
|
||||
ЮТПараметрыЗапуска.ПараметрыЗапуска(ДополнительныеПараметры.АргументыЗапуска, Обработчик);
|
||||
ЮТПараметрыЗапускаСлужебный.ПараметрыЗапуска(ДополнительныеПараметры.АргументыЗапуска, Обработчик);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -150,18 +161,17 @@
|
||||
|
||||
Процедура ОбработчикИнициализация(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
ЮТСобытия.Инициализация(ДополнительныеПараметры.ПараметрыЗапуска);
|
||||
|
||||
ВыполнитьИнициализацию(ДополнительныеПараметры.ПараметрыЗапуска);
|
||||
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ОбработчикЗагрузитьТесты(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
ЮТСобытия.ПередЧтениеСценариев();
|
||||
ЮТСобытияСлужебный.ПередЧтениеСценариев();
|
||||
|
||||
ТестовыеМодули = ЮТЧитатель.ЗагрузитьТесты(ДополнительныеПараметры.ПараметрыЗапуска);
|
||||
ЮТСобытия.ПослеЧтенияСценариев(ТестовыеМодули);
|
||||
ТестовыеМодули = ЮТЧитательСлужебный.ЗагрузитьТесты(ДополнительныеПараметры.ПараметрыЗапуска);
|
||||
ЮТСобытияСлужебный.ПослеЧтенияСценариев(ТестовыеМодули);
|
||||
|
||||
ИсполняемыеТестовыеМодули = Новый Массив();
|
||||
|
||||
@ -170,7 +180,7 @@
|
||||
ИсполняемыеТестовыеМодули.Добавить(ИсполняемыйТестовыйМодуль);
|
||||
КонецЦикла;
|
||||
|
||||
ЮТСобытия.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули);
|
||||
ЮТСобытияСлужебный.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули);
|
||||
ДополнительныеПараметры.ИсполняемыеТестовыеМодули = ИсполняемыеТестовыеМодули;
|
||||
|
||||
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, ИсполняемыеТестовыеМодули);
|
||||
@ -179,7 +189,7 @@
|
||||
|
||||
Процедура ОбработчикВыполнитьТестирование(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
ЮТСобытия.ПередВыполнениемТестов(ДополнительныеПараметры.ИсполняемыеТестовыеМодули);
|
||||
ЮТСобытияСлужебный.ПередВыполнениемТестов(ДополнительныеПараметры.ИсполняемыеТестовыеМодули);
|
||||
|
||||
РезультатыТестирования = Новый Массив();
|
||||
|
||||
@ -190,7 +200,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЮТСобытия.ПослеВыполненияТестов(РезультатыТестирования);
|
||||
ЮТСобытияСлужебный.ПослеВыполненияТестов(РезультатыТестирования);
|
||||
|
||||
ДополнительныеПараметры.РезультатыТестирования = РезультатыТестирования;
|
||||
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, РезультатыТестирования);
|
||||
@ -201,7 +211,7 @@
|
||||
|
||||
Если ЗначениеЗаполнено(ДополнительныеПараметры.ПараметрыЗапуска.reportPath) Тогда
|
||||
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
|
||||
ЮТОтчет.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик);
|
||||
ЮТОтчетСлужебный.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик);
|
||||
Иначе
|
||||
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
@ -218,7 +228,7 @@
|
||||
Процедура ОбработчикЗавершить(Результат, ДополнительныеПараметры) Экспорт
|
||||
|
||||
Параметры = ДополнительныеПараметры.ПараметрыЗапуска;
|
||||
ЮТКонтекст.УдалитьКонтекст();
|
||||
ЮТКонтекстСлужебный.УдалитьКонтекст();
|
||||
|
||||
Если Параметры.showReport Тогда
|
||||
ПоказатьОтчет(ДополнительныеПараметры.РезультатыТестирования, Параметры);
|
||||
@ -232,7 +242,7 @@
|
||||
|
||||
Если ДополнительныеПараметры.ПараметрыЗапуска.ПодключатьВнешниеКомпоненты Тогда
|
||||
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
|
||||
ЮТКомпонентыКлиент.ТихаяУстановкаКомпонент(Обработчик);
|
||||
ЮТКомпонентыСлужебныйКлиент.ТихаяУстановкаКомпонент(Обработчик);
|
||||
Иначе
|
||||
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
|
||||
КонецЕсли;
|
||||
@ -243,18 +253,9 @@
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
Процедура Инициализация(Параметры) Экспорт
|
||||
|
||||
ЮТКонтекст.ИнициализироватьКонтекст();
|
||||
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(Параметры.settings);
|
||||
// Повторно сохраним для передачи на сервер
|
||||
ЮТКонтекст.УстановитьГлобальныеНастройкиВыполнения(ЮТКонтекст.ГлобальныеНастройкиВыполнения());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПередВыполнениемТестов(ИсполняемыеМодули) Экспорт
|
||||
|
||||
ЮТКонтекст.УстановитьКонтекстИсполнения(ЮТФабрика.НовыйКонтекстИсполнения());
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстИсполнения(ЮТФабрикаСлужебный.НовыйКонтекстИсполнения());
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -269,17 +270,17 @@
|
||||
|
||||
Функция ИсполняемыйТестовыйМодуль(ТестовыйМодуль)
|
||||
|
||||
ИсполняемыйТестовыйМодуль = ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль);
|
||||
ИсполняемыйТестовыйМодуль = ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля(ТестовыйМодуль);
|
||||
|
||||
КонтекстыПриложения = ЮТФабрика.КонтекстыПриложения();
|
||||
КонтекстыМодуля = ЮТФабрика.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля);
|
||||
КонтекстыПриложения = ЮТФабрикаСлужебный.КонтекстыПриложения();
|
||||
КонтекстыМодуля = ЮТФабрикаСлужебный.КонтекстыМодуля(ТестовыйМодуль.МетаданныеМодуля);
|
||||
КонтекстыИсполнения = ЮТФабрика.КонтекстыИсполнения();
|
||||
|
||||
ИсполняемыйТестовыйМодуль.НаборыТестов = ИсполняемыеНаборыМодуля(ТестовыйМодуль);
|
||||
|
||||
Для Каждого Набор Из ИсполняемыйТестовыйМодуль.НаборыТестов Цикл
|
||||
|
||||
КонтекстИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим);
|
||||
КонтекстИсполнения = ЮТФабрикаСлужебный.КонтекстИсполнения(Набор.Режим);
|
||||
|
||||
Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда
|
||||
ОшибкаКонтекста = "Неподдерживаемый режим запуска";
|
||||
@ -293,9 +294,9 @@
|
||||
|
||||
Если ОшибкаКонтекста <> Неопределено Тогда
|
||||
Набор.Выполнять = Ложь;
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста);
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуРежимаВыполнения(Набор, ОшибкаКонтекста);
|
||||
Для Каждого Тест Из Набор.Тесты Цикл
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста);
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуРежимаВыполнения(Тест, ОшибкаКонтекста);
|
||||
КонецЦикла;
|
||||
КонецЕсли;
|
||||
|
||||
@ -313,7 +314,7 @@
|
||||
|
||||
НаборыКонтекстов = Новый Структура;
|
||||
|
||||
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(ТестовыйНабор, "Тесты", Новый Массив());
|
||||
ТестыНабора = ЮТКоллекции.ЗначениеСтруктуры(ТестовыйНабор, "Тесты", Новый Массив());
|
||||
ОбработатьОшибкиЧтенияНабора(ТестовыйНабор, ТестовыйМодуль);
|
||||
|
||||
Для Каждого Тест Из ТестыНабора Цикл
|
||||
@ -321,16 +322,16 @@
|
||||
Для Каждого Контекст Из Тест.КонтекстВызова Цикл
|
||||
|
||||
Если НЕ НаборыКонтекстов.Свойство(Контекст) Тогда
|
||||
ИсполняемыйНабор = ЮТФабрика.ОписаниеИсполняемогоНабораТестов(ТестовыйНабор, ТестовыйМодуль);
|
||||
ИсполняемыйНабор = ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов(ТестовыйНабор, ТестовыйМодуль);
|
||||
ИсполняемыйНабор.Режим = Контекст;
|
||||
НаборыКонтекстов.Вставить(Контекст, ИсполняемыйНабор);
|
||||
Иначе
|
||||
ИсполняемыйНабор = НаборыКонтекстов[Контекст];
|
||||
КонецЕсли;
|
||||
|
||||
ИсполняемыйТест = ЮТФабрика.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
|
||||
ИсполняемыйТест = ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста(Тест, Контекст, ТестовыйМодуль);
|
||||
Если Тест.Свойство("Ошибки") И Тест.Ошибки.Количество() > 0 Тогда
|
||||
ИсполняемыйТест.Ошибки = ЮТОбщий.СкопироватьМассив(Тест.Ошибки);
|
||||
ИсполняемыйТест.Ошибки = ЮТКоллекции.СкопироватьМассив(Тест.Ошибки);
|
||||
КонецЕсли;
|
||||
ИсполняемыйНабор.Тесты.Добавить(ИсполняемыйТест);
|
||||
|
||||
@ -353,15 +354,15 @@
|
||||
КонецФункции
|
||||
|
||||
Процедура ОбработатьОшибкиЧтенияНабора(Набор, Модуль)
|
||||
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив());
|
||||
Ошибки = ЮТОбщий.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив());
|
||||
ТестыНабора = ЮТКоллекции.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив());
|
||||
Ошибки = ЮТКоллекции.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив());
|
||||
|
||||
Если Ошибки.Количество() > 0 Тогда
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
Если Ошибка.ТипОшибки = ЮТФабрика.ТипыОшибок().ЧтенияТестов Тогда
|
||||
Если Ошибка.ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ЧтенияТестов Тогда
|
||||
Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка);
|
||||
ТестыНабора.Добавить(Тест);
|
||||
|
||||
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
@ -369,10 +370,10 @@
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка)
|
||||
Контексты = ЮТФабрика.КонтекстыМодуля(Модуль.МетаданныеМодуля);
|
||||
Тест = ЮТФабрика.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
|
||||
Контексты = ЮТФабрикаСлужебный.КонтекстыМодуля(Модуль.МетаданныеМодуля);
|
||||
Тест = ЮТФабрикаСлужебный.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
|
||||
Тест.Вставить("Ошибки", Новый Массив);
|
||||
Тест.Ошибки.Добавить(ЮТОбщий.СкопироватьСтруктуру(Ошибка));
|
||||
Тест.Ошибки.Добавить(ЮТКоллекции.СкопироватьСтруктуру(Ошибка));
|
||||
|
||||
Возврат Тест;
|
||||
КонецФункции
|
||||
@ -389,7 +390,7 @@
|
||||
// Записать код возврата.
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатыТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// РезультатыТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Параметры - см. ЮТФабрика.ПараметрыЗапуска
|
||||
Процедура ЗаписатьКодВозврата(РезультатыТестирования, Параметры)
|
||||
|
||||
@ -446,7 +447,7 @@
|
||||
Возврат Результат;
|
||||
КонецЕсли;
|
||||
|
||||
ТипОшибкиПропущен = ЮТФабрика.ТипыОшибок().Пропущен;
|
||||
ТипОшибкиПропущен = ЮТФабрикаСлужебный.ТипыОшибок().Пропущен;
|
||||
Для Каждого ОписаниеОшибки Из Тест.Ошибки Цикл
|
||||
Если ОписаниеОшибки.ТипОшибки <> ТипОшибкиПропущен Тогда
|
||||
Результат = Истина;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c9bf0e7a-6503-44eb-bef0-b37e1d3c6e22">
|
||||
<name>ЮТИсполнительКлиент</name>
|
||||
<name>ЮТИсполнительСлужебныйКлиент</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Исполнитель клиент</value>
|
@ -20,18 +20,18 @@
|
||||
|
||||
// Выполняет тесты группы наборов, соответствующих одному режиму выполнения (клиент/сервер)
|
||||
// Параметры:
|
||||
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении
|
||||
// Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении
|
||||
Функция ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль) Экспорт
|
||||
|
||||
Если Наборы.Количество() = 0 Тогда
|
||||
Возврат Наборы;
|
||||
КонецЕсли;
|
||||
|
||||
ЮТСобытия.ПередВсемиТестамиМодуля(ТестовыйМодуль);
|
||||
ЮТСобытияСлужебный.ПередВсемиТестамиМодуля(ТестовыйМодуль);
|
||||
|
||||
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
||||
СкопироватьОшибкиВ(Наборы, ТестовыйМодуль.Ошибки);
|
||||
@ -48,7 +48,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЮТСобытия.ПослеВсехТестовМодуля(ТестовыйМодуль);
|
||||
ЮТСобытияСлужебный.ПослеВсехТестовМодуля(ТестовыйМодуль);
|
||||
|
||||
Если ЕстьОшибки(ТестовыйМодуль) Тогда
|
||||
СкопироватьОшибкиВ(Наборы, ТестовыйМодуль.Ошибки);
|
||||
@ -67,7 +67,7 @@
|
||||
Функция ВыполнитьНаборТестов(Набор, ТестовыйМодуль)
|
||||
|
||||
Набор.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах();
|
||||
ЮТСобытия.ПередТестовымНабором(ТестовыйМодуль, Набор);
|
||||
ЮТСобытияСлужебный.ПередТестовымНабором(ТестовыйМодуль, Набор);
|
||||
|
||||
Если ЕстьОшибки(Набор) Тогда
|
||||
Возврат Неопределено;
|
||||
@ -86,12 +86,12 @@
|
||||
|
||||
ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции);
|
||||
|
||||
Тест.Статус = ЮТРегистрацияОшибок.СтатусВыполненияТеста(Тест);
|
||||
Тест.Статус = ЮТРегистрацияОшибокСлужебный.СтатусВыполненияТеста(Тест);
|
||||
Результаты.Добавить(Тест);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЮТСобытия.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
|
||||
ЮТСобытияСлужебный.ПослеТестовогоНабора(ТестовыйМодуль, Набор);
|
||||
|
||||
Набор.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Набор.ДатаСтарта;
|
||||
|
||||
@ -101,7 +101,7 @@
|
||||
|
||||
Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест, ВТранзакции)
|
||||
|
||||
ЮТСобытия.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест);
|
||||
ЮТСобытияСлужебный.УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор, Тест);
|
||||
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||
ВТранзакции = ЮТНастройкиВыполнения.ВТранзакции();
|
||||
Если ВТранзакции Тогда
|
||||
@ -109,18 +109,18 @@
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
ЮТСобытия.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест);
|
||||
ЮТСобытияСлужебный.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции)
|
||||
|
||||
Если ЮТКонтекст.ДанныеКонтекста() = Неопределено Тогда // Сломан контекст
|
||||
Если ЮТКонтекстСлужебный.ДанныеКонтекста() = Неопределено Тогда // Сломан контекст
|
||||
ОбновитьПовторноИспользуемыеЗначения();
|
||||
ОтменитьТранзакциюТеста(Тест, ВТранзакции);
|
||||
ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
|
||||
ЮТСобытияСлужебный.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
|
||||
Иначе
|
||||
ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
|
||||
ЮТСобытияСлужебный.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест);
|
||||
ОтменитьТранзакциюТеста(Тест, ВТранзакции);
|
||||
КонецЕсли;
|
||||
|
||||
@ -133,13 +133,13 @@
|
||||
Если ТранзакцияАктивна() Тогда
|
||||
ОтменитьТранзакцию();
|
||||
Иначе
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружено лишне закрытие транзакции");
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружено лишне закрытие транзакции");
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Пока ТранзакцияАктивна() Цикл
|
||||
ОтменитьТранзакцию();
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция");
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция");
|
||||
КонецЦикла;
|
||||
#КонецЕсли
|
||||
|
||||
@ -160,10 +160,10 @@
|
||||
СтатусыИсполненияТеста = ЮТФабрика.СтатусыИсполненияТеста();
|
||||
Тест.Статус = СтатусыИсполненияТеста.Исполнение;
|
||||
|
||||
Ошибка = ЮТОбщий.ВыполнитьМетод(Тест.ПолноеИмяМетода, Тест.Параметры);
|
||||
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(Тест.ПолноеИмяМетода, Тест.Параметры);
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -172,7 +172,7 @@
|
||||
|
||||
Для Каждого Объект Из Объекты Цикл
|
||||
|
||||
ЮТОбщий.ДополнитьМассив(Объект.Ошибки, Ошибки);
|
||||
ЮТКоллекции.ДополнитьМассив(Объект.Ошибки, Ошибки);
|
||||
|
||||
Если Объект.Свойство("Статус") Тогда
|
||||
Объект.Статус = ЮТФабрика.СтатусыИсполненияТеста().Сломан;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="24d9c1de-23c0-4d03-b2bf-9437c0985453">
|
||||
<name>ЮТИсполнительКлиентСервер</name>
|
||||
<name>ЮТИсполнительСлужебныйКлиентСервер</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Исполнитель тестов</value>
|
395
exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl
Normal file
395
exts/yaxunit/src/CommonModules/ЮТКоллекции/Module.bsl
Normal file
@ -0,0 +1,395 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2024 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.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Возвращает требуемое поле структуры. В случае отсутствия поля возвращает значение по умолчанию
|
||||
//
|
||||
// Параметры:
|
||||
// ИсходнаяСтруктура - Структура - Исходная структура
|
||||
// ИмяПоля - Строка - Имя поля структуры
|
||||
// ЗначениеПоУмолчанию - Произвольный - Значение, которое будет возвращено, если поля в структуре нет
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Значение искомого поля структуры
|
||||
Функция ЗначениеСтруктуры(ИсходнаяСтруктура, ИмяПоля, ЗначениеПоУмолчанию = Неопределено) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(ИсходнаяСтруктура) ИЛИ ПустаяСтрока(ИмяПоля) Тогда
|
||||
Возврат ЗначениеПоУмолчанию;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеПоля = Неопределено;
|
||||
|
||||
Если ИсходнаяСтруктура.Свойство(ИмяПоля, ЗначениеПоля) Тогда
|
||||
Возврат ЗначениеПоля;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЗначениеПоУмолчанию;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Добавляет в приемник данные из источника, при совпадении ключей значения заменяются
|
||||
//
|
||||
// Параметры:
|
||||
// Приемник - Структура
|
||||
// Источник - Соответствие из Произвольный
|
||||
// - Структура
|
||||
Процедура ДополнитьСтруктуру(Приемник, Источник) Экспорт
|
||||
|
||||
Для Каждого Элемент Из Источник Цикл
|
||||
Приемник.Вставить(Элемент.Ключ, Элемент.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Добавляет в приемник все элементы источника
|
||||
//
|
||||
// Параметры:
|
||||
// Приемник - Массив из Произвольный
|
||||
// Источник - Массив из Произвольный
|
||||
Процедура ДополнитьМассив(Приемник, Источник) Экспорт
|
||||
|
||||
Для Каждого Элемент Из Источник Цикл
|
||||
Приемник.Добавить(Элемент);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Создает копию экземпляра указанного объекта.
|
||||
// Примечание:
|
||||
// Функцию нельзя использовать для объектных типов (СправочникОбъект, ДокументОбъект и т.п.).
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - Произвольный - объект, который необходимо скопировать.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - копия объекта, переданного в параметре Источник.
|
||||
//
|
||||
Функция СкопироватьРекурсивно(Источник) Экспорт
|
||||
|
||||
Перем Приемник;
|
||||
|
||||
СкопироватьПрисвоением = Ложь;
|
||||
|
||||
ТипИсточника = ТипЗнч(Источник);
|
||||
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьСтруктуру(Источник);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьСоответствие(Источник);
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипИсточника) Тогда
|
||||
Приемник = СкопироватьМассив(Источник);
|
||||
ИначеЕсли ТипИсточника = Тип("СписокЗначений") Тогда
|
||||
Приемник = СкопироватьСписокЗначений(Источник);
|
||||
Иначе
|
||||
|
||||
СкопироватьПрисвоением = Истина;
|
||||
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
|
||||
|
||||
Если ТипИсточника = Тип("ТаблицаЗначений") Или ТипИсточника = Тип("ДеревоЗначений") Тогда
|
||||
|
||||
СкопироватьПрисвоением = Ложь;
|
||||
Приемник = Источник.Скопировать();
|
||||
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Если СкопироватьПрисвоением Тогда
|
||||
Приемник = Источник;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Приемник;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает копию структуры
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - Структура, ФиксированнаяСтруктура - копируемая структура
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - копия исходной структуры.
|
||||
Функция СкопироватьСтруктуру(Источник) Экспорт
|
||||
|
||||
Результат = Новый Структура;
|
||||
|
||||
Для Каждого КлючИЗначение Из Источник Цикл
|
||||
Результат.Вставить(КлючИЗначение.Ключ, СкопироватьРекурсивно(КлючИЗначение.Значение));
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает копию соответствия
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - Соответствие из Произвольный
|
||||
// - ФиксированноеСоответствие из Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из Произвольный - копия исходного соответствия.
|
||||
//
|
||||
Функция СкопироватьСоответствие(Источник) Экспорт
|
||||
|
||||
Результат = Новый Соответствие;
|
||||
|
||||
Для Каждого КлючИЗначение Из Источник Цикл
|
||||
|
||||
НовыйКлюч = СкопироватьРекурсивно(КлючИЗначение.Ключ);
|
||||
НовоеЗначение = СкопироватьРекурсивно(КлючИЗначение.Значение);
|
||||
Результат.Вставить(НовыйКлюч, НовоеЗначение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает копию массива
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - Массив Из Произвольный
|
||||
// - ФиксированныйМассив из Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Произвольный - копия исходного массива.
|
||||
Функция СкопироватьМассив(Источник) Экспорт
|
||||
|
||||
Если НЕ ЗначениеЗаполнено(Источник) Тогда
|
||||
Возврат Новый Массив;
|
||||
КонецЕсли;
|
||||
|
||||
Размер = Источник.Количество();
|
||||
Результат = Новый Массив(Размер);
|
||||
|
||||
Для Инд = 0 По Размер - 1 Цикл
|
||||
Результат[Инд] = СкопироватьРекурсивно(Источник[Инд]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает копию списка значений
|
||||
//
|
||||
// Параметры:
|
||||
// Источник - СписокЗначений Из Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// СписокЗначений Из Произвольный
|
||||
//
|
||||
Функция СкопироватьСписокЗначений(Источник) Экспорт
|
||||
|
||||
Результат = Новый СписокЗначений;
|
||||
|
||||
Для Каждого ЭлементСписка Из Источник Цикл
|
||||
|
||||
НовоеЗначение = СкопироватьРекурсивно(ЭлементСписка.Значение);
|
||||
Результат.Добавить(НовоеЗначение, ЭлементСписка.Представление, ЭлементСписка.Пометка, ЭлементСписка.Картинка);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Выгружает значения "колонки" коллекции элементов.
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция - Произвольный - Итерируемая коллекция
|
||||
// ИмяРеквизита - Строка - Имя реквизата элементов коллекции
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Произвольный
|
||||
Функция ВыгрузитьЗначения(Коллекция, ИмяРеквизита) Экспорт
|
||||
|
||||
Результат = Новый Массив();
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
Результат.Добавить(ЭлементКоллекции[ИмяРеквизита]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Вычисляет двух массивов, коллекцию содержащую общие элементы.
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция1 - Массив из Произвольный
|
||||
// Коллекция2 - Массив из Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Произвольный - Пересечение массивов
|
||||
Функция ПересечениеМассивов(Коллекция1, Коллекция2) Экспорт
|
||||
|
||||
Результат = Новый Массив;
|
||||
|
||||
Для Каждого Элемент Из Коллекция1 Цикл
|
||||
|
||||
Если Коллекция2.Найти(Элемент) <> Неопределено Тогда
|
||||
Результат.Добавить(Элемент);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает массив с переданными значениями
|
||||
//
|
||||
// Параметры:
|
||||
// Значение - Произвольный
|
||||
// Значение2 - Произвольный
|
||||
// Значение3 - Произвольный
|
||||
// Значение4 - Произвольный
|
||||
// Значение5 - Произвольный
|
||||
// Значение6 - Произвольный
|
||||
// Значение7 - Произвольный
|
||||
// Значение8 - Произвольный
|
||||
// Значение9 - Произвольный
|
||||
// Значение10 - Произвольный
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из Произвольный
|
||||
//@skip-check method-too-many-params
|
||||
Функция ЗначениеВМассиве(Значение,
|
||||
Значение2 = "_!%*",
|
||||
Значение3 = "_!%*",
|
||||
Значение4 = "_!%*",
|
||||
Значение5 = "_!%*",
|
||||
Значение6 = "_!%*",
|
||||
Значение7 = "_!%*",
|
||||
Значение8 = "_!%*",
|
||||
Значение9 = "_!%*",
|
||||
Значение10 = "_!%*") Экспорт
|
||||
|
||||
Значения = Новый Массив;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение2) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение3) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение4) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение5) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение6) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение7) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение8) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение9) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ДобавитьНеПоследнее(Значения, Значение10) Тогда
|
||||
Возврат Значения;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Значения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает соответствие элементов переданной коллекции, в качестве ключей выступают значения указанного поля элементов коллекции.
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция - Произвольный - значение, для которого определен итератор, и возможно обращение к полям элементов через квадратные скобки.
|
||||
// ИмяПоляКлюча - Строка - имя поля элемента коллекции, которое будет ключом соответствия.
|
||||
// ИмяПоляЗначения - Строка - если указан, значениями результата будут не элементы, а значения соответствующих полей элементов коллекции.
|
||||
// Возвращаемое значение:
|
||||
// Соответствие Из Произвольный - полученное соответствие.
|
||||
Функция ВСоответствие(Коллекция, ИмяПоляКлюча, ИмяПоляЗначения = Неопределено) Экспорт
|
||||
|
||||
Результат = Новый Соответствие();
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
Значение = ?(ИмяПоляЗначения = Неопределено, ЭлементКоллекции, ЭлементКоллекции[ИмяПоляЗначения]);
|
||||
|
||||
Результат.Вставить(ЭлементКоллекции[ИмяПоляКлюча], Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает структуру элементов переданной коллекции, в качестве ключей выступают значения указанного поля элементов коллекции.
|
||||
//
|
||||
// Параметры:
|
||||
// Коллекция - Произвольный - значение, для которого определен итератор, и возможно обращение к полям элементов через квадратные скобки.
|
||||
// ИмяПоляКлюча - Строка - имя поля элемента коллекции, которое будет ключом соответствия.
|
||||
// ИмяПоляЗначения - Строка - если указан, значениями результата будут не элементы, а значения соответствующих полей элементов коллекции.
|
||||
// Возвращаемое значение:
|
||||
// Структура Из Произвольный - полученная структура.
|
||||
Функция ВСтруктуру(Коллекция, ИмяПоляКлюча, ИмяПоляЗначения = Неопределено) Экспорт
|
||||
|
||||
Результат = Новый Структура();
|
||||
|
||||
Для Каждого ЭлементКоллекции Из Коллекция Цикл
|
||||
|
||||
Значение = ?(ИмяПоляЗначения = Неопределено, ЭлементКоллекции, ЭлементКоллекции[ИмяПоляЗначения]);
|
||||
|
||||
Результат.Вставить(ЭлементКоллекции[ИмяПоляКлюча], Значение);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ДобавитьНеПоследнее(Значения, Значение, ФлагОкончания = "_!%*")
|
||||
|
||||
Если Значение <> ФлагОкончания Тогда
|
||||
Значения.Добавить(Значение);
|
||||
Возврат Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
11
exts/yaxunit/src/CommonModules/ЮТКоллекции/ЮТКоллекции.mdo
Normal file
11
exts/yaxunit/src/CommonModules/ЮТКоллекции/ЮТКоллекции.mdo
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fddfda12-489c-430c-9c70-a05037d03fa2">
|
||||
<name>ЮТКоллекции</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Коллекции</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
Функция ФайлКомпоненты(Знач ИмяМакета, Знач ОперационнаяСистема, Знач Архитектура) Экспорт
|
||||
|
||||
Данные = ЮТОбщийВызовСервера.Макет(ИмяМакета);
|
||||
Данные = ЮТОбщийСлужебныйВызовСервера.Макет(ИмяМакета);
|
||||
ЧтениеАрхива = Новый ЧтениеZipФайла();
|
||||
ЧтениеАрхива.Открыть(Данные.ОткрытьПотокДляЧтения());
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="20617de9-dab7-4587-a43a-4330e51bbc64">
|
||||
<name>ЮТКомпонентыВызовСервера</name>
|
||||
<name>ЮТКомпонентыСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Компоненты вызов сервера</value>
|
@ -106,7 +106,7 @@
|
||||
ОперационнаяСистема = MacOS;
|
||||
Архитектура = x64;
|
||||
Иначе
|
||||
ЮТИсполнительКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы");
|
||||
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы");
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема;
|
||||
@ -118,7 +118,7 @@
|
||||
Процедура ПрочитатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry"));
|
||||
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry"));
|
||||
Возврат;
|
||||
#Иначе
|
||||
ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml");
|
||||
@ -134,7 +134,7 @@
|
||||
Процедура ЗаписатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry"));
|
||||
ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry"));
|
||||
Возврат;
|
||||
#Иначе
|
||||
Если ПараметрыТихойУстановки.ИзмененРеестр Тогда
|
||||
@ -188,7 +188,7 @@
|
||||
|
||||
Процедура ТихаяУстановкаВнешнейКомпоненты(Компонента, Параметры)
|
||||
|
||||
ДанныеФайла = ЮТКомпонентыВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура);
|
||||
ДанныеФайла = ЮТКомпонентыСлужебныйВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура);
|
||||
|
||||
Если ЗаписатьВРеестр(Параметры.ДанныеРеестра, ДанныеФайла.ИмяФайла) Тогда
|
||||
Параметры.ИзмененРеестр = Истина;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fde2e089-b73c-4596-b283-959c570ff45d">
|
||||
<name>ЮТКомпонентыКлиент</name>
|
||||
<name>ЮТКомпонентыСлужебныйКлиент</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Компоненты клиент</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -31,7 +31,7 @@
|
||||
Вариант = Новый Структура(Реквизиты);
|
||||
Варианты.КоличествоРеквизитов = Вариант.Количество();
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты);
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты);
|
||||
|
||||
Возврат ЮТКонструкторВариантов;
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
Параметр7 = Неопределено) Экспорт
|
||||
// BSLLS:MagicNumber-off
|
||||
// BSLLS:NumberOfValuesInStructureConstructor-off
|
||||
Варианты = ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
|
||||
Варианты = ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
|
||||
|
||||
Если Варианты.КоличествоРеквизитов = 1 Тогда
|
||||
Вариант = Новый Структура(Варианты.Реквизиты, Параметр1);
|
||||
@ -91,7 +91,7 @@
|
||||
// Массив из Структура
|
||||
Функция СписокВариантов() Экспорт
|
||||
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()).Варианты;
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста()).Варианты;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -43,7 +43,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ОграничениеТипа <> Неопределено Тогда
|
||||
ПолноеИмяРеквизита = ЮТОбщий.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, ".");
|
||||
ПолноеИмяРеквизита = ЮТСтроки.ДобавитьСтроку(Контекст.ТекущаяТабличнаяЧасть, ИмяРеквизита, ".");
|
||||
ТипЗначения = ПересечениеТипов(ОписаниеРеквизита.Тип, ОграничениеТипа, ПолноеИмяРеквизита);
|
||||
Иначе
|
||||
ТипЗначения = ОписаниеРеквизита.Тип;
|
||||
@ -103,7 +103,7 @@
|
||||
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
|
||||
ПараметрыЗаписи.ОбменДаннымиЗагрузка = ОбменДаннымиЗагрузка;
|
||||
|
||||
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
|
||||
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
|
||||
|
||||
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
|
||||
|
||||
@ -113,7 +113,7 @@
|
||||
|
||||
Функция НовыйОбъект(Контекст) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства);
|
||||
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -123,7 +123,7 @@
|
||||
ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства;
|
||||
ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение;
|
||||
|
||||
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
|
||||
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект);
|
||||
|
||||
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
|
||||
|
||||
@ -222,9 +222,9 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипОграничения = Тип("Тип") И ОписаниеТипов.СодержитТип(ОграничениеТипов) И ОграничениеТипов <> Тип("Неопределено") Тогда
|
||||
Результат = ЮТОбщий.ЗначениеВМассиве(ОграничениеТипов);
|
||||
Результат = ЮТКоллекции.ЗначениеВМассиве(ОграничениеТипов);
|
||||
ИначеЕсли ТипОграничения = Тип("ОписаниеТипов") Тогда
|
||||
Результат = ЮТОбщий.ПересечениеМассивов(ОписаниеТипов.Типы(), ОграничениеТипов.Типы());
|
||||
Результат = ЮТКоллекции.ПересечениеМассивов(ОписаниеТипов.Типы(), ОграничениеТипов.Типы());
|
||||
Иначе
|
||||
Результат = Неопределено;
|
||||
КонецЕсли;
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТКонтекстСервер">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -25,8 +25,8 @@
|
||||
#Если НЕ Клиент Тогда
|
||||
ВызватьИсключение "Метод `ИнициализироватьКонтекст` должен вызываться только с клиента";
|
||||
#Иначе
|
||||
ЮТКонтекстКлиент.ИнициализироватьКонтекст();
|
||||
ЮТКонтекстСервер.ИнициализироватьКонтекст();
|
||||
ЮТКонтекстСлужебныйКлиент.ИнициализироватьКонтекст();
|
||||
ЮТКонтекстСлужебныйВызовСервера.ИнициализироватьКонтекст();
|
||||
ОбновитьПовторноИспользуемыеЗначения();
|
||||
#КонецЕсли
|
||||
|
||||
@ -40,10 +40,10 @@
|
||||
Функция ДанныеКонтекста() Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
Возврат ЮТКонтекстКлиент.ДанныеКонтекста();
|
||||
Возврат ЮТКонтекстСлужебныйКлиент.ДанныеКонтекста();
|
||||
#Иначе
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТКонтекстСервер.ДанныеКонтекста();
|
||||
Возврат ЮТКонтекстСлужебныйВызовСервера.ДанныеКонтекста();
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
@ -60,7 +60,8 @@
|
||||
|
||||
#Если Клиент Тогда
|
||||
Если ПолучитьССервера Тогда
|
||||
Возврат ЮТКонтекстСервер.ЗначениеКонтекста(ИмяРеквизита);
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТКонтекстСлужебныйВызовСервера.ЗначениеКонтекста(ИмяРеквизита);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
@ -76,7 +77,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТОбщий.ЗначениеСтруктуры(Объект, Ключи[Ключи.ВГраница()]);
|
||||
Возврат ЮТКоллекции.ЗначениеСтруктуры(Объект, Ключи[Ключи.ВГраница()]);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -101,7 +102,7 @@
|
||||
|
||||
#Если НЕ Сервер Тогда
|
||||
Если УстановитьНаСервер Тогда
|
||||
ЮТКонтекстСервер.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
|
||||
ЮТКонтекстСлужебныйВызовСервера.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
@ -165,7 +166,7 @@
|
||||
// Возвращает служебный контекст, содержит дополнительные детали ошибки теста
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Неопределено, Структура - Контекст ошибки, см. ЮТФабрика.ОписаниеКонтекстаОшибки
|
||||
// Неопределено, Структура - Контекст ошибки, см. ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки
|
||||
Функция КонтекстОшибки() Экспорт
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
@ -198,7 +199,7 @@
|
||||
// КонтекстЧитателя
|
||||
// Возвращает служебный контекста, данные используемые исполнителем тестов
|
||||
// Возвращаемое значение:
|
||||
// см. ЮТФабрика.НовыйКонтекстИсполнения
|
||||
// см. ЮТФабрикаСлужебный.НовыйКонтекстИсполнения
|
||||
Функция КонтекстИсполнения() Экспорт
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
@ -210,9 +211,9 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Неопределено
|
||||
// - См. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// - См. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// - См. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// - См. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
// - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
// - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
Функция КонтекстИсполненияТекущегоУровня() Экспорт
|
||||
|
||||
Уровни = ЮТФабрика.УровниИсполнения();
|
||||
@ -262,7 +263,7 @@
|
||||
|
||||
Процедура УстановитьКонтекстОшибки() Экспорт
|
||||
|
||||
ДанныеОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
|
||||
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки();
|
||||
УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -318,9 +319,9 @@
|
||||
Процедура УдалитьКонтекст() Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
ЮТКонтекстКлиент.УдалитьКонтекст();
|
||||
ЮТКонтекстСлужебныйКлиент.УдалитьКонтекст();
|
||||
#КонецЕсли
|
||||
ЮТКонтекстСервер.УдалитьКонтекст();
|
||||
ЮТКонтекстСлужебныйВызовСервера.УдалитьКонтекст();
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="63f51e4d-3cf0-4109-b044-988cc723e206">
|
||||
<name>ЮТКонтекст</name>
|
||||
<name>ЮТКонтекстСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Контекст тестового движка</value>
|
@ -20,7 +20,7 @@
|
||||
|
||||
Процедура ИнициализироватьКонтекст() Экспорт
|
||||
|
||||
Контекст = ЮТКонтекст.ОписаниеКонтекста();
|
||||
Контекст = ЮТКонтекстСлужебный.ОписаниеКонтекста();
|
||||
АдресХранилища = ПоместитьВоВременноеХранилище(Контекст, Новый УникальныйИдентификатор());
|
||||
ХранилищеОбщихНастроек.Сохранить(КлючНастроекКонтекста(), "АдресХранилища", АдресХранилища);
|
||||
|
||||
@ -48,13 +48,13 @@
|
||||
// Значение - Произвольный - Новое значение реквизита/вложенного контекста
|
||||
Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение) Экспорт
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ЗначениеКонтекста(Знач ИмяРеквизита) Экспорт
|
||||
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяРеквизита);
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяРеквизита);
|
||||
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d635e5c4-fe62-4953-8dcc-00d329307dcf">
|
||||
<name>ЮТКонтекстСервер</name>
|
||||
<name>ЮТКонтекстСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Контекст (сервер)</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
Процедура ИнициализироватьКонтекст() Экспорт
|
||||
|
||||
ЮТДанныеКонтекста = ЮТКонтекст.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off
|
||||
ЮТДанныеКонтекста = ЮТКонтекстСлужебный.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off
|
||||
|
||||
КонецПроцедуры
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b6fb384e-e98a-47d4-a070-7e4d57a301d2">
|
||||
<name>ЮТКонтекстКлиент</name>
|
||||
<name>ЮТКонтекстСлужебныйКлиент</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Контекст (клиент)</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -27,17 +27,17 @@
|
||||
// Произвольный - Сохраненное в контексте значение
|
||||
Функция Значение(ИмяЗначения) Экспорт
|
||||
|
||||
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
|
||||
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
|
||||
Уровни = ЮТФабрика.УровниИсполнения();
|
||||
|
||||
КонтекстТеста = ЮТКонтекст.КонтекстТеста();
|
||||
КонтекстТеста = ЮТКонтекстСлужебный.КонтекстТеста();
|
||||
Если Уровень = Уровни.Тест И КонтекстТеста <> Неопределено И КонтекстТеста.Свойство(ИмяЗначения) Тогда
|
||||
|
||||
Возврат КонтекстТеста[ИмяЗначения];
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонтекстНабора = ЮТКонтекст.КонтекстНабора();
|
||||
КонтекстНабора = ЮТКонтекстСлужебный.КонтекстНабора();
|
||||
Если (Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Тест)
|
||||
И КонтекстНабора <> Неопределено И КонтекстНабора.Свойство(ИмяЗначения) Тогда
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонтекстМодуля = ЮТКонтекст.КонтекстМодуля();
|
||||
КонтекстМодуля = ЮТКонтекстСлужебный.КонтекстМодуля();
|
||||
Если (Уровень = Уровни.Модуль ИЛИ Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов)
|
||||
И КонтекстМодуля <> Неопределено И КонтекстМодуля.Свойство(ИмяЗначения) Тогда
|
||||
|
||||
@ -67,7 +67,7 @@
|
||||
// Значение - Произвольный
|
||||
Процедура УстановитьЗначение(ИмяЗначения, Значение) Экспорт
|
||||
|
||||
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
|
||||
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
|
||||
Уровни = ЮТФабрика.УровниИсполнения();
|
||||
|
||||
Контекст = ТекущийКонтекст();
|
||||
@ -75,11 +75,11 @@
|
||||
Если Контекст = Неопределено Тогда
|
||||
|
||||
Если Уровень = Уровни.Тест Тогда
|
||||
ЮТКонтекст.УстановитьКонтекстТеста();
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстТеста();
|
||||
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
|
||||
ЮТКонтекст.УстановитьКонтекстНабораТестов();
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов();
|
||||
ИначеЕсли Уровень = Уровни.Модуль Тогда
|
||||
ЮТКонтекст.УстановитьКонтекстМодуля();
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстМодуля();
|
||||
Иначе
|
||||
ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень);
|
||||
КонецЕсли;
|
||||
@ -98,20 +98,20 @@
|
||||
// Неопределено, Структура, Произвольный - Текущий контекст
|
||||
Функция ТекущийКонтекст() Экспорт
|
||||
|
||||
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень;
|
||||
Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
|
||||
Уровни = ЮТФабрика.УровниИсполнения();
|
||||
|
||||
Если Уровень = Уровни.Тест Тогда
|
||||
|
||||
Контекст = ЮТКонтекст.КонтекстТеста();
|
||||
Контекст = ЮТКонтекстСлужебный.КонтекстТеста();
|
||||
|
||||
ИначеЕсли Уровень = Уровни.НаборТестов Тогда
|
||||
|
||||
Контекст = ЮТКонтекст.КонтекстНабора();
|
||||
Контекст = ЮТКонтекстСлужебный.КонтекстНабора();
|
||||
|
||||
ИначеЕсли Уровень = Уровни.Модуль Тогда
|
||||
|
||||
Контекст = ЮТКонтекст.КонтекстМодуля();
|
||||
Контекст = ЮТКонтекстСлужебный.КонтекстМодуля();
|
||||
|
||||
Иначе
|
||||
|
||||
|
@ -19,32 +19,32 @@
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Выводит отладочное сообщение
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Сообщение - Строка - Сообщение
|
||||
Процедура Отладка(Сообщение) Экспорт
|
||||
|
||||
Записать("DBG", Сообщение, 0);
|
||||
ЮТЛогированиеСлужебный.Записать("DBG", Сообщение, 0);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Выводит информационное сообщение
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Сообщение - Строка - Сообщение
|
||||
Процедура Информация(Сообщение) Экспорт
|
||||
|
||||
Записать("INF", Сообщение, 1);
|
||||
ЮТЛогированиеСлужебный.Записать("INF", Сообщение, 1);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Выводит сообщение об ошибке
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Сообщение - Строка - Сообщение
|
||||
Процедура Ошибка(Сообщение) Экспорт
|
||||
|
||||
Записать("ERR", Сообщение, 2);
|
||||
ЮТЛогированиеСлужебный.Записать("ERR", Сообщение, 2);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -58,379 +58,4 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ВывестиСерверныеСообщения() Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
Контекст = Контекст();
|
||||
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Сообщения = ЮТЛогированиеВызовСервера.НакопленныеСообщенияЛогирования(Истина);
|
||||
ЗаписатьСообщения(Контекст, Сообщения);
|
||||
#Иначе
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ВывестиСерверныеСообщения");
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
// Инициализация.
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска
|
||||
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||
|
||||
УровниЛога = УровниЛога();
|
||||
|
||||
ДанныеКонтекста = НовыйДанныеКонтекста();
|
||||
ДанныеКонтекста.ФайлЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file");
|
||||
ДанныеКонтекста.ВыводВКонсоль = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь);
|
||||
ДанныеКонтекста.Включено = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено);
|
||||
УровеньЛога = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка);
|
||||
|
||||
Если ДанныеКонтекста.Включено = Неопределено Тогда
|
||||
ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДанныеКонтекста.Включено Тогда
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 2;
|
||||
ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 1;
|
||||
Иначе
|
||||
ДанныеКонтекста.УровеньЛога = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеПроверки = Строка(Новый УникальныйИдентификатор());
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
|
||||
|
||||
ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
|
||||
|
||||
Разделитель = "------------------------------------------------------";
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТОбщий.ЗначениеВМассиве(Разделитель), Ложь);
|
||||
|
||||
Информация("Старт");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПередЧтениеСценариев"
|
||||
Процедура ПередЧтениеСценариев() Экспорт
|
||||
|
||||
Информация("Загрузка сценариев");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед чтением сценариев модуля.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||
|
||||
Информация(СтрШаблон("Загрузка сценариев модуля `%1`", МетаданныеМодуля.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед чтением сценариев модуля.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||
|
||||
Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", МетаданныеМодуля.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеЧтенияСценариев"
|
||||
// Параметры:
|
||||
// Сценарии - Массив из см. ЮТФабрика.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
|
||||
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
|
||||
|
||||
Информация("Загрузка сценариев завершена.");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
|
||||
// Параметры:
|
||||
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
|
||||
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
|
||||
|
||||
Количество = 0;
|
||||
|
||||
Для Каждого ТестовыйМодуль Из ИсполняемыеТестовыеМодули Цикл
|
||||
|
||||
Для Каждого Набор Из ТестовыйМодуль.НаборыТестов Цикл
|
||||
|
||||
Если Набор.Выполнять Тогда
|
||||
ЮТОбщий.Инкремент(Количество, Набор.Тесты.Количество());
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".ОбщееКоличествоТестов", Количество, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед всеми тестами.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередВсемиТестами(ОписаниеСобытия) Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
ПрогрессКлиент = Контекст().КоличествоВыполненныхТестов;
|
||||
ПрогрессСервер = ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Истина);
|
||||
|
||||
Если ПрогрессКлиент < ПрогрессСервер Тогда
|
||||
Контекст().КоличествоВыполненныхТестов = ПрогрессСервер;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
Информация(СтрШаблон("Запуск тестов модуля `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед тестовым набором.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередТестовымНабором(ОписаниеСобытия) Экспорт
|
||||
|
||||
Информация(СтрШаблон("Запуск тестов набора `%1`", ОписаниеСобытия.Набор.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
|
||||
|
||||
Информация(СтрШаблон("Запуск теста `%1`", ОписаниеСобытия.Тест.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЮТОбщий.Инкремент(Контекст.КоличествоВыполненныхТестов);
|
||||
Информация(СтрШаблон("%1 Завершен тест `%2`", Прогресс(), ОписаниеСобытия.Тест.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт
|
||||
|
||||
Информация(СтрШаблон("Завершен тестовый набор `%1`", ОписаниеСобытия.Набор.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#Если Клиент Тогда
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Контекст.КоличествоВыполненныхТестов, Истина);
|
||||
#КонецЕсли
|
||||
|
||||
Информация(СтрШаблон("Завершен модуль `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Контекст
|
||||
|
||||
// Контекст.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. НовыйДанныеКонтекста
|
||||
Функция Контекст()
|
||||
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекстаЛогирования());
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяКонтекстаЛогирования()
|
||||
|
||||
Возврат "КонтекстЛогирования";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Новый данные контекста.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Новый данные контекста:
|
||||
// * Включено - Булево - Логирование включено
|
||||
// * ФайлЛога - Неопределено - Файл вывода лога
|
||||
// * ВыводВКонсоль- Булево - Вывод лога в консоль
|
||||
// * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере
|
||||
// * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений
|
||||
// * ОбщееКоличествоТестов - Число
|
||||
// * КоличествоВыполненныхТестов - Число
|
||||
// * УровеньЛога - Число - Уровень логирования
|
||||
Функция НовыйДанныеКонтекста()
|
||||
|
||||
ДанныеКонтекста = Новый Структура();
|
||||
ДанныеКонтекста.Вставить("Включено", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛога", Неопределено);
|
||||
ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь);
|
||||
ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив());
|
||||
ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0);
|
||||
ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0);
|
||||
ДанныеКонтекста.Вставить("УровеньЛога", 0);
|
||||
|
||||
Возврат ДанныеКонтекста;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Запись
|
||||
|
||||
Функция ЛогированиеВключено(Знач Контекст = Неопределено, Приоритет = Неопределено)
|
||||
|
||||
Если Контекст = Неопределено Тогда
|
||||
Контекст = Контекст();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Контекст <> Неопределено И Контекст.Включено И (Приоритет = Неопределено ИЛИ Контекст.УровеньЛога <= Приоритет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция НакопленныеСообщенияЛогирования(Очистить = Ложь) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
Сообщения = Контекст.НакопленныеЗаписи;
|
||||
|
||||
Если Очистить Тогда
|
||||
Контекст.НакопленныеЗаписи = Новый Массив();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Сообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура Записать(УровеньЛога, Сообщение, Приоритет)
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст, Приоритет) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
#Если Клиент Тогда
|
||||
КонтекстИсполнения = "Клиент";
|
||||
#Иначе
|
||||
КонтекстИсполнения = "Сервер";
|
||||
#КонецЕсли
|
||||
Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение);
|
||||
#Если Клиент Тогда
|
||||
ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
#Иначе
|
||||
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
ЗаписатьСообщения(Контекст, ЮТОбщий.ЗначениеВМассиве(Текст));
|
||||
Иначе
|
||||
Контекст.НакопленныеЗаписи.Добавить(Текст);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьСообщения");
|
||||
#Иначе
|
||||
|
||||
Если Контекст.ВыводВКонсоль Тогда
|
||||
ЗаписатьЛогВКонсоль(Сообщения);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда
|
||||
ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать);
|
||||
КонецЕсли;
|
||||
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВФайл");
|
||||
#Иначе
|
||||
|
||||
Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать);
|
||||
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
Запись.ЗаписатьСтроку(Сообщение);
|
||||
КонецЦикла;
|
||||
|
||||
Запись.Закрыть();
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВКонсоль(Сообщения)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВКонсоль");
|
||||
#Иначе
|
||||
|
||||
//@skip-check empty-except-statement
|
||||
Попытка
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
ЮТОбщий.ВывестиВКонсоль(Сообщение);
|
||||
КонецЦикла;
|
||||
Исключение
|
||||
// Игнорируем ошибку
|
||||
КонецПопытки;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция Прогресс()
|
||||
|
||||
Контекст = Контекст();
|
||||
Прогресс = Окр(100 * Контекст.КоличествоВыполненныхТестов / Контекст.ОбщееКоличествоТестов, 0);
|
||||
|
||||
Возврат СтрШаблон("%1%% (%2/%3)", Прогресс, Контекст.КоличествоВыполненныхТестов, Контекст.ОбщееКоличествоТестов);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
393
exts/yaxunit/src/CommonModules/ЮТЛогированиеСлужебный/Module.bsl
Normal file
393
exts/yaxunit/src/CommonModules/ЮТЛогированиеСлужебный/Module.bsl
Normal file
@ -0,0 +1,393 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2024 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.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура Записать(УровеньЛога, Сообщение, Приоритет) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст, Приоритет) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
#Если Клиент Тогда
|
||||
КонтекстИсполнения = "Клиент";
|
||||
#Иначе
|
||||
КонтекстИсполнения = "Сервер";
|
||||
#КонецЕсли
|
||||
Текст = СтрШаблон("%1 [%2][%3]: %4", ЮТОбщий.ПредставлениеУниверсальнойДата(), КонтекстИсполнения, УровеньЛога, Сообщение);
|
||||
#Если Клиент Тогда
|
||||
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
|
||||
#Иначе
|
||||
Если Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
ЗаписатьСообщения(Контекст, ЮТКоллекции.ЗначениеВМассиве(Текст));
|
||||
Иначе
|
||||
Контекст.НакопленныеЗаписи.Добавить(Текст);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВывестиСерверныеСообщения() Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
Контекст = Контекст();
|
||||
Если Контекст = Неопределено ИЛИ НЕ Контекст.Включено ИЛИ Контекст.ФайлЛогаДоступенНаСервере Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Сообщения = ЮТЛогированиеСлужебныйВызовСервера.НакопленныеСообщенияЛогирования(Истина);
|
||||
ЗаписатьСообщения(Контекст, Сообщения);
|
||||
#Иначе
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ВывестиСерверныеСообщения");
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НакопленныеСообщенияЛогирования(Очистить = Ложь) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
|
||||
Сообщения = Контекст.НакопленныеЗаписи;
|
||||
|
||||
Если Очистить Тогда
|
||||
Контекст.НакопленныеЗаписи = Новый Массив();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Сообщения;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область ОбработчикиСобытий
|
||||
|
||||
// Инициализация.
|
||||
//
|
||||
// Параметры:
|
||||
// ПараметрыЗапуска - см. ЮТФабрика.ПараметрыЗапуска
|
||||
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||
|
||||
УровниЛога = ЮТЛогирование.УровниЛога();
|
||||
|
||||
ДанныеКонтекста = НовыйДанныеКонтекста();
|
||||
ДанныеКонтекста.ФайлЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "file");
|
||||
ДанныеКонтекста.ВыводВКонсоль = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "console", Ложь);
|
||||
ДанныеКонтекста.Включено = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "enable", Неопределено);
|
||||
УровеньЛога = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска.logging, "level", УровниЛога.Отладка);
|
||||
|
||||
Если ДанныеКонтекста.Включено = Неопределено Тогда
|
||||
ДанныеКонтекста.Включено = ДанныеКонтекста.ВыводВКонсоль ИЛИ ЗначениеЗаполнено(ДанныеКонтекста.ФайлЛога);
|
||||
КонецЕсли;
|
||||
|
||||
Если НЕ ДанныеКонтекста.Включено Тогда
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если СтрСравнить(УровеньЛога, УровниЛога.Ошибка) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 2;
|
||||
ИначеЕсли СтрСравнить(УровеньЛога, УровниЛога.Информация) = 0 Тогда
|
||||
ДанныеКонтекста.УровеньЛога = 1;
|
||||
Иначе
|
||||
ДанныеКонтекста.УровеньЛога = 0;
|
||||
КонецЕсли;
|
||||
|
||||
ЗначениеПроверки = Строка(Новый УникальныйИдентификатор());
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(ЗначениеПроверки), Ложь);
|
||||
|
||||
ДанныеКонтекста.ФайлЛогаДоступенНаСервере = ЮТЛогированиеСлужебныйВызовСервера.ФайлЛогаДоступенНаСервере(ДанныеКонтекста.ФайлЛога, ЗначениеПроверки);
|
||||
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования(), ДанныеКонтекста, Истина);
|
||||
|
||||
Разделитель = "------------------------------------------------------";
|
||||
ЗаписатьСообщения(ДанныеКонтекста, ЮТКоллекции.ЗначениеВМассиве(Разделитель), Ложь);
|
||||
|
||||
ЮТЛогирование.Информация("Старт");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПередЧтениеСценариев"
|
||||
Процедура ПередЧтениеСценариев() Экспорт
|
||||
|
||||
ЮТЛогирование.Информация("Загрузка сценариев");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед чтением сценариев модуля.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля `%1`", МетаданныеМодуля.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед чтением сценариев модуля.
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Загрузка сценариев модуля завершена `%1`", МетаданныеМодуля.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеЧтенияСценариев"
|
||||
// Параметры:
|
||||
// Сценарии - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
|
||||
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация("Загрузка сценариев завершена.");
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
|
||||
// Параметры:
|
||||
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
|
||||
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
|
||||
|
||||
Количество = 0;
|
||||
|
||||
Для Каждого ТестовыйМодуль Из ИсполняемыеТестовыеМодули Цикл
|
||||
|
||||
Для Каждого Набор Из ТестовыйМодуль.НаборыТестов Цикл
|
||||
|
||||
Если Набор.Выполнять Тогда
|
||||
ЮТОбщий.Инкремент(Количество, Набор.Тесты.Количество());
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".ОбщееКоличествоТестов", Количество, Истина);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед всеми тестами.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередВсемиТестами(ОписаниеСобытия) Экспорт
|
||||
|
||||
#Если Клиент Тогда
|
||||
Контекст = Контекст();
|
||||
ПрогрессКлиент = Контекст.КоличествоВыполненныхТестов;
|
||||
ПрогрессСервер = ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Истина);
|
||||
|
||||
Если ПрогрессКлиент < ПрогрессСервер Тогда
|
||||
Контекст.КоличествоВыполненныхТестов = ПрогрессСервер;
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
ЮТЛогирование.Информация(СтрШаблон("Запуск тестов модуля `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед тестовым набором.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередТестовымНабором(ОписаниеСобытия) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Запуск тестов набора `%1`", ОписаниеСобытия.Набор.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Запуск теста `%1`", ОписаниеСобытия.Тест.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ЮТОбщий.Инкремент(Контекст.КоличествоВыполненныхТестов);
|
||||
ЮТЛогирование.Информация(СтрШаблон("%1 Завершен тест `%2`", Прогресс(), ОписаниеСобытия.Тест.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Завершен тестовый набор `%1`", ОписаниеСобытия.Набор.Имя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед каждым тестом.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
Если НЕ ЛогированиеВключено(Контекст) Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
#Если Клиент Тогда
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяКонтекстаЛогирования() + ".КоличествоВыполненныхТестов", Контекст.КоличествоВыполненныхТестов, Истина);
|
||||
#КонецЕсли
|
||||
|
||||
ЮТЛогирование.Информация(СтрШаблон("Завершен модуль `%1`", ОписаниеСобытия.Модуль.МетаданныеМодуля.ПолноеИмя));
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
#Область Запись
|
||||
|
||||
Функция ЛогированиеВключено(Знач Контекст = Неопределено, Приоритет = Неопределено)
|
||||
|
||||
Если Контекст = Неопределено Тогда
|
||||
Контекст = Контекст();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Контекст <> Неопределено И Контекст.Включено И (Приоритет = Неопределено ИЛИ Контекст.УровеньЛога <= Приоритет);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ЗаписатьСообщения(Контекст, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьСообщения");
|
||||
#Иначе
|
||||
Если Контекст.ВыводВКонсоль Тогда
|
||||
ЗаписатьЛогВКонсоль(Сообщения);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Контекст.ФайлЛога) Тогда
|
||||
ЗаписатьЛогВФайл(Контекст.ФайлЛога, Сообщения, Дописывать);
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВФайл(ФайлЛога, Сообщения, Дописывать = Истина)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВФайл");
|
||||
#Иначе
|
||||
Запись = Новый ЗаписьТекста(ФайлЛога, КодировкаТекста.UTF8, , Дописывать);
|
||||
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
Запись.ЗаписатьСтроку(Сообщение);
|
||||
КонецЦикла;
|
||||
|
||||
Запись.Закрыть();
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗаписатьЛогВКонсоль(Сообщения)
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЗаписатьЛогВКонсоль");
|
||||
#Иначе
|
||||
//@skip-check empty-except-statement
|
||||
Попытка
|
||||
Для Каждого Сообщение Из Сообщения Цикл
|
||||
ЮТОбщий.ВывестиВКонсоль(Сообщение);
|
||||
КонецЦикла;
|
||||
Исключение
|
||||
// Игнорируем ошибку
|
||||
КонецПопытки;
|
||||
#КонецЕсли
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция Прогресс()
|
||||
|
||||
Контекст = Контекст();
|
||||
Прогресс = Окр(100 * Контекст.КоличествоВыполненныхТестов / Контекст.ОбщееКоличествоТестов, 0);
|
||||
|
||||
Возврат СтрШаблон("%1%% (%2/%3)", Прогресс, Контекст.КоличествоВыполненныхТестов, Контекст.ОбщееКоличествоТестов);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область Контекст
|
||||
|
||||
// Контекст.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. НовыйДанныеКонтекста
|
||||
Функция Контекст()
|
||||
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяКонтекстаЛогирования());
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ИмяКонтекстаЛогирования()
|
||||
|
||||
Возврат "КонтекстЛогирования";
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Новый данные контекста.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Новый данные контекста:
|
||||
// * Включено - Булево - Логирование включено
|
||||
// * ФайлЛога - Неопределено - Файл вывода лога
|
||||
// * ВыводВКонсоль- Булево - Вывод лога в консоль
|
||||
// * ФайлЛогаДоступенНаСервере - Булево - Файл лога доступен на сервере
|
||||
// * НакопленныеЗаписи - Массив из Строка - Буфер для серверных сообщений
|
||||
// * ОбщееКоличествоТестов - Число
|
||||
// * КоличествоВыполненныхТестов - Число
|
||||
// * УровеньЛога - Число - Уровень логирования
|
||||
Функция НовыйДанныеКонтекста()
|
||||
|
||||
ДанныеКонтекста = Новый Структура();
|
||||
ДанныеКонтекста.Вставить("Включено", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛога", Неопределено);
|
||||
ДанныеКонтекста.Вставить("ВыводВКонсоль", Ложь);
|
||||
ДанныеКонтекста.Вставить("ФайлЛогаДоступенНаСервере", Ложь);
|
||||
ДанныеКонтекста.Вставить("НакопленныеЗаписи", Новый Массив());
|
||||
ДанныеКонтекста.Вставить("ОбщееКоличествоТестов", 0);
|
||||
ДанныеКонтекста.Вставить("КоличествоВыполненныхТестов", 0);
|
||||
ДанныеКонтекста.Вставить("УровеньЛога", 0);
|
||||
|
||||
Возврат ДанныеКонтекста;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5b4dec7c-1651-401d-86d7-27a06b0e218f">
|
||||
<name>ЮТЛогированиеСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Логирование служебный</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
Функция НакопленныеСообщенияЛогирования(Знач Очистить = Ложь) Экспорт
|
||||
|
||||
Возврат ЮТЛогирование.НакопленныеСообщенияЛогирования(Очистить);
|
||||
Возврат ЮТЛогированиеСлужебный.НакопленныеСообщенияЛогирования(Очистить);
|
||||
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="26bf7a99-a09f-44c9-9aad-12eb45a8f186">
|
||||
<name>ЮТЛогированиеВызовСервера</name>
|
||||
<name>ЮТЛогированиеСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Логирование (вызов сервера)</value>
|
@ -16,7 +16,7 @@
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Модули подсистемы.
|
||||
// Возвращает список модулей подсистемы
|
||||
@ -29,7 +29,7 @@
|
||||
// Массив из Строка - Имена модулей входящих в подсистему
|
||||
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные = Истина, Клиентские = Истина) Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -43,15 +43,12 @@
|
||||
// - Произвольный - Объект информационной базы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание менеджера:
|
||||
// * ОписаниеТипа - см. ЮТМетаданныеСервер.ОписаниеТипаМетаданных
|
||||
// * Реквизиты - Структура из см. ЮТФабрика.ОписаниеРеквизита
|
||||
// * ТабличныеЧасти - Структура из Структура -
|
||||
// см. СтруктураОписанияОбъектаМетаданных
|
||||
Функция ОписаниеОбъектаМетаданных(Знач Значение) Экспорт
|
||||
|
||||
ТипЗначения = ТипЗнч(Значение);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Значение;
|
||||
КонецЕсли;
|
||||
@ -72,10 +69,10 @@
|
||||
Если ТипЗначения = ТипТип Тогда
|
||||
ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
|
||||
Иначе
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданных(Значение);
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ОписаниеОбъектаМетаданных(Значение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
@ -96,7 +93,7 @@
|
||||
|
||||
Функция ТипыМетаданных() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.ТипыМетаданных();
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ТипыМетаданных();
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -110,7 +107,7 @@
|
||||
|
||||
Функция РазрешеныСинхронныеВызовы() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.РазрешеныСинхронныеВызовы();
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.РазрешеныСинхронныеВызовы();
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -132,7 +129,96 @@
|
||||
|
||||
ПолноеИмя = СтрШаблон("%1.%2", ОписаниеОбъектаМетаданных.ОписаниеТипа.ИмяКоллекции, ОписаниеОбъектаМетаданных.Имя);
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя);
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает текущую версию тестового движка (YAxUnit)
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Версия движка
|
||||
Функция ВерсияДвижка() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВерсияДвижка();
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Описание типа объекта метаданных.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание типа метаданных:
|
||||
// * Имя - Строка
|
||||
// * ИмяКоллекции - Строка
|
||||
// * Конструктор - Строка
|
||||
// * Группы - Булево
|
||||
// * Ссылочный - Булево
|
||||
// * Регистр - Булево
|
||||
// * ОбработкаОтчет - Булево
|
||||
// * СтандартныеРеквизиты - Булево
|
||||
// * Реквизиты - Булево
|
||||
// * Измерения - Булево
|
||||
// * Ресурсы - Булево
|
||||
// * РеквизитыАдресации - Булево
|
||||
// * ТабличныеЧасти - Булево
|
||||
Функция ОписаниеТипаМетаданных() Экспорт
|
||||
|
||||
Описание = Новый Структура();
|
||||
Описание.Вставить("Имя", "");
|
||||
Описание.Вставить("ИмяКоллекции", "");
|
||||
Описание.Вставить("Конструктор", "");
|
||||
Описание.Вставить("Группы", Ложь);
|
||||
Описание.Вставить("Ссылочный", Ложь);
|
||||
Описание.Вставить("Регистр", Ложь);
|
||||
Описание.Вставить("ОбработкаОтчет", Ложь);
|
||||
Описание.Вставить("СтандартныеРеквизиты", Ложь);
|
||||
Описание.Вставить("Реквизиты", Ложь);
|
||||
Описание.Вставить("Измерения", Ложь);
|
||||
Описание.Вставить("Ресурсы", Ложь);
|
||||
Описание.Вставить("РеквизитыАдресации", Ложь);
|
||||
Описание.Вставить("ТабличныеЧасти", Ложь);
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Описание объекта метаданных.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание объекта метаданных:
|
||||
// * Имя - Строка
|
||||
// * ОписаниеТипа - см. ОписаниеТипаМетаданных
|
||||
// * Реквизиты - Структура
|
||||
// * ТабличныеЧасти - Структура
|
||||
Функция СтруктураОписанияОбъектаМетаданных() Экспорт
|
||||
|
||||
Описание = Новый Структура;
|
||||
Описание.Вставить("Имя", "");
|
||||
Описание.Вставить("ОписаниеТипа", Неопределено);
|
||||
Описание.Вставить("Реквизиты", Новый Структура());
|
||||
Описание.Вставить("ТабличныеЧасти", Новый Структура());
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Описание реквизита объекта метаданных
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание реквизита:
|
||||
// * Имя - Строка
|
||||
// * Тип - ОписаниеТипов
|
||||
// * Обязательный - Булево
|
||||
// * ЭтоКлюч - Булево
|
||||
Функция ОписаниеРеквизита() Экспорт
|
||||
|
||||
Описание = Новый Структура();
|
||||
Описание.Вставить("Имя", "");
|
||||
Описание.Вставить("Тип", Новый ОписаниеТипов("Неопределено"));
|
||||
Описание.Вставить("Обязательный", Ложь);
|
||||
Описание.Вставить("ЭтоКлюч", Ложь);
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
// Выполняет чтение метаданных общих модулей, которые предположительно могут являться тестами
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из см. ЮТФабрика.ОписаниеМодуля - Коллекция описаний моделей, структуру элемента см. ЮТФабрика.ОписаниеМодуля
|
||||
// Массив из см. ЮТФабрикаСлужебный.ОписаниеМодуля - Коллекция описаний моделей, структуру элемента см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
Функция МодулиРасширений() Экспорт
|
||||
|
||||
УстановитьПривилегированныйРежим(Истина);
|
||||
@ -98,7 +98,7 @@
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Описание = ЮТФабрика.ОписаниеМодуля();
|
||||
Описание = ЮТФабрикаСлужебный.ОписаниеМодуля();
|
||||
Описание.Имя = Модуль.Имя;
|
||||
Описание.КлиентУправляемоеПриложение = Модуль.КлиентУправляемоеПриложение;
|
||||
Описание.КлиентОбычноеПриложение = Модуль.КлиентОбычноеПриложение;
|
||||
@ -117,11 +117,9 @@
|
||||
МетаданныеОбъекта = ОбъектМетаданных(Значение);
|
||||
ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта);
|
||||
|
||||
ОписаниеОбъект = Новый Структура;
|
||||
ОписаниеОбъект.Вставить("Имя", МетаданныеОбъекта.Имя);
|
||||
ОписаниеОбъект.Вставить("ОписаниеТипа", ОписаниеТипа);
|
||||
ОписаниеОбъект.Вставить("Реквизиты", Новый Структура());
|
||||
ОписаниеОбъект.Вставить("ТабличныеЧасти", Новый Структура());
|
||||
ОписаниеОбъект = ЮТМетаданные.СтруктураОписанияОбъектаМетаданных();
|
||||
ОписаниеОбъект.Имя = МетаданныеОбъекта.Имя;
|
||||
ОписаниеОбъект.ОписаниеТипа = ОписаниеТипа;
|
||||
ЮТОбщий.УказатьТипСтруктуры(ОписаниеОбъект, "ОписаниеОбъектаМетаданных");
|
||||
|
||||
Если НЕ ЗаполнятьРеквизиты Тогда
|
||||
@ -159,7 +157,7 @@
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ОписаниеОбъект;
|
||||
Возврат Новый ФиксированнаяСтруктура(ОписаниеОбъект);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -169,20 +167,7 @@
|
||||
// МетаданныеОбъекта - Тип, ОбъектМетаданных - Тип
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Описание типа метаданных:
|
||||
// * Имя - Строка
|
||||
// * ИмяКоллекции - Строка
|
||||
// * Конструктор - Строка
|
||||
// * Группы - Булево
|
||||
// * Ссылочный - Булево
|
||||
// * Регистр - Булево
|
||||
// * ОбработкаОтчет - Булево
|
||||
// * СтандартныеРеквизиты - Булево
|
||||
// * Реквизиты - Булево
|
||||
// * Измерения - Булево
|
||||
// * Ресурсы - Булево
|
||||
// * РеквизитыАдресации - Булево
|
||||
// * ТабличныеЧасти - Булево
|
||||
// см. ЮТМетаданные.ОписаниеТипаМетаданных
|
||||
Функция ОписаниеТипаМетаданных(Знач МетаданныеОбъекта) Экспорт
|
||||
|
||||
Если ТипЗнч(МетаданныеОбъекта) = Тип("Тип") Тогда
|
||||
@ -193,13 +178,16 @@
|
||||
ЧастиИмени = СтрРазделить(ПолноеИмя, ".");
|
||||
Типы = ЮТМетаданные.ТипыМетаданных();
|
||||
|
||||
Если Типы.Свойство(ЧастиИмени[0]) Тогда
|
||||
Возврат Типы[ЧастиИмени[0]];
|
||||
Иначе
|
||||
Если НЕ Типы.Свойство(ЧастиИмени[0]) Тогда
|
||||
Сообщение = СтрШаблон("Получение описания для '%1' не поддерживается, либо не реализовано", ЧастиИмени[0]);
|
||||
ВызватьИсключение Сообщение;
|
||||
КонецЕсли;
|
||||
|
||||
Описание = ЮТМетаданные.ОписаниеТипаМетаданных();
|
||||
ЗаполнитьЗначенияСвойств(Описание, Типы[ЧастиИмени[0]]);
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат Новый ФиксированнаяСтруктура(Описание);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипыМетаданных() Экспорт
|
||||
@ -288,7 +276,7 @@
|
||||
|
||||
ОбъектМетаданных = ОбъектМетаданныхИзСтроки(Значение);
|
||||
|
||||
ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначение) И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
|
||||
|
||||
ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя];
|
||||
|
||||
@ -299,7 +287,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ОбъектМетаданных = Неопределено Тогда
|
||||
Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСервер.ОбъектМетаданных", Значение);
|
||||
Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСлужебныйВызовСервера.ОбъектМетаданных", Значение);
|
||||
ВызватьИсключение Сообщение;
|
||||
КонецЕсли;
|
||||
|
||||
@ -342,10 +330,28 @@
|
||||
ЭтоКлюч = ИменаКлючевыхПолей.Найти(Реквизит.Имя) <> Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
КоллекцияОписаний.Вставить(Реквизит.Имя, ЮТФабрика.ОписаниеРеквизита(Реквизит, ЭтоКлюч));
|
||||
КоллекцияОписаний.Вставить(Реквизит.Имя, НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч));
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч)
|
||||
|
||||
Описание = ЮТМетаданные.ОписаниеРеквизита();
|
||||
Описание.Имя = Реквизит.Имя;
|
||||
Описание.Тип = Реквизит.Тип;
|
||||
Описание.Обязательный = Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку;
|
||||
Описание.ЭтоКлюч = ЭтоКлюч;
|
||||
|
||||
Возврат Описание;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВерсияДвижка() Экспорт
|
||||
|
||||
Возврат Метаданные.ОбщиеМодули.ЮТМетаданныеСлужебныйВызовСервера.РасширениеКонфигурации().Версия;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="42510142-f01c-4ab2-b615-8970bdcc7a1b">
|
||||
<name>ЮТМетаданныеСервер</name>
|
||||
<name>ЮТМетаданныеСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Метаданные (сервер)</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -20,45 +20,51 @@
|
||||
|
||||
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские) Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОбъектаМетаданных(Знач Менеджер) Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Менеджер);
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Менеджер);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(Знач ИдентификаторТипа) Экспорт
|
||||
|
||||
Тип = ЮТТипыДанныхСлужебный.ТипПоИдентификатору(ИдентификаторТипа);
|
||||
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Тип);
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Тип);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ТипыМетаданных() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.ТипыМетаданных();
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.ТипыМетаданных();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РазрешеныСинхронныеВызовы() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.РазрешеныСинхронныеВызовы();
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.РазрешеныСинхронныеВызовы();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ПолноеИмя);
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.РегистрыДвиженийДокумента(ПолноеИмя);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВариантВстроенногоЯзыка() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСервер.ВариантВстроенногоЯзыка();
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.ВариантВстроенногоЯзыка();
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВерсияДвижка() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеСлужебныйВызовСервера.ВерсияДвижка();
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8158c080-39e9-4597-a230-b009ae6abbb4">
|
||||
<name>ЮТМетаданныеПовтИсп</name>
|
||||
<name>ЮТМетаданныеСлужебныйПовтИсп</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Метаданные (повторного использования)</value>
|
183
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебный/Module.bsl
Normal file
183
exts/yaxunit/src/CommonModules/ЮТМетодыСлужебный/Module.bsl
Normal file
@ -0,0 +1,183 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2024 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.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
Процедура ВызовУстаревшегоМетода(УстаревшийМетод, РекомендуемыйМетод, Версия) Экспорт
|
||||
|
||||
Сообщение = СтрШаблон("Используется устаревший метод '%1'. В следующих релизах он будет удален", УстаревшийМетод);
|
||||
|
||||
Если ЗначениеЗаполнено(РекомендуемыйМетод) Тогда
|
||||
Сообщение = СтрШаблон("%1. Рекомендуется использовать '%2'", Сообщение, РекомендуемыйМетод);
|
||||
КонецЕсли;
|
||||
|
||||
Если ЮТСтроки.СравнитьВерсии(Версия, ВерсияЗапретаИспользованияУстаревших()) <= 0 Тогда
|
||||
ВызватьИсключение Сообщение;
|
||||
Иначе
|
||||
ЮТОбщий.СообщитьПользователю(Сообщение);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#Область ПроверкаМетодов
|
||||
|
||||
// МетодМодуляСуществует
|
||||
// Проверяет существование публичного (экспортного) метода у модуля
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяМодуля - Строка - Имя модуля, метод которого нужно поискать
|
||||
// ИмяМетода - Строка - Имя метода, который ищем
|
||||
// Кешировать - Булево - Признак кеширования результата проверки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Метод найден
|
||||
Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода, Кешировать = Истина) Экспорт
|
||||
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМодуля, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМодуля");
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода");
|
||||
|
||||
Если Кешировать Тогда
|
||||
Возврат ЮТСлужебныйПовторногоИспользования.МетодМодуляСуществует(ИмяМодуля, ИмяМетода);
|
||||
КонецЕсли;
|
||||
|
||||
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяМетода);
|
||||
Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)";
|
||||
|
||||
Ошибка = ВыполнитьМетод(Алгоритм);
|
||||
|
||||
ТипОшибки = ЮТРегистрацияОшибокСлужебный.ТипОшибки(Ошибка, ПолноеИмяМетода);
|
||||
Возврат ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().МногоПараметров;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Проверяет существование публичного (экспортного) метода у объекта
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Произвольный - Объект, метод которого нужно поискать
|
||||
// ИмяМетода - Строка - Имя метода, который ищем
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Метод найден
|
||||
Функция МетодОбъектаСуществует(Объект, ИмяМетода) Экспорт
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТОбщий.МетодОбъектаСуществует");
|
||||
#Иначе
|
||||
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода");
|
||||
|
||||
ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода);
|
||||
Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)";
|
||||
|
||||
Ошибка = ВыполнитьМетод(Алгоритм, , Объект);
|
||||
|
||||
ТипОшибки = ЮТРегистрацияОшибокСлужебный.ТипОшибки(Ошибка, ПолноеИмяМетода);
|
||||
Возврат ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().МногоПараметров;
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область ВызовМетодов
|
||||
|
||||
Функция ВыполнитьМетод(ПолноеИмяМетода, Параметры = Неопределено, Объект = Неопределено) Экспорт
|
||||
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТОбщий.ВыполнитьМетод");
|
||||
#Иначе
|
||||
Если СтрЗаканчиваетсяНа(ПолноеИмяМетода, ")") Тогда
|
||||
|
||||
Алгоритм = ПолноеИмяМетода;
|
||||
|
||||
ИначеЕсли НЕ ЗначениеЗаполнено(Параметры) Тогда
|
||||
|
||||
Алгоритм = ПолноеИмяМетода + "()";
|
||||
|
||||
ИначеЕсли ТипЗнч(Параметры) = Тип("Массив") Тогда
|
||||
|
||||
Алгоритм = СтрШаблон("%1(%2)", ПолноеИмяМетода, СтрокаПараметровМетода(Параметры, "Параметры"));
|
||||
|
||||
Иначе
|
||||
|
||||
ВызватьИсключение СтрШаблон("Не верный тип параметров `%1` для вызова метода, должен быть массив", ТипЗнч(Параметры));
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
//@skip-check server-execution-safe-mode
|
||||
Выполнить(Алгоритм);
|
||||
Исключение
|
||||
Возврат ИнформацияОбОшибке();
|
||||
КонецПопытки;
|
||||
|
||||
Возврат Неопределено;
|
||||
#КонецЕсли
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ВычислитьБезопасно(Выражение) Экспорт
|
||||
|
||||
#Если НЕ ВебКлиент И НЕ ТонкийКлиент Тогда
|
||||
УстановитьБезопасныйРежим(Истина);
|
||||
Попытка
|
||||
Значение = Вычислить(Выражение);
|
||||
Исключение
|
||||
УстановитьБезопасныйРежим(Ложь);
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
УстановитьБезопасныйРежим(Ложь);
|
||||
#Иначе
|
||||
Значение = Вычислить(Выражение);
|
||||
#КонецЕсли
|
||||
|
||||
Возврат Значение;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
Функция ВерсияЗапретаИспользованияУстаревших()
|
||||
|
||||
Возврат "23.01";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция СтрокаПараметровМетода(Параметры, ИмяПеременнойСПараметрами)
|
||||
|
||||
СписокПараметров = Новый Массив();
|
||||
|
||||
Для Инд = 0 По Параметры.ВГраница() Цикл
|
||||
|
||||
Если Параметры[Инд] = Мокито.ПараметрПоУмолчанию() Тогда
|
||||
СписокПараметров.Добавить("");
|
||||
Иначе
|
||||
СписокПараметров.Добавить(СтрШаблон("%1[%2]", ИмяПеременнойСПараметрами, Инд));
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат СтрСоединить(СписокПараметров, ", ");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b659407b-3123-4400-828c-c0f247b4dcd5">
|
||||
<name>ЮТМетодыСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Общий служебный</value>
|
||||
</synonym>
|
||||
<clientManagedApplication>true</clientManagedApplication>
|
||||
<server>true</server>
|
||||
<clientOrdinaryApplication>true</clientOrdinaryApplication>
|
||||
</mdclass:CommonModule>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -16,8 +16,12 @@
|
||||
//
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Возвращает значение настройки "ВТранзакции" для текущего исполняемого объекта (тест, набор, модуль)
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
Функция ВТранзакции() Экспорт
|
||||
|
||||
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции;
|
||||
@ -26,6 +30,10 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значение настройки "УдалениеТестовыхДанных" для текущего исполняемого объекта (тест, набор, модуль)
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
Функция УдалениеТестовыхДанных() Экспорт
|
||||
|
||||
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных;
|
||||
@ -34,6 +42,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значение настройки "Перед" для текущего исполняемого объекта (тест, набор, модуль)
|
||||
// Возвращает имя назначенного обработчика события (имя метода) "Перед".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
Функция Перед() Экспорт
|
||||
|
||||
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().Перед;
|
||||
@ -42,6 +55,11 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значение настройки "После" для текущего исполняемого объекта (тест, набор, модуль)
|
||||
// Возвращает имя назначенного обработчика события (имя метода) "После".
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка
|
||||
Функция После() Экспорт
|
||||
|
||||
ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().После;
|
||||
@ -50,17 +68,28 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значение произвольной настройки для текущего исполняемого объекта (тест, набор, модуль)
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяНастройки - Строка - Имя настройки, см. ЮТФабрика.ПараметрыИсполненияТеста
|
||||
// ЗначениеПоУмолчанию - Произвольный - Значение по умолчанию
|
||||
// СтрогийУровеньИсполнения - Булево - Признак, стоит ли проверять наличие настройки у родительских элементов.
|
||||
// Ложь - По умолчанию, будет выполнен поиск и получение значения для родетелей (набор, модуль), если значения для текущего элемента не установлено.
|
||||
// Истина - Получение настройки только для текущего элемента.
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный, Неопределено, Булево, Строка - Значение настройки теста
|
||||
Функция ЗначениеНастройкиТеста(ИмяНастройки, ЗначениеПоУмолчанию, СтрогийУровеньИсполнения = Ложь) Экспорт
|
||||
|
||||
Значение = ЗначениеПоУмолчанию;
|
||||
КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения();
|
||||
КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения();
|
||||
|
||||
Если СтрогийУровеньИсполнения Тогда
|
||||
|
||||
ТекущийКонтекстИсполнения = ЮТКонтекст.КонтекстИсполненияТекущегоУровня();
|
||||
ТекущийКонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполненияТекущегоУровня();
|
||||
|
||||
Если ТекущийКонтекстИсполнения <> Неопределено Тогда
|
||||
Значение = ЮТОбщий.ЗначениеСтруктуры(ТекущийКонтекстИсполнения.НастройкиВыполнения, ИмяНастройки, ЗначениеПоУмолчанию);
|
||||
Значение = ЮТКоллекции.ЗначениеСтруктуры(ТекущийКонтекстИсполнения.НастройкиВыполнения, ИмяНастройки, ЗначениеПоУмолчанию);
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли КонтекстИсполнения.Тест <> Неопределено И КонтекстИсполнения.Тест.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда
|
||||
@ -77,7 +106,7 @@
|
||||
|
||||
Иначе
|
||||
|
||||
ГлобальныеНастройки = ЮТКонтекст.ГлобальныеНастройкиВыполнения();
|
||||
ГлобальныеНастройки = ЮТКонтекстСлужебный.ГлобальныеНастройкиВыполнения();
|
||||
|
||||
Если ГлобальныеНастройки.Свойство(ИмяНастройки) Тогда
|
||||
Значение = ГлобальныеНастройки[ИмяНастройки];
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -106,13 +106,13 @@
|
||||
|
||||
Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "English";
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "English";
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоРусскийВстроенныйЯзык() Экспорт
|
||||
|
||||
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "Русский";
|
||||
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "Русский";
|
||||
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b201e731-51e5-44cd-808a-b51b4fed556f">
|
||||
<name>ЮТОбщийВызовСервера</name>
|
||||
<name>ЮТОбщийСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Общий (вызов сервера)</value>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТОтчет">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -20,9 +20,9 @@
|
||||
|
||||
Функция ПараметрыГенерацииОтчета() Экспорт
|
||||
|
||||
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
|
||||
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
|
||||
|
||||
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("allure", "Allure 2 (json)");
|
||||
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("allure", "Allure 2 (json)");
|
||||
ОписаниеФормата.ЗаписьВКаталог = Истина;
|
||||
ОписаниеФормата.СамостоятельнаяЗаписьОтчета = Истина;
|
||||
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
|
||||
@ -130,8 +130,8 @@
|
||||
|
||||
Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл
|
||||
|
||||
Описание.statusDetails.message = ЮТОбщий.ДобавитьСтроку(Описание.statusDetails.message, ОписаниеОшибки.Сообщение, Символы.ПС);
|
||||
Описание.statusDetails.trace = ЮТОбщий.ДобавитьСтроку(Описание.statusDetails.trace, ОписаниеОшибки.Стек, Символы.ПС);
|
||||
Описание.statusDetails.message = ЮТСтроки.ДобавитьСтроку(Описание.statusDetails.message, ОписаниеОшибки.Сообщение, Символы.ПС);
|
||||
Описание.statusDetails.trace = ЮТСтроки.ДобавитьСтроку(Описание.statusDetails.trace, ОписаниеОшибки.Стек, Символы.ПС);
|
||||
|
||||
КонецЦикла;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7126a7d9-4afd-4a54-8e1b-191773cfc65b">
|
||||
<name>ЮТОтчетAllure</name>
|
||||
<name>ЮТОтчетAllureСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Отчет allure</value>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТОтчетJSON">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -20,9 +20,9 @@
|
||||
|
||||
Функция ПараметрыГенерацииОтчета() Экспорт
|
||||
|
||||
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
|
||||
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
|
||||
|
||||
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json");
|
||||
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json");
|
||||
ОписаниеФормата.ИмяФайлаПоУмолчанию = "report.json";
|
||||
ОписаниеФормата.ФильтрВыбораФайла = "Дамп результата тестирования (*.json)|*.json";
|
||||
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
|
||||
@ -34,8 +34,8 @@
|
||||
// Формирует отчет в формате JSON
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
|
||||
// Возвращаемое значение:
|
||||
// ДвоичныеДанные - Данные отчета
|
||||
Функция ДанныеОтчета(РезультатВыполнения, Формат) Экспорт
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f477925a-39e1-4150-a0c4-897bbaee9433">
|
||||
<name>ЮТОтчетJSON</name>
|
||||
<name>ЮТОтчетJSONСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Отчет JSON</value>
|
@ -20,9 +20,9 @@
|
||||
|
||||
Функция ПараметрыГенерацииОтчета() Экспорт
|
||||
|
||||
Параметры = ЮТФабрика.ПараметрыГенератораОтчета();
|
||||
Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
|
||||
|
||||
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("jUnit", "JUnit");
|
||||
ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("jUnit", "JUnit");
|
||||
ОписаниеФормата.ИмяФайлаПоУмолчанию = "junit.xml";
|
||||
ОписаниеФормата.ФильтрВыбораФайла = "jUnit(*.xml)|*.xml";
|
||||
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
|
||||
@ -34,8 +34,8 @@
|
||||
// Формирует отчет в формате jUnit
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ДвоичныеДанные - Данные отчета
|
||||
@ -53,7 +53,7 @@
|
||||
// Формирует отчет (xml-файл) и возвращает его в виде двоичных данных
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// РезультатТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// Возвращаемое значение:
|
||||
// ДвоичныеДанные - полученный отчет
|
||||
Функция СформироватьОтчетОТестировании(РезультатТестирования)
|
||||
@ -104,7 +104,7 @@
|
||||
|
||||
Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл
|
||||
|
||||
Статус = ЮТРегистрацияОшибок.СтатусОшибки(ОписаниеОшибки.ТипОшибки);
|
||||
Статус = ЮТРегистрацияОшибокСлужебный.СтатусОшибки(ОписаниеОшибки.ТипОшибки);
|
||||
|
||||
ИмяУзла = Неопределено;
|
||||
ЗаписатьЗначения = Ложь;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="44860213-5b5a-4765-960c-07c8d1ca6f08">
|
||||
<name>ЮТОтчетJUnit</name>
|
||||
<name>ЮТОтчетJUnitСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Отчет jUnit</value>
|
@ -21,7 +21,7 @@
|
||||
// СформироватьОтчет
|
||||
// Формирует отчет о результатах тестирования по заданным параметрам
|
||||
// Параметры:
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// ПараметрыЗапуска - Структура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
|
||||
// Обработчик - ОписаниеОповещения
|
||||
Процедура СформироватьОтчет(РезультатВыполнения, ПараметрыЗапуска, Обработчик) Экспорт
|
||||
@ -56,16 +56,16 @@
|
||||
// Возвращаемое значение:
|
||||
// Структура - Поддерживаемые форматы отчетов
|
||||
// + Ключ - Идентификатор формата
|
||||
// + Значение - см. ЮТФабрика.ОписаниеФорматаОтчета
|
||||
// + Значение - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
|
||||
Функция ПоддерживаемыеФорматыОтчетов() Экспорт
|
||||
|
||||
Модули = ЮТРасширения.ГенераторыОтчетов();
|
||||
Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
|
||||
Форматы = Новый Структура;
|
||||
|
||||
Для Каждого Модуль Из Модули Цикл
|
||||
|
||||
Параметры = Модуль.ПараметрыГенерацииОтчета();
|
||||
ЮТОбщий.ОбъединитьВСтруктуру(Форматы, Параметры.Форматы);
|
||||
ЮТКоллекции.ДополнитьСтруктуру(Форматы, Параметры.Форматы);
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
@ -106,7 +106,7 @@
|
||||
|
||||
Функция МодульФормирования(Формат)
|
||||
|
||||
Модули = ЮТРасширения.ГенераторыОтчетов();
|
||||
Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
|
||||
|
||||
Для Каждого Модуль Из Модули Цикл
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="335b2e32-96e1-49dd-ace4-5b2eb8478c12">
|
||||
<name>ЮТОтчет</name>
|
||||
<name>ЮТОтчетСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Отчет</value>
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТПараметрыЗапуска">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-client" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -34,7 +34,7 @@
|
||||
|
||||
Исключение
|
||||
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска");
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска");
|
||||
Параметры = ЮТФабрика.ПараметрыЗапуска();
|
||||
|
||||
КонецПопытки;
|
||||
@ -73,7 +73,7 @@
|
||||
Возврат Параметры;
|
||||
КонецЕсли;
|
||||
|
||||
ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";");
|
||||
ПарыКлючЗначение = ЮТСтроки.РазделитьСтроку(ПараметрыЗапускаСтрокой, ";");
|
||||
|
||||
ПараметрыЗапуска = Новый Структура;
|
||||
|
||||
@ -83,7 +83,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "=");
|
||||
КлючЗначение = ЮТСтроки.РазделитьСтроку(Пара, "=");
|
||||
|
||||
Если КлючЗначение.Количество() = 1 Тогда
|
||||
ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина);
|
||||
@ -93,7 +93,7 @@
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
ЗначениеКлючаЗапуска = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска, КлючЗапуска(), Ложь);
|
||||
ЗначениеКлючаЗапуска = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска, КлючЗапуска(), Ложь);
|
||||
|
||||
Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a0e947cd-ee15-4ae9-bf95-21ed64042227">
|
||||
<name>ЮТПараметрыЗапуска</name>
|
||||
<name>ЮТПараметрыЗапускаСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Параметры</value>
|
@ -196,7 +196,7 @@
|
||||
Возврат Пол;
|
||||
КонецЕсли;
|
||||
|
||||
Варианты = ЮТОбщий.ВыгрузитьЗначения(ПолЧеловека(), "Значение");
|
||||
Варианты = ЮТКоллекции.ВыгрузитьЗначения(ПолЧеловека(), "Значение");
|
||||
|
||||
Возврат ЮТТестовыеДанные.СлучайноеЗначениеИзСписка(Варианты);
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -29,7 +29,7 @@
|
||||
// ФиксированныйМассив из Строка
|
||||
Функция Словарь(ИмяРеализации, ИмяСловаря, Знач КодЛокализации = Неопределено) Экспорт
|
||||
КодЛокализации = ?(КодЛокализации = Неопределено, ЮТПодражатель.Локализация(), КодЛокализации);
|
||||
Возврат ЮТПодражательПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации);
|
||||
Возврат ЮТПодражательСлужебныйПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации);
|
||||
КонецФункции
|
||||
|
||||
// Случайное значение из словаря.
|
||||
@ -49,7 +49,7 @@
|
||||
// см. НовыйКонтекст
|
||||
Функция Контекст() Экспорт
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
|
||||
КонецФункции
|
||||
|
||||
// Инициализирует подражатель
|
||||
@ -58,7 +58,7 @@
|
||||
// ОбщийМодуль - Этот модуль для замыкания
|
||||
Функция Инициализировать() Экспорт
|
||||
Если Контекст() = Неопределено Тогда
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
||||
КонецЕсли;
|
||||
Возврат ЮТПодражатель;
|
||||
КонецФункции
|
||||
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1e6f3296-03af-4bd2-b52a-d89f576e7166">
|
||||
<name>ЮТПодражательВызовСервера</name>
|
||||
<name>ЮТПодражательСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Подражатель вызов сервера</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -29,7 +29,7 @@
|
||||
// ФиксированныйМассив из Строка
|
||||
Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации) Экспорт
|
||||
Кодификатор = КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации);
|
||||
Возврат Новый ФиксированныйМассив(ЮТПодражательВызовСервера.ДанныеСловаря(Кодификатор));
|
||||
Возврат Новый ФиксированныйМассив(ЮТПодражательСлужебныйВызовСервера.ДанныеСловаря(Кодификатор));
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6974dbbd-182e-43c6-94e3-e19696766e0f">
|
||||
<name>ЮТПодражательПовтИсп</name>
|
||||
<name>ЮТПодражательСлужебныйПовтИсп</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Подражатель повт исп</value>
|
@ -306,7 +306,7 @@
|
||||
// Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов
|
||||
Функция Получить() Экспорт
|
||||
|
||||
Возврат ЮТОбщий.СкопироватьМассив(Контекст().Предикаты);
|
||||
Возврат ЮТКоллекции.СкопироватьМассив(Контекст().Предикаты);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -325,7 +325,7 @@
|
||||
// ОбщийМодуль - Этот модуль для замыкания
|
||||
Функция Инициализировать(Условия = Неопределено) Экспорт
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
|
||||
|
||||
Если ЗначениеЗаполнено(Условия) Тогда
|
||||
Для Каждого Элемент Из Условия Цикл
|
||||
@ -370,7 +370,7 @@
|
||||
Функция Контекст()
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста());
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -19,19 +19,19 @@
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
|
||||
// Проверить предикат.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Значение - Произвольный
|
||||
// Предикаты - Массив Из см. ЮТФабрика.ВыражениеПредиката
|
||||
// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке
|
||||
// ПараметрыСравнения - Неопределено
|
||||
// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// см. ЮТФабрика.ОписаниеРезультатаПроверки
|
||||
// см. ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки
|
||||
Функция ПроверитьПредикаты(Знач Значение, Знач Предикаты, Знач ПараметрыСообщенийОбОшибке = Неопределено, ПараметрыСравнения = Неопределено) Экспорт
|
||||
|
||||
Результат = ЮТФабрика.ОписаниеРезультатаПроверки();
|
||||
Результат = ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки();
|
||||
|
||||
Если ПараметрыСообщенийОбОшибке = Неопределено Тогда
|
||||
ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке();
|
||||
@ -40,7 +40,7 @@
|
||||
Предикаты = НаборПредикатов(Предикаты);
|
||||
Для Каждого Выражение Из Предикаты Цикл
|
||||
|
||||
ЮТСравнениеКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
|
||||
ЮТСравнениеСлужебныйКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
|
||||
Если НЕ Результат.Успешно Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
@ -52,12 +52,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Набор предикатов.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Предикаты - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор утверждений. см. ЮТест.Предикат
|
||||
// - см. ЮТФабрика.ВыражениеПредиката
|
||||
// - CommonModule.ЮТПредикаты - Модуль настройки предикатов, см. ЮТест.Предикат
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов
|
||||
Функция НаборПредикатов(Знач Предикаты) Экспорт
|
||||
@ -69,7 +69,7 @@
|
||||
ИначеЕсли ЭтоПредикатМассив(ТипПараметра, Предикаты) Тогда
|
||||
Результат = Предикаты;
|
||||
ИначеЕсли ЭтоПредикатСтруктура(ТипПараметра, Предикаты) Тогда
|
||||
Результат = ЮТОбщий.ЗначениеВМассиве(Предикаты);
|
||||
Результат = ЮТКоллекции.ЗначениеВМассиве(Предикаты);
|
||||
Иначе
|
||||
ВызватьИсключение ЮТИсключения.НекорректныеПараметрыМетода("ЮТПредикатыКлиентСервер.НаборПредикатов");
|
||||
КонецЕсли;
|
||||
@ -79,10 +79,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Это предикат
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Предикаты - Произвольный - значение, для которого будет определено является ли оно предикатом или нет
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево
|
||||
Функция ЭтоПредикат(Предикаты) Экспорт
|
||||
@ -90,8 +90,8 @@
|
||||
ТипПараметра = ТипЗнч(Предикаты);
|
||||
|
||||
Возврат ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты)
|
||||
Или ЭтоПредикатМассив(ТипПараметра, Предикаты)
|
||||
Или ЭтоПредикатСтруктура(ТипПараметра, Предикаты);
|
||||
ИЛИ ЭтоПредикатМассив(ТипПараметра, Предикаты)
|
||||
ИЛИ ЭтоПредикатСтруктура(ТипПараметра, Предикаты);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -167,12 +167,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Параметры сообщений об ошибке.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - Строка - Описание конкретной проверки
|
||||
// ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения
|
||||
// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Параметры сообщений об ошибке:
|
||||
// * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки
|
||||
@ -203,8 +203,8 @@
|
||||
ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " ";
|
||||
КонецЕсли;
|
||||
|
||||
Выражение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон(
|
||||
ШаблонВыражения(ВыражениеПредиката.ВидСравнения), ВыражениеПредиката.Значение);
|
||||
Выражение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон(ШаблонВыражения(ВыражениеПредиката.ВидСравнения),
|
||||
ВыражениеПредиката.Значение);
|
||||
|
||||
Возврат СтрШаблон("%1%2", ПроверяемоеЗначение, Выражение);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5b901b35-80b5-4dfc-87f9-dfb014f682be">
|
||||
<name>ЮТПредикатыКлиентСервер</name>
|
||||
<name>ЮТПредикатыСлужебныйКлиентСервер</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Предикаты клиент сервер</value>
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3183c284-253d-4826-9b75-d540f433c4c1">
|
||||
<name>ЮТПреобразования</name>
|
||||
<name>ЮТПреобразованияСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Преобразования</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="046f36ab-7601-4cea-9e2a-275c438cba47">
|
||||
<name>ЮТРасширения</name>
|
||||
<name>ЮТРасширенияСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Расширения функциональности</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -21,15 +21,15 @@
|
||||
#Область ФиксацияОшибокВРезультате
|
||||
|
||||
// Регистрирует ошибку обработки события исполнения тестов
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяСобытия - Строка
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
// Ошибка - ИнформацияОбОшибке
|
||||
// - Строка
|
||||
Процедура ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка) Экспорт
|
||||
|
||||
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
|
||||
ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ОшибкаОбработкиСобытия;
|
||||
Пояснение = ЮТСообщенияСлужебный.СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка);
|
||||
ДанныеОшибки = ДанныеОшибки(Ошибка, Пояснение, ТипОшибки);
|
||||
|
||||
@ -46,29 +46,29 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Регистрирует ошибку загрузки тестов
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Структура - см. ЮТФабрика.ОписаниеТестовогоМодуля или см. ЮТФабрика.ОписаниеТестовогоНабора или см. ЮТФабрика.ОписаниеТеста
|
||||
// Объект - Структура - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля или см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора или см. ЮТФабрикаСлужебный.ОписаниеТеста
|
||||
// Описание - Строка - Описания ошибки, места возникновения
|
||||
// Ошибка - ИнформацияОбОшибке
|
||||
Процедура ЗарегистрироватьОшибкуЧтенияТестов(Объект, Описание, Ошибка) Экспорт
|
||||
|
||||
ДанныеОшибки = ДанныеОшибки(Ошибка, Описание, ЮТФабрика.ТипыОшибок().ЧтенияТестов);
|
||||
ДанныеОшибки = ДанныеОшибки(Ошибка, Описание, ЮТФабрикаСлужебный.ТипыОшибок().ЧтенияТестов);
|
||||
Объект.Ошибки.Добавить(ДанныеОшибки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Регистрирует ошибку выполнения теста
|
||||
// Параметры:
|
||||
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
// Ошибка - ИнформацияОбОшибке
|
||||
Процедура ЗарегистрироватьОшибкуВыполненияТеста(Тест, Ошибка) Экспорт
|
||||
|
||||
ТипОшибки = ТипОшибки(Ошибка, Тест.ПолноеИмяМетода);
|
||||
|
||||
Если ТипОшибки = ЮТФабрика.ТипыОшибок().Утверждений Тогда
|
||||
Если ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().Утверждений Тогда
|
||||
ДанныеОшибки = ДанныеОшибкиУтверждений(Ошибка);
|
||||
ИначеЕсли ТипОшибки = ЮТФабрика.ТипыОшибок().Пропущен Тогда
|
||||
ИначеЕсли ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().Пропущен Тогда
|
||||
ДанныеОшибки = ДанныеОшибкиПропуска(Ошибка);
|
||||
Иначе
|
||||
ДанныеОшибки = ДанныеОшибки(Ошибка, ЮТСообщенияСлужебный.КраткоеСообщениеОшибки(Ошибка), ТипОшибки);
|
||||
@ -80,22 +80,22 @@
|
||||
|
||||
// Регистрирует ошибку выполнения теста
|
||||
// Параметры:
|
||||
// Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// Объект - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
// Сообщение - Строка
|
||||
Процедура ЗарегистрироватьПростуюОшибкуВыполнения(Объект, Сообщение) Экспорт
|
||||
|
||||
ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрика.ТипыОшибок().Исполнения);
|
||||
ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрикаСлужебный.ТипыОшибок().Исполнения);
|
||||
Объект.Ошибки.Добавить(ДанныеОшибки);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Регистрирует ошибку режима выполнения теста
|
||||
// Параметры:
|
||||
// Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// Объект - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
// Ошибка - Строка
|
||||
Процедура ЗарегистрироватьОшибкуРежимаВыполнения(Объект, Ошибка) Экспорт
|
||||
|
||||
ДанныеОшибки = ДанныеОшибки(Неопределено, Ошибка, ЮТФабрика.ТипыОшибок().НекорректныйКонтекстИсполнения);
|
||||
ДанныеОшибки = ДанныеОшибки(Неопределено, Ошибка, ЮТФабрикаСлужебный.ТипыОшибок().НекорректныйКонтекстИсполнения);
|
||||
Объект.Ошибки.Добавить(ДанныеОшибки);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -103,13 +103,13 @@
|
||||
#КонецОбласти
|
||||
|
||||
// Вызывает ошибку выполнения теста, на основании перехваченной ошибки
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИнформацияОбОшибке - ИнформацияОбОшибке
|
||||
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
|
||||
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
|
||||
Процедура СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке, ОписаниеПроверки = Неопределено) Экспорт
|
||||
|
||||
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
|
||||
СтруктураОшибки.ОшибкаУтверждения = Ложь;
|
||||
|
||||
ВызватьОшибкуИсполнения(ИнформацияОбОшибке, ОписаниеПроверки);
|
||||
@ -118,9 +118,9 @@
|
||||
|
||||
// Вызывает ошибку сравнения значений
|
||||
// При этом сохраняет в контекст состояние, для дальнейшей обработки
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
|
||||
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
|
||||
// Сообщение - Строка
|
||||
// ПроверяемоеЗначение - Произвольный
|
||||
// ОжидаемоеЗначение - Произвольный
|
||||
@ -139,9 +139,9 @@
|
||||
|
||||
// Вызывает ошибку проверки утверждений
|
||||
// При этом сохраняет в контекст состояние, для дальнейшей обработки
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
|
||||
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
|
||||
// Сообщение - Строка
|
||||
// ПроверяемоеЗначение - Произвольный
|
||||
// ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения
|
||||
@ -155,7 +155,7 @@
|
||||
|
||||
Процедура Пропустить(Сообщение) Экспорт
|
||||
|
||||
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
|
||||
СтруктураОшибки.ОшибкаУтверждения = Ложь;
|
||||
|
||||
СообщениеОбОшибке = СообщениеОбОшибке(Сообщение, ПрефиксОшибкиПропуска());
|
||||
@ -174,10 +174,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Вызывает ошибку выполнения теста
|
||||
// Служебный метод, предварительно нужно самостоятельно настроить контекст (см. ЮТКонтекст.КонтекстОшибки)
|
||||
// Служебный метод, предварительно нужно самостоятельно настроить контекст (см. ЮТКонтекстСлужебный.КонтекстОшибки)
|
||||
// Параметры:
|
||||
// ТекстСообщения - Строка
|
||||
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
|
||||
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
|
||||
Процедура ВызватьОшибкуПроверки(Знач ТекстСообщения, ОписаниеПроверки = Неопределено) Экспорт
|
||||
|
||||
СообщениеОбОшибке = СообщениеОбОшибке(ТекстСообщения, ПрефиксОшибкиУтверждений(), ОписаниеПроверки);
|
||||
@ -192,16 +192,16 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Возвращает тип ошибки
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Ошибка - ИнформацияОбОшибке
|
||||
// ИмяВызываемогоМетода - Строка - Имя вызываемого метода
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - см. ЮТФабрика.ТипыОшибок
|
||||
// Строка - см. ЮТФабрикаСлужебный.ТипыОшибок
|
||||
Функция ТипОшибки(Ошибка, ИмяВызываемогоМетода) Экспорт
|
||||
|
||||
ТипыОшибок = ЮТФабрика.ТипыОшибок();
|
||||
ТипыОшибок = ЮТФабрикаСлужебный.ТипыОшибок();
|
||||
|
||||
Описание = Ошибка.Описание;
|
||||
|
||||
@ -297,7 +297,7 @@
|
||||
|
||||
Функция СтатусОшибки(ТипОшибки) Экспорт
|
||||
|
||||
СтатусОшибки = ЮТФабрика.ПараметрыТиповОшибок()[ТипОшибки].Статус;
|
||||
СтатусОшибки = ЮТФабрикаСлужебный.ПараметрыТиповОшибок()[ТипОшибки].Статус;
|
||||
|
||||
Если СтатусОшибки = Неопределено Тогда
|
||||
СтатусОшибки = ЮТФабрика.СтатусыИсполненияТеста().Сломан;
|
||||
@ -309,29 +309,29 @@
|
||||
|
||||
Процедура УстановитьДанныеОшибкиСравнения(ПроверяемоеЗначение, ОжидаемоеЗначение) Экспорт
|
||||
|
||||
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
|
||||
|
||||
СтруктураОшибки.ОшибкаУтверждения = Истина;
|
||||
СтруктураОшибки.ОшибкаУтверждения = Истина;
|
||||
СтруктураОшибки.ПроверяемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ПроверяемоеЗначение);
|
||||
СтруктураОшибки.ОжидаемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ОжидаемоеЗначение);
|
||||
СтруктураОшибки.ОжидаемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ОжидаемоеЗначение);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура УстановитьДанныеОшибкиУтверждения(ПроверяемоеЗначение) Экспорт
|
||||
|
||||
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
|
||||
|
||||
СтруктураОшибки.ОшибкаУтверждения = Истина;
|
||||
СтруктураОшибки.ОшибкаУтверждения = Истина;
|
||||
СтруктураОшибки.ПроверяемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ПроверяемоеЗначение);
|
||||
СтруктураОшибки.ОжидаемоеЗначение = Неопределено;
|
||||
СтруктураОшибки.ОжидаемоеЗначение = Неопределено;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ДобавитьОписания(ТекстОшибки, ОписаниеПроверки = Неопределено) Экспорт
|
||||
|
||||
Если ОписаниеПроверки <> Неопределено Тогда
|
||||
ПрефиксОшибки = ЮТОбщий.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " ");
|
||||
СообщениеОбОшибке = ЮТОбщий.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": ");
|
||||
ПрефиксОшибки = ЮТСтроки.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " ");
|
||||
СообщениеОбОшибке = ЮТСтроки.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": ");
|
||||
Иначе
|
||||
СообщениеОбОшибке = ТекстОшибки;
|
||||
КонецЕсли;
|
||||
@ -355,7 +355,7 @@
|
||||
|
||||
Процедура ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение) Экспорт
|
||||
|
||||
ОписаниеКонтекстаОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки();
|
||||
ОписаниеКонтекстаОшибки = ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки();
|
||||
ОписаниеКонтекстаОшибки.ПроверяемоеЗначение = ПроверяемоеЗначение;
|
||||
ОписаниеКонтекстаОшибки.ОжидаемоеЗначение = ОжидаемоеЗначение;
|
||||
ОписаниеКонтекстаОшибки.ОшибкаУтверждения = Истина;
|
||||
@ -368,7 +368,7 @@
|
||||
|
||||
Процедура ДобавитьПояснениеОшибки(Пояснение) Экспорт
|
||||
|
||||
Детали = ЮТКонтекст.КонтекстДеталиОшибки();
|
||||
Детали = ЮТКонтекстСлужебный.КонтекстДеталиОшибки();
|
||||
Установить = Детали = Неопределено;
|
||||
|
||||
Если Установить Тогда
|
||||
@ -378,7 +378,7 @@
|
||||
Детали.Добавить(Пояснение);
|
||||
|
||||
Если Установить Тогда
|
||||
ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Детали);
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстДеталиОшибки(Детали);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -392,13 +392,13 @@
|
||||
Функция ДанныеОшибки(Ошибка, Знач Сообщение, ТипОшибки)
|
||||
|
||||
#Если Сервер Тогда
|
||||
Детали = ЮТКонтекст.КонтекстДеталиОшибки(Истина);
|
||||
Детали = ЮТКонтекстСлужебный.КонтекстДеталиОшибки(Истина);
|
||||
#Иначе
|
||||
ДеталиСервер = ЮТКонтекст.КонтекстДеталиОшибки(Истина);
|
||||
ДеталиКлиент = ЮТКонтекст.КонтекстДеталиОшибки();
|
||||
ДеталиСервер = ЮТКонтекстСлужебный.КонтекстДеталиОшибки(Истина);
|
||||
ДеталиКлиент = ЮТКонтекстСлужебный.КонтекстДеталиОшибки();
|
||||
|
||||
Если ЗначениеЗаполнено(ДеталиКлиент) И ЗначениеЗаполнено(ДеталиСервер) Тогда
|
||||
ЮТОбщий.ДополнитьМассив(ДеталиСервер, ДеталиКлиент);
|
||||
ЮТКоллекции.ДополнитьМассив(ДеталиСервер, ДеталиКлиент);
|
||||
Детали = ДеталиСервер;
|
||||
ИначеЕсли ЗначениеЗаполнено(ДеталиКлиент) Тогда
|
||||
Детали = ДеталиКлиент;
|
||||
@ -410,13 +410,13 @@
|
||||
#КонецЕсли
|
||||
|
||||
Если ЗначениеЗаполнено(Детали) Тогда
|
||||
ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Новый Массив());
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстДеталиОшибки(Новый Массив());
|
||||
|
||||
Детали.Добавить(Сообщение);
|
||||
Сообщение = СтрСоединить(Детали, Символы.ПС);
|
||||
КонецЕсли;
|
||||
|
||||
ДанныеОшибки = ЮТФабрика.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение);
|
||||
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение);
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
ДанныеОшибки.Стек = СтекОшибки(Ошибка);
|
||||
@ -442,12 +442,12 @@
|
||||
|
||||
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиУтверждений());
|
||||
|
||||
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиСравнения(Описание);
|
||||
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеОшибкиСравнения(Описание);
|
||||
|
||||
ДанныеОшибки.Стек = СтекОшибки(Ошибка);
|
||||
ДобавитьСообщенияПользователю(ДанныеОшибки);
|
||||
|
||||
СтруктураОшибки = ЮТКонтекст.КонтекстОшибки();
|
||||
СтруктураОшибки = ЮТКонтекстСлужебный.КонтекстОшибки();
|
||||
|
||||
Если СтруктураОшибки <> Неопределено И СтруктураОшибки.ОшибкаУтверждения Тогда
|
||||
ДанныеОшибки.ПроверяемоеЗначение = СтруктураОшибки.ПроверяемоеЗначение;
|
||||
@ -462,7 +462,7 @@
|
||||
|
||||
Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиПропуска());
|
||||
|
||||
ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиПропуска(Описание);
|
||||
ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеОшибкиПропуска(Описание);
|
||||
|
||||
Возврат ДанныеОшибки;
|
||||
|
||||
@ -487,7 +487,7 @@
|
||||
|
||||
Функция МодулиУтверждений()
|
||||
|
||||
Возврат ЮТОбщий.ЗначениеВМассиве("ЮТУтверждения");
|
||||
Возврат ЮТКоллекции.ЗначениеВМассиве("ЮТУтверждения");
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -502,11 +502,11 @@
|
||||
ТекстОшибки = "";
|
||||
|
||||
Если Ошибка = Неопределено Тогда
|
||||
|
||||
|
||||
ТекстОшибки = "Неизвестная ошибка.";
|
||||
|
||||
ИначеЕсли ТипЗнч(Ошибка) = Тип("Строка") Тогда
|
||||
|
||||
|
||||
ТекстОшибки = Ошибка;
|
||||
|
||||
ИначеЕсли ЭтоОшибкаСлужебногоМодуля(Ошибка) Тогда
|
||||
@ -523,28 +523,28 @@
|
||||
|
||||
Иначе
|
||||
|
||||
Если Не ПустаяСтрока(Ошибка.ИмяМодуля) Тогда
|
||||
Если НЕ ПустаяСтрока(Ошибка.ИмяМодуля) Тогда
|
||||
|
||||
ТекстОшибки = ТекстОшибки + "{"
|
||||
+ Ошибка.ИмяМодуля + "("
|
||||
+ Ошибка.НомерСтроки + ")}: ";
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ТекстОшибки = ТекстОшибки + Ошибка.Описание + ?(ПустаяСтрока(Ошибка.ИсходнаяСтрока), "", "
|
||||
|" + Ошибка.ИсходнаяСтрока);
|
||||
|
||||
Если Ошибка.Причина <> Неопределено Тогда
|
||||
|
||||
|
||||
ТекстОшибки = ТекстОшибки + "
|
||||
|
|
||||
|ПРИЧИНА №" + Формат(НомерПричины + 1, "ЧГ=0") + "
|
||||
|" + ИнформациюОбОшибкеВСтроку(Ошибка.Причина, НомерПричины + 1);
|
||||
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
Возврат ТекстОшибки;
|
||||
|
||||
КонецФункции
|
||||
@ -568,14 +568,14 @@
|
||||
Процедура ДобавитьСообщенияПользователю(ДанныеОшибки)
|
||||
|
||||
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||
Сообщения = ЮТОбщий.ВыгрузитьЗначения(ПолучитьСообщенияПользователю(Истина), "Текст");
|
||||
Сообщения = ЮТКоллекции.ВыгрузитьЗначения(ПолучитьСообщенияПользователю(Истина), "Текст");
|
||||
Если Сообщения.Количество() Тогда
|
||||
ДанныеОшибки.Стек = СтрШаблон("%1
|
||||
|Сообщения пользователю:
|
||||
| %2", ДанныеОшибки.Стек, СтрСоединить(Сообщения, Символы.ПС));
|
||||
|Сообщения пользователю:
|
||||
| %2", ДанныеОшибки.Стек, СтрСоединить(Сообщения, Символы.ПС));
|
||||
КонецЕсли;
|
||||
#КонецЕсли
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ВызватьОшибкуИсполнения(Знач ИнформацияОбОшибке, ОписаниеПроверки)
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b3a750a1-8a8c-4b01-8968-ad88af6839de">
|
||||
<name>ЮТРегистрацияОшибок</name>
|
||||
<name>ЮТРегистрацияОшибокСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Регистрация ошибок</value>
|
@ -20,25 +20,25 @@
|
||||
|
||||
Функция АдресСерверногоКонтекста() Экспорт
|
||||
|
||||
Возврат ЮТКонтекстСервер.АдресСерверногоКонтекста(Ложь);
|
||||
Возврат ЮТКонтекстСлужебныйВызовСервера.АдресСерверногоКонтекста(Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров = 0) Экспорт
|
||||
Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода) Экспорт
|
||||
|
||||
Возврат ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров, Ложь);
|
||||
Возврат ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ПараметрыТиповОшибок() Экспорт
|
||||
|
||||
Возврат ЮТФабрика.ПараметрыТиповОшибок(Ложь);
|
||||
Возврат ЮТФабрикаСлужебный.ПараметрыТиповОшибок(Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОписаниеТиповЛюбаяСсылка() Экспорт
|
||||
|
||||
Возврат ЮТОбщийВызовСервера.ОписаниеТиповЛюбаяСсылка();
|
||||
Возврат ЮТОбщийСлужебныйВызовСервера.ОписаниеТиповЛюбаяСсылка();
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
Процедура Инициализация(ПараметрыЗапуска) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(ПараметрыЗапуска);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(ПараметрыЗапуска);
|
||||
ВызватьОбработчикРасширения("Инициализация", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -28,79 +28,79 @@
|
||||
#Область СобытияИсполненияТестов
|
||||
|
||||
// Обработчик события "ПередВсемиТестамиМодуля"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
Процедура ПередВсемиТестамиМодуля(ТестовыйМодуль) Экспорт
|
||||
|
||||
УстановитьКонтекстИсполнения(ТестовыйМодуль);
|
||||
ЮТКонтекст.УстановитьКонтекстМодуля();
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстМодуля();
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
||||
ВызватьОбработкуСобытия("ПередВсемиТестами", ОписаниеСобытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик события "ПередТестовымНабором"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
Процедура ПередТестовымНабором(ТестовыйМодуль, Набор) Экспорт
|
||||
|
||||
УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор);
|
||||
ЮТКонтекст.УстановитьКонтекстНабораТестов();
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстНабораТестов();
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
|
||||
ВызватьОбработкуСобытия("ПередТестовымНабором", ОписаниеСобытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик события "ПередКаждымТестом"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест) Экспорт
|
||||
|
||||
// Установка контекста исполнения вызывается в см. ЮТИсполнительКлиентСервер.ПередКаждымТестом
|
||||
ЮТКонтекст.УстановитьКонтекстТеста();
|
||||
// Установка контекста исполнения вызывается в см. ЮТИсполнительСлужебныйКлиентСервер.ПередКаждымТестом
|
||||
ЮТКонтекстСлужебный.УстановитьКонтекстТеста();
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||
|
||||
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
|
||||
ПолучитьСообщенияПользователю(Истина);
|
||||
#КонецЕсли
|
||||
#КонецЕсли
|
||||
|
||||
ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПередКаждымТестом", "ПередТестом"), ОписаниеСобытия);
|
||||
ВызватьОбработкуСобытий(ЮТКоллекции.ЗначениеВМассиве("ПередКаждымТестом", "ПередТестом"), ОписаниеСобытия);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик события "ПослеКаждогоТеста"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
// Тест - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
|
||||
Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест) Экспорт
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест);
|
||||
|
||||
ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПослеТеста", "ПослеКаждогоТеста"), ОписаниеСобытия);
|
||||
ВызватьОбработкуСобытий(ЮТКоллекции.ЗначениеВМассиве("ПослеТеста", "ПослеКаждогоТеста"), ОписаниеСобытия);
|
||||
|
||||
УстановитьКонтекстИсполнения(ТестовыйМодуль, Набор);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик события "ПослеТестовогоНабора"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
// Набор - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
|
||||
Процедура ПослеТестовогоНабора(ТестовыйМодуль, Набор) Экспорт
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор);
|
||||
ВызватьОбработкуСобытия("ПослеТестовогоНабора", ОписаниеСобытия);
|
||||
|
||||
УстановитьКонтекстИсполнения(ТестовыйМодуль);
|
||||
@ -108,12 +108,12 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработчик события "ПослеВсехТестовМодуля"
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля
|
||||
// ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
|
||||
Процедура ПослеВсехТестовМодуля(ТестовыйМодуль) Экспорт
|
||||
|
||||
ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
||||
ОписаниеСобытия = ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль);
|
||||
ВызватьОбработкуСобытия("ПослеВсехТестов", ОписаниеСобытия);
|
||||
|
||||
УстановитьКонтекстИсполнения();
|
||||
@ -121,23 +121,23 @@
|
||||
КонецПроцедуры
|
||||
|
||||
// Перед выполнением тестов.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИсполняемыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// ИсполняемыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
Процедура ПередВыполнениемТестов(ИсполняемыеМодули) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(ИсполняемыеМодули);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(ИсполняемыеМодули);
|
||||
ВызватьОбработчикРасширения("ПередВыполнениемТестов", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// После выполнения тестов.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// РезультатТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля
|
||||
// РезультатТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
|
||||
Процедура ПослеВыполненияТестов(РезультатТестирования) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(РезультатТестирования);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(РезультатТестирования);
|
||||
ВызватьОбработчикРасширения("ПослеВыполненияТестов", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -157,10 +157,10 @@
|
||||
// Обработчик события "ПередЧтениемСценариевМодуля"
|
||||
// Позволяет настроить базовые параметры перед чтением настроек тестов модуля
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
Процедура ПередЧтениемСценариевМодуля(МетаданныеМодуля) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(МетаданныеМодуля);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(МетаданныеМодуля);
|
||||
ВызватьОбработчикРасширения("ПередЧтениемСценариевМодуля", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -168,31 +168,31 @@
|
||||
// После чтения сценариев модуля.
|
||||
// Позволяет настроить/обработать параметры загруженных настроек тестов модуля
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
// ИсполняемыеСценарии - см. ЮТТесты.СценарииМодуля
|
||||
Процедура ПослеЧтенияСценариевМодуля(МетаданныеМодуля, ИсполняемыеСценарии) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(МетаданныеМодуля, ИсполняемыеСценарии);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(МетаданныеМодуля, ИсполняемыеСценарии);
|
||||
ВызватьОбработчикРасширения("ПослеЧтенияСценариевМодуля", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеЧтенияСценариев"
|
||||
// Параметры:
|
||||
// Сценарии - Массив из см. ЮТФабрика.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
|
||||
// Сценарии - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля - Набор описаний тестовых модулей, которые содержат информацию о запускаемых тестах
|
||||
Процедура ПослеЧтенияСценариев(Сценарии) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(Сценарии);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(Сценарии);
|
||||
ВызватьОбработчикРасширения("ПослеЧтенияСценариев", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Обработка события "ПослеФормированияИсполняемыхНаборовТестов"
|
||||
// Параметры:
|
||||
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
|
||||
// ИсполняемыеТестовыеМодули - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля - Набор исполняемых наборов
|
||||
Процедура ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули) Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(ИсполняемыеТестовыеМодули);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(ИсполняемыеТестовыеМодули);
|
||||
ВызватьОбработчикРасширения("ПослеФормированияИсполняемыхНаборовТестов", Параметры);
|
||||
|
||||
КонецПроцедуры
|
||||
@ -206,7 +206,7 @@
|
||||
Процедура УстановитьКонтекстИсполнения(ТестовыйМодуль = Неопределено, Набор = Неопределено, Тест = Неопределено) Экспорт
|
||||
|
||||
Уровни = ЮТФабрика.УровниИсполнения();
|
||||
КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения();
|
||||
КонтекстИсполнения = ЮТКонтекстСлужебный.КонтекстИсполнения();
|
||||
|
||||
КонтекстИсполнения.Модуль = ТестовыйМодуль;
|
||||
КонтекстИсполнения.Набор = Набор;
|
||||
@ -231,7 +231,7 @@
|
||||
ПропуститьОбработчикТестовогоМодуля = (ы > 0 И ОбработчикСобытияПереопределен(ИмяСобытия));
|
||||
Если ПропуститьОбработчикТестовогоМодуля Тогда
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия);
|
||||
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
|
||||
ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки);
|
||||
|
||||
@ -246,7 +246,7 @@
|
||||
|
||||
Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия)
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия);
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия);
|
||||
|
||||
Если ЭтоСобытиеПеред(ИмяСобытия) Тогда
|
||||
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
|
||||
@ -264,11 +264,11 @@
|
||||
|
||||
Ошибки = Новый Массив();
|
||||
|
||||
Для Каждого ИмяМодуля Из ЮТРасширения.ОбработчикиСобытий() Цикл
|
||||
Для Каждого ИмяМодуля Из ЮТРасширенияСлужебный.ОбработчикиСобытий() Цикл
|
||||
|
||||
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
||||
Если ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
||||
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия);
|
||||
Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия);
|
||||
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия);
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
Ошибки.Добавить(Ошибка);
|
||||
@ -282,11 +282,11 @@
|
||||
КонецФункции
|
||||
|
||||
// Вызвать обработчик модуля.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяСобытия - Строка - Имя вызываемого метода обработки события
|
||||
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов
|
||||
//
|
||||
// ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
|
||||
//
|
||||
Процедура ВызватьОбработчикТестовогоМодуля(Знач ИмяСобытия, ОписаниеСобытия)
|
||||
|
||||
ОбработчикСобытияПереопределен = ОбработчикСобытияПереопределен(ИмяСобытия);
|
||||
@ -298,15 +298,15 @@
|
||||
|
||||
ЧастиКоманды = СтрРазделить(ИмяСобытия, ".");
|
||||
Если ЧастиКоманды.Количество() = 2 Тогда
|
||||
ИмяМодуля = ЧастиКоманды[0];
|
||||
ИмяМодуля = ЧастиКоманды[0];
|
||||
ИмяСобытия = ЧастиКоманды[1];
|
||||
КонецЕсли;
|
||||
|
||||
Ошибки = Новый Массив();
|
||||
Команда = СтрШаблон("%1.%2()", ИмяМодуля, ИмяСобытия);
|
||||
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
||||
Если ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
|
||||
|
||||
Ошибка = ЮТОбщий.ВыполнитьМетод(Команда);
|
||||
Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(Команда);
|
||||
|
||||
Если Ошибка <> Неопределено Тогда
|
||||
Ошибки.Добавить(Ошибка);
|
||||
@ -326,7 +326,7 @@
|
||||
Процедура ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки)
|
||||
|
||||
Для Каждого Ошибка Из Ошибки Цикл
|
||||
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
||||
ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
|
||||
КонецЦикла;
|
||||
|
||||
КонецПроцедуры
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ca6c9c95-667f-46b9-bed3-5d59df601a1c">
|
||||
<name>ЮТСобытия</name>
|
||||
<name>ЮТСобытияСлужебный</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Генератор событий</value>
|
@ -21,7 +21,7 @@
|
||||
// Форматированный текст ошибки утверждения.
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки
|
||||
// ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
|
||||
// ТекстОжидания - Строка - Описание ожидания
|
||||
// ОбъектПроверки - Строка - Объект проверки
|
||||
//
|
||||
@ -65,7 +65,7 @@
|
||||
// Строка - Сообщение об ошибке события
|
||||
Функция СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка) Экспорт
|
||||
|
||||
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия;
|
||||
ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ОшибкаОбработкиСобытия;
|
||||
Возврат СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, КраткоеСообщениеОшибки(Ошибка));
|
||||
|
||||
КонецФункции
|
||||
@ -80,7 +80,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
|
||||
// Формирует строковое представление значения. Для значений, преобразуемых в пустые строки, добавляет описание типа.
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<suppress:SuppressGenericObject xmlns:suppress="http://g5.1c.ru/v8/dt/check/suppress/model" fqn="CommonModule.ЮТСравнениеСервер">
|
||||
<suppressions key="com.e1c.v8codestyle.md:common-module-name-server-call" value="true"/>
|
||||
</suppress:SuppressGenericObject>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
Индекс = Данные1.Количество() - 1;
|
||||
Пока Индекс >= 0 Цикл
|
||||
Если НЕ ЮТСравнениеКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
|
||||
Если НЕ ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
|
||||
Возврат Ложь;
|
||||
КонецЕсли;
|
||||
Индекс = Индекс - 1;
|
||||
@ -69,7 +69,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда
|
||||
ЮТОбщийВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
|
||||
ЮТОбщийСлужебныйВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
|
||||
КонецЕсли;
|
||||
|
||||
НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a047687f-04fa-4f9a-beba-acbaf559f9d0">
|
||||
<name>ЮТСравнениеСервер</name>
|
||||
<name>ЮТСравнениеСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Сравнение сервер</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -51,23 +51,23 @@
|
||||
|
||||
Результат = Неопределено;
|
||||
|
||||
Если ЭтоТипСтруктура(ТипЗначения) Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) Тогда
|
||||
|
||||
Результат = СтруктурыРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ЭтоТипСоответствие(ТипЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения) Тогда
|
||||
|
||||
Результат = СоответствияРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ЭтоТипМассива(ТипЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипЗначения) Тогда
|
||||
|
||||
Результат = МассивыРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда
|
||||
|
||||
Результат = ЮТСравнениеСервер.ТабличныеДокументыРавны(Данные1, Данные2);
|
||||
Результат = ЮТСравнениеСлужебныйВызовСервера.ТабличныеДокументыРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТОбщий.ОписаниеТиповЛюбаяСсылка().СодержитТип(ТипЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
|
||||
// Возвращаем ложь, так как для этих типов должно сработать обычное равенство
|
||||
Результат = Ложь;
|
||||
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off
|
||||
@ -75,7 +75,7 @@
|
||||
#Если Сервер Тогда
|
||||
Если ТипЗначения = Тип("ТаблицаЗначений") Тогда
|
||||
|
||||
Результат = ЮТСравнениеСервер.ТаблицыРавны(Данные1, Данные2);
|
||||
Результат = ЮТСравнениеСлужебныйВызовСервера.ТаблицыРавны(Данные1, Данные2);
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("ХранилищеЗначения") Тогда
|
||||
|
||||
@ -84,7 +84,7 @@
|
||||
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off
|
||||
#КонецЕсли
|
||||
|
||||
Если Результат = Неопределено И ПараметрыСравнения <> Неопределено И ЮТОбщий.ЗначениеСтруктуры(ПараметрыСравнения, "ГлубокийАнализ", Ложь) Тогда
|
||||
Если Результат = Неопределено И ПараметрыСравнения <> Неопределено И ЮТКоллекции.ЗначениеСтруктуры(ПараметрыСравнения, "ГлубокийАнализ", Ложь) Тогда
|
||||
Результат = СравнитьПоЗначению(Данные1, Данные2);
|
||||
КонецЕсли;
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Параметры проверки:
|
||||
// * ОбъектПроверки - см. ЮТФабрика.ОписаниеПроверяемогоЗначения
|
||||
// * ОбъектПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверяемогоЗначения
|
||||
// * ПрефиксОшибки - Строка, Неопределено -
|
||||
// * ОписаниеПроверки - Строка, Неопределено -
|
||||
// * ВидСравнения - Строка
|
||||
@ -136,7 +136,7 @@
|
||||
// * ТекстПроверяемоеЗначение - Строка
|
||||
Функция ПараметрыПроверки(ВидСравнения, ПроверяемоеЗначение, ИмяСвойства, ОжидаемоеЗначение, Реверс = Ложь) Экспорт
|
||||
|
||||
Параметры = ЮТФабрика.ОписаниеПроверки(ПроверяемоеЗначение);
|
||||
Параметры = ЮТФабрикаСлужебный.ОписаниеПроверки(ПроверяемоеЗначение);
|
||||
Параметры.ОбъектПроверки.ИмяСвойства = ИмяСвойства;
|
||||
Параметры.Вставить("ВидСравнения", ВидСравнения);
|
||||
Параметры.Вставить("ОжидаемоеЗначение", ОжидаемоеЗначение);
|
||||
@ -235,7 +235,7 @@
|
||||
ТипЗнч(Значение),
|
||||
ОжидаемыйТип,
|
||||
Суффикс);
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Соответствует;
|
||||
@ -261,11 +261,11 @@
|
||||
Результат = Ложь;
|
||||
ТипЗначения = ТипЗнч(Значение);
|
||||
|
||||
Если ТипЗначения = Тип("Структура") Или ТипЗначения = Тип("ФиксированнаяСтруктура") Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) Тогда
|
||||
|
||||
Результат = Значение.Свойство(Свойство);
|
||||
|
||||
ИначеЕсли ТипЗначения = Тип("Соответствие") Или ТипЗначения = Тип("ФиксированноеСоответствие") Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСоответствие(ТипЗначения) Тогда
|
||||
|
||||
Для Каждого КлючЗначение Из Значение Цикл
|
||||
|
||||
@ -341,8 +341,8 @@
|
||||
Попытка
|
||||
Результат = РегулярныеВыражения.Совпадает(Строка(ПроверяемаяСтрока), РегулярноеВыражение);
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение);
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки);
|
||||
ВызватьИсключение;
|
||||
КонецПопытки;
|
||||
|
||||
@ -358,12 +358,12 @@
|
||||
|
||||
ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 0;
|
||||
|
||||
ИначеЕсли ЭтоТипМассива(ТипПроверяемогоЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМассива(ТипПроверяемогоЗначения) Тогда
|
||||
|
||||
Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение);
|
||||
ИскомоеЗначениеНайдено = Индекс <> Неопределено;
|
||||
|
||||
ИначеЕсли ЭтоТипКлючЗначение(ТипПроверяемогоЗначения) Тогда
|
||||
ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоКлючЗначение(ТипПроверяемогоЗначения) Тогда
|
||||
|
||||
ИскомоеЗначениеНайдено = Ложь;
|
||||
ТипОжидаемогоЗначения = ТипЗнч(ОжидаемоеЗначение);
|
||||
@ -379,7 +379,7 @@
|
||||
|
||||
ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ОжидаемоеЗначение) <> Неопределено;
|
||||
|
||||
ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТОбщий.МетодОбъектаСуществует(ПроверяемоеЗначение, "Найти") Тогда
|
||||
ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТМетодыСлужебный.МетодОбъектаСуществует(ПроверяемоеЗначение, "Найти") Тогда
|
||||
|
||||
ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение) <> Неопределено;
|
||||
|
||||
@ -393,39 +393,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипМассива(Тип)
|
||||
|
||||
Возврат Тип = Тип("Массив") Или Тип = Тип("ФиксированныйМассив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипСтруктура(Тип)
|
||||
|
||||
Возврат Тип = Тип("Структура") Или Тип = Тип("ФиксированнаяСтруктура");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипСоответствие(Тип)
|
||||
|
||||
Возврат Тип = Тип("Соответствие") Или Тип = Тип("ФиксированноеСоответствие");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТипКлючЗначение(Тип)
|
||||
|
||||
Возврат ЭтоТипСтруктура(Тип) ИЛИ ЭтоТипСоответствие(Тип);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоПримитивныйТип(ТипЗначения)
|
||||
|
||||
Возврат ТипЗначения = Тип("Число")
|
||||
ИЛИ ТипЗначения = Тип("Строка")
|
||||
ИЛИ ТипЗначения = Тип("Дата")
|
||||
ИЛИ ТипЗначения = Тип("Булево");
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область РеализацияПредикатор
|
||||
|
||||
Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) Экспорт
|
||||
@ -433,7 +400,7 @@
|
||||
Попытка
|
||||
ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
|
||||
Исключение
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке());
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке());
|
||||
КонецПопытки;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -443,7 +410,7 @@
|
||||
// Параметры:
|
||||
// Значение - Произвольный - Значение
|
||||
// Выражение - см. ЮТФабрика.ВыражениеПредиката
|
||||
// СтатусПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки
|
||||
// СтатусПроверки - см. ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки
|
||||
// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке
|
||||
// ПараметрыСравнения - Неопределено
|
||||
// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры
|
||||
@ -539,13 +506,13 @@
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения);
|
||||
ШаблонСообщения = ЮТПредикатыСлужебныйКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения);
|
||||
Сообщение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение);
|
||||
|
||||
ТекстОшибки = ЮТСообщенияСлужебный.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение);
|
||||
ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки);
|
||||
ТекстОшибки = ЮТРегистрацияОшибокСлужебный.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки);
|
||||
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки,
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки,
|
||||
ТекстОшибки,
|
||||
ФактическоеЗначение,
|
||||
ПараметрыПроверки.ОжидаемоеЗначение);
|
||||
@ -582,8 +549,8 @@
|
||||
|
||||
Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда
|
||||
#Если ВебКлиент Или ТонкийКлиент Тогда
|
||||
Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение);
|
||||
#Иначе
|
||||
Значение = ЮТОбщийСлужебныйВызовСервера.ИзХранилищаЗначений(Значение);
|
||||
#Иначе
|
||||
Значение = Значение.Получить();
|
||||
#КонецЕсли
|
||||
КонецЕсли;
|
||||
@ -616,7 +583,7 @@
|
||||
|
||||
Если ФактическаяДлина = Неопределено Тогда
|
||||
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
@ -636,7 +603,7 @@
|
||||
|
||||
Если Результат = Неопределено Тогда
|
||||
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
@ -656,7 +623,7 @@
|
||||
|
||||
Если СоответствуетШаблону = Неопределено Тогда
|
||||
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
|
||||
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СоответствуетШаблону;
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1aa5cd77-d222-4e55-9985-72526cce07cc">
|
||||
<name>ЮТСравнениеКлиентСервер</name>
|
||||
<name>ЮТСравнениеСлужебныйКлиентСервер</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Сравнение клиент сервер</value>
|
@ -1,6 +1,6 @@
|
||||
//©///////////////////////////////////////////////////////////////////////////©//
|
||||
//
|
||||
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
|
||||
// Copyright 2021-2024 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.
|
||||
@ -18,6 +18,73 @@
|
||||
|
||||
#Область ПрограммныйИнтерфейс
|
||||
|
||||
// Конкатенирует строки, разделяя их разделителем
|
||||
//
|
||||
// Параметры:
|
||||
// ИсходнаяСтрока - Строка - Исходная строка
|
||||
// ДополнительнаяСтрока - Строка - Добавляемая строка
|
||||
// Разделитель - Строка - Строка разделитель, любой набор символов - разделитель между подстроками
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Результат конкатенации строк
|
||||
//
|
||||
Функция ДобавитьСтроку(ИсходнаяСтрока, ДополнительнаяСтрока, Разделитель = ";") Экспорт
|
||||
|
||||
Если Не ПустаяСтрока(ДополнительнаяСтрока) Тогда
|
||||
|
||||
Если Не ПустаяСтрока(ИсходнаяСтрока) Тогда
|
||||
Возврат Строка(ИсходнаяСтрока) + Разделитель + Строка(ДополнительнаяСтрока);
|
||||
Иначе
|
||||
Возврат Строка(ДополнительнаяСтрока);
|
||||
КонецЕсли;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Строка(ИсходнаяСтрока);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает массив на основании строки.
|
||||
// При этом:
|
||||
// * отсекает незначащие символы, стоящие слева от первого значащего символа в строке, и пробелы, стоящие справа от последнего значащего символа в строке.
|
||||
// * в отличии от `СтрРазделить` в качестве разделителля используется вся переданная строка, а не любой из символов входящий в нее.
|
||||
//
|
||||
// Параметры:
|
||||
// Значение - Строка - преобразуемая строка
|
||||
// Разделитель - Строка - строка-разделитель
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Массив Из Строка - массив строк
|
||||
//
|
||||
Функция РазделитьСтроку(Знач Значение, Разделитель = ";") Экспорт
|
||||
|
||||
КодУниверсальногоРазделителя = 5855;
|
||||
УниверсальныйРазделитель = Символ(КодУниверсальногоРазделителя);
|
||||
МодифицированнаяСтрока = СтрЗаменить(Значение, Разделитель, УниверсальныйРазделитель);
|
||||
|
||||
МассивСтрок = ?(МодифицированнаяСтрока = "", Новый Массив, СтрРазделить(МодифицированнаяСтрока, УниверсальныйРазделитель));
|
||||
|
||||
Для Индекс = 0 По МассивСтрок.ВГраница() Цикл
|
||||
МассивСтрок[Индекс] = СокрЛП(МассивСтрок[Индекс]);
|
||||
КонецЦикла;
|
||||
|
||||
Возврат МассивСтрок;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Формирует строку из заданного количества повторяемых символов
|
||||
// Параметры:
|
||||
// Символ - Строка - Повторяемый символ
|
||||
// Количество - Число - Количество повторений
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Строка - Строка повторяемых символов
|
||||
Функция СтрокаСимволов(Символ, Количество) Экспорт
|
||||
|
||||
Возврат СтрСоединить(Новый Массив(Количество + 1), Символ);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Строка с символами русского алфавита
|
||||
//
|
||||
// Параметры:
|
||||
@ -56,6 +123,50 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Выполняет сравнение версий
|
||||
//
|
||||
// Параметры:
|
||||
// Версия1 - Строка
|
||||
// Версия2 - Строка
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Число - Результат сравнения
|
||||
// `-1` - Версия1 меньше Версия2
|
||||
// `0` - Версии равны
|
||||
// `1` - Версия1 больше Версия2
|
||||
Функция СравнитьВерсии(Версия1, Версия2) Экспорт
|
||||
|
||||
ЧастиВерсия1 = СтрРазделить(Версия1, ".");
|
||||
ЧастиВерсия2 = СтрРазделить(Версия2, ".");
|
||||
|
||||
КоличествоЧастейВерсия1 = ЧастиВерсия1.Количество();
|
||||
КоличествоЧастейВерсия2 = ЧастиВерсия2.Количество();
|
||||
|
||||
КоличествоЧастей = Макс(КоличествоЧастейВерсия1, КоличествоЧастейВерсия2);
|
||||
|
||||
Для Инд = КоличествоЧастейВерсия1 По КоличествоЧастей - 1 Цикл
|
||||
ЧастиВерсия1.Добавить("0");
|
||||
КонецЦикла;
|
||||
|
||||
Для Инд = КоличествоЧастейВерсия2 По КоличествоЧастей - 1 Цикл
|
||||
ЧастиВерсия2.Добавить("0");
|
||||
КонецЦикла;
|
||||
|
||||
Результат = 0;
|
||||
|
||||
Для Разряд = 0 По КоличествоЧастей - 1 Цикл
|
||||
|
||||
Результат = Число(ЧастиВерсия1[Разряд]) - Число(ЧастиВерсия2[Разряд]);
|
||||
Если Результат <> 0 Тогда
|
||||
Прервать;
|
||||
КонецЕсли;
|
||||
|
||||
КонецЦикла;
|
||||
|
||||
Возврат Макс(Мин(Результат, 1), -1);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -37,14 +37,14 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(Наименование) Тогда
|
||||
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
Данные.Вставить("Description", Наименование);
|
||||
Иначе
|
||||
Данные.Вставить("Наименование", Наименование);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
|
||||
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
|
||||
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
|
||||
|
||||
Возврат Ссылка;
|
||||
@ -74,7 +74,7 @@
|
||||
Данные.Удалить("РежимЗаписи");
|
||||
КонецЕсли;
|
||||
|
||||
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
|
||||
Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
|
||||
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
|
||||
|
||||
Возврат Ссылка;
|
||||
@ -121,11 +121,11 @@
|
||||
#Если ВебКлиент Тогда
|
||||
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТТестовыеДанные.СлучайноеЧисло");
|
||||
#Иначе
|
||||
Генератор = ЮТКонтекст.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
|
||||
Генератор = ЮТКонтекстСлужебный.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
|
||||
|
||||
Если Генератор = Неопределено Тогда
|
||||
Генератор = Новый ГенераторСлучайныхЧисел();
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
|
||||
КонецЕсли;
|
||||
|
||||
Если Максимум = Неопределено Тогда
|
||||
@ -426,7 +426,7 @@
|
||||
// ПеречислениеСсылка
|
||||
Функция СлучайноеЗначениеПеречисления(Перечисление) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеЗначениеПеречисления(Перечисление);
|
||||
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеЗначениеПеречисления(Перечисление);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -441,7 +441,7 @@
|
||||
// ПеречислениеСсылка
|
||||
Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор = Неопределено) Экспорт
|
||||
|
||||
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
|
||||
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -635,7 +635,7 @@
|
||||
Варианты = Новый Массив;
|
||||
Варианты.Добавить(ЗначенияПоУмолчанию);
|
||||
|
||||
Ключи = ЮТОбщий.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ");
|
||||
Ключи = ЮТКоллекции.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ");
|
||||
|
||||
ДобавитьВарианты(Варианты, ЗначенияПоУмолчанию, ЗначенияПараметров, Ключи, 0);
|
||||
|
||||
@ -699,7 +699,7 @@
|
||||
Процедура Удалить(Ссылки) Экспорт
|
||||
|
||||
Если ЗначениеЗаполнено(Ссылки) Тогда
|
||||
ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки);
|
||||
ЮТТестовыеДанныеСлужебныйВызовСервера.Удалить(Ссылки);
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -763,7 +763,7 @@
|
||||
// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок
|
||||
Функция HTTPСервисЗапрос() Экспорт
|
||||
|
||||
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
Возврат Обработки.ЮТHTTPServiceRequest.Создать();
|
||||
Иначе
|
||||
Возврат Обработки.ЮТHTTPСервисЗапрос.Создать();
|
||||
@ -798,7 +798,7 @@
|
||||
// Ссылка - ЛюбаяСсылка
|
||||
// ИмяРеквизита - Строка
|
||||
// ЗначениеРеквизита - Произвольный
|
||||
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи
|
||||
// ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
|
||||
Процедура УстановитьЗначениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеРеквизита, ПараметрыЗаписи = Неопределено) Экспорт
|
||||
|
||||
Значения = Новый Соответствие();
|
||||
@ -812,10 +812,10 @@
|
||||
// Параметры:
|
||||
// Ссылка - ЛюбаяСсылка - Ссылка
|
||||
// ЗначенияРеквизитов - Структура, Соответствие из Произвольный - Значения реквизитов
|
||||
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи
|
||||
// ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
|
||||
Процедура УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов, ПараметрыЗаписи = Неопределено) Экспорт
|
||||
|
||||
ЮТТестовыеДанныеВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов);
|
||||
ЮТТестовыеДанныеСлужебныйВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
@ -847,7 +847,7 @@
|
||||
Ключ = Ключи[Инд];
|
||||
Для Каждого Значение Из ЗначенияПараметров[Ключ] Цикл
|
||||
|
||||
Вариант = ЮТОбщий.СкопироватьСтруктуру(БазоваяСтруктура);
|
||||
Вариант = ЮТКоллекции.СкопироватьСтруктуру(БазоваяСтруктура);
|
||||
Вариант[Ключ] = Значение;
|
||||
Варианты.Добавить(Вариант);
|
||||
|
||||
|
@ -56,7 +56,7 @@
|
||||
|
||||
Иначе
|
||||
|
||||
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
|
||||
Значение = ЮТТестовыеДанныеСлужебныйВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
|
||||
ДобавитьТестовуюЗапись(Значение);
|
||||
|
||||
КонецЕсли;
|
||||
@ -152,9 +152,9 @@
|
||||
|
||||
Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыСозданияОбъектов, ТаблицаЗначений) Экспорт
|
||||
|
||||
ПараметрыЗаполнения = ЮТФабрика.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
|
||||
ПараметрыЗаполнения = ЮТФабрикаСлужебный.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
|
||||
|
||||
Возврат ЮТТестовыеДанныеВызовСервера.ЗагрузитьИзМакета(Макет,
|
||||
Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.ЗагрузитьИзМакета(Макет,
|
||||
ОписанияТипов,
|
||||
КэшЗначений,
|
||||
ЗаменяемыеЗначения,
|
||||
@ -169,7 +169,7 @@
|
||||
|
||||
Функция СлучайноЗначениеСистемногоПеречисления(Тип)
|
||||
|
||||
Менеджер = ЮТОбщий.ВычислитьБезопасно(ЮТТипыДанныхСлужебный.ИмяСистемногоПеречисления(Тип));
|
||||
Менеджер = ЮТМетодыСлужебный.ВычислитьБезопасно(ЮТТипыДанныхСлужебный.ИмяСистемногоПеречисления(Тип));
|
||||
|
||||
Значения = Новый Массив();
|
||||
|
||||
|
@ -36,12 +36,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Создает новый объект и заполняет его данными
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Менеджер - Произвольный
|
||||
// Данные - Структура - Данные заполнения объекта
|
||||
// ДополнительныеСвойства - Структура - Дополнительные свойства объекта
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Созданный объект
|
||||
Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства = Неопределено) Экспорт
|
||||
@ -74,7 +74,7 @@
|
||||
ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных);
|
||||
|
||||
Если ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный И ДополнительныеСвойства <> Неопределено Тогда
|
||||
ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства);
|
||||
ЮТКоллекции.ДополнитьСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Объект;
|
||||
@ -84,21 +84,20 @@
|
||||
Процедура Удалить(Знач Ссылки) Экспорт
|
||||
|
||||
Если ТипЗнч(Ссылки) <> Тип("Массив") Тогда
|
||||
Ссылки = ЮТОбщий.ЗначениеВМассиве(Ссылки);
|
||||
Ссылки = ЮТКоллекции.ЗначениеВМассиве(Ссылки);
|
||||
КонецЕсли;
|
||||
|
||||
СсылочныеТипы = ЮТОбщий.ОписаниеТиповЛюбаяСсылка();
|
||||
Ошибки = Новый Массив;
|
||||
|
||||
Для Каждого Ссылка Из Ссылки Цикл
|
||||
|
||||
ТипЗначения = ТипЗнч(Ссылка);
|
||||
Если Ссылка = Неопределено ИЛИ СтрНачинаетсяС(ЮТОбщий.ПредставлениеТипа(ТипЗначения), "Enum") Тогда
|
||||
Если Ссылка = Неопределено ИЛИ ЮТТипыДанныхСлужебный.ЭтоТипПеречисления(ТипЗначения) Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
Если СсылочныеТипы.СодержитТип(ТипЗначения) Тогда
|
||||
Если ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
|
||||
Объект = Ссылка.ПолучитьОбъект();
|
||||
Если Объект <> Неопределено Тогда
|
||||
Объект.Удалить();
|
||||
@ -112,7 +111,7 @@
|
||||
КонецЕсли;
|
||||
Исключение
|
||||
|
||||
Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке()));
|
||||
Ошибки.Добавить(ЮТРегистрацияОшибокСлужебный.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке()));
|
||||
|
||||
КонецПопытки;
|
||||
|
||||
@ -143,12 +142,12 @@
|
||||
ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОбъектМетаданных);
|
||||
ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа;
|
||||
|
||||
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
|
||||
ИмяТипаМенеджера = СтрШаблон("%1Manager.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
|
||||
Иначе
|
||||
ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
|
||||
КонецЕсли;
|
||||
Менеджер = Новый (ИмяТипаМенеджера);
|
||||
Менеджер = Новый(ИмяТипаМенеджера);
|
||||
|
||||
Объект = СоздатьОбъект(Менеджер, ОписаниеТипа, РеквизитыЗаполнения);
|
||||
|
||||
@ -169,7 +168,7 @@
|
||||
Знач ПараметрыЗаполнения,
|
||||
Знач ТаблицаЗначений) Экспорт
|
||||
|
||||
Таблица = ЮТТестовыеДанные_ТаблицыЗначений.ЗагрузитьИзМакета(Макет,
|
||||
Таблица = ЮТТестовыеДанныеСлужебныйТаблицыЗначений.ЗагрузитьИзМакета(Макет,
|
||||
ОписанияТипов,
|
||||
КэшЗначений,
|
||||
ЗаменяемыеЗначения,
|
||||
@ -179,7 +178,7 @@
|
||||
Возврат Таблица;
|
||||
КонецЕсли;
|
||||
|
||||
Реквизиты = СтрСоединить(ЮТОбщий.ВыгрузитьЗначения(Таблица.Колонки, "Имя"), ",");
|
||||
Реквизиты = СтрСоединить(ЮТКоллекции.ВыгрузитьЗначения(Таблица.Колонки, "Имя"), ",");
|
||||
Результат = Новый Массив(Таблица.Количество());
|
||||
|
||||
Для Инд = 0 По Таблица.Количество() - 1 Цикл
|
||||
@ -207,7 +206,7 @@
|
||||
Условия = ЮТест.Предикат(Отбор)
|
||||
.Реквизит("Предопределенный").Равно(Истина);
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Условия, "Ссылка");
|
||||
ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Условия, "Ссылка");
|
||||
|
||||
Данные = ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса);
|
||||
|
||||
@ -242,8 +241,8 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Создать объект.
|
||||
//
|
||||
// Параметры: ОписаниеМенеджера -
|
||||
//
|
||||
// Параметры: ОписаниеМенеджера -
|
||||
// См. ОписаниеМенеджера
|
||||
// Менеджер - Произвольный - Менеджер
|
||||
// ОписаниеТипа - см. ЮТМетаданные.ОписаниеОбъектаМетаданных
|
||||
@ -254,7 +253,7 @@
|
||||
|
||||
Если ОписаниеТипа.Конструктор = "СоздатьЭлемент" Тогда
|
||||
|
||||
ЭтоГруппа = ?(Данные = Неопределено, Ложь, ЮТОбщий.ЗначениеСтруктуры(Данные, "ЭтоГруппа", Ложь));
|
||||
ЭтоГруппа = ?(Данные = Неопределено, Ложь, ЮТКоллекции.ЗначениеСтруктуры(Данные, "ЭтоГруппа", Ложь));
|
||||
Если ЭтоГруппа Тогда
|
||||
Результат = Менеджер.СоздатьГруппу();
|
||||
Иначе
|
||||
@ -286,11 +285,11 @@
|
||||
КонецФункции
|
||||
|
||||
// Записать объект.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Объект - Произвольный - Объект
|
||||
// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ЛюбаяСсылка
|
||||
Функция ЗаписатьОбъект(Объект, ПараметрыЗаписи)
|
||||
@ -300,7 +299,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если ЗначениеЗаполнено(ПараметрыЗаписи.ДополнительныеСвойства) Тогда
|
||||
ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ПараметрыЗаписи.ДополнительныеСвойства);
|
||||
ЮТКоллекции.ДополнитьСтруктуру(Объект.ДополнительныеСвойства, ПараметрыЗаписи.ДополнительныеСвойства);
|
||||
КонецЕсли;
|
||||
|
||||
Попытка
|
||||
@ -319,7 +318,7 @@
|
||||
|
||||
Исключение
|
||||
|
||||
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось записать объект `%1` (%2)", Объект, ТипЗнч(Объект)));
|
||||
ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось записать объект `%1` (%2)", Объект, ТипЗнч(Объект)));
|
||||
ВызватьИсключение;
|
||||
|
||||
КонецПопытки;
|
||||
@ -328,10 +327,10 @@
|
||||
|
||||
Процедура ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных)
|
||||
|
||||
АнглийскийЯзык = ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык();
|
||||
ИмяТипаДокумент = ?(АнглийскийЯзык,"Document","Документ");
|
||||
ИмяРеквизитаКод = ?(АнглийскийЯзык,"Code","Код");
|
||||
ИмяРеквизитаНаименование = ?(АнглийскийЯзык,"Description","Наименование");
|
||||
АнглийскийЯзык = ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык();
|
||||
ИмяТипаДокумент = ?(АнглийскийЯзык, "Document", "Документ");
|
||||
ИмяРеквизитаКод = ?(АнглийскийЯзык, "Code", "Код");
|
||||
ИмяРеквизитаНаименование = ?(АнглийскийЯзык, "Description", "Наименование");
|
||||
|
||||
ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа;
|
||||
Если ОписаниеТипа.Имя = ИмяТипаДокумент Тогда
|
||||
@ -345,13 +344,13 @@
|
||||
|
||||
Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаКод)
|
||||
И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаКод].Обязательный
|
||||
И Не ЗначениеЗаполнено(Объект.Код) Тогда
|
||||
И НЕ ЗначениеЗаполнено(Объект.Код) Тогда
|
||||
Объект.УстановитьНовыйКод();
|
||||
КонецЕсли;
|
||||
|
||||
Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаНаименование)
|
||||
И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаНаименование].Обязательный
|
||||
И Не ЗначениеЗаполнено(Объект.Наименование) Тогда
|
||||
И НЕ ЗначениеЗаполнено(Объект.Наименование) Тогда
|
||||
Объект.Наименование = ЮТТестовыеДанные.СлучайнаяСтрока();
|
||||
КонецЕсли;
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f8dcca0e-7165-4660-bcd8-a6b0c6e2e4c6">
|
||||
<name>ЮТТестовыеДанныеВызовСервера</name>
|
||||
<name>ЮТТестовыеДанныеСлужебныйВызовСервера</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Тестовые данные (вызов сервера)</value>
|
@ -49,7 +49,7 @@
|
||||
|
||||
ПараметрыЗагрузки = ПараметрыЗагрузки(КолонкиМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения);
|
||||
|
||||
Выборка = ЮТОбщийВызовСервера.ВыборкаИзТабличногоДокумента(ДанныеМакета);
|
||||
Выборка = ЮТОбщийСлужебныйВызовСервера.ВыборкаИзТабличногоДокумента(ДанныеМакета);
|
||||
|
||||
Пока Выборка.Следующий() Цикл
|
||||
|
||||
@ -92,7 +92,7 @@
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
КолонкиМакета = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);
|
||||
КолонкиМакета = ЮТСтроки.РазделитьСтроку(Строка, Разделитель);
|
||||
|
||||
СледующаяСтрока(ПараметрыИтератора);
|
||||
Прервать;
|
||||
@ -112,7 +112,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
СтрокаДанных = ПараметрыЗагрузки.Таблица.Добавить();
|
||||
Блоки = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель);
|
||||
Блоки = ЮТСтроки.РазделитьСтроку(Строка, Разделитель);
|
||||
|
||||
Для Каждого ОписаниеКолонки Из ПараметрыЗагрузки.ОписаниеКолонок Цикл
|
||||
|
||||
@ -224,14 +224,13 @@
|
||||
ДанныеМакета = Неопределено;
|
||||
|
||||
ПараметрыСодержитДанные = ТипПараметра = Тип("ТабличныйДокумент")
|
||||
Или ТипПараметра = Тип("ТекстовыйДокумент")
|
||||
Или ТипПараметра = Тип("Строка")
|
||||
И СтрНачинаетсяС(Макет, "|");
|
||||
ИЛИ ТипПараметра = Тип("ТекстовыйДокумент")
|
||||
ИЛИ ТипПараметра = Тип("Строка") И СтрНачинаетсяС(Макет, "|");
|
||||
|
||||
Если ПараметрыСодержитДанные Тогда
|
||||
ДанныеМакета = Макет;
|
||||
ИначеЕсли ТипПараметра = Тип("Строка") Тогда
|
||||
ДанныеМакета = ЮТОбщийВызовСервера.Макет(Макет);
|
||||
ДанныеМакета = ЮТОбщийСлужебныйВызовСервера.Макет(Макет);
|
||||
Иначе
|
||||
ВызватьИсключение ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.ДанныеМакета", Макет);
|
||||
КонецЕсли;
|
||||
@ -275,7 +274,7 @@
|
||||
ЗаменяемыеЗначения = Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
Если Не ЗначениеЗаполнено(КэшЗначений) Тогда
|
||||
Если НЕ ЗначениеЗаполнено(КэшЗначений) Тогда
|
||||
КэшЗначений = Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
@ -330,9 +329,9 @@
|
||||
ИначеЕсли ОписаниеКолонки.Ссылочный Тогда
|
||||
Значение = СоздатьНовуюЗапись(ОписаниеКолонки, ЗначенияРеквизитов, ПараметрыЗаписи);
|
||||
ИначеЕсли ОписаниеКолонки.ЭтоДата Тогда
|
||||
Значение = ЮТПреобразования.ПривестиЗначениеКДате(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
|
||||
Значение = ЮТПреобразованияСлужебный.ПривестиЗначениеКДате(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
|
||||
ИначеЕсли ОписаниеКолонки.ЭтоЧисло Тогда
|
||||
Значение = ЮТПреобразования.ПривестиЗначениеКЧислу(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
|
||||
Значение = ЮТПреобразованияСлужебный.ПривестиЗначениеКЧислу(ОписаниеКолонки.ОписаниеТипа, ЗначениеПредставления);
|
||||
Иначе
|
||||
Значение = ОписаниеКолонки.ОписаниеТипа.ПривестиЗначение(ЗначениеПредставления);
|
||||
КонецЕсли;
|
||||
@ -355,7 +354,7 @@
|
||||
Конструктор.ФикцияОбязательныхПолей();
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Конструктор.Записать(, ПараметрыЗаписи.ПараметрыЗаписи.ОбменДаннымиЗагрузка);
|
||||
Возврат Конструктор.Записать( , ПараметрыЗаписи.ПараметрыЗаписи.ОбменДаннымиЗагрузка);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -376,7 +375,7 @@
|
||||
ОписаниеКолонок = ОписаниеКолонок(КолонкиМакета, ОписанияТипов);
|
||||
ПодготовитьПараметрыЗаполненияТаблицы(КэшЗначений, ЗаменяемыеЗначения, ПараметрыЗаполнения, ОписаниеКолонок);
|
||||
ПараметрыСоздания = ПараметрыЗаполнения.СозданиеОбъектовМетаданных;
|
||||
|
||||
|
||||
ТаблицаЗначений = НоваяТаблица(ОписаниеКолонок);
|
||||
|
||||
ПараметрыЗагрузки = Новый Структура;
|
||||
@ -407,7 +406,7 @@
|
||||
КонецЦикла;
|
||||
|
||||
Если ТипЗнч(ОписанияТипов) = Тип("Структура") Тогда
|
||||
ОписанияТипов = ЮТОбщий.ВСоответствие(ОписанияТипов, "Ключ", "Значение");
|
||||
ОписанияТипов = ЮТКоллекции.ВСоответствие(ОписанияТипов, "Ключ", "Значение");
|
||||
КонецЕсли;
|
||||
|
||||
ЗагружаемыеКолонки = Новый Массив();
|
||||
@ -555,7 +554,7 @@
|
||||
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
|
||||
ОписаниеКолонки.КлючТипаЗначения = ЮТТипыДанныхСлужебный.ИдентификаторТипа(ТипЗначения);
|
||||
КонецЕсли;
|
||||
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="18cbfea5-3366-44ec-b0bd-7fd1d933bbf8">
|
||||
<name>ЮТТестовыеДанные_ТаблицыЗначений</name>
|
||||
<name>ЮТТестовыеДанныеСлужебныйТаблицыЗначений</name>
|
||||
<synonym>
|
||||
<key>ru</key>
|
||||
<value>Тестовые данные таблицы значений</value>
|
@ -26,14 +26,14 @@
|
||||
// Параметры:
|
||||
// Имя - Строка - Имя набора тестов
|
||||
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ДобавитьТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
||||
|
||||
ИсполняемыеСценарии = СценарииМодуля();
|
||||
|
||||
Если Не ЭтоИсполняемыеСценарии(ИсполняемыеСценарии) Тогда
|
||||
Если НЕ ЭтоИсполняемыеСценарии(ИсполняемыеСценарии) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии";
|
||||
КонецЕсли;
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Контекст = Контекст();
|
||||
НовыйТестовыйНабор = ЮТФабрика.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
||||
НовыйТестовыйНабор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(Имя, ТегиСтрокой);
|
||||
|
||||
ИсполняемыеСценарии.ТестовыеНаборы.Добавить(НовыйТестовыйНабор);
|
||||
Контекст.ТекущийНабор = НовыйТестовыйНабор;
|
||||
@ -54,11 +54,11 @@
|
||||
|
||||
// Регистрирует тест, исполняемый в контекстах, в которых доступен тестовый модуль.
|
||||
// Например
|
||||
//
|
||||
//
|
||||
// * Если модуль с тестами клиент-серверный, то тест будет вызван и на клиенте и на сервере.
|
||||
// * Если клиентский, то только на клиенте.
|
||||
// * Если клиент обычное приложение, то только при запуске в режиме обычного приложения.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
@ -75,7 +75,7 @@
|
||||
ЭтоИсполняемыеСценарии = ЭтоИсполняемыеСценарии(Набор);
|
||||
ЭтоТестовыйНабор = ЭтоТестовыйНабор(Набор);
|
||||
|
||||
Если Не (ЭтоИсполняемыеСценарии Или ЭтоТестовыйНабор) Тогда
|
||||
Если НЕ (ЭтоИсполняемыеСценарии ИЛИ ЭтоТестовыйНабор) Тогда
|
||||
ВызватьИсключение "Первый параметр должен быть результатом метода ЮТТесты.ИсполняемыеСценарии или ЮТТесты.ТестовыйНабор";
|
||||
КонецЕсли;
|
||||
|
||||
@ -91,12 +91,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Регистрирует тест исполняемый на клиенте.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
@ -107,12 +107,12 @@
|
||||
КонецФункции
|
||||
|
||||
// Регистрирует тест исполняемый на сервере.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
@ -126,11 +126,11 @@
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает настройку выполнения тестового метода.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяПараметра - Строка
|
||||
// Значение - Произвольный - Значение настройки
|
||||
//
|
||||
// Значение - Произвольный - Значение настройки
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция НастройкаИсполнения(ИмяПараметра, Значение) Экспорт
|
||||
@ -148,10 +148,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает настройку выполнения тестового метода в транзакции.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ВыполнятьВТранзакции - Булево
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ВТранзакции(ВыполнятьВТранзакции = Истина) Экспорт
|
||||
@ -164,15 +164,15 @@
|
||||
|
||||
// Устанавливает настройку удаления созданных тестовых данных
|
||||
// В отличии от использования транзакции:
|
||||
//
|
||||
//
|
||||
// * Умеет работать с данными созданными на клиенте
|
||||
// * Только удаляет созданные данные и не откатывает изменения объектов
|
||||
// * Работает с данными созданными через API работы с тестовыми данными
|
||||
// * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередВсемиТестами и ПередТестовымНабором)
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// УдалятьСозданныеДанные - Булево
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция УдалениеТестовыхДанных(УдалятьСозданныеДанные = Истина) Экспорт
|
||||
@ -184,10 +184,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает настройку переопределения обработчика события Перед...
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ВыполнитьПеред - Строка - Имя обработчика события, который будет выполнен вместо основного
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция Перед(ВыполнитьПеред = "") Экспорт
|
||||
@ -199,10 +199,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает настройку переопределения обработчика события После...
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// ВыполнитьПосле - Строка - Имя обработчика события, который будет выполнен вместо основного
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция После(ВыполнитьПосле = "") Экспорт
|
||||
@ -214,10 +214,10 @@
|
||||
КонецФункции
|
||||
|
||||
// Устанавливает параметры вызова теста.
|
||||
//
|
||||
//
|
||||
// * Если метод вызывается первый раз, то он устанавливает параметры теста.
|
||||
// * Если второй и последующие, то добавляет новый тест с параметрами.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// Параметр1 - Произвольный
|
||||
// Параметр2 - Произвольный
|
||||
@ -229,30 +229,30 @@
|
||||
// Параметр8 - Произвольный
|
||||
// Параметр9 - Произвольный
|
||||
// Параметр10 - Произвольный
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
//
|
||||
//
|
||||
// Примеры:
|
||||
//
|
||||
//
|
||||
// ЮТТесты.ДобавитьТест("Тест1").СПараметрами(1, 2); // Будет зарегистрирован один тест с параметрами 1, 2
|
||||
// ЮТТесты.ДобавитьТест("Тест1")
|
||||
// .СПараметрами(1)
|
||||
// .СПараметрами(2); // Будет зарегистрировано два теста, первый с параметром 1 и второй с параметром 2
|
||||
//
|
||||
//
|
||||
//@skip-check method-too-many-params
|
||||
Функция СПараметрами(Параметр1 = "_!%*",
|
||||
Параметр2 = "_!%*",
|
||||
Параметр3 = "_!%*",
|
||||
Параметр4 = "_!%*",
|
||||
Параметр5 = "_!%*",
|
||||
Параметр6 = "_!%*",
|
||||
Параметр7 = "_!%*",
|
||||
Параметр8 = "_!%*",
|
||||
Параметр9 = "_!%*",
|
||||
Параметр10 = "_!%*") Экспорт
|
||||
Параметр2 = "_!%*",
|
||||
Параметр3 = "_!%*",
|
||||
Параметр4 = "_!%*",
|
||||
Параметр5 = "_!%*",
|
||||
Параметр6 = "_!%*",
|
||||
Параметр7 = "_!%*",
|
||||
Параметр8 = "_!%*",
|
||||
Параметр9 = "_!%*",
|
||||
Параметр10 = "_!%*") Экспорт
|
||||
|
||||
Параметры = ЮТОбщий.ЗначениеВМассиве(Параметр1,
|
||||
Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр1,
|
||||
Параметр2,
|
||||
Параметр3,
|
||||
Параметр4,
|
||||
@ -272,7 +272,7 @@
|
||||
КонецЕсли;
|
||||
|
||||
Если Контекст.ТекущийЭлемент.Параметры <> Неопределено Тогда
|
||||
НоваяНастройка = ЮТОбщий.СкопироватьСтруктуру(Контекст.ТекущийЭлемент);
|
||||
НоваяНастройка = ЮТКоллекции.СкопироватьСтруктуру(Контекст.ТекущийЭлемент);
|
||||
ДобавитьТестВНабор(Контекст, НоваяНастройка);
|
||||
КонецЕсли;
|
||||
|
||||
@ -282,78 +282,6 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
#Область Устаревшие
|
||||
|
||||
// Регистрирует тест.
|
||||
// Deprecate
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
// Контексты - Строка - Контексты, строка перечисления контекстов вызова, разделенных запятой.
|
||||
// Возможные значения см. ЮТФабрика.КонтекстыВызова
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция Тест(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "", Контексты = Неопределено) Экспорт
|
||||
|
||||
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.Тест", "ЮТТесты.ДобавитьТест");
|
||||
Возврат ДобавитьТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой, Контексты);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Регистрирует тест вызываемый на клиенте.
|
||||
// Deprecate
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ТестКлиент(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
|
||||
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестКлиент", "ЮТТесты.ДобавитьКлиентскийТест");
|
||||
Возврат ДобавитьКлиентскийТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Регистрирует тест вызываемый на сервере.
|
||||
// Deprecate
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТестовогоМетода - Строка - Имя тестового метода
|
||||
// ПредставлениеТеста - Строка - Представление теста
|
||||
// ТегиСтрокой - Строка - Теги строкой. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ТестСервер(ИмяТестовогоМетода, ПредставлениеТеста = "", ТегиСтрокой = "") Экспорт
|
||||
|
||||
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестСервер", "ЮТТесты.ДобавитьСерверныйТест");
|
||||
Возврат ДобавитьСерверныйТест(ИмяТестовогоМетода, ПредставлениеТеста, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Создает и регистрирует набор, в который будут добавляться последующие тесты.
|
||||
// Deprecate
|
||||
//
|
||||
// Параметры:
|
||||
// Имя - Строка - Имя набора тестов
|
||||
// ТегиСтрокой - Строка - Теги относящиеся к набору и вложенным тестам. Это строка разделенная запятыми
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// ОбщийМодуль - Этот же модуль, для замыкания
|
||||
Функция ТестовыйНабор(Имя, ТегиСтрокой = "") Экспорт
|
||||
|
||||
ЮТОбщий.ВызовУстаревшегоМетода("ЮТТесты.ТестовыйНабор", "ЮТТесты.ДобавитьТестовыйНабор");
|
||||
Возврат ДобавитьТестовыйНабор(Имя, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныйПрограммныйИнтерфейс
|
||||
@ -362,19 +290,19 @@
|
||||
|
||||
ИнициализироватьКонтекст(МетаданныеМодуля);
|
||||
|
||||
ЮТСобытия.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
ЮТСобытияСлужебный.ПередЧтениемСценариевМодуля(МетаданныеМодуля);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ПослеЧтенияСценариевМодуля() Экспорт
|
||||
|
||||
Контекст = Контекст();
|
||||
ЮТСобытия.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
|
||||
ЮТСобытияСлужебный.ПослеЧтенияСценариевМодуля(Контекст.МетаданныеМодуля, Контекст.ИсполняемыеСценарии);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
// Описание сценариев модуля
|
||||
//
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - см. ИсполняемыеСценарии
|
||||
Функция СценарииМодуля() Экспорт
|
||||
@ -388,13 +316,13 @@
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
// Исполняемые сценарии.
|
||||
//
|
||||
//
|
||||
// Параметры:
|
||||
// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля
|
||||
//
|
||||
// МетаданныеМодуля - см. ЮТФабрикаСлужебный.ОписаниеМодуля
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура - Исполняемые сценарии:
|
||||
// * ТестовыеНаборы - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||
// * ТестовыеНаборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеТестовогоНабора - Тестовые наборы модуля
|
||||
// * НастройкиВыполнения- Структура - Настройки исполнения теста
|
||||
Функция ИсполняемыеСценарии(МетаданныеМодуля)
|
||||
|
||||
@ -402,7 +330,7 @@
|
||||
Структура.Вставить("ТестовыеНаборы", Новый Массив());
|
||||
Структура.Вставить("НастройкиВыполнения", Новый Структура());
|
||||
|
||||
Набор = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
Набор = ЮТФабрикаСлужебный.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя);
|
||||
Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию
|
||||
Структура.ТестовыеНаборы.Добавить(Набор);
|
||||
|
||||
@ -413,13 +341,13 @@
|
||||
Функция КонтекстыВызоваКлиента()
|
||||
|
||||
Режимы = ЮТФабрика.КонтекстыВызова();
|
||||
Возврат ЮТОбщий.ЗначениеВМассиве(Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
||||
Возврат ЮТКоллекции.ЗначениеВМассиве(Режимы.КлиентУправляемоеПриложение, Режимы.КлиентОбычноеПриложение);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция КонтекстыВызоваПоУмолчанию()
|
||||
|
||||
Возврат ЮТФабрика.КонтекстыМодуля(Контекст().МетаданныеМодуля);
|
||||
Возврат ЮТФабрикаСлужебный.КонтекстыМодуля(Контекст().МетаданныеМодуля);
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -431,28 +359,28 @@
|
||||
Контексты = СтрРазделить(Контексты, ", ", Ложь);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ЮТФабрика.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
||||
Возврат ЮТФабрикаСлужебный.ОписаниеТеста(Имя, Представление, Контексты, ТегиСтрокой);
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоИсполняемыеСценарии(ИсполняемыеСценарии)
|
||||
|
||||
Возврат ТипЗнч(ИсполняемыеСценарии) = Тип("Структура")
|
||||
И ТипЗнч(ЮТОбщий.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Массив");
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ИсполняемыеСценарии, "ТестовыеНаборы")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоТестовыйНабор(ТестовыйНабор)
|
||||
|
||||
Возврат ТипЗнч(ТестовыйНабор) = Тип("Структура")
|
||||
И ТипЗнч(ЮТОбщий.ЗначениеСтруктуры(ТестовыйНабор, "Тесты")) = Тип("Массив");
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(ТестовыйНабор, "Тесты")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЭтоОписаниеТеста(Описание)
|
||||
|
||||
Возврат ТипЗнч(Описание) = Тип("Структура")
|
||||
И ТипЗнч(ЮТОбщий.ЗначениеСтруктуры(Описание, "КонтекстВызова")) = Тип("Массив");
|
||||
И ТипЗнч(ЮТКоллекции.ЗначениеСтруктуры(Описание, "КонтекстВызова")) = Тип("Массив");
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -468,7 +396,7 @@
|
||||
|
||||
Функция Контекст()
|
||||
|
||||
Возврат ЮТКонтекст.ЗначениеКонтекста("КонтекстРегистрацияТестов");
|
||||
Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("КонтекстРегистрацияТестов");
|
||||
|
||||
КонецФункции
|
||||
|
||||
@ -484,8 +412,8 @@
|
||||
Контекст.Вставить("ТекущийНабор", Набор);
|
||||
Контекст.Вставить("ТекущийЭлемент", Набор);
|
||||
|
||||
ЮТКонтекст.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
|
||||
|
||||
ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("КонтекстРегистрацияТестов", Контекст);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user