1
0
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:
Koryakin Aleksey 2024-03-11 20:23:44 +03:00 committed by GitHub
commit c6f46b972b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
175 changed files with 3843 additions and 3254 deletions

View File

@ -149,7 +149,7 @@ tags: [Начало, Утверждения]
### Проверка сложного объекта ### Проверка сложного объекта
```bsl ```bsl
Объект = ЮТОбщий.ЗначениеВМассиве("1", "2", "3"); Объект = ЮТКоллекции.ЗначениеВМассиве("1", "2", "3");
ЮТУтверждения.Что(Объект, "Проверка элементов массива") ЮТУтверждения.Что(Объект, "Проверка элементов массива")
.Содержит("1") .Содержит("1")
.НеСодержит(1) .НеСодержит(1)
@ -162,7 +162,7 @@ tags: [Начало, Утверждения]
.НетСвойства(3) .НетСвойства(3)
.НеИмеетСвойства("[3]"); .НеИмеетСвойства("[3]");
Объект.Добавить(Новый Структура("Первый, Второй", 1, ЮТОбщий.ЗначениеВМассиве(2))); Объект.Добавить(Новый Структура("Первый, Второй", 1, ЮТКоллекции.ЗначениеВМассиве(2)));
ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива") ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива")
.Свойство("[3].Первый").Равно(1) .Свойство("[3].Первый").Равно(1)
.Свойство("[3].Второй[-1]").Равно(2) .Свойство("[3].Второй[-1]").Равно(2)
@ -173,14 +173,14 @@ tags: [Начало, Утверждения]
```bsl ```bsl
ЮТУтверждения.Что(ОМ_ЮТУтверждения) ЮТУтверждения.Что(ОМ_ЮТУтверждения)
.Метод("МетодБезИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение")) .Метод("МетодБезИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение"))
.НеВыбрасываетИсключение() .НеВыбрасываетИсключение()
.НеВыбрасываетИсключение("Ожидаемое исключение"); .НеВыбрасываетИсключение("Ожидаемое исключение");
ЮТУтверждения.Что(ОМ_ЮТУтверждения) ЮТУтверждения.Что(ОМ_ЮТУтверждения)
.Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение", 2)) .Метод("МетодИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение", 2))
.ВыбрасываетИсключение("Слишком много фактических параметров"); .ВыбрасываетИсключение("Слишком много фактических параметров");
ЮТУтверждения.Что(ОМ_ЮТУтверждения) ЮТУтверждения.Что(ОМ_ЮТУтверждения)
.Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение")) .Метод("МетодИсключение", ЮТКоллекции.ЗначениеВМассиве("Исключение"))
.ВыбрасываетИсключение("Исключение"); .ВыбрасываетИсключение("Исключение");
ЮТУтверждения.Что(ОМ_ЮТУтверждения) ЮТУтверждения.Что(ОМ_ЮТУтверждения)
.Метод("МетодБезИсключение") .Метод("МетодБезИсключение")
@ -196,7 +196,7 @@ tags: [Начало, Утверждения]
Объект.Вставить("Число", 1); Объект.Вставить("Число", 1);
Объект.Вставить("Строка", "1"); Объект.Вставить("Строка", "1");
Объект.Вставить("Дата", Дата); Объект.Вставить("Дата", Дата);
Объект.Вставить("Массив", ЮТОбщий.ЗначениеВМассиве(1, "1")); Объект.Вставить("Массив", ЮТКоллекции.ЗначениеВМассиве(1, "1"));
ПроверкаЧисла = ЮТест.Предикат().Реквизит("Число") ПроверкаЧисла = ЮТест.Предикат().Реквизит("Число")
.ИмеетТип(Тип("Число")) .ИмеетТип(Тип("Число"))

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -197,17 +197,17 @@
Параметр8 = "_!%*", Параметр8 = "_!%*",
Параметр9 = "_!%*", Параметр9 = "_!%*",
Параметр10 = "_!%*") Экспорт Параметр10 = "_!%*") Экспорт
Возврат ЮТОбщий.ЗначениеВМассиве(Параметр1, Возврат ЮТКоллекции.ЗначениеВМассиве(Параметр1,
Параметр2, Параметр2,
Параметр3, Параметр3,
Параметр4, Параметр4,
Параметр5, Параметр5,
Параметр6, Параметр6,
Параметр7, Параметр7,
Параметр8, Параметр8,
Параметр9, Параметр9,
Параметр10); Параметр10);
КонецФункции КонецФункции

View File

@ -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>

View File

@ -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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -244,7 +244,7 @@
СтруктураВызоваМетода = ПараметрыПроверки().СтруктураВызоваМетода; СтруктураВызоваМетода = ПараметрыПроверки().СтруктураВызоваМетода;
Объект = СтруктураВызоваМетода.Объект; Объект = СтруктураВызоваМетода.Объект;
ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗнч(Объект)); ПредставлениеТипа = ЮТТипыДанныхСлужебный.ПредставлениеТипа(ТипЗнч(Объект));
Возврат СтрШаблон(" - вызовы метода `%1(%2).%3`,", Объект, ПредставлениеТипа, СтруктураВызоваМетода.ИмяМетода); Возврат СтрШаблон(" - вызовы метода `%1(%2).%3`,", Объект, ПредставлениеТипа, СтруктураВызоваМетода.ИмяМетода);
КонецФункции КонецФункции

View File

@ -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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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); Маска = ОписаниеМаскиПараметра(ТипыУсловий.Предикат, 90);
Маска.Вставить("Предикат", ЮТПредикатыКлиентСервер.НаборПредикатов(Параметр)); Маска.Вставить("Предикат", ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(Параметр));
Условия.Добавить(Маска); Условия.Добавить(Маска);
Иначе Иначе
@ -672,7 +672,7 @@
И Элемент.Ключ.Ссылка = Ссылка И Элемент.Ключ.Ссылка = Ссылка
И Элемент.Значение.Свойство(ИмяМетода); И Элемент.Значение.Свойство(ИмяМетода);
Если ПодходящийЭлемент Тогда Если ПодходящийЭлемент Тогда
ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]); ЮТКоллекции.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@ -700,7 +700,7 @@
ПодходящийЭлемент = ТипЗнч(Элемент.Ключ) = ТипОбъекта ПодходящийЭлемент = ТипЗнч(Элемент.Ключ) = ТипОбъекта
И Элемент.Значение.Свойство(ИмяМетода); И Элемент.Значение.Свойство(ИмяМетода);
Если ПодходящийЭлемент Тогда Если ПодходящийЭлемент Тогда
ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]); ЮТКоллекции.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]);
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;

View File

@ -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>

View File

@ -35,7 +35,7 @@
Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь); Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь);
КонецФункции КонецФункции
@ -49,7 +49,7 @@
// Произвольный - Значение реквизита ссылки // Произвольный - Значение реквизита ссылки
Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина); Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
КонецФункции КонецФункции
@ -65,9 +65,9 @@
// Структура, Неопределено - Содержит все данные записи, включая табличный части // Структура, Неопределено - Содержит все данные записи, включая табличный части
Функция Запись(ИмяТаблицы, Предикат) Экспорт Функция Запись(ИмяТаблицы, Предикат) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*"); ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Истина); Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Истина);
КонецФункции КонецФункции
@ -83,8 +83,8 @@
// Массив из Структура - Найденные записи, включая табличный части // Массив из Структура - Найденные записи, включая табличный части
Функция Записи(ИмяТаблицы, Предикат) Экспорт Функция Записи(ИмяТаблицы, Предикат) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*"); ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь); Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
КонецФункции КонецФункции
@ -102,8 +102,8 @@
// //
Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов); ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь); Возврат ЮТЗапросыСлужебныйВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
КонецФункции КонецФункции
@ -121,9 +121,9 @@
// //
Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита); ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
//@skip-check constructor-function-return-section //@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 @@
КонецЕсли; КонецЕсли;
Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ); Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ);
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*"); ОписаниеЗапроса = ЮТЗапросыСлужебныйКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
ОписаниеЗапроса.Порядок.Добавить("НомерСтроки"); ОписаниеЗапроса.Порядок.Добавить("НомерСтроки");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь); Возврат ЮТЗапросыСлужебныйВызовСервера.Записи(ОписаниеЗапроса, Ложь);
КонецФункции КонецФункции

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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", ПсевдонимТаблицы, ВыражениеПредиката.ИмяРеквизита, Реквизиты.Количество())); Реквизиты.Добавить(СтрШаблон("%1.%2 КАК _%3", ПсевдонимТаблицы, ВыражениеПредиката.ИмяРеквизита, Реквизиты.Количество()));
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@ -337,7 +337,7 @@
Попытка Попытка
Схема.УстановитьТекстЗапроса(СтрШаблон("ВЫБРАТЬ %1 ИЗ %2 КАК %3", СтрСоединить(Реквизиты, ","), ИмяТаблицы, ПсевдонимТаблицы)); Схема.УстановитьТекстЗапроса(СтрШаблон("ВЫБРАТЬ %1 ИЗ %2 КАК %3", СтрСоединить(Реквизиты, ","), ИмяТаблицы, ПсевдонимТаблицы));
Исключение Исключение
ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора. ЮТРегистрацияОшибокСлужебный.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора.
|Возможно имена реквизитов заданы неверно"); |Возможно имена реквизитов заданы неверно");
ВызватьИсключение; ВызватьИсключение;
КонецПопытки; КонецПопытки;
@ -372,7 +372,7 @@
Для Каждого Условие Из Условия Цикл Для Каждого Условие Из Условия Цикл
Если НЕ ЮТПредикатыКлиентСервер.ЭтоПредикат(Условие) Тогда Если НЕ ЮТПредикатыСлужебныйКлиентСервер.ЭтоПредикат(Условие) Тогда
Результат.Добавить(Условие); Результат.Добавить(Условие);
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9115c1c4-e348-46da-820d-e61915f18fde">
<name>ЮТЗапросыВызовСервера</name> <name>ЮТЗапросыСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Запросы вызов сервера</value> <value>Запросы вызов сервера</value>

View File

@ -29,7 +29,7 @@
КонецЕсли; КонецЕсли;
Если ПредикатыУсловия <> Неопределено Тогда Если ПредикатыУсловия <> Неопределено Тогда
Описание.Условия = ЮТПредикатыКлиентСервер.НаборПредикатов(ПредикатыУсловия); Описание.Условия = ЮТПредикатыСлужебныйКлиентСервер.НаборПредикатов(ПредикатыУсловия);
КонецЕсли; КонецЕсли;
Возврат Описание; Возврат Описание;
@ -45,7 +45,7 @@
ТипПараметра = ТипЗнч(ВыбираемыеПоля); ТипПараметра = ТипЗнч(ВыбираемыеПоля);
Если ТипПараметра = Тип("Строка") Тогда Если ТипПараметра = Тип("Строка") Тогда
ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ","); ВыбираемыеПоля = ЮТСтроки.РазделитьСтроку(ВыбираемыеПоля, ",");
ТипПараметра = Тип("Массив"); ТипПараметра = Тип("Массив");
КонецЕсли; КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6dfe96cd-f835-42f2-b5d7-561680929207">
<name>ЮТЗапросыКлиентСервер</name> <name>ЮТЗапросыСлужебныйКлиентСервер</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Запросы клиент сервер</value> <value>Запросы клиент сервер</value>

View File

@ -16,21 +16,45 @@
// //
//©///////////////////////////////////////////////////////////////////////////©// //©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
// Формирует текст исключения о некорректных параметрах вызова метода
//
// Параметры:
// ИмяМетода - Строка
// Пояснение - Строка
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция НекорректныеПараметрыМетода(ИмяМетода, Пояснение = Неопределено) Экспорт Функция НекорректныеПараметрыМетода(ИмяМетода, Пояснение = Неопределено) Экспорт
Сообщение = СтрШаблон("Некорректные параметры метода `%1`"); Сообщение = СтрШаблон("Некорректные параметры метода `%1`");
Возврат ЮТОбщий.ДобавитьСтроку(Сообщение, Пояснение, ", "); Возврат ЮТСтроки.ДобавитьСтроку(Сообщение, Пояснение, ", ");
КонецФункции КонецФункции
// Формирует текст исключения о неподдерживаемом значении параметра вызова метода
//
// Параметры:
// ИмяМетода - Строка
// ЗначениеПараметра - Произвольный
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт
Возврат СтрШаблон("Неподдерживаемый параметр метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра)); Возврат СтрШаблон("Неподдерживаемый параметр метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра));
КонецФункции КонецФункции
// Формирует текст исключения о недоступности метода в указанном контексте
//
// Параметры:
// ИмяМетода - Строка
// ИмяКонтекста - Строка
//
// Возвращаемое значение:
// Строка - Текст исключения
Функция МетодНеДоступен(ИмяМетода, ИмяКонтекста = "веб-клиенте") Экспорт Функция МетодНеДоступен(ИмяМетода, ИмяКонтекста = "веб-клиенте") Экспорт
Возврат СтрШаблон("Метод `%1` не доступен в/на %2", ИмяМетода, ИмяКонтекста); Возврат СтрШаблон("Метод `%1` не доступен в/на %2", ИмяМетода, ИмяКонтекста);

