From 678c7ee87bfdb605e1f65a4fa6346ac8ede1876f Mon Sep 17 00:00:00 2001 From: alkoleft Date: Wed, 22 May 2024 00:20:11 +0300 Subject: [PATCH 1/4] =?UTF-8?q?#331=20=D0=A1=D0=B1=D0=BE=D1=80=20=D0=BE?= =?UTF-8?q?=D0=BA=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 4 +- .vscode/settings.json | 1 + .../Module.bsl" | 43 +---- .../Module.bsl" | 6 + .../Module.bsl" | 6 + .../Module.bsl" | 167 ++++++++++++++++++ ...0\265\321\200\320\262\320\265\321\200.mdo" | 12 ++ .../Module.bsl" | 24 +++ .../src/Configuration/Configuration.mdo | 1 + ...0\265\321\200\320\262\320\270\321\201.mdo" | 1 + ...0\267\320\260\321\206\320\270\321\217.mdo" | 1 + .../Module.bsl" | 29 ++- 12 files changed, 252 insertions(+), 43 deletions(-) create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8cb363c3e..246870877 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,7 @@ - + -## Описание изменний +## Описание изменений diff --git a/.vscode/settings.json b/.vscode/settings.json index c5dce9e42..e5a976106 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -31,6 +31,7 @@ "помогаторы", "пресетов", "Регистронезависимое", + "реквеста", "релизный", "Сериализатор", "сериализацию", diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 9f8f04bdb..ddb495291 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -70,47 +70,12 @@ КорневойКаталог = ЮТФайлы.ОбъединитьПути(Результат, "..", "..", ".."); КаталогКомпонент = ЮТФайлы.ОбъединитьПути(КорневойКаталог, "ExtCompT"); - ПараметрыТихойУстановки.РабочийКаталог = КаталогКомпонент; - Информация = Новый СистемнаяИнформация(); - ОперационнаяСистема = Неопределено; - Архитектура = Неопределено; - - Linux = "Linux"; - Windows = "Windows"; - MacOS = "MacOS"; - - //@skip-check bsl-variable-name-invalid - x86 = "i386"; - //@skip-check bsl-variable-name-invalid - x64 = "x86_64"; - - ТипКлиентскойПлатформы = Информация.ТипПлатформы; - - Если ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86 Тогда - ОперационнаяСистема = Linux; - Архитектура = x86; - ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86_64 Тогда - ОперационнаяСистема = Linux; - Архитектура = x64; - ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86 Тогда - ОперационнаяСистема = Windows; - Архитектура = x86; - ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86_64 Тогда - ОперационнаяСистема = Windows; - Архитектура = x64; - ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86 Тогда - ОперационнаяСистема = MacOS; - Архитектура = x86; - ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86_64 Тогда - ОперационнаяСистема = MacOS; - Архитектура = x64; - Иначе - ЮТИсполнительСлужебныйКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы"); - КонецЕсли; - ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема; - ПараметрыТихойУстановки.Архитектура = Архитектура; + ОписаниеПлатформы = ЮТОкружениеСлужебныйКлиентСервер.Платформа(Новый СистемнаяИнформация()); + ПараметрыТихойУстановки.ОперационнаяСистема = ОписаниеПлатформы.ОперационнаяСистема; + ПараметрыТихойУстановки.Архитектура = ОписаниеПлатформы.Архитектура; + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыТихойУстановки); КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 2baddf600..ab5128549 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -152,6 +152,12 @@ КонецФункции +Функция ВычислитьБезопасноНаСервере(Знач Выражение) Экспорт + + Возврат ЮТОбщийСлужебныйВызовСервера.ВычислитьБезопасноНаСервере(Выражение); + +КонецФункции + Функция ВызватьФункцию(ПолноеИмяМетода, Параметры, Безопасно = Истина) Экспорт Выражение = СтрокаВызоваМетода(ПолноеИмяМетода, Параметры); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 93863b778..084f5aafc 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -124,6 +124,12 @@ КонецФункции +Функция ВычислитьБезопасноНаСервере(Знач Выражение) Экспорт + + Возврат ЮТМетодыСлужебный.ВычислитьБезопасно(Выражение); + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" new file mode 100644 index 000000000..35c01fb80 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -0,0 +1,167 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +// Собирает информацию об окружения, как сервера, так и клиента. +// +// Возвращаемое значение: +// Структура - Описание окружения: +// * ВерсияПлатформы - Строка +// * ФайловаяБаза - Булево +// * ОбычноеПриложение - Булево +// * ВебКлиент - Булево +// * ТолстыйКлиент - Булево +// * ЛокальПлатформы - Строка +// * ЛокальИнтерфейса - Строка +// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS +// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386 +// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS +// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386 +// * ВстроенныйЯзык - Строка - Возможные значения: ru, en +// * ИнформационнаяСреда - Строка +Функция ОписаниеОкружения() Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация(); + + Окружение = Новый Структура; + Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); + Окружение.Вставить("ФайловаяБаза", ЭтоФайловаяБаза()); + Окружение.Вставить("ОбычноеПриложение", Ложь); + Окружение.Вставить("ВебКлиент", Ложь); + Окружение.Вставить("ТолстыйКлиент", Ложь); + Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); + Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); + Окружение.Вставить("ИнформационнаяСреда", "DEV"); + +#Если ВебКлиент Тогда + Окружение.ВебКлиент = Истина; +#ИначеЕсли ТолстыйКлиентОбычноеПриложение Тогда + Окружение.ОбычноеПриложение = Истина; + Окружение.ТолстыйКлиент = Истина; +#ИначеЕсли ТолстыйКлиентУправляемоеПриложение Тогда + Окружение.ТолстыйКлиент = Истина; +#КонецЕсли + + Платформа = Платформа(СистемнаяИнформация); + Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема); + Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура); + + // TODO придумать другой безопасный универсальный вызов сервера + ОписаниеСерверногоОкружения = ЮТМетодыСлужебный.ВычислитьБезопасноНаСервере("ЮТОкружениеСлужебныйКлиентСервер.ОписаниеСерверногоОкружения()"); + Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема); + Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура); + Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); + + //@skip-check constructor-function-return-section + Возврат Окружение; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура Инициализация(ПараметрыЗапуска) Экспорт + + Окружение = ОписаниеОкружения(); + ЮТКонтекстСлужебный.УстановитьЗначениеКонтекста("Окружение", Окружение, Истина); + +КонецПроцедуры + +Функция ЭтоФайловаяБаза() + + Возврат СтрНайти(Врег(СтрокаСоединенияИнформационнойБазы()), "FILE=") = 0; + +КонецФункции + +Функция Платформа(СистемнаяИнформация) Экспорт + + ОперационнаяСистема = Неопределено; + Архитектура = Неопределено; + + Linux = "Linux"; + Windows = "Windows"; + MacOS = "MacOS"; + + //@skip-check bsl-variable-name-invalid + x86 = "i386"; + //@skip-check bsl-variable-name-invalid + x64 = "x86_64"; + + ТипКлиентскойПлатформы = СистемнаяИнформация.ТипПлатформы; + + Если ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86 Тогда + ОперационнаяСистема = Linux; + Архитектура = x86; + ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86_64 Тогда + ОперационнаяСистема = Linux; + Архитектура = x64; + ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86 Тогда + ОперационнаяСистема = Windows; + Архитектура = x86; + ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86_64 Тогда + ОперационнаяСистема = Windows; + Архитектура = x64; + ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86 Тогда + ОперационнаяСистема = MacOS; + Архитектура = x86; + ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86_64 Тогда + ОперационнаяСистема = MacOS; + Архитектура = x64; + Иначе + ВызватьИсключение "Неподдерживаемый тип платформы"; + КонецЕсли; + + Возврат Новый Структура("ОперационнаяСистема, Архитектура", ОперационнаяСистема, Архитектура); + +КонецФункции + +#Если Сервер Тогда +Функция ОписаниеСерверногоОкружения() Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация(); + Платформа = Платформа(СистемнаяИнформация); + + Окружение = Новый Структура; + Окружение.Вставить("ОперационнаяСистема", Платформа.ОперационнаяСистема); + Окружение.Вставить("Архитектура", Платформа.Архитектура); + Окружение.Вставить("ВстроенныйЯзык", Формат(Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский, "БЛ=en; БИ=ru;")); + + Возврат Окружение; + +КонецФункции +#КонецЕсли + +Функция ЛокальИнтерфейса() + +#Если Клиент Тогда + Возврат ТекущийЯзык(); +#Иначе + Возврат ТекущийЯзык().КодЯзыка; +#КонецЕсли + +КонецФункции + +Функция ЛокальПлатформы() + + Возврат ТекущийЯзыкСистемы(); + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" new file mode 100644 index 000000000..d765a3dd5 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" @@ -0,0 +1,12 @@ + + + ЮТОкружениеСлужебныйКлиентСервер + + ru + Окружение служебный + + true + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" index b8d45af82..eb36ff07c 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" @@ -220,4 +220,28 @@ КонецФункции +// Возвращает информацию об окружении. +// +// Возвращаемое значение: +// Структура - Описание окружения: +// * ВерсияПлатформы - Строка +// * ФайловаяБаза - Булево +// * ОбычноеПриложение - Булево +// * ВебКлиент - Булево +// * ТолстыйКлиент - Булево +// * ЛокальПлатформы - Строка +// * ЛокальИнтерфейса - Строка +// * ОперационнаяСистемаКлиент - Строка - Возможные значения: Linux, Windows, MacOS +// * АрхитектураКлиент - Строка - Возможные значения: x86_64, i386 +// * ОперационнаяСистемаСервер - Строка - Возможные значения: Linux, Windows, MacOS +// * АрхитектураСервер - Строка - Возможные значения: x86_64, i386 +// * ВстроенныйЯзык - Строка - Возможные значения: ru, en +// * ИнформационнаяСреда - Строка +Функция Окружение() Экспорт + + //@skip-check constructor-function-return-section + Возврат ЮТКонтекстСлужебный.ЗначениеКонтекста("Окружение"); + +КонецФункции + #КонецОбласти diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 1acfe00b0..0c7b93b9c 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -96,6 +96,7 @@ CommonModule.ЮТНастройкиВыполнения CommonModule.ЮТОбщий CommonModule.ЮТОбщийСлужебныйВызовСервера + CommonModule.ЮТОкружениеСлужебныйКлиентСервер CommonModule.ЮТОтчетAllureСлужебный CommonModule.ЮТОтчетJSONСлужебный CommonModule.ЮТОтчетJUnitСлужебный diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/Subsystems/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/Subsystems/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201.mdo" index 68a3a618e..ccb510e78 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/Subsystems/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/Subsystems/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201/\320\256\320\242\320\241\320\265\321\200\320\262\320\270\321\201.mdo" @@ -26,6 +26,7 @@ CommonModule.ЮТМетодыСлужебный CommonModule.ЮТНастройкиВыполнения CommonModule.ЮТОбщийСлужебныйВызовСервера + CommonModule.ЮТОкружениеСлужебныйКлиентСервер CommonModule.ЮТОтчетСлужебный CommonModule.ЮТПодключаемыеМодулиСлужебный CommonModule.ЮТПроверкиСлужебный diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265\320\234\320\276\320\264\321\203\320\273\320\270/Subsystems/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Subsystems/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265\320\234\320\276\320\264\321\203\320\273\320\270/Subsystems/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Subsystems/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.mdo" index 90f3f4ecf..4f5813280 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265\320\234\320\276\320\264\321\203\320\273\320\270/Subsystems/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Subsystems/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265\320\234\320\276\320\264\321\203\320\273\320\270/Subsystems/\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/Subsystems/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217/\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.mdo" @@ -7,5 +7,6 @@ true CommonModule.ЮТЗависимостиСлужебный + CommonModule.ЮТОкружениеСлужебныйКлиентСервер Subsystem.ЮТПодключаемыеМодули.Subsystem.ОбработчикиСобытий diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" index 55c8effa5..562c7175d 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" @@ -29,6 +29,7 @@ .ДобавитьТест("ПроверкаПереопределенногоКонтекста").Перед("Перед_ПроверкаПереопределенногоКонтекста") .ДобавитьТестовыйНабор("ПовторнаяПроверкаКонтекста") .ДобавитьТест("ПроверкаКонтекста") + .ДобавитьТест("Окружение") ; КонецПроцедуры @@ -74,10 +75,10 @@ ЮТест.Контекст().Значение("Коллекция").Добавить("ПослеВсехТестов"); #Если Сервер Тогда ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")) - .ИмеетДлину(18); // Количество вызванных обработчиков событий + .ИмеетДлину(20); // Количество вызванных обработчиков событий #Иначе ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")) - .ИмеетДлину(16); // Количество вызванных обработчиков событий + .ИмеетДлину(18); // Количество вызванных обработчиков событий #КонецЕсли КонецПроцедуры @@ -151,4 +152,28 @@ КонецПроцедуры #КонецЕсли +Процедура Окружение() Экспорт + + Окружение = ЮТест.Окружение(); + + ЮТест.ОжидаетЧто(Окружение) + .Заполнено() + .ИмеетТип("Структура") + .Свойство("ВстроенныйЯзык").Равно("ru") + .Свойство("ОбычноеПриложение").Равно(Ложь) + .Свойство("ВебКлиент").Равно(Ложь) + .Свойство("ТолстыйКлиент").Равно(Ложь) + .Свойство("ВерсияПлатформы") + .Свойство("ФайловаяБаза") + .Свойство("ЛокальПлатформы") + .Свойство("ЛокальИнтерфейса") + .Свойство("ОперационнаяСистемаКлиент") + .Свойство("АрхитектураКлиент") + .Свойство("ОперационнаяСистемаСервер") + .Свойство("АрхитектураСервер") + .Свойство("ИнформационнаяСреда") + ; + +КонецПроцедуры + #КонецОбласти From e754a2b811e5618bc0b4b379883f3acee624725f Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 25 May 2024 18:42:15 +0300 Subject: [PATCH 2/4] =?UTF-8?q?#331=20=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B9,=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BE=D0=B1=20=D0=BE=D0=BA?= =?UTF-8?q?=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=B2=20junit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 34 +++++++------------ .../Module.bsl" | 6 ++-- .../Module.bsl" | 33 +++++++++++++----- .../Module.bsl" | 3 +- .../Module.bsl" | 14 ++++++++ .../Module.bsl" | 8 +++-- .../Module.bsl" | 3 ++ .../Module.bsl" | 19 +++++++++++ 8 files changed, 84 insertions(+), 36 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index ab5128549..2271b396d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -132,7 +132,7 @@ КонецФункции -Функция ВычислитьБезопасно(Выражение) Экспорт +Функция ВычислитьБезопасно(Выражение, Параметры = Неопределено) Экспорт #Если НЕ ВебКлиент И НЕ ТонкийКлиент Тогда УстановитьБезопасныйРежим(Истина); @@ -152,9 +152,17 @@ КонецФункции -Функция ВычислитьБезопасноНаСервере(Знач Выражение) Экспорт +Функция ВызватьФункциюКонфигурацииНаСервере(ИмяМодуля, ИмяМетода, Параметры = Неопределено) Экспорт - Возврат ЮТОбщийСлужебныйВызовСервера.ВычислитьБезопасноНаСервере(Выражение); + Если НЕ ЮТСтроки.ЭтоВалидноеИмяПеременной(ИмяМодуля) Тогда + ВызватьИсключение "Передано невалидное имя общего модуля в `ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере`"; + КонецЕсли; + + Если НЕ ЮТСтроки.ЭтоВалидноеИмяПеременной(ИмяМетода) Тогда + ВызватьИсключение "Передано невалидное имя метода в `ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере`"; + КонецЕсли; + + Возврат ЮТОбщийСлужебныйВызовСервера.ВызватьФункциюКонфигурацииНаСервере(ИмяМодуля, ИмяМетода, Параметры); КонецФункции @@ -162,25 +170,7 @@ Выражение = СтрокаВызоваМетода(ПолноеИмяМетода, Параметры); -#Если НЕ ВебКлиент И НЕ ТонкийКлиент Тогда - Если Безопасно Тогда - УстановитьБезопасныйРежим(Истина); - Попытка - Значение = Вычислить(Выражение); - Исключение - УстановитьБезопасныйРежим(Ложь); - ВызватьИсключение; - КонецПопытки; - УстановитьБезопасныйРежим(Ложь); - Иначе - //@skip-check server-execution-safe-mode - Значение = Вычислить(Выражение); - КонецЕсли; -#Иначе - Значение = Вычислить(Выражение); -#КонецЕсли - - Возврат Значение; + Возврат ВычислитьБезопасно(Выражение, Параметры); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 084f5aafc..70eea2a16 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -124,9 +124,11 @@ КонецФункции -Функция ВычислитьБезопасноНаСервере(Знач Выражение) Экспорт +Функция ВызватьФункциюКонфигурацииНаСервере(Знач ИмяМодуля, Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт - Возврат ЮТМетодыСлужебный.ВычислитьБезопасно(Выражение); + ПолноеИмяМетода = ЮТСтроки.ДобавитьСтроку(ИмяМодуля, ИмяМетода, "."); + + Возврат ЮТМетодыСлужебный.ВызватьФункцию(ПолноеИмяМетода, Параметры, Истина); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 35c01fb80..9d0a787f6 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -38,16 +38,14 @@ Функция ОписаниеОкружения() Экспорт СистемнаяИнформация = Новый СистемнаяИнформация(); + ОписаниеСерверногоОкружения = ЮТМетодыСлужебный.ВызватьФункциюКонфигурацииНаСервере("ЮТОкружениеСлужебныйКлиентСервер", + "ОписаниеСерверногоОкружения"); Окружение = Новый Структура; - Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); Окружение.Вставить("ФайловаяБаза", ЭтоФайловаяБаза()); Окружение.Вставить("ОбычноеПриложение", Ложь); Окружение.Вставить("ВебКлиент", Ложь); Окружение.Вставить("ТолстыйКлиент", Ложь); - Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); - Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); - Окружение.Вставить("ИнформационнаяСреда", "DEV"); #Если ВебКлиент Тогда Окружение.ВебКлиент = Истина; @@ -58,15 +56,26 @@ Окружение.ТолстыйКлиент = Истина; #КонецЕсли + Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); + Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); + Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); + + Окружение.Вставить("ИнформационнаяСреда", "DEV"); + Платформа = Платформа(СистемнаяИнформация); Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема); Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура); - // TODO придумать другой безопасный универсальный вызов сервера - ОписаниеСерверногоОкружения = ЮТМетодыСлужебный.ВычислитьБезопасноНаСервере("ЮТОкружениеСлужебныйКлиентСервер.ОписаниеСерверногоОкружения()"); Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема); Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура); - Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); + + Окружение.Вставить("ТестовыйДвижок", ОписаниеСерверногоОкружения.ТестовыйДвижок); + Окружение.Вставить("ВерсияТестовогоДвижка", ОписаниеСерверногоОкружения.ВерсияТестовогоДвижка); + Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); + Окружение.Вставить("Конфигурация", ОписаниеСерверногоОкружения.Конфигурация); + Окружение.Вставить("ВерсияКонфигурации", ОписаниеСерверногоОкружения.ВерсияКонфигурации); + //@skip-check use-non-recommended-method + Окружение.Вставить("ВремяЗапуска", ТекущаяДата()); //@skip-check constructor-function-return-section Возврат Окружение; @@ -141,7 +150,15 @@ Окружение = Новый Структура; Окружение.Вставить("ОперационнаяСистема", Платформа.ОперационнаяСистема); Окружение.Вставить("Архитектура", Платформа.Архитектура); - Окружение.Вставить("ВстроенныйЯзык", Формат(Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский, "БЛ=en; БИ=ru;")); + + ЭтоРусскийВстроенныйЯзык = Метаданные.ВариантВстроенногоЯзыка = Метаданные.СвойстваОбъектов.ВариантВстроенногоЯзыка.Русский; + Окружение.Вставить("ВстроенныйЯзык", Формат(ЭтоРусскийВстроенныйЯзык, "БЛ=en; БИ=ru;")); + + Расширение = Метаданные.ОбщиеМодули.ЮТОкружениеСлужебныйКлиентСервер.РасширениеКонфигурации(); + Окружение.Вставить("ТестовыйДвижок", Расширение.Имя); + Окружение.Вставить("ВерсияТестовогоДвижка", Расширение.Версия); + Окружение.Вставить("Конфигурация", Метаданные.Представление()); + Окружение.Вставить("ВерсияКонфигурации", Метаданные.Версия); Возврат Окружение; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JUnit\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JUnit\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 2d6263189..0f2333926 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JUnit\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JUnit\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -78,7 +78,8 @@ КонецЦикла; - ЗаписатьСвойства(ЗаписьXML, Новый Структура("executor, reportDate", "BIA YAxUnit", ТекущаяДата())); + Окружение = ЮТест.Окружение(); + ЗаписатьСвойства(ЗаписьXML, Окружение); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.Закрыть(); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" index 143527091..8cfcfdadf 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" @@ -29,6 +29,20 @@ КонецПроцедуры +// Фрмирует сообщение об ошибки. +// +// Параметры: +// Описание - Строка - Префикс текста ошибки +// Ошибка - Строка, ИнформацияОбОшибке - +// +// Возвращаемое значение: +// Строка +Функция ПредставлениеОшибки(Описание, Ошибка = Неопределено) Экспорт + + Возврат ЮТРегистрацияОшибокСлужебный.ПредставлениеОшибки(Описание, Ошибка); + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a68985960..b3b019cc3 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -163,13 +163,15 @@ КонецПроцедуры -Функция ПредставлениеОшибки(Знач Описание, Знач Ошибка) Экспорт +Функция ПредставлениеОшибки(Описание, Ошибка) Экспорт Если ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке") Тогда - Ошибка = Символы.ПС + ПодробноеПредставлениеОшибки(Ошибка); + ПредставлениеОшибки = Символы.ПС + ПодробноеПредставлениеОшибки(Ошибка); + Иначе + ПредставлениеОшибки = Ошибка; КонецЕсли; - Возврат СтрШаблон("%1: %2", Описание, Ошибка); + Возврат ЮТСтроки.ДобавитьСтроку(Описание, ПредставлениеОшибки, ": "); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index e7a318880..6e9806648 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -312,6 +312,9 @@ ЮТЛогирование.Отладка(СтрШаблон("Обработка события `%1` - `%2`", ИмяСобытия, ПолноеИмяМетода)); Ошибка = ЮТМетодыСлужебный.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия); + Если Ошибка <> Неопределено Тогда + ЮТЛогирование.Ошибка(ЮТРегистрацияОшибок.ПредставлениеОшибки("Ошибка обработки события", Ошибка)); + КонецЕсли; Если Ошибка <> Неопределено Тогда Ошибки.Добавить(Ошибка); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" index 19d1a27d3..af85e4f95 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" @@ -276,6 +276,25 @@ КонецФункции +// Проверяет переданную строку, является ли она подходщим именем переменной - должна соответствовать требованиям к именам переменных +// +// Параметры: +// ИмяПеременной - Строка +// +// Возвращаемое значение: +// Булево - Это валидное имя переменной +Функция ЭтоВалидноеИмяПеременной(ИмяПеременной) Экспорт + + Попытка + Проверка = Новый Структура; + Проверка.Вставить(ИмяПеременной); + Возврат Истина; + Исключение + Возврат Ложь; + КонецПопытки; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции From f274a677947cdb1c6c9542f915efab70d1f27bb3 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 25 May 2024 19:42:13 +0300 Subject: [PATCH 3/4] =?UTF-8?q?#331=20=D0=92=D1=8B=D0=B2=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=B1=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=B2=20Allure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 36 +++++------ .../Module.bsl" | 59 ++++++++++++++++++- .../Module.bsl" | 2 +- 3 files changed, 77 insertions(+), 20 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 9d0a787f6..e3b8e666b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -42,6 +42,24 @@ "ОписаниеСерверногоОкружения"); Окружение = Новый Структура; + Окружение.Вставить("Конфигурация", ОписаниеСерверногоОкружения.Конфигурация); + Окружение.Вставить("ВерсияКонфигурации", ОписаниеСерверногоОкружения.ВерсияКонфигурации); + Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); + Окружение.Вставить("ИнформационнаяСреда", "DEV"); + Окружение.Вставить("ТестовыйДвижок", ОписаниеСерверногоОкружения.ТестовыйДвижок); + Окружение.Вставить("ВерсияТестовогоДвижка", ОписаниеСерверногоОкружения.ВерсияТестовогоДвижка); + + Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); + Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); + Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); + + Платформа = Платформа(СистемнаяИнформация); + Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема); + Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура); + + Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема); + Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура); + Окружение.Вставить("ФайловаяБаза", ЭтоФайловаяБаза()); Окружение.Вставить("ОбычноеПриложение", Ложь); Окружение.Вставить("ВебКлиент", Ложь); @@ -56,24 +74,6 @@ Окружение.ТолстыйКлиент = Истина; #КонецЕсли - Окружение.Вставить("ЛокальПлатформы", ЛокальПлатформы()); - Окружение.Вставить("ЛокальИнтерфейса", ЛокальИнтерфейса()); - Окружение.Вставить("ВстроенныйЯзык", ОписаниеСерверногоОкружения.ВстроенныйЯзык); - - Окружение.Вставить("ИнформационнаяСреда", "DEV"); - - Платформа = Платформа(СистемнаяИнформация); - Окружение.Вставить("ОперационнаяСистемаКлиент", Платформа.ОперационнаяСистема); - Окружение.Вставить("АрхитектураКлиент", Платформа.Архитектура); - - Окружение.Вставить("ОперационнаяСистемаСервер", ОписаниеСерверногоОкружения.ОперационнаяСистема); - Окружение.Вставить("АрхитектураСервер", ОписаниеСерверногоОкружения.Архитектура); - - Окружение.Вставить("ТестовыйДвижок", ОписаниеСерверногоОкружения.ТестовыйДвижок); - Окружение.Вставить("ВерсияТестовогоДвижка", ОписаниеСерверногоОкружения.ВерсияТестовогоДвижка); - Окружение.Вставить("ВерсияПлатформы", СистемнаяИнформация.ВерсияПриложения); - Окружение.Вставить("Конфигурация", ОписаниеСерверногоОкружения.Конфигурация); - Окружение.Вставить("ВерсияКонфигурации", ОписаниеСерверногоОкружения.ВерсияКонфигурации); //@skip-check use-non-recommended-method Окружение.Вставить("ВремяЗапуска", ТекущаяДата()); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index bc6bc3c1c..430863231 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -54,6 +54,8 @@ КонецЦикла; КонецЦикла; + + ЗаписатьИнформациюОбОкружении(Каталог); #КонецЕсли ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик); @@ -264,10 +266,65 @@ КонецФункции Функция ЮниксВремя(ДатаВМиллисекундах) - + Возврат ДатаВМиллисекундах - 62135596800000; + +КонецФункции + +Процедура ЗаписатьИнформациюОбОкружении(Каталог) + + Окружение = ЮТест.Окружение(); + + Если НЕ ЗначениеЗаполнено(Окружение) Тогда + Возврат; + КонецЕсли; + + ИмяФайла = ЮТФайлы.ОбъединитьПути(Каталог, "environment.properties"); + Запись = Новый ЗаписьТекста(ИмяФайла, "ISO-8859-1", , Ложь); + + Для Каждого Элемент Из ЮТест.Окружение() Цикл + ЗаписатьСтрокуProperties(Запись, СтрШаблон("%1=%2", Элемент.Ключ, Элемент.Значение)); + КонецЦикла; + Запись.Закрыть(); + +КонецПроцедуры + +Процедура ЗаписатьСтрокуProperties(Запись, ВходнаяСтрока) + + Для Инд = 1 По СтрДлина(ВходнаяСтрока) Цикл + КодСимволаЗначения = КодСимвола(ВходнаяСтрока, Инд); + Если КодСимволаЗначения > 127 Тогда + Запись.Записать("\u" + ПеревестиВШестнадцатеричнуюСистему(КодСимволаЗначения)); + Иначе + Запись.Записать(Сред(ВходнаяСтрока, Инд, 1)); + КонецЕсли; + КонецЦикла; + + Запись.Записать(Символы.ПС); + +КонецПроцедуры +Функция ПеревестиВШестнадцатеричнуюСистему(Знач Число) + + Основание = 16; + + СимволыСистемы = СтрРазделить("0 1 2 3 4 5 6 7 8 9 A B C D E F", " "); + + Результат = ""; + Пока Число <> 0 Цикл + Остаток = Число % Основание; + Результат = СимволыСистемы[Остаток] + Результат; + Число = Цел(Число / Основание); + КонецЦикла; + + Пока СтрДлина(Результат) < 4 Цикл + Результат = "0" + Результат; + КонецЦикла; + + Возврат Результат; + КонецФункции + #КонецЕсли #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" index af85e4f95..c941f2838 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\202\321\200\320\276\320\272\320\270/Module.bsl" @@ -232,7 +232,7 @@ Для Позиция = 1 По СтрДлина(Значение) Цикл КодСимволаШаблона = КодСимвола(Шаблон, Позиция); КодСимволаЗначения = КодСимвола(Значение, Позиция); - + Если КодСимволаШаблона = 88 // X И ((КодСимволаЗначения < 48 ИЛИ КодСимволаЗначения > 57) // 0..9 И (КодСимволаЗначения < 97 ИЛИ КодСимволаЗначения > 102) // a..f From bff329f7a31a1516fbbad46209be439e4c89fc92 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 25 May 2024 23:50:08 +0300 Subject: [PATCH 4/4] =?UTF-8?q?#331=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 2 +- .../Module.bsl" | 7 +++++-- .../Module.bsl" | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index e3b8e666b..e1558defb 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -75,7 +75,7 @@ #КонецЕсли //@skip-check use-non-recommended-method - Окружение.Вставить("ВремяЗапуска", ТекущаяДата()); + Окружение.Вставить("ВремяЗапуска", ТекущаяДата()); // BSLLS:DeprecatedCurrentDate-off //@skip-check constructor-function-return-section Возврат Окружение; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 430863231..883dcf5b3 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202Allure\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -291,9 +291,11 @@ Процедура ЗаписатьСтрокуProperties(Запись, ВходнаяСтрока) + ГраницаЛатиницы = 127; + Для Инд = 1 По СтрДлина(ВходнаяСтрока) Цикл КодСимволаЗначения = КодСимвола(ВходнаяСтрока, Инд); - Если КодСимволаЗначения > 127 Тогда + Если КодСимволаЗначения > ГраницаЛатиницы Тогда Запись.Записать("\u" + ПеревестиВШестнадцатеричнуюСистему(КодСимволаЗначения)); Иначе Запись.Записать(Сред(ВходнаяСтрока, Инд, 1)); @@ -307,6 +309,7 @@ Функция ПеревестиВШестнадцатеричнуюСистему(Знач Число) Основание = 16; + Длина = 4; СимволыСистемы = СтрРазделить("0 1 2 3 4 5 6 7 8 9 A B C D E F", " "); @@ -317,7 +320,7 @@ Число = Цел(Число / Основание); КонецЦикла; - Пока СтрДлина(Результат) < 4 Цикл + Пока СтрДлина(Результат) < Длина Цикл Результат = "0" + Результат; КонецЦикла; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" index 8cfcfdadf..bc1527e52 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" @@ -33,7 +33,7 @@ // // Параметры: // Описание - Строка - Префикс текста ошибки -// Ошибка - Строка, ИнформацияОбОшибке - +// Ошибка - Строка, ИнформацияОбОшибке - Ошибка // // Возвращаемое значение: // Строка