View File

@ -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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -22,14 +22,14 @@
// Выполняет тесты наборов модуля. Возвращает результат прогона // Выполняет тесты наборов модуля. Возвращает результат прогона
// Это обертка для прогона на сервере // Это обертка для прогона на сервере
// Параметры: // Параметры:
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов // Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля // ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов // Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
Функция ВыполнитьГруппуНаборовТестов(Знач Наборы, Знач ТестовыйМодуль) Экспорт Функция ВыполнитьГруппуНаборовТестов(Знач Наборы, Знач ТестовыйМодуль) Экспорт
Возврат ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль); Возврат ЮТИсполнительСлужебныйКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль);
КонецФункции КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="bc8637e0-b62c-49eb-9bea-bd06b7e690ae">
<name>ЮТИсполнительСервер</name> <name>ЮТИсполнительСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Исполнитель тестов (сервер)</value> <value>Исполнитель тестов (сервер)</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@
Процедура ЮТВыполнитьМодульноеТестирование() Экспорт Процедура ЮТВыполнитьМодульноеТестирование() Экспорт
ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование(); ЮТИсполнительСлужебныйКлиент.ВыполнитьМодульноеТестирование();
КонецПроцедуры КонецПроцедуры

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c71e5399-4012-43dd-8025-379f4211a16a">
<name>ЮТИсполнительГлобальный</name> <name>ЮТИсполнительСлужебныйГлобальный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Исполнитель клиент глоб</value> <value>Исполнитель глобальный</value>
</synonym> </synonym>
<global>true</global> <global>true</global>
<clientManagedApplication>true</clientManagedApplication> <clientManagedApplication>true</clientManagedApplication>

View File

@ -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) Тогда Если ЗначениеЗаполнено(ДополнительныеПараметры.ПараметрыЗапуска.reportPath) Тогда
Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры); Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры);
ЮТОтчет.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик); ЮТОтчетСлужебный.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик);
Иначе Иначе
ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры); ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры);
КонецЕсли; КонецЕсли;
@ -218,7 +228,7 @@
Процедура ОбработчикЗавершить(Результат, ДополнительныеПараметры) Экспорт Процедура ОбработчикЗавершить(Результат, ДополнительныеПараметры) Экспорт
Параметры = ДополнительныеПараметры.ПараметрыЗапуска; Параметры = ДополнительныеПараметры.ПараметрыЗапуска;
ЮТКонтекст.УдалитьКонтекст(); ЮТКонтекстСлужебный.УдалитьКонтекст();
Если Параметры.showReport Тогда Если Параметры.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 Тогда Если Тест.Свойство("Ошибки") И Тест.Ошибки.Количество() > 0 Тогда
ИсполняемыйТест.Ошибки = ЮТОбщий.СкопироватьМассив(Тест.Ошибки); ИсполняемыйТест.Ошибки = ЮТКоллекции.СкопироватьМассив(Тест.Ошибки);
КонецЕсли; КонецЕсли;
ИсполняемыйНабор.Тесты.Добавить(ИсполняемыйТест); ИсполняемыйНабор.Тесты.Добавить(ИсполняемыйТест);
@ -353,15 +354,15 @@
КонецФункции КонецФункции
Процедура ОбработатьОшибкиЧтенияНабора(Набор, Модуль) Процедура ОбработатьОшибкиЧтенияНабора(Набор, Модуль)
ТестыНабора = ЮТОбщий.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив()); ТестыНабора = ЮТКоллекции.ЗначениеСтруктуры(Набор, "Тесты", Новый Массив());
Ошибки = ЮТОбщий.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив()); Ошибки = ЮТКоллекции.ЗначениеСтруктуры(Набор, "Ошибки", Новый Массив());
Если Ошибки.Количество() > 0 Тогда Если Ошибки.Количество() > 0 Тогда
Для Каждого Ошибка Из Ошибки Цикл Для Каждого Ошибка Из Ошибки Цикл
Если Ошибка.ТипОшибки = ЮТФабрика.ТипыОшибок().ЧтенияТестов Тогда Если Ошибка.ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ЧтенияТестов Тогда
Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка); Тест = ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка);
ТестыНабора.Добавить(Тест); ТестыНабора.Добавить(Тест);
Прервать; Прервать;
КонецЕсли; КонецЕсли;
КонецЦикла; КонецЦикла;
@ -369,10 +370,10 @@
КонецПроцедуры КонецПроцедуры
Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка) Функция ОписаниеТестаСОшибкойЧтения(Модуль, Ошибка)
Контексты = ЮТФабрика.КонтекстыМодуля(Модуль.МетаданныеМодуля); Контексты = ЮТФабрикаСлужебный.КонтекстыМодуля(Модуль.МетаданныеМодуля);
Тест = ЮТФабрика.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты); Тест = ЮТФабрикаСлужебный.ОписаниеТеста("ИсполняемыеСценарии", "ИсполняемыеСценарии", Контексты);
Тест.Вставить("Ошибки", Новый Массив); Тест.Вставить("Ошибки", Новый Массив);
Тест.Ошибки.Добавить(ЮТОбщий.СкопироватьСтруктуру(Ошибка)); Тест.Ошибки.Добавить(ЮТКоллекции.СкопироватьСтруктуру(Ошибка));
Возврат Тест; Возврат Тест;
КонецФункции КонецФункции
@ -389,7 +390,7 @@
// Записать код возврата. // Записать код возврата.
// //
// Параметры: // Параметры:
// РезультатыТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // РезультатыТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Параметры - см. ЮТФабрика.ПараметрыЗапуска // Параметры - см. ЮТФабрика.ПараметрыЗапуска
Процедура ЗаписатьКодВозврата(РезультатыТестирования, Параметры) Процедура ЗаписатьКодВозврата(РезультатыТестирования, Параметры)
@ -446,7 +447,7 @@
Возврат Результат; Возврат Результат;
КонецЕсли; КонецЕсли;
ТипОшибкиПропущен = ЮТФабрика.ТипыОшибок().Пропущен; ТипОшибкиПропущен = ЮТФабрикаСлужебный.ТипыОшибок().Пропущен;
Для Каждого ОписаниеОшибки Из Тест.Ошибки Цикл Для Каждого ОписаниеОшибки Из Тест.Ошибки Цикл
Если ОписаниеОшибки.ТипОшибки <> ТипОшибкиПропущен Тогда Если ОписаниеОшибки.ТипОшибки <> ТипОшибкиПропущен Тогда
Результат = Истина; Результат = Истина;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="c9bf0e7a-6503-44eb-bef0-b37e1d3c6e22">
<name>ЮТИсполнительКлиент</name> <name>ЮТИсполнительСлужебныйКлиент</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Исполнитель клиент</value> <value>Исполнитель клиент</value>

View File

@ -20,18 +20,18 @@
// Выполняет тесты группы наборов, соответствующих одному режиму выполнения (клиент/сервер) // Выполняет тесты группы наборов, соответствующих одному режиму выполнения (клиент/сервер)
// Параметры: // Параметры:
// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля // Наборы - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Наборы тестов модуля
// ТестовыйМодуль - см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // ТестовыйМодуль - см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении // Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов с заполненной информацией о выполнении
Функция ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль) Экспорт Функция ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль) Экспорт
Если Наборы.Количество() = 0 Тогда Если Наборы.Количество() = 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 @@
Для Каждого Объект Из Объекты Цикл Для Каждого Объект Из Объекты Цикл
ЮТОбщий.ДополнитьМассив(Объект.Ошибки, Ошибки); ЮТКоллекции.ДополнитьМассив(Объект.Ошибки, Ошибки);
Если Объект.Свойство("Статус") Тогда Если Объект.Свойство("Статус") Тогда
Объект.Статус = ЮТФабрика.СтатусыИсполненияТеста().Сломан; Объект.Статус = ЮТФабрика.СтатусыИсполненияТеста().Сломан;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="24d9c1de-23c0-4d03-b2bf-9437c0985453">
<name>ЮТИсполнительКлиентСервер</name> <name>ЮТИсполнительСлужебныйКлиентСервер</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Исполнитель тестов</value> <value>Исполнитель тестов</value>

View 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) Тогда
Возврат Значения;
КонецЕсли;
Возврат Значения;
КонецФункции
// Возвращает соответствие элементов переданной коллекции, в качестве ключей выступают значения указанного поля элементов коллекции.
//
// Параметры:
// Коллекция - Произвольный - значение, для которого определен итератор, и возможно обращение к полям элементов через квадратные скобки.
// ИмяПоляКлюча - Строка - имя поля элемента коллекции, которое будет ключом соответствия.
// ИмяПоляЗначения - Строка - если указан, значениями результата будут не элементы, а значения соответствующих полей элементов коллекции.
// Возвращаемое значение:
// Соответствие Из Произвольный - полученное соответствие.
Функция ВСоответствие(Коллекция, ИмяПоляКлюча, ИмяПоляЗначения = Неопределено) Экспорт
Результат = Новый Соответствие();
Для Каждого ЭлементКоллекции Из Коллекция Цикл
Значение = ?(ИмяПоляЗначения = Неопределено, ЭлементКоллекции, ЭлементКоллекции[ИмяПоляЗначения]);
Результат.Вставить(ЭлементКоллекции[ИмяПоляКлюча], Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
// Возвращает структуру элементов переданной коллекции, в качестве ключей выступают значения указанного поля элементов коллекции.
//
// Параметры:
// Коллекция - Произвольный - значение, для которого определен итератор, и возможно обращение к полям элементов через квадратные скобки.
// ИмяПоляКлюча - Строка - имя поля элемента коллекции, которое будет ключом соответствия.
// ИмяПоляЗначения - Строка - если указан, значениями результата будут не элементы, а значения соответствующих полей элементов коллекции.
// Возвращаемое значение:
// Структура Из Произвольный - полученная структура.
Функция ВСтруктуру(Коллекция, ИмяПоляКлюча, ИмяПоляЗначения = Неопределено) Экспорт
Результат = Новый Структура();
Для Каждого ЭлементКоллекции Из Коллекция Цикл
Значение = ?(ИмяПоляЗначения = Неопределено, ЭлементКоллекции, ЭлементКоллекции[ИмяПоляЗначения]);
Результат.Вставить(ЭлементКоллекции[ИмяПоляКлюча], Значение);
КонецЦикла;
Возврат Результат;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ДобавитьНеПоследнее(Значения, Значение, ФлагОкончания = "_!%*")
Если Значение <> ФлагОкончания Тогда
Значения.Добавить(Значение);
Возврат Истина;
КонецЕсли;
Возврат Ложь;
КонецФункции
#КонецОбласти

View 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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@
Функция ФайлКомпоненты(Знач ИмяМакета, Знач ОперационнаяСистема, Знач Архитектура) Экспорт Функция ФайлКомпоненты(Знач ИмяМакета, Знач ОперационнаяСистема, Знач Архитектура) Экспорт
Данные = ЮТОбщийВызовСервера.Макет(ИмяМакета); Данные = ЮТОбщийСлужебныйВызовСервера.Макет(ИмяМакета);
ЧтениеАрхива = Новый ЧтениеZipФайла(); ЧтениеАрхива = Новый ЧтениеZipФайла();
ЧтениеАрхива.Открыть(Данные.ОткрытьПотокДляЧтения()); ЧтениеАрхива.Открыть(Данные.ОткрытьПотокДляЧтения());

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="20617de9-dab7-4587-a43a-4330e51bbc64">
<name>ЮТКомпонентыВызовСервера</name> <name>ЮТКомпонентыСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Компоненты вызов сервера</value> <value>Компоненты вызов сервера</value>

View File

@ -106,7 +106,7 @@
ОперационнаяСистема = MacOS; ОперационнаяСистема = MacOS;
Архитектура = x64; Архитектура = x64;
Иначе Иначе
ЮТИсполнительКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы"); ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы");
КонецЕсли; КонецЕсли;
ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема; ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема;
@ -118,7 +118,7 @@
Процедура ПрочитатьФайлRegistry(ПараметрыТихойУстановки) Экспорт Процедура ПрочитатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
#Если ВебКлиент Тогда #Если ВебКлиент Тогда
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry")); ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry"));
Возврат; Возврат;
#Иначе #Иначе
ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml"); ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml");
@ -134,7 +134,7 @@
Процедура ЗаписатьФайлRegistry(ПараметрыТихойУстановки) Экспорт Процедура ЗаписатьФайлRegistry(ПараметрыТихойУстановки) Экспорт
#Если ВебКлиент Тогда #Если ВебКлиент Тогда
ЮТИсполнительКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry")); ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки(ЮТИсключения.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry"));
Возврат; Возврат;
#Иначе #Иначе
Если ПараметрыТихойУстановки.ИзмененРеестр Тогда Если ПараметрыТихойУстановки.ИзмененРеестр Тогда
@ -188,7 +188,7 @@
Процедура ТихаяУстановкаВнешнейКомпоненты(Компонента, Параметры) Процедура ТихаяУстановкаВнешнейКомпоненты(Компонента, Параметры)
ДанныеФайла = ЮТКомпонентыВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура); ДанныеФайла = ЮТКомпонентыСлужебныйВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура);
Если ЗаписатьВРеестр(Параметры.ДанныеРеестра, ДанныеФайла.ИмяФайла) Тогда Если ЗаписатьВРеестр(Параметры.ДанныеРеестра, ДанныеФайла.ИмяФайла) Тогда
Параметры.ИзмененРеестр = Истина; Параметры.ИзмененРеестр = Истина;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fde2e089-b73c-4596-b283-959c570ff45d">
<name>ЮТКомпонентыКлиент</name> <name>ЮТКомпонентыСлужебныйКлиент</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Компоненты клиент</value> <value>Компоненты клиент</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -31,7 +31,7 @@
Вариант = Новый Структура(Реквизиты); Вариант = Новый Структура(Реквизиты);
Варианты.КоличествоРеквизитов = Вариант.Количество(); Варианты.КоличествоРеквизитов = Вариант.Количество();
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты); ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), Варианты);
Возврат ЮТКонструкторВариантов; Возврат ЮТКонструкторВариантов;
@ -60,7 +60,7 @@
Параметр7 = Неопределено) Экспорт Параметр7 = Неопределено) Экспорт
// BSLLS:MagicNumber-off // BSLLS:MagicNumber-off
// BSLLS:NumberOfValuesInStructureConstructor-off // BSLLS:NumberOfValuesInStructureConstructor-off
Варианты = ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); Варианты = ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
Если Варианты.КоличествоРеквизитов = 1 Тогда Если Варианты.КоличествоРеквизитов = 1 Тогда
Вариант = Новый Структура(Варианты.Реквизиты, Параметр1); Вариант = Новый Структура(Варианты.Реквизиты, Параметр1);
@ -91,7 +91,7 @@
// Массив из Структура // Массив из Структура
Функция СписокВариантов() Экспорт Функция СписокВариантов() Экспорт
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()).Варианты; Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста()).Варианты;
КонецФункции КонецФункции

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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 @@
КонецЕсли; КонецЕсли;
Если ТипОграничения = Тип("Тип") И ОписаниеТипов.СодержитТип(ОграничениеТипов) И ОграничениеТипов <> Тип("Неопределено") Тогда Если ТипОграничения = Тип("Тип") И ОписаниеТипов.СодержитТип(ОграничениеТипов) И ОграничениеТипов <> Тип("Неопределено") Тогда
Результат = ЮТОбщий.ЗначениеВМассиве(ОграничениеТипов); Результат = ЮТКоллекции.ЗначениеВМассиве(ОграничениеТипов);
ИначеЕсли ТипОграничения = Тип("ОписаниеТипов") Тогда ИначеЕсли ТипОграничения = Тип("ОписаниеТипов") Тогда
Результат = ЮТОбщий.ПересечениеМассивов(ОписаниеТипов.Типы(), ОграничениеТипов.Типы()); Результат = ЮТКоллекции.ПересечениеМассивов(ОписаниеТипов.Типы(), ОграничениеТипов.Типы());
Иначе Иначе
Результат = Неопределено; Результат = Неопределено;
КонецЕсли; КонецЕсли;

View File

@ -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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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 //@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 //@skip-check constructor-function-return-section
Возврат ЮТОбщий.ЗначениеСтруктуры(Объект, Ключи[Ключи.ВГраница()]); Возврат ЮТКоллекции.ЗначениеСтруктуры(Объект, Ключи[Ключи.ВГраница()]);
КонецФункции КонецФункции
@ -101,7 +102,7 @@
#Если НЕ Сервер Тогда #Если НЕ Сервер Тогда
Если УстановитьНаСервер Тогда Если УстановитьНаСервер Тогда
ЮТКонтекстСервер.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение); ЮТКонтекстСлужебныйВызовСервера.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
КонецЕсли; КонецЕсли;
#КонецЕсли #КонецЕсли
@ -165,7 +166,7 @@
// Возвращает служебный контекст, содержит дополнительные детали ошибки теста // Возвращает служебный контекст, содержит дополнительные детали ошибки теста
// //
// Возвращаемое значение: // Возвращаемое значение:
// Неопределено, Структура - Контекст ошибки, см. ЮТФабрика.ОписаниеКонтекстаОшибки // Неопределено, Структура - Контекст ошибки, см. ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки
Функция КонтекстОшибки() Экспорт Функция КонтекстОшибки() Экспорт
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
@ -198,7 +199,7 @@
// КонтекстЧитателя // КонтекстЧитателя
// Возвращает служебный контекста, данные используемые исполнителем тестов // Возвращает служебный контекста, данные используемые исполнителем тестов
// Возвращаемое значение: // Возвращаемое значение:
// см. ЮТФабрика.НовыйКонтекстИсполнения // см. ЮТФабрикаСлужебный.НовыйКонтекстИсполнения
Функция КонтекстИсполнения() Экспорт Функция КонтекстИсполнения() Экспорт
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
@ -210,9 +211,9 @@
// //
// Возвращаемое значение: // Возвращаемое значение:
// - Неопределено // - Неопределено
// - См. ЮТФабрика.ОписаниеТестовогоМодуля // - См. ЮТФабрикаСлужебный.ОписаниеТестовогоМодуля
// - См. ЮТФабрика.ОписаниеИсполняемогоНабораТестов // - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоНабораТестов
// - См. ЮТФабрика.ОписаниеИсполняемогоТеста // - См. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТеста
Функция КонтекстИсполненияТекущегоУровня() Экспорт Функция КонтекстИсполненияТекущегоУровня() Экспорт
Уровни = ЮТФабрика.УровниИсполнения(); Уровни = ЮТФабрика.УровниИсполнения();
@ -262,7 +263,7 @@
Процедура УстановитьКонтекстОшибки() Экспорт Процедура УстановитьКонтекстОшибки() Экспорт
ДанныеОшибки = ЮТФабрика.ОписаниеКонтекстаОшибки(); ДанныеОшибки = ЮТФабрикаСлужебный.ОписаниеКонтекстаОшибки();
УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки); УстановитьЗначениеКонтекста(ИмяКонтекстаОшибки(), ДанныеОшибки);
КонецПроцедуры КонецПроцедуры
@ -318,9 +319,9 @@
Процедура УдалитьКонтекст() Экспорт Процедура УдалитьКонтекст() Экспорт
#Если Клиент Тогда #Если Клиент Тогда
ЮТКонтекстКлиент.УдалитьКонтекст(); ЮТКонтекстСлужебныйКлиент.УдалитьКонтекст();
#КонецЕсли #КонецЕсли
ЮТКонтекстСервер.УдалитьКонтекст(); ЮТКонтекстСлужебныйВызовСервера.УдалитьКонтекст();
КонецПроцедуры КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="63f51e4d-3cf0-4109-b044-988cc723e206">
<name>ЮТКонтекст</name> <name>ЮТКонтекстСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Контекст тестового движка</value> <value>Контекст тестового движка</value>

View File

@ -20,7 +20,7 @@
Процедура ИнициализироватьКонтекст() Экспорт Процедура ИнициализироватьКонтекст() Экспорт
Контекст = ЮТКонтекст.ОписаниеКонтекста(); Контекст = ЮТКонтекстСлужебный.ОписаниеКонтекста();
АдресХранилища = ПоместитьВоВременноеХранилище(Контекст, Новый УникальныйИдентификатор()); АдресХранилища = ПоместитьВоВременноеХранилище(Контекст, Новый УникальныйИдентификатор());
ХранилищеОбщихНастроек.Сохранить(КлючНастроекКонтекста(), "АдресХранилища", АдресХранилища); ХранилищеОбщихНастроек.Сохранить(КлючНастроекКонтекста(), "АдресХранилища", АдресХранилища);
@ -48,13 +48,13 @@
// Значение - Произвольный - Новое значение реквизита/вложенного контекста // Значение - Произвольный - Новое значение реквизита/вложенного контекста
Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение) Экспорт Процедура УстановитьЗначениеКонтекста(Знач ИмяРеквизита, Знач Значение) Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение); ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(ИмяРеквизита, Значение);
КонецПроцедуры КонецПроцедуры
Функция ЗначениеКонтекста(Знач ИмяРеквизита) Экспорт Функция ЗначениеКонтекста(Знач ИмяРеквизита) Экспорт
Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяРеквизита); Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(ИмяРеквизита);
КонецФункции КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="d635e5c4-fe62-4953-8dcc-00d329307dcf">
<name>ЮТКонтекстСервер</name> <name>ЮТКонтекстСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Контекст (сервер)</value> <value>Контекст (сервер)</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@
Процедура ИнициализироватьКонтекст() Экспорт Процедура ИнициализироватьКонтекст() Экспорт
ЮТДанныеКонтекста = ЮТКонтекст.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off ЮТДанныеКонтекста = ЮТКонтекстСлужебный.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off
КонецПроцедуры КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b6fb384e-e98a-47d4-a070-7e4d57a301d2">
<name>ЮТКонтекстКлиент</name> <name>ЮТКонтекстСлужебныйКлиент</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Контекст (клиент)</value> <value>Контекст (клиент)</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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`", Уровень); ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень);
КонецЕсли; КонецЕсли;
@ -98,20 +98,20 @@
// Неопределено, Структура, Произвольный - Текущий контекст // Неопределено, Структура, Произвольный - Текущий контекст
Функция ТекущийКонтекст() Экспорт Функция ТекущийКонтекст() Экспорт
Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень; Уровень = ЮТКонтекстСлужебный.КонтекстИсполнения().Уровень;
Уровни = ЮТФабрика.УровниИсполнения(); Уровни = ЮТФабрика.УровниИсполнения();
Если Уровень = Уровни.Тест Тогда Если Уровень = Уровни.Тест Тогда
Контекст = ЮТКонтекст.КонтекстТеста(); Контекст = ЮТКонтекстСлужебный.КонтекстТеста();
ИначеЕсли Уровень = Уровни.НаборТестов Тогда ИначеЕсли Уровень = Уровни.НаборТестов Тогда
Контекст = ЮТКонтекст.КонтекстНабора(); Контекст = ЮТКонтекстСлужебный.КонтекстНабора();
ИначеЕсли Уровень = Уровни.Модуль Тогда ИначеЕсли Уровень = Уровни.Модуль Тогда
Контекст = ЮТКонтекст.КонтекстМодуля(); Контекст = ЮТКонтекстСлужебный.КонтекстМодуля();
Иначе Иначе

View File

@ -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)", Прогресс, Контекст.КоличествоВыполненныхТестов, Контекст.ОбщееКоличествоТестов);
КонецФункции
#КонецОбласти
#КонецОбласти #КонецОбласти

View 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);
Возврат ДанныеКонтекста;
КонецФункции
#КонецОбласти
#КонецОбласти

View 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="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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -20,7 +20,7 @@
Функция НакопленныеСообщенияЛогирования(Знач Очистить = Ложь) Экспорт Функция НакопленныеСообщенияЛогирования(Знач Очистить = Ложь) Экспорт
Возврат ЮТЛогирование.НакопленныеСообщенияЛогирования(Очистить); Возврат ЮТЛогированиеСлужебный.НакопленныеСообщенияЛогирования(Очистить);
КонецФункции КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="26bf7a99-a09f-44c9-9aad-12eb45a8f186">
<name>ЮТЛогированиеВызовСервера</name> <name>ЮТЛогированиеСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Логирование (вызов сервера)</value> <value>Логирование (вызов сервера)</value>

View File

@ -16,7 +16,7 @@
// //
//©///////////////////////////////////////////////////////////////////////////©// //©///////////////////////////////////////////////////////////////////////////©//
#Область СлужебныйПрограммныйИнтерфейс #Область ПрограммныйИнтерфейс
// Модули подсистемы. // Модули подсистемы.
// Возвращает список модулей подсистемы // Возвращает список модулей подсистемы
@ -29,7 +29,7 @@
// Массив из Строка - Имена модулей входящих в подсистему // Массив из Строка - Имена модулей входящих в подсистему
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные = Истина, Клиентские = Истина) Экспорт Функция МодулиПодсистемы(ИмяПодсистемы, Серверные = Истина, Клиентские = Истина) Экспорт
Возврат ЮТМетаданныеПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские); Возврат ЮТМетаданныеСлужебныйПовтИсп.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
КонецФункции КонецФункции
@ -43,15 +43,12 @@
// - Произвольный - Объект информационной базы // - Произвольный - Объект информационной базы
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Описание менеджера: // см. СтруктураОписанияОбъектаМетаданных
// * ОписаниеТипа - см. ЮТМетаданныеСервер.ОписаниеТипаМетаданных
// * Реквизиты - Структура из см. ЮТФабрика.ОписаниеРеквизита
// * ТабличныеЧасти - Структура из Структура -
Функция ОписаниеОбъектаМетаданных(Знач Значение) Экспорт Функция ОписаниеОбъектаМетаданных(Знач Значение) Экспорт
ТипЗначения = ТипЗнч(Значение); ТипЗначения = ТипЗнч(Значение);
Если ТипЗначения = Тип("Структура") И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда Если ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначения) И ЭтоОписаниеОбъектаМетаданных(Значение) Тогда
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
Возврат Значение; Возврат Значение;
КонецЕсли; КонецЕсли;
@ -72,10 +69,10 @@
Если ТипЗначения = ТипТип Тогда Если ТипЗначения = ТипТип Тогда
ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа); Возврат ЮТМетаданныеСлужебныйПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа);
Иначе Иначе
//@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", ОписаниеОбъектаМетаданных.ОписаниеТипа.ИмяКоллекции, ОписаниеОбъектаМетаданных.Имя); ПолноеИмя = СтрШаблон("%1.%2", ОписаниеОбъектаМетаданных.ОписаниеТипа.ИмяКоллекции, ОписаниеОбъектаМетаданных.Имя);
Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя); Возврат ЮТМетаданныеСлужебныйПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя);
КонецФункции
// Возвращает текущую версию тестового движка (YAxUnit)
//
// Возвращаемое значение:
// Строка - Версия движка
Функция ВерсияДвижка() Экспорт
Возврат ЮТМетаданныеСлужебныйПовтИсп.ВерсияДвижка();
КонецФункции
// Описание типа объекта метаданных.
//
// Возвращаемое значение:
// Структура - Описание типа метаданных:
// * Имя - Строка
// * ИмяКоллекции - Строка
// * Конструктор - Строка
// * Группы - Булево
// * Ссылочный - Булево
// * Регистр - Булево
// * ОбработкаОтчет - Булево
// * СтандартныеРеквизиты - Булево
// * Реквизиты - Булево
// * Измерения - Булево
// * Ресурсы - Булево
// * РеквизитыАдресации - Булево
// * ТабличныеЧасти - Булево
Функция ОписаниеТипаМетаданных() Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", "");
Описание.Вставить("ИмяКоллекции", "");
Описание.Вставить("Конструктор", "");
Описание.Вставить("Группы", Ложь);
Описание.Вставить("Ссылочный", Ложь);
Описание.Вставить("Регистр", Ложь);
Описание.Вставить("ОбработкаОтчет", Ложь);
Описание.Вставить("СтандартныеРеквизиты", Ложь);
Описание.Вставить("Реквизиты", Ложь);
Описание.Вставить("Измерения", Ложь);
Описание.Вставить("Ресурсы", Ложь);
Описание.Вставить("РеквизитыАдресации", Ложь);
Описание.Вставить("ТабличныеЧасти", Ложь);
Возврат Описание;
КонецФункции
// Описание объекта метаданных.
//
// Возвращаемое значение:
// Структура - Описание объекта метаданных:
// * Имя - Строка
// * ОписаниеТипа - см. ОписаниеТипаМетаданных
// * Реквизиты - Структура
// * ТабличныеЧасти - Структура
Функция СтруктураОписанияОбъектаМетаданных() Экспорт
Описание = Новый Структура;
Описание.Вставить("Имя", "");
Описание.Вставить("ОписаниеТипа", Неопределено);
Описание.Вставить("Реквизиты", Новый Структура());
Описание.Вставить("ТабличныеЧасти", Новый Структура());
//@skip-check constructor-function-return-section
Возврат Описание;
КонецФункции
// Описание реквизита объекта метаданных
//
// Возвращаемое значение:
// Структура - Описание реквизита:
// * Имя - Строка
// * Тип - ОписаниеТипов
// * Обязательный - Булево
// * ЭтоКлюч - Булево
Функция ОписаниеРеквизита() Экспорт
Описание = Новый Структура();
Описание.Вставить("Имя", "");
Описание.Вставить("Тип", Новый ОписаниеТипов("Неопределено"));
Описание.Вставить("Обязательный", Ложь);
Описание.Вставить("ЭтоКлюч", Ложь);
Возврат Описание;
КонецФункции КонецФункции

View File

@ -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]); Сообщение = СтрШаблон("Получение описания для '%1' не поддерживается, либо не реализовано", ЧастиИмени[0]);
ВызватьИсключение Сообщение; ВызватьИсключение Сообщение;
КонецЕсли; КонецЕсли;
Описание = ЮТМетаданные.ОписаниеТипаМетаданных();
ЗаполнитьЗначенияСвойств(Описание, Типы[ЧастиИмени[0]]);
//@skip-check constructor-function-return-section
Возврат Новый ФиксированнаяСтруктура(Описание);
КонецФункции КонецФункции
Функция ТипыМетаданных() Экспорт Функция ТипыМетаданных() Экспорт
@ -288,7 +276,7 @@
ОбъектМетаданных = ОбъектМетаданныхИзСтроки(Значение); ОбъектМетаданных = ОбъектМетаданныхИзСтроки(Значение);
ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоСтруктура(ТипЗначение) И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда
ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя]; ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя];
@ -299,7 +287,7 @@
КонецЕсли; КонецЕсли;
Если ОбъектМетаданных = Неопределено Тогда Если ОбъектМетаданных = Неопределено Тогда
Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСервер.ОбъектМетаданных", Значение); Сообщение = ЮТИсключения.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСлужебныйВызовСервера.ОбъектМетаданных", Значение);
ВызватьИсключение Сообщение; ВызватьИсключение Сообщение;
КонецЕсли; КонецЕсли;
@ -342,10 +330,28 @@
ЭтоКлюч = ИменаКлючевыхПолей.Найти(Реквизит.Имя) <> Неопределено; ЭтоКлюч = ИменаКлючевыхПолей.Найти(Реквизит.Имя) <> Неопределено;
КонецЕсли; КонецЕсли;
КоллекцияОписаний.Вставить(Реквизит.Имя, ЮТФабрика.ОписаниеРеквизита(Реквизит, ЭтоКлюч)); КоллекцияОписаний.Вставить(Реквизит.Имя, НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч));
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
Функция НовоеОписаниеРеквизита(Реквизит, ЭтоКлюч)
Описание = ЮТМетаданные.ОписаниеРеквизита();
Описание.Имя = Реквизит.Имя;
Описание.Тип = Реквизит.Тип;
Описание.Обязательный = Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку;
Описание.ЭтоКлюч = ЭтоКлюч;
Возврат Описание;
КонецФункции
Функция ВерсияДвижка() Экспорт
Возврат Метаданные.ОбщиеМодули.ЮТМетаданныеСлужебныйВызовСервера.РасширениеКонфигурации().Версия;
КонецФункции
#КонецОбласти #КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="42510142-f01c-4ab2-b615-8970bdcc7a1b">
<name>ЮТМетаданныеСервер</name> <name>ЮТМетаданныеСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Метаданные (сервер)</value> <value>Метаданные (сервер)</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -20,45 +20,51 @@
Функция МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские) Экспорт Функция МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские) Экспорт
Возврат ЮТМетаданныеСервер.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские); Возврат ЮТМетаданныеСлужебныйВызовСервера.МодулиПодсистемы(ИмяПодсистемы, Серверные, Клиентские);
КонецФункции КонецФункции
Функция ОписаниеОбъектаМетаданных(Знач Менеджер) Экспорт Функция ОписаниеОбъектаМетаданных(Знач Менеджер) Экспорт
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Менеджер); Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Менеджер);
КонецФункции КонецФункции
Функция ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(Знач ИдентификаторТипа) Экспорт Функция ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(Знач ИдентификаторТипа) Экспорт
Тип = ЮТТипыДанныхСлужебный.ТипПоИдентификатору(ИдентификаторТипа); Тип = ЮТТипыДанныхСлужебный.ТипПоИдентификатору(ИдентификаторТипа);
Возврат ЮТМетаданныеСервер.ОписаниеОбъектаМетаданных(Тип); Возврат ЮТМетаданныеСлужебныйВызовСервера.ОписаниеОбъектаМетаданных(Тип);
КонецФункции КонецФункции
Функция ТипыМетаданных() Экспорт Функция ТипыМетаданных() Экспорт
Возврат ЮТМетаданныеСервер.ТипыМетаданных(); Возврат ЮТМетаданныеСлужебныйВызовСервера.ТипыМетаданных();
КонецФункции КонецФункции
Функция РазрешеныСинхронныеВызовы() Экспорт Функция РазрешеныСинхронныеВызовы() Экспорт
Возврат ЮТМетаданныеСервер.РазрешеныСинхронныеВызовы(); Возврат ЮТМетаданныеСлужебныйВызовСервера.РазрешеныСинхронныеВызовы();
КонецФункции КонецФункции
Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт
Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ПолноеИмя); Возврат ЮТМетаданныеСлужебныйВызовСервера.РегистрыДвиженийДокумента(ПолноеИмя);
КонецФункции КонецФункции
Функция ВариантВстроенногоЯзыка() Экспорт Функция ВариантВстроенногоЯзыка() Экспорт
Возврат ЮТМетаданныеСервер.ВариантВстроенногоЯзыка(); Возврат ЮТМетаданныеСлужебныйВызовСервера.ВариантВстроенногоЯзыка();
КонецФункции КонецФункции
Функция ВерсияДвижка() Экспорт
Возврат ЮТМетаданныеСлужебныйВызовСервера.ВерсияДвижка();
КонецФункции
#КонецОбласти #КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="8158c080-39e9-4597-a230-b009ae6abbb4">
<name>ЮТМетаданныеПовтИсп</name> <name>ЮТМетаданныеСлужебныйПовтИсп</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Метаданные (повторного использования)</value> <value>Метаданные (повторного использования)</value>

View 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]", ИмяПеременнойСПараметрами, Инд));
КонецЕсли;
КонецЦикла;
Возврат СтрСоединить(СписокПараметров, ", ");
КонецФункции
#КонецОбласти

View 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="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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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

View File

@ -106,13 +106,13 @@
Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "English"; Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "English";
КонецФункции КонецФункции
Функция ЭтоРусскийВстроенныйЯзык() Экспорт Функция ЭтоРусскийВстроенныйЯзык() Экспорт
Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "Русский"; Возврат ЮТМетаданныеСлужебныйПовтИсп.ВариантВстроенногоЯзыка() = "Русский";
КонецФункции КонецФункции

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b201e731-51e5-44cd-808a-b51b4fed556f">
<name>ЮТОбщийВызовСервера</name> <name>ЮТОбщийСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Общий (вызов сервера)</value> <value>Общий (вызов сервера)</value>

View File

@ -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>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета(); Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("allure", "Allure 2 (json)"); ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("allure", "Allure 2 (json)");
ОписаниеФормата.ЗаписьВКаталог = Истина; ОписаниеФормата.ЗаписьВКаталог = Истина;
ОписаниеФормата.СамостоятельнаяЗаписьОтчета = Истина; ОписаниеФормата.СамостоятельнаяЗаписьОтчета = Истина;
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата); Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
@ -130,8 +130,8 @@
Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл
Описание.statusDetails.message = ЮТОбщий.ДобавитьСтроку(Описание.statusDetails.message, ОписаниеОшибки.Сообщение, Символы.ПС); Описание.statusDetails.message = ЮТСтроки.ДобавитьСтроку(Описание.statusDetails.message, ОписаниеОшибки.Сообщение, Символы.ПС);
Описание.statusDetails.trace = ЮТОбщий.ДобавитьСтроку(Описание.statusDetails.trace, ОписаниеОшибки.Стек, Символы.ПС); Описание.statusDetails.trace = ЮТСтроки.ДобавитьСтроку(Описание.statusDetails.trace, ОписаниеОшибки.Стек, Символы.ПС);
КонецЦикла; КонецЦикла;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <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> <synonym>
<key>ru</key> <key>ru</key>
<value>Отчет allure</value> <value>Отчет allure</value>

View File

@ -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>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета(); Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json"); ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("dumpjson", "Дамп результата тестирования в json");
ОписаниеФормата.ИмяФайлаПоУмолчанию = "report.json"; ОписаниеФормата.ИмяФайлаПоУмолчанию = "report.json";
ОписаниеФормата.ФильтрВыбораФайла = "Дамп результата тестирования (*.json)|*.json"; ОписаниеФормата.ФильтрВыбораФайла = "Дамп результата тестирования (*.json)|*.json";
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата); Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
@ -34,8 +34,8 @@
// Формирует отчет в формате JSON // Формирует отчет в формате JSON
// //
// Параметры: // Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета // Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
// Возвращаемое значение: // Возвращаемое значение:
// ДвоичныеДанные - Данные отчета // ДвоичныеДанные - Данные отчета
Функция ДанныеОтчета(РезультатВыполнения, Формат) Экспорт Функция ДанныеОтчета(РезультатВыполнения, Формат) Экспорт

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <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> <synonym>
<key>ru</key> <key>ru</key>
<value>Отчет JSON</value> <value>Отчет JSON</value>

View File

@ -20,9 +20,9 @@
Функция ПараметрыГенерацииОтчета() Экспорт Функция ПараметрыГенерацииОтчета() Экспорт
Параметры = ЮТФабрика.ПараметрыГенератораОтчета(); Параметры = ЮТФабрикаСлужебный.ПараметрыГенератораОтчета();
ОписаниеФормата = ЮТФабрика.ОписаниеФорматаОтчета("jUnit", "JUnit"); ОписаниеФормата = ЮТФабрикаСлужебный.ОписаниеФорматаОтчета("jUnit", "JUnit");
ОписаниеФормата.ИмяФайлаПоУмолчанию = "junit.xml"; ОписаниеФормата.ИмяФайлаПоУмолчанию = "junit.xml";
ОписаниеФормата.ФильтрВыбораФайла = "jUnit(*.xml)|*.xml"; ОписаниеФормата.ФильтрВыбораФайла = "jUnit(*.xml)|*.xml";
Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата); Параметры.Форматы.Вставить(ОписаниеФормата.Идентификатор, ОписаниеФормата);
@ -34,8 +34,8 @@
// Формирует отчет в формате jUnit // Формирует отчет в формате jUnit
// //
// Параметры: // Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Формат - см. ЮТФабрика.ОписаниеФорматаОтчета // Формат - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
// //
// Возвращаемое значение: // Возвращаемое значение:
// ДвоичныеДанные - Данные отчета // ДвоичныеДанные - Данные отчета
@ -53,7 +53,7 @@
// Формирует отчет (xml-файл) и возвращает его в виде двоичных данных // Формирует отчет (xml-файл) и возвращает его в виде двоичных данных
// //
// Параметры: // Параметры:
// РезультатТестирования - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // РезультатТестирования - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// Возвращаемое значение: // Возвращаемое значение:
// ДвоичныеДанные - полученный отчет // ДвоичныеДанные - полученный отчет
Функция СформироватьОтчетОТестировании(РезультатТестирования) Функция СформироватьОтчетОТестировании(РезультатТестирования)
@ -104,7 +104,7 @@
Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл Для Каждого ОписаниеОшибки Из РезультатТеста.Ошибки Цикл
Статус = ЮТРегистрацияОшибок.СтатусОшибки(ОписаниеОшибки.ТипОшибки); Статус = ЮТРегистрацияОшибокСлужебный.СтатусОшибки(ОписаниеОшибки.ТипОшибки);
ИмяУзла = Неопределено; ИмяУзла = Неопределено;
ЗаписатьЗначения = Ложь; ЗаписатьЗначения = Ложь;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <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> <synonym>
<key>ru</key> <key>ru</key>
<value>Отчет jUnit</value> <value>Отчет jUnit</value>

View File

@ -21,7 +21,7 @@
// СформироватьОтчет // СформироватьОтчет
// Формирует отчет о результатах тестирования по заданным параметрам // Формирует отчет о результатах тестирования по заданным параметрам
// Параметры: // Параметры:
// РезультатВыполнения - Массив из см. ЮТФабрика.ОписаниеИсполняемогоТестовогоМодуля // РезультатВыполнения - Массив из см. ЮТФабрикаСлужебный.ОписаниеИсполняемогоТестовогоМодуля
// ПараметрыЗапуска - Структура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска // ПараметрыЗапуска - Структура - Параметры запуска, см. ЮТФабрика.ПараметрыЗапуска
// Обработчик - ОписаниеОповещения // Обработчик - ОписаниеОповещения
Процедура СформироватьОтчет(РезультатВыполнения, ПараметрыЗапуска, Обработчик) Экспорт Процедура СформироватьОтчет(РезультатВыполнения, ПараметрыЗапуска, Обработчик) Экспорт
@ -56,16 +56,16 @@
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Поддерживаемые форматы отчетов // Структура - Поддерживаемые форматы отчетов
// + Ключ - Идентификатор формата // + Ключ - Идентификатор формата
// + Значение - см. ЮТФабрика.ОписаниеФорматаОтчета // + Значение - см. ЮТФабрикаСлужебный.ОписаниеФорматаОтчета
Функция ПоддерживаемыеФорматыОтчетов() Экспорт Функция ПоддерживаемыеФорматыОтчетов() Экспорт
Модули = ЮТРасширения.ГенераторыОтчетов(); Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
Форматы = Новый Структура; Форматы = Новый Структура;
Для Каждого Модуль Из Модули Цикл Для Каждого Модуль Из Модули Цикл
Параметры = Модуль.ПараметрыГенерацииОтчета(); Параметры = Модуль.ПараметрыГенерацииОтчета();
ЮТОбщий.ОбъединитьВСтруктуру(Форматы, Параметры.Форматы); ЮТКоллекции.ДополнитьСтруктуру(Форматы, Параметры.Форматы);
КонецЦикла; КонецЦикла;
@ -106,7 +106,7 @@
Функция МодульФормирования(Формат) Функция МодульФормирования(Формат)
Модули = ЮТРасширения.ГенераторыОтчетов(); Модули = ЮТРасширенияСлужебный.ГенераторыОтчетов();
Для Каждого Модуль Из Модули Цикл Для Каждого Модуль Из Модули Цикл

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="335b2e32-96e1-49dd-ace4-5b2eb8478c12">
<name>ЮТОтчет</name> <name>ЮТОтчетСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Отчет</value> <value>Отчет</value>

View File

@ -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>

View File

@ -34,7 +34,7 @@
Исключение Исключение
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска"); ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуИнициализацииДвижка(ИнформацияОбОшибке(), "Ошибка чтения параметров запуска");
Параметры = ЮТФабрика.ПараметрыЗапуска(); Параметры = ЮТФабрика.ПараметрыЗапуска();
КонецПопытки; КонецПопытки;
@ -73,7 +73,7 @@
Возврат Параметры; Возврат Параметры;
КонецЕсли; КонецЕсли;
ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";"); ПарыКлючЗначение = ЮТСтроки.РазделитьСтроку(ПараметрыЗапускаСтрокой, ";");
ПараметрыЗапуска = Новый Структура; ПараметрыЗапуска = Новый Структура;
@ -83,7 +83,7 @@
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "="); КлючЗначение = ЮТСтроки.РазделитьСтроку(Пара, "=");
Если КлючЗначение.Количество() = 1 Тогда Если КлючЗначение.Количество() = 1 Тогда
ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина); ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина);
@ -93,7 +93,7 @@
КонецЦикла; КонецЦикла;
ЗначениеКлючаЗапуска = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска, КлючЗапуска(), Ложь); ЗначениеКлючаЗапуска = ЮТКоллекции.ЗначениеСтруктуры(ПараметрыЗапуска, КлючЗапуска(), Ложь);
Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда Если ТипЗнч(ЗначениеКлючаЗапуска) = Тип("Булево") Тогда

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a0e947cd-ee15-4ae9-bf95-21ed64042227">
<name>ЮТПараметрыЗапуска</name> <name>ЮТПараметрыЗапускаСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Параметры</value> <value>Параметры</value>

View File

@ -196,7 +196,7 @@
Возврат Пол; Возврат Пол;
КонецЕсли; КонецЕсли;
Варианты = ЮТОбщий.ВыгрузитьЗначения(ПолЧеловека(), "Значение"); Варианты = ЮТКоллекции.ВыгрузитьЗначения(ПолЧеловека(), "Значение");
Возврат ЮТТестовыеДанные.СлучайноеЗначениеИзСписка(Варианты); Возврат ЮТТестовыеДанные.СлучайноеЗначениеИзСписка(Варианты);
КонецФункции КонецФункции

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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 //@skip-check constructor-function-return-section
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
КонецФункции КонецФункции
// Инициализирует подражатель // Инициализирует подражатель
@ -58,7 +58,7 @@
// ОбщийМодуль - Этот модуль для замыкания // ОбщийМодуль - Этот модуль для замыкания
Функция Инициализировать() Экспорт Функция Инициализировать() Экспорт
Если Контекст() = Неопределено Тогда Если Контекст() = Неопределено Тогда
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст()); ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
КонецЕсли; КонецЕсли;
Возврат ЮТПодражатель; Возврат ЮТПодражатель;
КонецФункции КонецФункции

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1e6f3296-03af-4bd2-b52a-d89f576e7166">
<name>ЮТПодражательВызовСервера</name> <name>ЮТПодражательСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Подражатель вызов сервера</value> <value>Подражатель вызов сервера</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -29,7 +29,7 @@
// ФиксированныйМассив из Строка // ФиксированныйМассив из Строка
Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации) Экспорт Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации) Экспорт
Кодификатор = КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации); Кодификатор = КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации);
Возврат Новый ФиксированныйМассив(ЮТПодражательВызовСервера.ДанныеСловаря(Кодификатор)); Возврат Новый ФиксированныйМассив(ЮТПодражательСлужебныйВызовСервера.ДанныеСловаря(Кодификатор));
КонецФункции КонецФункции
#КонецОбласти #КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="6974dbbd-182e-43c6-94e3-e19696766e0f">
<name>ЮТПодражательПовтИсп</name> <name>ЮТПодражательСлужебныйПовтИсп</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Подражатель повт исп</value> <value>Подражатель повт исп</value>

View File

@ -306,7 +306,7 @@
// Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов // Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов
Функция Получить() Экспорт Функция Получить() Экспорт
Возврат ЮТОбщий.СкопироватьМассив(Контекст().Предикаты); Возврат ЮТКоллекции.СкопироватьМассив(Контекст().Предикаты);
КонецФункции КонецФункции
@ -325,7 +325,7 @@
// ОбщийМодуль - Этот модуль для замыкания // ОбщийМодуль - Этот модуль для замыкания
Функция Инициализировать(Условия = Неопределено) Экспорт Функция Инициализировать(Условия = Неопределено) Экспорт
ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст()); ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст());
Если ЗначениеЗаполнено(Условия) Тогда Если ЗначениеЗаполнено(Условия) Тогда
Для Каждого Элемент Из Условия Цикл Для Каждого Элемент Из Условия Цикл
@ -370,7 +370,7 @@
Функция Контекст() Функция Контекст()
//@skip-check constructor-function-return-section //@skip-check constructor-function-return-section
Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста(КлючКонтекста());
КонецФункции КонецФункции

View File

@ -19,19 +19,19 @@
#Область СлужебныйПрограммныйИнтерфейс #Область СлужебныйПрограммныйИнтерфейс
// Проверить предикат. // Проверить предикат.
// //
// Параметры: // Параметры:
// Значение - Произвольный // Значение - Произвольный
// Предикаты - Массив Из см. ЮТФабрика.ВыражениеПредиката // Предикаты - Массив Из см. ЮТФабрика.ВыражениеПредиката
// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке // ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке
// ПараметрыСравнения - Неопределено // ПараметрыСравнения - Неопределено
// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры // - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры
// //
// Возвращаемое значение: // Возвращаемое значение:
// см. ЮТФабрика.ОписаниеРезультатаПроверки // см. ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки
Функция ПроверитьПредикаты(Знач Значение, Знач Предикаты, Знач ПараметрыСообщенийОбОшибке = Неопределено, ПараметрыСравнения = Неопределено) Экспорт Функция ПроверитьПредикаты(Знач Значение, Знач Предикаты, Знач ПараметрыСообщенийОбОшибке = Неопределено, ПараметрыСравнения = Неопределено) Экспорт
Результат = ЮТФабрика.ОписаниеРезультатаПроверки(); Результат = ЮТФабрикаСлужебный.ОписаниеРезультатаПроверки();
Если ПараметрыСообщенийОбОшибке = Неопределено Тогда Если ПараметрыСообщенийОбОшибке = Неопределено Тогда
ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(); ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке();
@ -40,7 +40,7 @@
Предикаты = НаборПредикатов(Предикаты); Предикаты = НаборПредикатов(Предикаты);
Для Каждого Выражение Из Предикаты Цикл Для Каждого Выражение Из Предикаты Цикл
ЮТСравнениеКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); ЮТСравнениеСлужебныйКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения);
Если НЕ Результат.Успешно Тогда Если НЕ Результат.Успешно Тогда
Прервать; Прервать;
КонецЕсли; КонецЕсли;
@ -52,12 +52,12 @@
КонецФункции КонецФункции
// Набор предикатов. // Набор предикатов.
// //
// Параметры: // Параметры:
// Предикаты - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор утверждений. см. ЮТест.Предикат // Предикаты - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор утверждений. см. ЮТест.Предикат
// - см. ЮТФабрика.ВыражениеПредиката // - см. ЮТФабрика.ВыражениеПредиката
// - CommonModule.ЮТПредикаты - Модуль настройки предикатов, см. ЮТест.Предикат // - CommonModule.ЮТПредикаты - Модуль настройки предикатов, см. ЮТест.Предикат
// //
// Возвращаемое значение: // Возвращаемое значение:
// Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов // Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов
Функция НаборПредикатов(Знач Предикаты) Экспорт Функция НаборПредикатов(Знач Предикаты) Экспорт
@ -69,7 +69,7 @@
ИначеЕсли ЭтоПредикатМассив(ТипПараметра, Предикаты) Тогда ИначеЕсли ЭтоПредикатМассив(ТипПараметра, Предикаты) Тогда
Результат = Предикаты; Результат = Предикаты;
ИначеЕсли ЭтоПредикатСтруктура(ТипПараметра, Предикаты) Тогда ИначеЕсли ЭтоПредикатСтруктура(ТипПараметра, Предикаты) Тогда
Результат = ЮТОбщий.ЗначениеВМассиве(Предикаты); Результат = ЮТКоллекции.ЗначениеВМассиве(Предикаты);
Иначе Иначе
ВызватьИсключение ЮТИсключения.НекорректныеПараметрыМетода("ЮТПредикатыКлиентСервер.НаборПредикатов"); ВызватьИсключение ЮТИсключения.НекорректныеПараметрыМетода("ЮТПредикатыКлиентСервер.НаборПредикатов");
КонецЕсли; КонецЕсли;
@ -79,10 +79,10 @@
КонецФункции КонецФункции
// Это предикат // Это предикат
// //
// Параметры: // Параметры:
// Предикаты - Произвольный - значение, для которого будет определено является ли оно предикатом или нет // Предикаты - Произвольный - значение, для которого будет определено является ли оно предикатом или нет
// //
// Возвращаемое значение: // Возвращаемое значение:
// Булево // Булево
Функция ЭтоПредикат(Предикаты) Экспорт Функция ЭтоПредикат(Предикаты) Экспорт
@ -90,8 +90,8 @@
ТипПараметра = ТипЗнч(Предикаты); ТипПараметра = ТипЗнч(Предикаты);
Возврат ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты) Возврат ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты)
Или ЭтоПредикатМассив(ТипПараметра, Предикаты) ИЛИ ЭтоПредикатМассив(ТипПараметра, Предикаты)
Или ЭтоПредикатСтруктура(ТипПараметра, Предикаты); ИЛИ ЭтоПредикатСтруктура(ТипПараметра, Предикаты);
КонецФункции КонецФункции
@ -167,12 +167,12 @@
КонецФункции КонецФункции
// Параметры сообщений об ошибке. // Параметры сообщений об ошибке.
// //
// Параметры: // Параметры:
// ОписаниеПроверки - Строка - Описание конкретной проверки // ОписаниеПроверки - Строка - Описание конкретной проверки
// ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения // ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения
// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения // ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения
// //
// Возвращаемое значение: // Возвращаемое значение:
// Структура - Параметры сообщений об ошибке: // Структура - Параметры сообщений об ошибке:
// * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки // * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки
@ -203,8 +203,8 @@
ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " "; ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " ";
КонецЕсли; КонецЕсли;
Выражение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон( Выражение = ЮТСообщенияСлужебный.ПодставитьПредставлениеЗначенияВШаблон(ШаблонВыражения(ВыражениеПредиката.ВидСравнения),
ШаблонВыражения(ВыражениеПредиката.ВидСравнения), ВыражениеПредиката.Значение); ВыражениеПредиката.Значение);
Возврат СтрШаблон("%1%2", ПроверяемоеЗначение, Выражение); Возврат СтрШаблон("%1%2", ПроверяемоеЗначение, Выражение);

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="5b901b35-80b5-4dfc-87f9-dfb014f682be">
<name>ЮТПредикатыКлиентСервер</name> <name>ЮТПредикатыСлужебныйКлиентСервер</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Предикаты клиент сервер</value> <value>Предикаты клиент сервер</value>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3183c284-253d-4826-9b75-d540f433c4c1">
<name>ЮТПреобразования</name> <name>ЮТПреобразованияСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Преобразования</value> <value>Преобразования</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="046f36ab-7601-4cea-9e2a-275c438cba47">
<name>ЮТРасширения</name> <name>ЮТРасширенияСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Расширения функциональности</value> <value>Расширения функциональности</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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, "ЧГ=0") + "
|" + ИнформациюОбОшибкеВСтроку(Ошибка.Причина, НомерПричины + 1); |" + ИнформациюОбОшибкеВСтроку(Ошибка.Причина, НомерПричины + 1);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Возврат ТекстОшибки; Возврат ТекстОшибки;
КонецФункции КонецФункции
@ -568,14 +568,14 @@
Процедура ДобавитьСообщенияПользователю(ДанныеОшибки) Процедура ДобавитьСообщенияПользователю(ДанныеОшибки)
#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда
Сообщения = ЮТОбщий.ВыгрузитьЗначения(ПолучитьСообщенияПользователю(Истина), "Текст"); Сообщения = ЮТКоллекции.ВыгрузитьЗначения(ПолучитьСообщенияПользователю(Истина), "Текст");
Если Сообщения.Количество() Тогда Если Сообщения.Количество() Тогда
ДанныеОшибки.Стек = СтрШаблон("%1 ДанныеОшибки.Стек = СтрШаблон("%1
|Сообщения пользователю: |Сообщения пользователю:
| %2", ДанныеОшибки.Стек, СтрСоединить(Сообщения, Символы.ПС)); | %2", ДанныеОшибки.Стек, СтрСоединить(Сообщения, Символы.ПС));
КонецЕсли; КонецЕсли;
#КонецЕсли #КонецЕсли
КонецПроцедуры КонецПроцедуры
Процедура ВызватьОшибкуИсполнения(Знач ИнформацияОбОшибке, ОписаниеПроверки) Процедура ВызватьОшибкуИсполнения(Знач ИнформацияОбОшибке, ОписаниеПроверки)

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b3a750a1-8a8c-4b01-8968-ad88af6839de">
<name>ЮТРегистрацияОшибок</name> <name>ЮТРегистрацияОшибокСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Регистрация ошибок</value> <value>Регистрация ошибок</value>

View File

@ -20,25 +20,25 @@
Функция АдресСерверногоКонтекста() Экспорт Функция АдресСерверногоКонтекста() Экспорт
Возврат ЮТКонтекстСервер.АдресСерверногоКонтекста(Ложь); Возврат ЮТКонтекстСлужебныйВызовСервера.АдресСерверногоКонтекста(Ложь);
КонецФункции КонецФункции
Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров = 0) Экспорт Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода) Экспорт
Возврат ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров, Ложь); Возврат ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, Ложь);
КонецФункции КонецФункции
Функция ПараметрыТиповОшибок() Экспорт Функция ПараметрыТиповОшибок() Экспорт
Возврат ЮТФабрика.ПараметрыТиповОшибок(Ложь); Возврат ЮТФабрикаСлужебный.ПараметрыТиповОшибок(Ложь);
КонецФункции КонецФункции
Функция ОписаниеТиповЛюбаяСсылка() Экспорт Функция ОписаниеТиповЛюбаяСсылка() Экспорт
Возврат ЮТОбщийВызовСервера.ОписаниеТиповЛюбаяСсылка(); Возврат ЮТОбщийСлужебныйВызовСервера.ОписаниеТиповЛюбаяСсылка();
КонецФункции КонецФункции

View File

@ -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 И ОбработчикСобытияПереопределен(ИмяСобытия)); ПропуститьОбработчикТестовогоМодуля = (ы > 0 И ОбработчикСобытияПереопределен(ИмяСобытия));
Если ПропуститьОбработчикТестовогоМодуля Тогда Если ПропуститьОбработчикТестовогоМодуля Тогда
Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия); Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия);
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры); Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки); ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки);
@ -246,7 +246,7 @@
Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия) Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия)
Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия); Параметры = ЮТКоллекции.ЗначениеВМассиве(ОписаниеСобытия);
Если ЭтоСобытиеПеред(ИмяСобытия) Тогда Если ЭтоСобытиеПеред(ИмяСобытия) Тогда
Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры); Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры);
@ -264,11 +264,11 @@
Ошибки = Новый Массив(); Ошибки = Новый Массив();
Для Каждого ИмяМодуля Из ЮТРасширения.ОбработчикиСобытий() Цикл Для Каждого ИмяМодуля Из ЮТРасширенияСлужебный.ОбработчикиСобытий() Цикл
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда Если ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия); ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия);
Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия); Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия);
Если Ошибка <> Неопределено Тогда Если Ошибка <> Неопределено Тогда
Ошибки.Добавить(Ошибка); Ошибки.Добавить(Ошибка);
@ -282,11 +282,11 @@
КонецФункции КонецФункции
// Вызвать обработчик модуля. // Вызвать обработчик модуля.
// //
// Параметры: // Параметры:
// ИмяСобытия - Строка - Имя вызываемого метода обработки события // ИмяСобытия - Строка - Имя вызываемого метода обработки события
// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов // ОписаниеСобытия - см. ЮТФабрикаСлужебный.ОписаниеСобытияИсполненияТестов
// //
Процедура ВызватьОбработчикТестовогоМодуля(Знач ИмяСобытия, ОписаниеСобытия) Процедура ВызватьОбработчикТестовогоМодуля(Знач ИмяСобытия, ОписаниеСобытия)
ОбработчикСобытияПереопределен = ОбработчикСобытияПереопределен(ИмяСобытия); ОбработчикСобытияПереопределен = ОбработчикСобытияПереопределен(ИмяСобытия);
@ -298,15 +298,15 @@
ЧастиКоманды = СтрРазделить(ИмяСобытия, "."); ЧастиКоманды = СтрРазделить(ИмяСобытия, ".");
Если ЧастиКоманды.Количество() = 2 Тогда Если ЧастиКоманды.Количество() = 2 Тогда
ИмяМодуля = ЧастиКоманды[0]; ИмяМодуля = ЧастиКоманды[0];
ИмяСобытия = ЧастиКоманды[1]; ИмяСобытия = ЧастиКоманды[1];
КонецЕсли; КонецЕсли;
Ошибки = Новый Массив(); Ошибки = Новый Массив();
Команда = СтрШаблон("%1.%2()", ИмяМодуля, ИмяСобытия); Команда = СтрШаблон("%1.%2()", ИмяМодуля, ИмяСобытия);
Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда Если ЮТМетодыСлужебный.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда
Ошибка = ЮТОбщий.ВыполнитьМетод(Команда); Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(Команда);
Если Ошибка <> Неопределено Тогда Если Ошибка <> Неопределено Тогда
Ошибки.Добавить(Ошибка); Ошибки.Добавить(Ошибка);
@ -326,7 +326,7 @@
Процедура ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки) Процедура ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки)
Для Каждого Ошибка Из Ошибки Цикл Для Каждого Ошибка Из Ошибки Цикл
ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка); ЮТРегистрацияОшибокСлужебный.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ca6c9c95-667f-46b9-bed3-5d59df601a1c">
<name>ЮТСобытия</name> <name>ЮТСобытияСлужебный</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Генератор событий</value> <value>Генератор событий</value>

View File

@ -21,7 +21,7 @@
// Форматированный текст ошибки утверждения. // Форматированный текст ошибки утверждения.
// //
// Параметры: // Параметры:
// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки // ОписаниеПроверки - см. ЮТФабрикаСлужебный.ОписаниеПроверки
// ТекстОжидания - Строка - Описание ожидания // ТекстОжидания - Строка - Описание ожидания
// ОбъектПроверки - Строка - Объект проверки // ОбъектПроверки - Строка - Объект проверки
// //
@ -65,7 +65,7 @@
// Строка - Сообщение об ошибке события // Строка - Сообщение об ошибке события
Функция СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка) Экспорт Функция СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка) Экспорт
ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия; ТипОшибки = ЮТФабрикаСлужебный.ТипыОшибок().ОшибкаОбработкиСобытия;
Возврат СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, КраткоеСообщениеОшибки(Ошибка)); Возврат СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, КраткоеСообщениеОшибки(Ошибка));
КонецФункции КонецФункции
@ -80,7 +80,6 @@
КонецФункции КонецФункции
// Формирует строковое представление значения. Для значений, преобразуемых в пустые строки, добавляет описание типа. // Формирует строковое представление значения. Для значений, преобразуемых в пустые строки, добавляет описание типа.
// //
// Параметры: // Параметры:

View File

@ -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>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License. // you may not use this file except in compliance with the License.
@ -35,7 +35,7 @@
Индекс = Данные1.Количество() - 1; Индекс = Данные1.Количество() - 1;
Пока Индекс >= 0 Цикл Пока Индекс >= 0 Цикл
Если НЕ ЮТСравнениеКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда Если НЕ ЮТСравнениеСлужебныйКлиентСервер.ЗначенияРавны(Данные1[Индекс][Колонка.Имя], Данные2[Индекс][Колонка.Имя]) Тогда
Возврат Ложь; Возврат Ложь;
КонецЕсли; КонецЕсли;
Индекс = Индекс - 1; Индекс = Индекс - 1;
@ -69,7 +69,7 @@
КонецЕсли; КонецЕсли;
Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда
ЮТОбщийВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента); ЮТОбщийСлужебныйВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента);
КонецЕсли; КонецЕсли;
НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="a047687f-04fa-4f9a-beba-acbaf559f9d0">
<name>ЮТСравнениеСервер</name> <name>ЮТСравнениеСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Сравнение сервер</value> <value>Сравнение сервер</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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); Результат = МассивыРавны(Данные1, Данные2);
ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда
Результат = ЮТСравнениеСервер.ТабличныеДокументыРавны(Данные1, Данные2); Результат = ЮТСравнениеСлужебныйВызовСервера.ТабличныеДокументыРавны(Данные1, Данные2);
ИначеЕсли ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТОбщий.ОписаниеТиповЛюбаяСсылка().СодержитТип(ТипЗначения) Тогда ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
// Возвращаем ложь, так как для этих типов должно сработать обычное равенство // Возвращаем ложь, так как для этих типов должно сработать обычное равенство
Результат = Ложь; Результат = Ложь;
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off
@ -75,7 +75,7 @@
#Если Сервер Тогда #Если Сервер Тогда
Если ТипЗначения = Тип("ТаблицаЗначений") Тогда Если ТипЗначения = Тип("ТаблицаЗначений") Тогда
Результат = ЮТСравнениеСервер.ТаблицыРавны(Данные1, Данные2); Результат = ЮТСравнениеСлужебныйВызовСервера.ТаблицыРавны(Данные1, Данные2);
ИначеЕсли ТипЗначения = Тип("ХранилищеЗначения") Тогда ИначеЕсли ТипЗначения = Тип("ХранилищеЗначения") Тогда
@ -84,7 +84,7 @@
КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off
#КонецЕсли #КонецЕсли
Если Результат = Неопределено И ПараметрыСравнения <> Неопределено И ЮТОбщий.ЗначениеСтруктуры(ПараметрыСравнения, "ГлубокийАнализ", Ложь) Тогда Если Результат = Неопределено И ПараметрыСравнения <> Неопределено И ЮТКоллекции.ЗначениеСтруктуры(ПараметрыСравнения, "ГлубокийАнализ", Ложь) Тогда
Результат = СравнитьПоЗначению(Данные1, Данные2); Результат = СравнитьПоЗначению(Данные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; ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 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` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
Возврат; Возврат;
КонецЕсли; КонецЕсли;
@ -636,7 +603,7 @@
Если Результат = Неопределено Тогда Если Результат = Неопределено Тогда
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
КонецЕсли; КонецЕсли;
Возврат Результат; Возврат Результат;
@ -656,7 +623,7 @@
Если СоответствуетШаблону = Неопределено Тогда Если СоответствуетШаблону = Неопределено Тогда
ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение));
ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); ЮТРегистрацияОшибокСлужебный.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки);
КонецЕсли; КонецЕсли;
Возврат СоответствуетШаблону; Возврат СоответствуетШаблону;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1aa5cd77-d222-4e55-9985-72526cce07cc">
<name>ЮТСравнениеКлиентСервер</name> <name>ЮТСравнениеСлужебныйКлиентСервер</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Сравнение клиент сервер</value> <value>Сравнение клиент сервер</value>

View File

@ -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"); // Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with 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);
КонецФункции
#КонецОбласти #КонецОбласти
#Область СлужебныеПроцедурыИФункции #Область СлужебныеПроцедурыИФункции

View File

@ -37,14 +37,14 @@
КонецЕсли; КонецЕсли;
Если ЗначениеЗаполнено(Наименование) Тогда Если ЗначениеЗаполнено(Наименование) Тогда
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Данные.Вставить("Description", Наименование); Данные.Вставить("Description", Наименование);
Иначе Иначе
Данные.Вставить("Наименование", Наименование); Данные.Вставить("Наименование", Наименование);
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь); Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка; Возврат Ссылка;
@ -74,7 +74,7 @@
Данные.Удалить("РежимЗаписи"); Данные.Удалить("РежимЗаписи");
КонецЕсли; КонецЕсли;
Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь); Ссылка = ЮТТестовыеДанныеСлужебныйВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь);
ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка);
Возврат Ссылка; Возврат Ссылка;
@ -121,11 +121,11 @@
#Если ВебКлиент Тогда #Если ВебКлиент Тогда
ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТТестовыеДанные.СлучайноеЧисло"); ВызватьИсключение ЮТИсключения.МетодНеДоступен("ЮТТестовыеДанные.СлучайноеЧисло");
#Иначе #Иначе
Генератор = ЮТКонтекст.ЗначениеКонтекста("ГенераторСлучайныхЧисел"); Генератор = ЮТКонтекстСлужебный.ЗначениеКонтекста("ГенераторСлучайныхЧисел");
Если Генератор = Неопределено Тогда Если Генератор = Неопределено Тогда
Генератор = Новый ГенераторСлучайныхЧисел(); Генератор = Новый ГенераторСлучайныхЧисел();
ЮТКонтекст.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор); ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("ГенераторСлучайныхЧисел", Генератор);
КонецЕсли; КонецЕсли;
Если Максимум = Неопределено Тогда Если Максимум = Неопределено Тогда
@ -426,7 +426,7 @@
// ПеречислениеСсылка // ПеречислениеСсылка
Функция СлучайноеЗначениеПеречисления(Перечисление) Экспорт Функция СлучайноеЗначениеПеречисления(Перечисление) Экспорт
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеЗначениеПеречисления(Перечисление); Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеЗначениеПеречисления(Перечисление);
КонецФункции КонецФункции
@ -441,7 +441,7 @@
// ПеречислениеСсылка // ПеречислениеСсылка
Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор = Неопределено) Экспорт Функция СлучайноеПредопределенноеЗначение(Менеджер, Отбор = Неопределено) Экспорт
Возврат ЮТТестовыеДанныеВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор); Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.СлучайноеПредопределенноеЗначение(Менеджер, Отбор);
КонецФункции КонецФункции
@ -635,7 +635,7 @@
Варианты = Новый Массив; Варианты = Новый Массив;
Варианты.Добавить(ЗначенияПоУмолчанию); Варианты.Добавить(ЗначенияПоУмолчанию);
Ключи = ЮТОбщий.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ"); Ключи = ЮТКоллекции.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ");
ДобавитьВарианты(Варианты, ЗначенияПоУмолчанию, ЗначенияПараметров, Ключи, 0); ДобавитьВарианты(Варианты, ЗначенияПоУмолчанию, ЗначенияПараметров, Ключи, 0);
@ -699,7 +699,7 @@
Процедура Удалить(Ссылки) Экспорт Процедура Удалить(Ссылки) Экспорт
Если ЗначениеЗаполнено(Ссылки) Тогда Если ЗначениеЗаполнено(Ссылки) Тогда
ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки); ЮТТестовыеДанныеСлужебныйВызовСервера.Удалить(Ссылки);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
@ -763,7 +763,7 @@
// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок // ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок
Функция HTTPСервисЗапрос() Экспорт Функция HTTPСервисЗапрос() Экспорт
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
Возврат Обработки.ЮТHTTPServiceRequest.Создать(); Возврат Обработки.ЮТHTTPServiceRequest.Создать();
Иначе Иначе
Возврат Обработки.ЮТHTTPСервисЗапрос.Создать(); Возврат Обработки.ЮТHTTPСервисЗапрос.Создать();
@ -798,7 +798,7 @@
// Ссылка - ЛюбаяСсылка // Ссылка - ЛюбаяСсылка
// ИмяРеквизита - Строка // ИмяРеквизита - Строка
// ЗначениеРеквизита - Произвольный // ЗначениеРеквизита - Произвольный
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи // ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
Процедура УстановитьЗначениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеРеквизита, ПараметрыЗаписи = Неопределено) Экспорт Процедура УстановитьЗначениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеРеквизита, ПараметрыЗаписи = Неопределено) Экспорт
Значения = Новый Соответствие(); Значения = Новый Соответствие();
@ -812,10 +812,10 @@
// Параметры: // Параметры:
// Ссылка - ЛюбаяСсылка - Ссылка // Ссылка - ЛюбаяСсылка - Ссылка
// ЗначенияРеквизитов - Структура, Соответствие из Произвольный - Значения реквизитов // ЗначенияРеквизитов - Структура, Соответствие из Произвольный - Значения реквизитов
// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи // ПараметрыЗаписи - см. ЮТФабрикаСлужебный.ПараметрыЗаписи
Процедура УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов, ПараметрыЗаписи = Неопределено) Экспорт Процедура УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов, ПараметрыЗаписи = Неопределено) Экспорт
ЮТТестовыеДанныеВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов); ЮТТестовыеДанныеСлужебныйВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов);
КонецПроцедуры КонецПроцедуры
@ -847,7 +847,7 @@
Ключ = Ключи[Инд]; Ключ = Ключи[Инд];
Для Каждого Значение Из ЗначенияПараметров[Ключ] Цикл Для Каждого Значение Из ЗначенияПараметров[Ключ] Цикл
Вариант = ЮТОбщий.СкопироватьСтруктуру(БазоваяСтруктура); Вариант = ЮТКоллекции.СкопироватьСтруктуру(БазоваяСтруктура);
Вариант[Ключ] = Значение; Вариант[Ключ] = Значение;
Варианты.Добавить(Вариант); Варианты.Добавить(Вариант);

View File

@ -56,7 +56,7 @@
Иначе Иначе
Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения); Значение = ЮТТестовыеДанныеСлужебныйВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения);
ДобавитьТестовуюЗапись(Значение); ДобавитьТестовуюЗапись(Значение);
КонецЕсли; КонецЕсли;
@ -152,9 +152,9 @@
Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыСозданияОбъектов, ТаблицаЗначений) Экспорт Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений, ЗаменяемыеЗначения, ПараметрыСозданияОбъектов, ТаблицаЗначений) Экспорт
ПараметрыЗаполнения = ЮТФабрика.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов); ПараметрыЗаполнения = ЮТФабрикаСлужебный.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
Возврат ЮТТестовыеДанныеВызовСервера.ЗагрузитьИзМакета(Макет, Возврат ЮТТестовыеДанныеСлужебныйВызовСервера.ЗагрузитьИзМакета(Макет,
ОписанияТипов, ОписанияТипов,
КэшЗначений, КэшЗначений,
ЗаменяемыеЗначения, ЗаменяемыеЗначения,
@ -169,7 +169,7 @@
Функция СлучайноЗначениеСистемногоПеречисления(Тип) Функция СлучайноЗначениеСистемногоПеречисления(Тип)
Менеджер = ЮТОбщий.ВычислитьБезопасно(ЮТТипыДанныхСлужебный.ИмяСистемногоПеречисления(Тип)); Менеджер = ЮТМетодыСлужебный.ВычислитьБезопасно(ЮТТипыДанныхСлужебный.ИмяСистемногоПеречисления(Тип));
Значения = Новый Массив(); Значения = Новый Массив();

View File

@ -36,12 +36,12 @@
КонецФункции КонецФункции
// Создает новый объект и заполняет его данными // Создает новый объект и заполняет его данными
// //
// Параметры: // Параметры:
// Менеджер - Произвольный // Менеджер - Произвольный
// Данные - Структура - Данные заполнения объекта // Данные - Структура - Данные заполнения объекта
// ДополнительныеСвойства - Структура - Дополнительные свойства объекта // ДополнительныеСвойства - Структура - Дополнительные свойства объекта
// //
// Возвращаемое значение: // Возвращаемое значение:
// Произвольный - Созданный объект // Произвольный - Созданный объект
Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства = Неопределено) Экспорт Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства = Неопределено) Экспорт
@ -74,7 +74,7 @@
ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных);
Если ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный И ДополнительныеСвойства <> Неопределено Тогда Если ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный И ДополнительныеСвойства <> Неопределено Тогда
ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства); ЮТКоллекции.ДополнитьСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства);
КонецЕсли; КонецЕсли;
Возврат Объект; Возврат Объект;
@ -84,21 +84,20 @@
Процедура Удалить(Знач Ссылки) Экспорт Процедура Удалить(Знач Ссылки) Экспорт
Если ТипЗнч(Ссылки) <> Тип("Массив") Тогда Если ТипЗнч(Ссылки) <> Тип("Массив") Тогда
Ссылки = ЮТОбщий.ЗначениеВМассиве(Ссылки); Ссылки = ЮТКоллекции.ЗначениеВМассиве(Ссылки);
КонецЕсли; КонецЕсли;
СсылочныеТипы = ЮТОбщий.ОписаниеТиповЛюбаяСсылка();
Ошибки = Новый Массив; Ошибки = Новый Массив;
Для Каждого Ссылка Из Ссылки Цикл Для Каждого Ссылка Из Ссылки Цикл
ТипЗначения = ТипЗнч(Ссылка); ТипЗначения = ТипЗнч(Ссылка);
Если Ссылка = Неопределено ИЛИ СтрНачинаетсяС(ЮТОбщий.ПредставлениеТипа(ТипЗначения), "Enum") Тогда Если Ссылка = Неопределено ИЛИ ЮТТипыДанныхСлужебный.ЭтоТипПеречисления(ТипЗначения) Тогда
Продолжить; Продолжить;
КонецЕсли; КонецЕсли;
Попытка Попытка
Если СсылочныеТипы.СодержитТип(ТипЗначения) Тогда Если ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗначения) Тогда
Объект = Ссылка.ПолучитьОбъект(); Объект = Ссылка.ПолучитьОбъект();
Если Объект <> Неопределено Тогда Если Объект <> Неопределено Тогда
Объект.Удалить(); Объект.Удалить();
@ -112,7 +111,7 @@
КонецЕсли; КонецЕсли;
Исключение Исключение
Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке())); Ошибки.Добавить(ЮТРегистрацияОшибокСлужебный.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке()));
КонецПопытки; КонецПопытки;
@ -143,12 +142,12 @@
ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОбъектМетаданных); ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОбъектМетаданных);
ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа; ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа;
Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда Если ЮТОбщийСлужебныйВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда
ИмяТипаМенеджера = СтрШаблон("%1Manager.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); ИмяТипаМенеджера = СтрШаблон("%1Manager.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
Иначе Иначе
ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя);
КонецЕсли; КонецЕсли;
Менеджер = Новый (ИмяТипаМенеджера); Менеджер = Новый(ИмяТипаМенеджера);
Объект = СоздатьОбъект(Менеджер, ОписаниеТипа, РеквизитыЗаполнения); Объект = СоздатьОбъект(Менеджер, ОписаниеТипа, РеквизитыЗаполнения);
@ -169,7 +168,7 @@
Знач ПараметрыЗаполнения, Знач ПараметрыЗаполнения,
Знач ТаблицаЗначений) Экспорт Знач ТаблицаЗначений) Экспорт
Таблица = ЮТТестовыеДанные_ТаблицыЗначений.ЗагрузитьИзМакета(Макет, Таблица = ЮТТестовыеДанныеСлужебныйТаблицыЗначений.ЗагрузитьИзМакета(Макет,
ОписанияТипов, ОписанияТипов,
КэшЗначений, КэшЗначений,
ЗаменяемыеЗначения, ЗаменяемыеЗначения,
@ -179,7 +178,7 @@
Возврат Таблица; Возврат Таблица;
КонецЕсли; КонецЕсли;
Реквизиты = СтрСоединить(ЮТОбщий.ВыгрузитьЗначения(Таблица.Колонки, "Имя"), ","); Реквизиты = СтрСоединить(ЮТКоллекции.ВыгрузитьЗначения(Таблица.Колонки, "Имя"), ",");
Результат = Новый Массив(Таблица.Количество()); Результат = Новый Массив(Таблица.Количество());
Для Инд = 0 По Таблица.Количество() - 1 Цикл Для Инд = 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","Документ"); ИмяТипаДокумент = ?(АнглийскийЯзык, "Document", "Документ");
ИмяРеквизитаКод = ?(АнглийскийЯзык,"Code","Код"); ИмяРеквизитаКод = ?(АнглийскийЯзык, "Code", "Код");
ИмяРеквизитаНаименование = ?(АнглийскийЯзык,"Description","Наименование"); ИмяРеквизитаНаименование = ?(АнглийскийЯзык, "Description", "Наименование");
ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа; ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа;
Если ОписаниеТипа.Имя = ИмяТипаДокумент Тогда Если ОписаниеТипа.Имя = ИмяТипаДокумент Тогда
@ -345,13 +344,13 @@
Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаКод) Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаКод)
И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаКод].Обязательный И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаКод].Обязательный
И Не ЗначениеЗаполнено(Объект.Код) Тогда И НЕ ЗначениеЗаполнено(Объект.Код) Тогда
Объект.УстановитьНовыйКод(); Объект.УстановитьНовыйКод();
КонецЕсли; КонецЕсли;
Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаНаименование) Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаНаименование)
И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаНаименование].Обязательный И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаНаименование].Обязательный
И Не ЗначениеЗаполнено(Объект.Наименование) Тогда И НЕ ЗначениеЗаполнено(Объект.Наименование) Тогда
Объект.Наименование = ЮТТестовыеДанные.СлучайнаяСтрока(); Объект.Наименование = ЮТТестовыеДанные.СлучайнаяСтрока();
КонецЕсли; КонецЕсли;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="f8dcca0e-7165-4660-bcd8-a6b0c6e2e4c6">
<name>ЮТТестовыеДанныеВызовСервера</name> <name>ЮТТестовыеДанныеСлужебныйВызовСервера</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Тестовые данные (вызов сервера)</value> <value>Тестовые данные (вызов сервера)</value>

View File

@ -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 @@
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных); ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
ОписаниеКолонки.КлючТипаЗначения = ЮТТипыДанныхСлужебный.ИдентификаторТипа(ТипЗначения); ОписаниеКолонки.КлючТипаЗначения = ЮТТипыДанныхСлужебный.ИдентификаторТипа(ТипЗначения);
КонецЕсли; КонецЕсли;
КонецПроцедуры КонецПроцедуры
#КонецОбласти #КонецОбласти

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="18cbfea5-3366-44ec-b0bd-7fd1d933bbf8">
<name>ЮТТестовыеДанные_ТаблицыЗначений</name> <name>ЮТТестовыеДанныеСлужебныйТаблицыЗначений</name>
<synonym> <synonym>
<key>ru</key> <key>ru</key>
<value>Тестовые данные таблицы значений</value> <value>Тестовые данные таблицы значений</value>

View File

@ -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 работы с тестовыми данными // * Работает с данными созданными через API работы с тестовыми данными
// * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередВсемиТестами и ПередТестовымНабором) // * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередВсемиТестами и ПередТестовымНабором)
// //
// Параметры: // Параметры:
// УдалятьСозданныеДанные - Булево // УдалятьСозданныеДанные - Булево
// //
// Возвращаемое значение: // Возвращаемое значение:
// ОбщийМодуль - Этот же модуль, для замыкания // ОбщийМодуль - Этот же модуль, для замыкания
Функция УдалениеТестовыхДанных(УдалятьСозданныеДанные = Истина) Экспорт Функция УдалениеТестовыхДанных(УдалятьСозданныеДанные = Истина) Экспорт
@ -184,10 +184,10 @@
КонецФункции КонецФункции
// Устанавливает настройку переопределения обработчика события Перед... // Устанавливает настройку переопределения обработчика события Перед...
// //
// Параметры: // Параметры:
// ВыполнитьПеред - Строка - Имя обработчика события, который будет выполнен вместо основного // ВыполнитьПеред - Строка - Имя обработчика события, который будет выполнен вместо основного
// //
// Возвращаемое значение: // Возвращаемое значение:
// ОбщийМодуль - Этот же модуль, для замыкания // ОбщийМодуль - Этот же модуль, для замыкания
Функция Перед(ВыполнитьПеред = "") Экспорт Функция Перед(ВыполнитьПеред = "") Экспорт
@ -199,10 +199,10 @@
КонецФункции КонецФункции
// Устанавливает настройку переопределения обработчика события После... // Устанавливает настройку переопределения обработчика события После...
// //
// Параметры: // Параметры:
// ВыполнитьПосле - Строка - Имя обработчика события, который будет выполнен вместо основного // ВыполнитьПосле - Строка - Имя обработчика события, который будет выполнен вместо основного
// //
// Возвращаемое значение: // Возвращаемое значение:
// ОбщийМодуль - Этот же модуль, для замыкания // ОбщийМодуль - Этот же модуль, для замыкания
Функция После(ВыполнитьПосле = "") Экспорт Функция После(ВыполнитьПосле = "") Экспорт
@ -214,10 +214,10 @@
КонецФункции КонецФункции
// Устанавливает параметры вызова теста. // Устанавливает параметры вызова теста.
// //
// * Если метод вызывается первый раз, то он устанавливает параметры теста. // * Если метод вызывается первый раз, то он устанавливает параметры теста.
// * Если второй и последующие, то добавляет новый тест с параметрами. // * Если второй и последующие, то добавляет новый тест с параметрами.
// //
// Параметры: // Параметры:
// Параметр1 - Произвольный // Параметр1 - Произвольный
// Параметр2 - Произвольный // Параметр2 - Произвольный
@ -229,30 +229,30 @@
// Параметр8 - Произвольный // Параметр8 - Произвольный
// Параметр9 - Произвольный // Параметр9 - Произвольный
// Параметр10 - Произвольный // Параметр10 - Произвольный
// //
// Возвращаемое значение: // Возвращаемое значение:
// ОбщийМодуль - Этот же модуль, для замыкания // ОбщийМодуль - Этот же модуль, для замыкания
// //
// Примеры: // Примеры:
// //
// ЮТТесты.ДобавитьТест("Тест1").СПараметрами(1, 2); // Будет зарегистрирован один тест с параметрами 1, 2 // ЮТТесты.ДобавитьТест("Тест1").СПараметрами(1, 2); // Будет зарегистрирован один тест с параметрами 1, 2
// ЮТТесты.ДобавитьТест("Тест1") // ЮТТесты.ДобавитьТест("Тест1")
// .СПараметрами(1) // .СПараметрами(1)
// .СПараметрами(2); // Будет зарегистрировано два теста, первый с параметром 1 и второй с параметром 2 // .СПараметрами(2); // Будет зарегистрировано два теста, первый с параметром 1 и второй с параметром 2
// //
//@skip-check method-too-many-params //@skip-check method-too-many-params
Функция СПараметрами(Параметр1 = "_!%*", Функция СПараметрами(Параметр1 = "_!%*",
Параметр2 = "_!%*", Параметр2 = "_!%*",
Параметр3 = "_!%*", Параметр3 = "_!%*",
Параметр4 = "_!%*", Параметр4 = "_!%*",
Параметр5 = "_!%*", Параметр5 = "_!%*",
Параметр6 = "_!%*", Параметр6 = "_!%*",
Параметр7 = "_!%*", Параметр7 = "_!%*",
Параметр8 = "_!%*", Параметр8 = "_!%*",
Параметр9 = "_!%*", Параметр9 = "_!%*",
Параметр10 = "_!%*") Экспорт Параметр10 = "_!%*") Экспорт
Параметры = ЮТОбщий.ЗначениеВМассиве(Параметр1, Параметры = ЮТКоллекции.ЗначениеВМассиве(Параметр1,
Параметр2, Параметр2,
Параметр3, Параметр3,
Параметр4, Параметр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