From a6e0e51ab1bdc2d8c27cfbd093b7d3b2473495cb Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Thu, 7 Sep 2023 09:23:39 +0300 Subject: [PATCH 01/65] =?UTF-8?q?1.=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BF=D0=B8=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B9=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2. исправил именование метода подключения сервисной компоненты 3. Добавил пару строк в руководство контрибьютера --- README.md | 2 +- documentation/contributing/index.md | 8 + documentation/src/pages/index.md | 19 +- .../Module.bsl" | 8 +- .../Module.bsl" | 2 +- tools/precommit/readme.md | 3 + ...20\260\320\271\321\202\320\276\320\262.os" | 173 ++++++++++++++++++ v8config.json | 10 +- 8 files changed, 204 insertions(+), 21 deletions(-) create mode 100644 tools/precommit/readme.md create mode 100644 "tools/precommit/\320\222\321\201\321\202\320\260\320\262\320\272\320\260\320\232\320\276\320\277\320\270\321\200\320\260\320\271\321\202\320\276\320\262.os" diff --git a/README.md b/README.md index 7c0797b62..d4e3fd7a3 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,6 @@ ## Лицензия -Copyright © 2022 [BIA-Technologies Limited Liability Company](http://bia-tech.ru/) +Copyright © 2023 [BIA-Technologies Limited Liability Company](http://bia-tech.ru/) Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) diff --git a/documentation/contributing/index.md b/documentation/contributing/index.md index e54bb3683..446c00e71 100644 --- a/documentation/contributing/index.md +++ b/documentation/contributing/index.md @@ -6,6 +6,14 @@ sidebar_position: 1 Здесь будут собраны материалы по доработке тестового движка. +## Окружение + +- Разработка ведется с использованием [1С:Enterprise Development Tools](https://edt.1c.ru/) актуальной релизной версии +- После клонирования репозитория, необходимо подключить `precommit4onec` + - Установить [oscript](https://oscript.io/) + - Установить precommit4onec `opm install precommit4onec` + - Подключить precommit4onec к репозиторию `precommit4onec install -source-dir "exts" /путь/к/склонированному/репозиторию`. Например: путь к склонированному репозиторию '/home/valery/reps/yaxunit', то команда будет `precommit4onec install -source-dir "exts" ~/reps/yaxunit` + ## Тестирование Для прогона тестов используется [доработанная демо-конфигурация](https://github.com/bia-technologies/yaxunit/tree/develop/fixtures/demo-configuration) от фирмы [1С](https://github.com/1C-Company). diff --git a/documentation/src/pages/index.md b/documentation/src/pages/index.md index b908f6416..8c0e00fe3 100644 --- a/documentation/src/pages/index.md +++ b/documentation/src/pages/index.md @@ -20,14 +20,15 @@ slug: / ---- -- [Назначение](#назначение) - - [Возможности](#возможности) -- [Пример тестового модуля](#пример-тестового-модуля) -- [Запуск](#запуск) - - [Запуск из EDT](#запуск-из-edt) - - [Запуск вне EDT](#запуск-вне-edt) -- [Благодарности](#благодарности) -- [Лицензия](#лицензия) +- [YAXUnit. Расширение для запуска тестов](#yaxunit-расширение-для-запуска-тестов) + - [Назначение](#назначение) + - [Возможности](#возможности) + - [Пример тестового модуля](#пример-тестового-модуля) + - [Запуск](#запуск) + - [Запуск из EDT](#запуск-из-edt) + - [Запуск вне EDT](#запуск-вне-edt) + - [Благодарности](#благодарности) + - [Лицензия](#лицензия) ## Назначение @@ -195,6 +196,6 @@ slug: / ## Лицензия -Copyright © 2022 [BIA-Technologies Limited Liability Company](http://bia-tech.ru/) +Copyright © 2023 [BIA-Technologies Limited Liability Company](http://bia-tech.ru/) Distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) 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/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/Module.bsl" index 29aa27ece..cc3e0f6f8 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/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/Module.bsl" @@ -25,7 +25,7 @@ // ВнешнийОбъект Функция Пауза() Экспорт - Возврат СоздатьКомпоненту(ОписаниеКомпонентыПауза(), Истина); + Возврат СоздатьКомпоненту(ОписаниеКомпонентыСервисногоНазначения(), Истина); КонецФункции @@ -36,7 +36,7 @@ // ВнешнийОбъект Функция Консоль() Экспорт - Возврат СоздатьКомпоненту(ОписаниеКомпонентыПауза(), Истина); + Возврат СоздатьКомпоненту(ОписаниеКомпонентыСервисногоНазначения(), Истина); КонецФункции @@ -114,11 +114,11 @@ КонецФункции -// Описание компоненты реализующей паузу. +// Описание компоненты, реализующей паузу, консоль и другие // // Возвращаемое значение: // см. ОписаниеКомпоненты -Функция ОписаниеКомпонентыПауза() Экспорт +Функция ОписаниеКомпонентыСервисногоНазначения() Экспорт Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Common"); 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 5480d3b5c..e8e78f4ad 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -21,7 +21,7 @@ Процедура ТихаяУстановкаКомпонент(ОбработчикЗавершения) Экспорт ПараметрыТихойУстановки = ПараметрыТихойУстановки(); - ПараметрыТихойУстановки.Компоненты.Добавить(ЮТКомпоненты.ОписаниеКомпонентыПауза()); + ПараметрыТихойУстановки.Компоненты.Добавить(ЮТКомпоненты.ОписаниеКомпонентыСервисногоНазначения()); ПараметрыТихойУстановки.Компоненты.Добавить(ЮТКомпоненты.ОписаниеКомпонентыРегулярныхВыражений()); ЮТАсинхроннаяОбработкаСлужебныйКлиент.ДобавитьОбработчикЦепочки(ПараметрыТихойУстановки, diff --git a/tools/precommit/readme.md b/tools/precommit/readme.md new file mode 100644 index 000000000..863e5945a --- /dev/null +++ b/tools/precommit/readme.md @@ -0,0 +1,3 @@ +# precommit + +В каталоге располагаются сценарии для precommit4onec diff --git "a/tools/precommit/\320\222\321\201\321\202\320\260\320\262\320\272\320\260\320\232\320\276\320\277\320\270\321\200\320\260\320\271\321\202\320\276\320\262.os" "b/tools/precommit/\320\222\321\201\321\202\320\260\320\262\320\272\320\260\320\232\320\276\320\277\320\270\321\200\320\260\320\271\321\202\320\276\320\262.os" new file mode 100644 index 000000000..7e7d2e461 --- /dev/null +++ "b/tools/precommit/\320\222\321\201\321\202\320\260\320\262\320\272\320\260\320\232\320\276\320\277\320\270\321\200\320\260\320\271\321\202\320\276\320\262.os" @@ -0,0 +1,173 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// Служебный модуль с реализацией сценариев обработки файлов ВставкаКопирайтов +// +/////////////////////////////////////////////////////////////////////////////// + +Перем Лог; + +// ИмяСценария +// Возвращает имя сценария обработки файлов +// +// Возвращаемое значение: +// Строка - Имя текущего сценария обработки файлов +// +Функция ИмяСценария() Экспорт + + Возврат "ВставкаКопирайтов"; + +КонецФункции // ИмяСценария() + +// ОбработатьФайл +// Выполняет обработку файла +// +// Параметры: +// АнализируемыйФайл - Файл - Файл из журнала git для анализа +// КаталогИсходныхФайлов - Строка - Каталог расположения исходных файлов относительно каталог репозитория +// ДополнительныеПараметры - Структура - Набор дополнительных параметров, которые можно использовать +// * Лог - Объект - Текущий лог +// * ИзмененныеКаталоги - Массив - Каталоги, которые необходимо добавить в индекс +// * КаталогРепозитория - Строка - Адрес каталога репозитория +// * ФайлыДляПостОбработки - Массив - Файлы, изменившиеся / образовавшиеся в результате работы сценария +// и которые необходимо дообработать +// +// Возвращаемое значение: +// Булево - Признак выполненной обработки файла +// +Функция ОбработатьФайл(АнализируемыйФайл, КаталогИсходныхФайлов, ДополнительныеПараметры) Экспорт + + Лог = ДополнительныеПараметры.Лог; + Если АнализируемыйФайл.Существует() И ЭтоФайлИсходников(АнализируемыйФайл) Тогда + + ПутьКФайлуКопирайта = ОбъединитьПути(ДополнительныеПараметры.КаталогРепозитория, "COPYRIGHT"); + ФайлКопирайта = Новый Файл(ПутьКФайлуКопирайта); + Если НЕ ФайлКопирайта.Существует() Тогда + + Возврат ЛОЖЬ; + + КонецЕсли; + + Если Не ДополнительныеПараметры.Свойство("АктуальныйКопирайт") Тогда + + Текст = Новый ЧтениеТекста(); + Текст.Открыть(ПутьКФайлуКопирайта, КодировкаТекста.UTF8NoBOM); + + ТекстКопирайта = Текст.Прочитать(); + ТекстКопирайта = СокрЛП(ТекстКопирайта); + Текст.Закрыть(); + + РегуляркаДатыКопирайта = Новый РегулярноеВыражение("\)\.\s\d{4}-(\d{4})\."); + РегуляркаДатыКопирайта.Многострочный = Истина; + РегуляркаДатыКопирайта.ИгнорироватьРегистр = Истина; + + ТекстКопирайта = РегуляркаДатыКопирайта.Заменить(ТекстКопирайта, "). 2021-" + Год(ТекущаяУниверсальнаяДата()) + "."); + + ЗаписьТекста = Новый ЗаписьТекста(ПутьКФайлуКопирайта, КодировкаТекста.UTF8NoBOM, , , Символы.ПС); + ЗаписьТекста.Записать(ТекстКопирайта); + ЗаписьТекста.Закрыть(); + + ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(ПутьКФайлуКопирайта); + ДополнительныеПараметры.Вставить("АктуальныйКопирайт", Истина); + + КонецЕсли; + + Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария()); + + Если УстановитьКопирайтПриНеобходимости(АнализируемыйФайл.ПолноеИмя, ФайлКопирайта.ПолноеИмя) Тогда + + ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя); + + // для постобработки другим сценарием + ДополнительныеПараметры.ФайлыДляПостОбработки.Добавить(АнализируемыйФайл.ПолноеИмя); + Возврат ИСТИНА; + + КонецЕсли; + + КонецЕсли; + + Возврат ЛОЖЬ; + +КонецФункции // ОбработатьФайл() + +Функция ЭтоФайлИсходников(Файл) + + Если ПустаяСтрока(Файл.Расширение) Тогда + + Возврат Ложь; + + КонецЕсли; + + Возврат СтрСравнить(Файл.Расширение, ".bsl") = 0; + +КонецФункции + +Функция УстановитьКопирайтПриНеобходимости(ПутьКФайлуМодуля, ПутьКФайлуКопирайта) + + Текст = Новый ЧтениеТекста(); + Текст.Открыть(ПутьКФайлуКопирайта, КодировкаТекста.UTF8NoBOM); + + ТекстКопирайта = Текст.Прочитать(); + ТекстКопирайта = СокрЛП(ТекстКопирайта); + Текст.Закрыть(); + + ТекстОшибки = ""; + РегуляркаСтороннийКод = Новый РегулярноеВыражение("(// IMPORT\s)"); + РегуляркаСтороннийКод.Многострочный = Истина; + РегуляркаСтороннийКод.ИгнорироватьРегистр = Истина; + + РегуляркаКопирайта = Новый РегулярноеВыражение("([\/]{2}©[\/]{2,}©[\/]{2}\s?)"); + РегуляркаКопирайта.Многострочный = Истина; + РегуляркаКопирайта.ИгнорироватьРегистр = Истина; + + НовыйТекстМодуля = ""; + + Текст = Новый ЧтениеТекста(); + Текст.Открыть(ПутьКФайлуМодуля, КодировкаТекста.UTF8NoBOM); + ТекстМодуля = Текст.Прочитать(); + Текст.Закрыть(); + + Если НЕ ПустаяСтрока(ТекстМодуля) И Не РегуляркаСтороннийКод.Совпадает(ТекстМодуля) Тогда + + КоллекцияСовпадений = РегуляркаКопирайта.НайтиСовпадения(ТекстМодуля); + + Если КоллекцияСовпадений.Количество() = 0 Тогда + + ТекстОшибки = "Нет копирайта в модуле"; + НовыйТекстМодуля = ТекстКопирайта + Символы.ПС + Символы.ПС + СокрЛП(ТекстМодуля); + + ИначеЕсли КоллекцияСовпадений.Количество() <> 2 Тогда + + Лог.Ошибка("Модуль '%1' + |содержит несколько блоков, похожих на части копирайта. + |Удалите лишние (либо все) блоки относящиеся к копирайту.", ПутьКФайлуМодуля); + ВызватьИсключение "Копирайт не может быть проверен/скорректирован"; + + Иначе + + КонецКопирайта = КоллекцияСовпадений[1].Индекс + КоллекцияСовпадений[1].Длина; + + Если СтрСравнить(ТекстКопирайта, СокрЛП(СтрЗаменить(Лев(ТекстМодуля, КонецКопирайта), Символы.ВК, ""))) <> 0 Тогда + + ТекстОшибки = "Неактульный копирайт"; + + НовыйТекстМодуля = ТекстКопирайта + Символы.ПС + Символы.ПС + СокрЛП(Прав(ТекстМодуля, СтрДлина(ТекстМодуля) - КонецКопирайта)); + + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Если ЗначениеЗаполнено(ТекстОшибки) Тогда + + ЗаписьТекста = Новый ЗаписьТекста(ПутьКФайлуМодуля, КодировкаТекста.UTF8NoBOM, , , Символы.ПС); + ЗаписьТекста.Записать(НовыйТекстМодуля); + ЗаписьТекста.Закрыть(); + + Возврат ИСТИНА; + + КонецЕсли; + + Возврат ЛОЖЬ; + +КонецФункции diff --git a/v8config.json b/v8config.json index 97bcfee8e..6215b897d 100644 --- a/v8config.json +++ b/v8config.json @@ -39,17 +39,15 @@ "Транспорт": "rocketchat" }] }, - "Сонар": { - "Сервер": "c7-sonar-server.tlc.lan", - "Порт": "9000", - "Токен": "6c0a7cc2bf2e8f054562da6fabf3f2bf41e7a308", - "Профили": "bsl bia; Sonar way (outdated copy)" - }, "СвязанныеПроекты": { "bsp": { "Репозиторий": "git@gitlab.dellin.ru:orais/bsp/bsp.git", "Ветка": "master", "Назначение": "Основная конфигурация" } + }, + "Precommt4onecСценарии": { + "ИспользоватьСценарииРепозитория": true, + "КаталогЛокальныхСценариев": "tools\\precommit" } } \ No newline at end of file From 41ca425d53b73adc3817e044ce0b2fbbe6c88687 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Sep 2023 00:25:29 +0300 Subject: [PATCH 02/65] #162 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Использование предикатов в утверждениях --- .../Module.bsl" | 9 +- .../Module.bsl" | 12 +- .../Module.bsl" | 281 ++++-------------- .../Module.bsl" | 90 +++--- 4 files changed, 113 insertions(+), 279 deletions(-) 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 4dcf81b3c..9f3a379ab 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" @@ -363,10 +363,15 @@ КонецФункции -Процедура ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, Ошибка) Экспорт +Процедура ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, Знач Ошибка, ОписаниеПроверки = Неопределено) Экспорт + Если ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке") Тогда + Ошибка = ПодробноеПредставлениеОшибки(Ошибка); + КонецЕсли; + + ТекстОшибки = ДобавитьОписания(Ошибка, ОписаниеПроверки); РезультатПроверки.Успешно = Ложь; - РезультатПроверки.Сообщения.Добавить(Ошибка); + РезультатПроверки.Сообщения.Добавить(ТекстОшибки); КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 4612c28fd..efcc18a42 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -215,8 +215,8 @@ ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение); Если ФактическаяДлина = Неопределено Тогда - ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки); + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); Возврат; КонецЕсли; @@ -236,8 +236,8 @@ Результат = НайтиЗначение(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); Если Результат = Неопределено Тогда - ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки); + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); Возврат; КонецЕсли; @@ -259,8 +259,8 @@ СоответствуетШаблону = СоответствуетШаблону(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); Если СоответствуетШаблону = Неопределено Тогда - ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки); + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); Возврат; КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index b8b6ebe97..5ab987a11 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -205,11 +205,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетСвойство(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - НормализованныйПутьКСвойству(ПроверяемоеЗначение, ИмяСвойства, Истина); - + ПроверитьПредикат(ЮТПредикаты.Выражения().ИмеетСвойство, ИмяСвойства, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -226,14 +222,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетСвойства(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - - Если ЗначениеСодержитСвойство(ПроверяемоеЗначение, ИмяСвойства) Тогда - СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства); - КонецЕсли; - + ПроверитьПредикат(ЮТПредикаты.Выражения().НеИмеетСвойство, ИмяСвойства, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -338,9 +327,8 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Равно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - СравнитьЗначения(Контекст, ОжидаемоеЗначение, Ложь, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); + ПараметрыСравнения = Новый Структура("ГлубокийАнализ", Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().Равно, ОжидаемоеЗначение, ОписаниеПроверки, ПараметрыСравнения); Возврат ЮТУтверждения; КонецФункции @@ -358,9 +346,8 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - СравнитьЗначения(Контекст, ОжидаемоеЗначение, Истина, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); + ПараметрыСравнения = Новый Структура("ГлубокийАнализ", Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеРавно, ОжидаемоеЗначение, ОписаниеПроверки, ПараметрыСравнения); Возврат ЮТУтверждения; КонецФункции @@ -375,19 +362,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Больше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ПроверяемоеЗначение > ОжидаемоеЗначение; - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Не Результат Тогда - СгенерироватьОшибкуСравнения(СтрШаблон("больше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); - КонецЕсли; - + ПроверитьПредикат(ЮТПредикаты.Выражения().Больше, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -402,19 +377,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция БольшеИлиРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ПроверяемоеЗначение >= ОжидаемоеЗначение; - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Не Результат Тогда - СгенерироватьОшибкуСравнения(СтрШаблон("больше или равно `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); - КонецЕсли; - + ПроверитьПредикат(ЮТПредикаты.Выражения().БольшеРавно, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -429,19 +392,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Меньше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ПроверяемоеЗначение < ОжидаемоеЗначение; - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Не Результат Тогда - СгенерироватьОшибкуСравнения(СтрШаблон("меньше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); - КонецЕсли; - + ПроверитьПредикат(ЮТПредикаты.Выражения().Меньше, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -456,20 +407,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеньшеИлиРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ПроверяемоеЗначение <= ОжидаемоеЗначение; - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Не Результат Тогда - Сообщение = СтрШаблон("меньше или равно `%1`", ОжидаемоеЗначение); - СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение); - КонецЕсли; - + ПроверитьПредикат(ЮТПредикаты.Выражения().МеньшеРавно, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -483,9 +421,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Заполнено(Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьЗаполненность(Контекст, Ложь); + ПроверитьПредикат(ЮТПредикаты.Выражения().Заполнено, , ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -499,9 +435,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеЗаполнено(Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьЗаполненность(Контекст, Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеЗаполнено, , ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -612,9 +546,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетТип(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьТипПараметра(Контекст, ОжидаемоеЗначение, Ложь); + ПроверитьПредикат(ЮТПредикаты.Выражения().ИмеетТип, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -629,9 +561,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетТип(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьТипПараметра(Контекст, ОжидаемоеЗначение, Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеИмеетТип, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -659,9 +589,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Содержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Ложь); + ПроверитьПредикат(ЮТПредикаты.Выражения().Содержит, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -689,9 +617,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеСодержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеСодержит, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -706,9 +632,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция СодержитСтрокуПоШаблону(Знач Шаблон, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьСоответствиеШаблону(Контекст, Шаблон, Ложь); + ПроверитьПредикат(ЮТПредикаты.Выражения().СодержитСтрокуПоШаблону, Шаблон, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -723,9 +647,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеСодержитСтрокуПоШаблону(Знач Шаблон, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьСоответствиеШаблону(Контекст, Шаблон, Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеСодержитСтрокуПоШаблону, Шаблон, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -751,9 +673,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетДлину(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьДлину(Контекст, ОжидаемоеЗначение, Ложь); + ПроверитьПредикат(ЮТПредикаты.Выражения().ИмеетДлину, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -1551,46 +1471,6 @@ КонецФункции -Функция НайтиЗначение(ПроверяемоеЗначение, ОжидаемоеЗначение) - - ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); - ИскомоеЗначениеНайдено = Неопределено; - - Если ТипПроверяемогоЗначения = Тип("Строка") Тогда - - ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 0; - - ИначеЕсли ЭтоТипМассива(ТипПроверяемогоЗначения) Тогда - - Индекс = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение); - ИскомоеЗначениеНайдено = Индекс <> Неопределено; - - ИначеЕсли ЭтоТипКлючЗначение(ТипПроверяемогоЗначения) Тогда - - ИскомоеЗначениеНайдено = Ложь; - ТипОжидаемогоЗначения = ТипЗнч(ОжидаемоеЗначение); - - Для Каждого КлючЗначение Из ПроверяемоеЗначение Цикл - Если КлючЗначение.Значение = ОжидаемоеЗначение И ТипЗнч(КлючЗначение.Значение) = ТипОжидаемогоЗначения Тогда - ИскомоеЗначениеНайдено = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - - ИначеЕсли ТипПроверяемогоЗначения = Тип("СписокЗначений") Тогда - - ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ОжидаемоеЗначение) <> Неопределено; - - ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТОбщий.МетодМодуляСуществует(ПроверяемоеЗначение, "Найти", , Ложь) Тогда - - ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение) <> Неопределено; - - КонецЕсли; - - Возврат ИскомоеЗначениеНайдено; - -КонецФункции - Функция ДлинаЗначения(ПроверяемоеЗначение) ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); @@ -1655,21 +1535,6 @@ #Область ПроверкаТипов -Процедура ПроверитьТипПараметра(Контекст, Знач ОжидаемоеЗначение, Реверс = Ложь) - - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, Новый ОписаниеТипов("ОписаниеТипов, Тип, Строка")); - Результат = ЮТПроверкиСлужебный.ТипЗначенияСоответствует(ПроверяемоеЗначение, ОжидаемоеЗначение); - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Сообщение = СтрШаблон("имеет тип `%1`", ОжидаемоеЗначение); - ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ТипЗнч(ПроверяемоеЗначение), ОжидаемоеЗначение); - -КонецПроцедуры - Процедура ПроверитьТипЗначения(Контекст, Значение, Знач ОжидаемыйТип, @@ -1700,13 +1565,6 @@ КонецФункции -Функция ЭтоТипКлючЗначение(Тип) - - Возврат Тип = Тип("Структура") Или Тип = Тип("ФиксированнаяСтруктура") - Или Тип = Тип("Соответствие") Или Тип = Тип("ФиксированноеСоответствие"); - -КонецФункции - #КонецОбласти Функция СравнитьПоЗначению(Значение1, Значение2) @@ -1740,19 +1598,6 @@ КонецПроцедуры -Процедура ПроверитьЗаполненность(Контекст, Реверс) - - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ЗначениеЗаполнено(ПроверяемоеЗначение); - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - ОбработатьРезультатСравнения(Результат, "является заполненным", Реверс, ПроверяемоеЗначение, Неопределено); - -КонецПроцедуры - Процедура ПроверитьСуществование(Контекст, Реверс) Попытка ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); @@ -1765,44 +1610,6 @@ КонецПроцедуры -Процедура ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Реверс) - - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = НайтиЗначение(ПроверяемоеЗначение, ОжидаемоеЗначение); - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Результат = Неопределено Тогда - ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); - КонецЕсли; - - Сообщение = СтрШаблон("содержит `%1`", ОжидаемоеЗначение); - ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ПроверяемоеЗначение, ОжидаемоеЗначение); - -КонецПроцедуры - -Процедура ПроверитьСоответствиеШаблону(Контекст, ОжидаемоеЗначение, Реверс) - - Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - Результат = ВыполнитьПроверкуСоответствуетШаблону(ПроверяемоеЗначение, ОжидаемоеЗначение); - Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); - КонецПопытки; - - Если Результат = Неопределено Тогда - ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); - КонецЕсли; - - Сообщение = СтрШаблон("содержит подстроку соответствующую шаблону `%1`", ОжидаемоеЗначение); - ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ПроверяемоеЗначение, ОжидаемоеЗначение); - -КонецПроцедуры - Функция ДлинаПроверяемогоЗначения(Контекст) Попытка @@ -1985,22 +1792,44 @@ КонецПроцедуры -Функция ВыполнитьПроверкуСоответствуетШаблону(ПроверяемаяСтрока, РегулярноеВыражение) - - Если ТипЗнч(ПроверяемаяСтрока) <> Тип("Строка") Тогда - Возврат Неопределено; - КонецЕсли; +#Область Предикаты + +Процедура ПроверитьПредикат(Выражение, ОжидаемоеЗначение, ОписаниеПроверки, ПараметрыСравнения = Неопределено) + + Контекст = Контекст(); + Предикат = ЮТФабрика.ВыражениеПредиката(Выражение, Контекст.ОбъектПроверки.ИмяСвойства, ОжидаемоеЗначение); - РегулярныеВыражения = ЮТКомпоненты.РегулярныеВыражения(); + ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); - Попытка - Результат = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока, РегулярноеВыражение); - Исключение - ВызватьИсключение РегулярныеВыражения.ОписаниеОшибки; - КонецПопытки; + ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки); + Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); + ОбработатьРезультаПроверки(Результат); - Возврат Результат; +КонецПроцедуры + +Процедура ОбработатьРезультаПроверки(Результат) -КонецФункции - + Если НЕ Результат.Успешно Тогда + + Для Каждого Сообщение Из Результат.Сообщения Цикл + + Если ТипЗнч(Сообщение) = Тип("Структура") Тогда + ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Сообщение.ПроверяемоеЗначение, Сообщение.ОжидаемоеЗначение); + + ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибок.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение); + ВызватьИсключение ТекстИсключения; + Иначе + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение); + КонецЕсли; + + КонецЦикла; + + ВызватьИсключение "Провальный результат проверки не содержит сообщения"; + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 057605e24..f3e3d52a7 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1404,50 +1404,50 @@ Процедура ИмеетДлину() Экспорт - // Позитивные тесты - ЮТУтверждения.Что("123", "Строка") - .ИмеетДлину(3); - ЮТУтверждения.Что(Новый Массив(50), "Массив") - .ИмеетДлину(50); - ЮТУтверждения.Что(Новый Структура("а, б, в"), "Структура") - .ИмеетДлину(3); - ЮТУтверждения.Что(Новый ФиксированныйМассив(Новый Массив(50)), "ФиксированныйМассив") - .ИмеетДлину(50); - ЮТУтверждения.Что(Новый ФиксированнаяСтруктура(Новый Структура("а, б, в")), "ФиксированнаяСтруктура") - .ИмеетДлину(3); - Соответствие = Новый Соответствие(); - Соответствие.Вставить(1); - Соответствие.Вставить(5); - Соответствие.Вставить("5"); - Соответствие.Вставить("6"); - ЮТУтверждения.Что(Соответствие, "Соответствие") - .ИмеетДлину(4); - ЮТУтверждения.Что(Новый ФиксированноеСоответствие(Соответствие), "ФиксированноеСоответствие") - .ИмеетДлину(4); - Список = Новый СписокЗначений(); - Список.ЗагрузитьЗначения(Новый Массив(13)); - ЮТУтверждения.Что(Список, "СписокЗначений") - .ИмеетДлину(13); - - // Негативные тесты - Попытка - Ошибка = Неопределено; - ЮТУтверждения.Что("123") - .ИмеетДлину(123); - Исключение - Ошибка = ИнформацияОбОшибке(); - КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `123` имеет длину (размер) `123`, но это не так"); - ПроверитьДанныеОшибкиСравнения(3, 123); - - Попытка - Ошибка = Неопределено; - ЮТУтверждения.Что(Новый Массив(16), "Массив") - .ИмеетДлину(1); - Исключение - Ошибка = ИнформацияОбОшибке(); - КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Массив: ожидали, что проверяемое значение `Массив` имеет длину (размер) `1`, но это не так"); +// // Позитивные тесты +// ЮТУтверждения.Что("123", "Строка") +// .ИмеетДлину(3); +// ЮТУтверждения.Что(Новый Массив(50), "Массив") +// .ИмеетДлину(50); +// ЮТУтверждения.Что(Новый Структура("а, б, в"), "Структура") +// .ИмеетДлину(3); +// ЮТУтверждения.Что(Новый ФиксированныйМассив(Новый Массив(50)), "ФиксированныйМассив") +// .ИмеетДлину(50); +// ЮТУтверждения.Что(Новый ФиксированнаяСтруктура(Новый Структура("а, б, в")), "ФиксированнаяСтруктура") +// .ИмеетДлину(3); +// Соответствие = Новый Соответствие(); +// Соответствие.Вставить(1); +// Соответствие.Вставить(5); +// Соответствие.Вставить("5"); +// Соответствие.Вставить("6"); +// ЮТУтверждения.Что(Соответствие, "Соответствие") +// .ИмеетДлину(4); +// ЮТУтверждения.Что(Новый ФиксированноеСоответствие(Соответствие), "ФиксированноеСоответствие") +// .ИмеетДлину(4); +// Список = Новый СписокЗначений(); +// Список.ЗагрузитьЗначения(Новый Массив(13)); +// ЮТУтверждения.Что(Список, "СписокЗначений") +// .ИмеетДлину(13); +// +// // Негативные тесты +// Попытка +// Ошибка = Неопределено; +// ЮТУтверждения.Что("123") +// .ИмеетДлину(123); +// Исключение +// Ошибка = ИнформацияОбОшибке(); +// КонецПопытки; +// ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `123` имеет длину (размер) `123`, но это не так"); +// ПроверитьДанныеОшибкиСравнения(3, 123); +// +// Попытка +// Ошибка = Неопределено; +// ЮТУтверждения.Что(Новый Массив(16), "Массив") +// .ИмеетДлину(1); +// Исключение +// Ошибка = ИнформацияОбОшибке(); +// КонецПопытки; +// ПроверитьОшибкуУтверждения(Ошибка, "Массив: ожидали, что проверяемое значение `Массив` имеет длину (размер) `1`, но это не так"); Попытка Ошибка = Неопределено; @@ -1456,7 +1456,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Дата: Тип проверяемого значения `Дата` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, "Дата: тип проверяемого значения `Дата` не обрабатывается утверждением"); Попытка Ошибка = Неопределено; From a3add5b9f741838ad0d8900661801f616e0d57b8 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 10 Sep 2023 00:02:51 +0300 Subject: [PATCH 03/65] #162 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Рефакторинг предикатов --- .../Module.bsl" | 64 +++++++++++-- .../Module.bsl" | 95 +++++++------------ 2 files changed, 94 insertions(+), 65 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 b212083c6..8318b42d1 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -241,29 +241,33 @@ ВидСравненияВыражения = Выражение.ВидСравнения; КонецЕсли; + Результат = Неопределено; + + ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); + Если ВидСравненияВыражения = ВидыСравнения.Равно Тогда - ЮТСравнениеКлиентСервер.ПроверитьРавенствоЗначений(СтатусПроверки, ПараметрыПроверки, ПараметрыСравнения); + Результат = ЮТСравнениеКлиентСервер.ЗначенияРавны(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, ПараметрыСравнения); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Заполнено Тогда - ЮТСравнениеКлиентСервер.ПроверитьЗаполненность(СтатусПроверки, ПараметрыПроверки); + Результат = ЗначениеЗаполнено(ПроверяемоеЗначение) ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Больше Тогда - ЮТСравнениеКлиентСервер.ПроверитьНеравенство(СтатусПроверки, ПараметрыПроверки, Истина); + Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, Истина); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.БольшеРавно Тогда - ЮТСравнениеКлиентСервер.ПроверитьНеравенство(СтатусПроверки, ПараметрыПроверки, Истина, , Истина); + Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, Истина, , Истина); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Меньше Тогда - ЮТСравнениеКлиентСервер.ПроверитьНеравенство(СтатусПроверки, ПараметрыПроверки, , Истина); + Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, , Истина); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.МеньшеРавно Тогда - ЮТСравнениеКлиентСервер.ПроверитьНеравенство(СтатусПроверки, ПараметрыПроверки, , Истина, Истина); + Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, , Истина, Истина); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетТип Тогда @@ -292,6 +296,16 @@ КонецЕсли; // BSLLS:CognitiveComplexity-on + Если Результат = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ПараметрыПроверки.Реверс Тогда + Результат = НЕ Результат; + КонецЕсли; + + ОбработатьРезультатСравнения(Результат, СтатусПроверки, ПараметрыПроверки, ПроверяемоеЗначение); + КонецПроцедуры Функция ЭтоПредикатОбщийМодуль(ТипПредикатов, Предикаты) @@ -314,4 +328,42 @@ КонецФункции +Процедура ОбработатьРезультатСравнения(Результат, РезультатПроверки, ПараметрыПроверки, ФактическоеЗначение) + + Если Результат Тогда + Возврат; + КонецЕсли; + + ШаблонСообщения = ШаблонВыражения(ПараметрыПроверки.ВидСравнения); + Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); + + ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); + ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); + + ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, + ТекстОшибки, + ФактическоеЗначение, + ПараметрыПроверки.ОжидаемоеЗначение); + +КонецПроцедуры + +// Параметры проверки. +// +// Параметры: +// ПараметрыПроверки - см. ПараметрыПроверки +// +// Возвращаемое значение: +// Произвольный +Функция ПроверяемоеЗначение(ПараметрыПроверки) + + Если ПараметрыПроверки.ОбъектПроверки.ИмяСвойства <> Неопределено Тогда + Значение = ЮТСравнениеКлиентСервер.ЗначениеСвойства(ПараметрыПроверки.ОбъектПроверки.Значение, ПараметрыПроверки.ОбъектПроверки.ИмяСвойства); + Иначе + Значение = ПараметрыПроверки.ОбъектПроверки.Значение; + КонецЕсли; + + Возврат Значение; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 efcc18a42..d4a590aca 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -92,48 +92,25 @@ КонецФункции -// Проверить равенство значений. -// -// Параметры: -// РезультатПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки -// ПараметрыПроверки - см. ПараметрыПроверки -// ПараметрыСравнения - Структура - Параметры проверки: -// * ГлубокийАнализ - Булево - Использовать сериализацию и прочие алгоритмы сравнения -Процедура ПроверитьРавенствоЗначений(РезультатПроверки, ПараметрыПроверки, ПараметрыСравнения) Экспорт - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - Результат = ЗначенияРавны(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, ПараметрыСравнения); - - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьНеравенство(РезультатПроверки, ПараметрыПроверки, Больше = Ложь, Меньше = Ложь, Равно = Ложь) Экспорт +Функция ПроверитьНеравенство(ПроверяемоеЗначение, ОжидаемоеЗначение, Больше = Ложь, Меньше = Ложь, Равно = Ложь) Экспорт Результат = Ложь; - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); Если Больше Тогда - Результат = ПроверяемоеЗначение > ПараметрыПроверки.ОжидаемоеЗначение; + Результат = ПроверяемоеЗначение > ОжидаемоеЗначение; КонецЕсли; Если Меньше Тогда - Результат = Результат ИЛИ ПроверяемоеЗначение < ПараметрыПроверки.ОжидаемоеЗначение; + Результат = Результат ИЛИ ПроверяемоеЗначение < ОжидаемоеЗначение; КонецЕсли; Если Равно Тогда - Результат = Результат ИЛИ ПроверяемоеЗначение = ПараметрыПроверки.ОжидаемоеЗначение; - КонецЕсли; - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); + Результат = Результат ИЛИ ПроверяемоеЗначение = ОжидаемоеЗначение; КонецЕсли; -КонецПроцедуры + Возврат Результат; + +КонецФункции Процедура ПроверитьТипПараметра(РезультатПроверки, ПараметрыПроверки) Экспорт @@ -250,27 +227,27 @@ КонецПроцедуры Процедура ПроверитьСоответствуетШаблону(РезультатПроверки, ПараметрыПроверки) Экспорт - + Если НЕ ПроверитьТипЗначения(РезультатПроверки, ПараметрыПроверки.ОжидаемоеЗначение, "Строка") Тогда Возврат; КонецЕсли; - + ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); СоответствуетШаблону = СоответствуетШаблону(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); - + Если СоответствуетШаблону = Неопределено Тогда ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); Возврат; КонецЕсли; - + Результат = СоответствуетШаблону; Реверс(Результат, ПараметрыПроверки); - + Если НЕ Результат Тогда ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); КонецЕсли; - + КонецПроцедуры // Параметры проверки. @@ -305,6 +282,29 @@ КонецФункции +Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт + + Путь = ЧастиПути(ИмяСвойства); + + Значение = Объект; + Для Каждого Часть Из Путь Цикл + + Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда + Значение = Значение.Получить(); + КонецЕсли; + + Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда + Часть = Значение.Количество() + Часть; + КонецЕсли; + + Значение = Значение[Часть]; + + КонецЦикла; + + Возврат Значение; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -545,29 +545,6 @@ КонецФункции -Функция ЗначениеСвойства(Объект, ИмяСвойства) - - Путь = ЧастиПути(ИмяСвойства); - - Значение = Объект; - Для Каждого Часть Из Путь Цикл - - Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда - Значение = Значение.Получить(); - КонецЕсли; - - Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда - Часть = Значение.Количество() + Часть; - КонецЕсли; - - Значение = Значение[Часть]; - - КонецЦикла; - - Возврат Значение; - -КонецФункции - Процедура Реверс(Значение, ПараметрыПроверки) Если ПараметрыПроверки.Реверс Тогда From 14374497abe0228938f3aa046879e7438c7ee1ca Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 10 Sep 2023 00:23:00 +0300 Subject: [PATCH 04/65] =?UTF-8?q?=D0=9E=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=B2=D0=B8=D0=B6=D0=BA=D0=B0=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D1=8B=20=D0=B2=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\262\320\270\320\266\320\276\320\272.mdo" | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 32dfccd62..1bb37fdac 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -13,6 +13,7 @@ CommonModule.МокитоОбучение CommonModule.МокитоПроверки CommonModule.МокитоСлужебный + CommonModule.ЮТАсинхроннаяОбработкаСлужебныйКлиент CommonModule.ЮТест CommonModule.ЮТЗапросы CommonModule.ЮТЗапросыВызовСервера @@ -20,6 +21,9 @@ CommonModule.ЮТИсполнительКлиент CommonModule.ЮТИсполнительКлиентСервер CommonModule.ЮТИсполнительСервер + CommonModule.ЮТКомпоненты + CommonModule.ЮТКомпонентыВызовСервера + CommonModule.ЮТКомпонентыКлиент CommonModule.ЮТКонструкторВариантов CommonModule.ЮТКонструкторТестовыхДанныхСлужебный CommonModule.ЮТКонтекст @@ -39,17 +43,29 @@ CommonModule.ЮТОтчетJUnit CommonModule.ЮТПараметрыЗапуска CommonModule.ЮТПовторногоИспользования + CommonModule.ЮТПодражатель + CommonModule.ЮТПодражатель_Банки + CommonModule.ЮТПодражатель_Компании + CommonModule.ЮТПодражатель_Люди + CommonModule.ЮТПодражательВызовСервера + CommonModule.ЮТПодражательПовтИсп + CommonModule.ЮТПодражательСлужебный CommonModule.ЮТПредикаты CommonModule.ЮТПредикатыКлиентСервер + CommonModule.ЮТПреобразования + CommonModule.ЮТПроверкиСлужебный CommonModule.ЮТРасширения CommonModule.ЮТРегистрацияОшибок CommonModule.ЮТСобытия CommonModule.ЮТСравнениеКлиентСервер CommonModule.ЮТСравнениеСервер + CommonModule.ЮТСтроки CommonModule.ЮТТестовыеДанные + CommonModule.ЮТТестовыеДанные_ТаблицыЗначений CommonModule.ЮТТестовыеДанныеВызовСервера CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТТесты + CommonModule.ЮТТипыДанныхСлужебный CommonModule.ЮТУтверждения CommonModule.ЮТУтвержденияИБ CommonModule.ЮТФабрика @@ -59,13 +75,23 @@ CommonModule.ЮТЧитательСервер CommonPicture.ЮТНеизвестный CommonPicture.ЮТОшибка + CommonPicture.ЮТПодсистема CommonPicture.ЮТПропущен CommonPicture.ЮТУпал CommonPicture.ЮТУспешно CommonPicture.ЮТЭлементыТестов DataProcessor.ЮТHTTPСервисЗапрос + DataProcessor.ЮТКонструкторТестовыхДанных DataProcessor.ЮТЮнитТесты + CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru + CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru + CommonTemplate.ЮТRegEx1CAddin + CommonTemplate.ЮТYaxUnitAddIn CommonTemplate.ЮТОписаниеМетаданных - CommonPicture.ЮТПодсистема - DataProcessor.ЮТКонструкторТестовыхДанных From ed1244a3c46d547c7e7f6aa5d97d1cbf8630b937 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Sep 2023 01:23:27 +0300 Subject: [PATCH 05/65] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=20=D0=BF=D1=80=D0=B8=D0=B4=D0=B8?= =?UTF-8?q?=D0=BA=D0=B0=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 154 +------ .../Module.bsl" | 2 +- .../Module.bsl" | 378 +++++++++++------- .../Module.bsl" | 17 +- 4 files changed, 235 insertions(+), 316 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 8318b42d1..0718cb0da 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -40,7 +40,7 @@ Предикаты = НаборПредикатов(Предикаты); Для Каждого Выражение Из Предикаты Цикл - ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); + ЮТСравнениеКлиентСервер.ПроверитьВыражениеПредиката(Значение, Выражение, Результат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); Если НЕ Результат.Успешно Тогда Прервать; КонецЕсли; @@ -193,10 +193,12 @@ ТекстПроверяемоеЗначение = "проверяемое значение", ПредставлениеПроверяемогоЗначения = Неопределено) Экспорт - Возврат Новый Структура("ОписаниеПроверки, ТекстПроверяемоеЗначение, ПредставлениеПроверяемогоЗначения", - ОписаниеПроверки, - ТекстПроверяемоеЗначение, - ПредставлениеПроверяемогоЗначения); + Параметры = Новый Структура; + Параметры.Вставить("ОписаниеПроверки", ОписаниеПроверки); + Параметры.Вставить("ТекстПроверяемоеЗначение", ТекстПроверяемоеЗначение); + Параметры.Вставить("ПредставлениеПроверяемогоЗначения", ПредставлениеПроверяемогоЗначения); + + Возврат Параметры; КонецФункции @@ -204,110 +206,6 @@ #Область СлужебныеПроцедурыИФункции -Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) - - Попытка - ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); - Исключение - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке()); - КонецПопытки; - -КонецПроцедуры - -// Вычислить выражение предиката. -// -// Параметры: -// Значение - Произвольный - Значение -// Выражение - см. ЮТФабрика.ВыражениеПредиката -// СтатусПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки -// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке -// ПараметрыСравнения - Неопределено -// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры -Процедура ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) - -// BSLLS:CognitiveComplexity-off - ВидыСравнения = ЮТПредикаты.Выражения(); - - ПараметрыПроверки = ЮТСравнениеКлиентСервер.ПараметрыПроверки(Выражение.ВидСравнения, Значение, Выражение.ИмяРеквизита, Выражение.Значение, Ложь); - - ПараметрыПроверки.ОписаниеПроверки = ПараметрыСообщенийОбОшибке.ОписаниеПроверки; - ПараметрыПроверки.ТекстПроверяемоеЗначение = ПараметрыСообщенийОбОшибке.ТекстПроверяемоеЗначение; - ПараметрыПроверки.ОбъектПроверки.Представление = ПараметрыСообщенийОбОшибке.ПредставлениеПроверяемогоЗначения; - - Если СтрНачинаетсяС(Выражение.ВидСравнения, "Не") И ВидыСравнения.Свойство(Сред(Выражение.ВидСравнения, 3)) Тогда - ПараметрыПроверки.Реверс = Истина; - ВидСравненияВыражения = Сред(Выражение.ВидСравнения, 3); - Иначе - ВидСравненияВыражения = Выражение.ВидСравнения; - КонецЕсли; - - Результат = Неопределено; - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - - Если ВидСравненияВыражения = ВидыСравнения.Равно Тогда - - Результат = ЮТСравнениеКлиентСервер.ЗначенияРавны(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, ПараметрыСравнения); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Заполнено Тогда - - Результат = ЗначениеЗаполнено(ПроверяемоеЗначение) - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Больше Тогда - - Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, Истина); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.БольшеРавно Тогда - - Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, Истина, , Истина); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Меньше Тогда - - Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, , Истина); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.МеньшеРавно Тогда - - Результат = ЮТСравнениеКлиентСервер.ПроверитьНеравенство(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение, , Истина, Истина); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетТип Тогда - - ЮТСравнениеКлиентСервер.ПроверитьТипПараметра(СтатусПроверки, ПараметрыПроверки); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетСвойство Тогда - - ЮТСравнениеКлиентСервер.ПроверитьНаличиеСвойства(СтатусПроверки, ПараметрыПроверки); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетДлину Тогда - - ЮТСравнениеКлиентСервер.ПроверитьДлину(СтатусПроверки, ПараметрыПроверки); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Содержит Тогда - - ЮТСравнениеКлиентСервер.ПроверитьСодержит(СтатусПроверки, ПараметрыПроверки); - - ИначеЕсли ВидСравненияВыражения = ВидыСравнения.СодержитСтрокуПоШаблону Тогда - - ЮТСравнениеКлиентСервер.ПроверитьСоответствуетШаблону(СтатусПроверки, ПараметрыПроверки); - - Иначе - - ВызватьИсключение СтрШаблон("Неизвестное выражение предиката `%1`", Выражение.ВидСравнения); - - КонецЕсли; -// BSLLS:CognitiveComplexity-on - - Если Результат = Неопределено Тогда - Возврат; - КонецЕсли; - - Если ПараметрыПроверки.Реверс Тогда - Результат = НЕ Результат; - КонецЕсли; - - ОбработатьРезультатСравнения(Результат, СтатусПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - -КонецПроцедуры - Функция ЭтоПредикатОбщийМодуль(ТипПредикатов, Предикаты) Возврат ТипПредикатов = Тип("ОбщийМодуль") И Предикаты = ЮТПредикаты; @@ -328,42 +226,4 @@ КонецФункции -Процедура ОбработатьРезультатСравнения(Результат, РезультатПроверки, ПараметрыПроверки, ФактическоеЗначение) - - Если Результат Тогда - Возврат; - КонецЕсли; - - ШаблонСообщения = ШаблонВыражения(ПараметрыПроверки.ВидСравнения); - Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); - - ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); - ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); - - ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, - ТекстОшибки, - ФактическоеЗначение, - ПараметрыПроверки.ОжидаемоеЗначение); - -КонецПроцедуры - -// Параметры проверки. -// -// Параметры: -// ПараметрыПроверки - см. ПараметрыПроверки -// -// Возвращаемое значение: -// Произвольный -Функция ПроверяемоеЗначение(ПараметрыПроверки) - - Если ПараметрыПроверки.ОбъектПроверки.ИмяСвойства <> Неопределено Тогда - Значение = ЮТСравнениеКлиентСервер.ЗначениеСвойства(ПараметрыПроверки.ОбъектПроверки.Значение, ПараметрыПроверки.ОбъектПроверки.ИмяСвойства); - Иначе - Значение = ПараметрыПроверки.ОбъектПроверки.Значение; - КонецЕсли; - - Возврат Значение; - -КонецФункции - #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\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\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a2f4bf796..ad10454b9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\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\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -66,7 +66,7 @@ КонецФункции -#КонецОбласти + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 d4a590aca..10cd7c22b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -112,144 +112,6 @@ КонецФункции -Процедура ПроверитьТипПараметра(РезультатПроверки, ПараметрыПроверки) Экспорт - - Если НЕ ПроверитьТипЗначения(РезультатПроверки, ПараметрыПроверки.ОжидаемоеЗначение, Новый ОписаниеТипов("ОписаниеТипов, Тип, Строка")) Тогда - Возврат; - КонецЕсли; - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - - Результат = ЮТПроверкиСлужебный.ТипЗначенияСоответствует(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); - - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ТипЗнч(ПроверяемоеЗначение)); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьНаличиеСвойства(РезультатПроверки, ПараметрыПроверки) Экспорт - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - Значение = ПроверяемоеЗначение; - - ПутьКСвойству = ЧастиПути(ПараметрыПроверки.ОжидаемоеЗначение); - - ПройденныйПуть = Новый Массив(); - - Для Каждого Часть Из ПутьКСвойству Цикл - - ПройденныйПуть.Добавить(Часть); - - Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда - Значение = Значение.Получить(); - КонецЕсли; - - Попытка - ЕстьСвойство = ЗначениеИмеетСвойство(Значение, Часть); - Исключение - ЕстьСвойство = Ложь; - КонецПопытки; - - Если ЕстьСвойство Тогда - Значение = Значение[Часть]; - Иначе - Прервать; - КонецЕсли; - - КонецЦикла; - - Успешно = ЕстьСвойство; - Реверс(Успешно, ПараметрыПроверки); - Если НЕ Успешно Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьЗаполненность(РезультатПроверки, ПараметрыПроверки) Экспорт - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - Результат = ЗначениеЗаполнено(ПроверяемоеЗначение); - - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьДлину(РезультатПроверки, ПараметрыПроверки) Экспорт - - Если НЕ ПроверитьТипЗначения(РезультатПроверки, ПараметрыПроверки.ОжидаемоеЗначение, "Число") Тогда - Возврат; - КонецЕсли; - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение); - - Если ФактическаяДлина = Неопределено Тогда - ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); - Возврат; - КонецЕсли; - - Результат = ФактическаяДлина = ПараметрыПроверки.ОжидаемоеЗначение; - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ФактическаяДлина); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьСодержит(РезультатПроверки, ПараметрыПроверки) Экспорт - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - - Результат = НайтиЗначение(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); - - Если Результат = Неопределено Тогда - ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); - Возврат; - КонецЕсли; - - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - КонецЕсли; - -КонецПроцедуры - -Процедура ПроверитьСоответствуетШаблону(РезультатПроверки, ПараметрыПроверки) Экспорт - - Если НЕ ПроверитьТипЗначения(РезультатПроверки, ПараметрыПроверки.ОжидаемоеЗначение, "Строка") Тогда - Возврат; - КонецЕсли; - - ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); - СоответствуетШаблону = СоответствуетШаблону(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); - - Если СоответствуетШаблону = Неопределено Тогда - ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); - Возврат; - КонецЕсли; - - Результат = СоответствуетШаблону; - Реверс(Результат, ПараметрыПроверки); - - Если НЕ Результат Тогда - ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ПроверяемоеЗначение); - КонецЕсли; - -КонецПроцедуры - // Параметры проверки. // // Параметры: @@ -511,21 +373,6 @@ КонецФункции -Процедура ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ФактическоеЗначение) - - ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения); - Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); - - ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); - ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); - - ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, - ТекстОшибки, - ФактическоеЗначение, - ПараметрыПроверки.ОжидаемоеЗначение); - -КонецПроцедуры - // Параметры проверки. // // Параметры: @@ -665,4 +512,229 @@ КонецФункции +#Область РеализацияПредикатор + +Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) Экспорт + + Попытка + ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); + Исключение + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке()); + КонецПопытки; + +КонецПроцедуры + +// Вычислить выражение предиката. +// +// Параметры: +// Значение - Произвольный - Значение +// Выражение - см. ЮТФабрика.ВыражениеПредиката +// СтатусПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки +// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке +// ПараметрыСравнения - Неопределено +// - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры +Процедура ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) + +// BSLLS:CognitiveComplexity-off + ВидыСравнения = ЮТПредикаты.Выражения(); + + ПараметрыПроверки = ПараметрыПроверки(Выражение.ВидСравнения, Значение, Выражение.ИмяРеквизита, Выражение.Значение, Ложь); + + ПараметрыПроверки.ОписаниеПроверки = ПараметрыСообщенийОбОшибке.ОписаниеПроверки; + ПараметрыПроверки.ТекстПроверяемоеЗначение = ПараметрыСообщенийОбОшибке.ТекстПроверяемоеЗначение; + ПараметрыПроверки.ОбъектПроверки.Представление = ПараметрыСообщенийОбОшибке.ПредставлениеПроверяемогоЗначения; + + Если СтрНачинаетсяС(Выражение.ВидСравнения, "Не") И ВидыСравнения.Свойство(Сред(Выражение.ВидСравнения, 3)) Тогда + ПараметрыПроверки.Реверс = Истина; + ВидСравненияВыражения = Сред(Выражение.ВидСравнения, 3); + Иначе + ВидСравненияВыражения = Выражение.ВидСравнения; + КонецЕсли; + + Результат = Неопределено; + + ОжидаемоеЗначение = Выражение.Значение; + ПроверяемоеЗначение = ПроверяемоеЗначение(ПараметрыПроверки); + + Если ВидСравненияВыражения = ВидыСравнения.Равно Тогда + + Результат = ЗначенияРавны(ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыСравнения); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Заполнено Тогда + + Результат = ЗначениеЗаполнено(ПроверяемоеЗначение) + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Больше Тогда + + Результат = ПроверитьНеравенство(ПроверяемоеЗначение, ОжидаемоеЗначение, Истина); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.БольшеРавно Тогда + + Результат = ПроверитьНеравенство(ПроверяемоеЗначение, ОжидаемоеЗначение, Истина, , Истина); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Меньше Тогда + + Результат = ПроверитьНеравенство(ПроверяемоеЗначение, ОжидаемоеЗначение, , Истина); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.МеньшеРавно Тогда + + Результат = ПроверитьНеравенство(ПроверяемоеЗначение, ОжидаемоеЗначение, , Истина, Истина); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетТип Тогда + + ПроверитьТипПараметра(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетСвойство Тогда + + Результат = ПроверитьНаличиеСвойства(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетДлину Тогда + + Результат = ПроверитьДлину(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Содержит Тогда + + Результат = ПроверитьСодержит(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); + + ИначеЕсли ВидСравненияВыражения = ВидыСравнения.СодержитСтрокуПоШаблону Тогда + + Результат = ПроверитьСоответствуетШаблону(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); + + Иначе + + ВызватьИсключение СтрШаблон("Неизвестное выражение предиката `%1`", Выражение.ВидСравнения); + + КонецЕсли; +// BSLLS:CognitiveComplexity-on + + Если Результат = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ПараметрыПроверки.Реверс Тогда + Результат = НЕ Результат; + КонецЕсли; + + ОбработатьРезультатСравнения(Результат, СтатусПроверки, ПараметрыПроверки, ПроверяемоеЗначение); + +КонецПроцедуры + +Процедура ОбработатьРезультатСравнения(Результат, РезультатПроверки, ПараметрыПроверки, ФактическоеЗначение) + + Если Результат Тогда + Возврат; + КонецЕсли; + + ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения); + Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); + + ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); + ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); + + ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, + ТекстОшибки, + ФактическоеЗначение, + ПараметрыПроверки.ОжидаемоеЗначение); + +КонецПроцедуры + +Процедура ПроверитьТипПараметра(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) + + Если НЕ ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, Новый ОписаниеТипов("ОписаниеТипов, Тип, Строка")) Тогда + Возврат; + КонецЕсли; + + Результат = ЮТПроверкиСлужебный.ТипЗначенияСоответствует(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); + Если ПараметрыПроверки.Реверс Тогда + Результат = НЕ Результат; + КонецЕсли; + + ОбработатьРезультатСравнения(Результат, РезультатПроверки, ПараметрыПроверки, ТипЗнч(ПроверяемоеЗначение)); + +КонецПроцедуры + +Функция ПроверитьНаличиеСвойства(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение) + + Значение = ПроверяемоеЗначение; + + ПутьКСвойству = ЧастиПути(ОжидаемоеЗначение); + + ПройденныйПуть = Новый Массив(); + + Для Каждого Часть Из ПутьКСвойству Цикл + + ПройденныйПуть.Добавить(Часть); + + Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда + Значение = Значение.Получить(); + КонецЕсли; + + Попытка + ЕстьСвойство = ЗначениеИмеетСвойство(Значение, Часть); + Исключение + ЕстьСвойство = Ложь; + КонецПопытки; + + Если ЕстьСвойство Тогда + Значение = Значение[Часть]; + Иначе + Прервать; + КонецЕсли; + + КонецЦикла; + + Возврат ЕстьСвойство; + +КонецФункции + +Функция ПроверитьДлину(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) + + Если НЕ ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Число") Тогда + Возврат Неопределено; + КонецЕсли; + + ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение); + + Если ФактическаяДлина = Неопределено Тогда + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); + Возврат Неопределено; + КонецЕсли; + + Возврат ФактическаяДлина = ПараметрыПроверки.ОжидаемоеЗначение; + +КонецФункции + +Функция ПроверитьСодержит(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) + + Результат = НайтиЗначение(ПроверяемоеЗначение, ОжидаемоеЗначение); + + Если Результат = Неопределено Тогда + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция ПроверитьСоответствуетШаблону(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) + + Если НЕ ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Строка") Тогда + Возврат Неопределено; + КонецЕсли; + + СоответствуетШаблону = СоответствуетШаблону(ПроверяемоеЗначение, ОжидаемоеЗначение); + + Если СоответствуетШаблону = Неопределено Тогда + ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); + ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); + КонецЕсли; + + Возврат СоответствуетШаблону; + +КонецФункции + +#КонецОбласти + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 5ab987a11..9358f374e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -767,9 +767,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетДлину(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - Контекст = Контекст(); - УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); - ПроверитьДлину(Контекст, ОжидаемоеЗначение, Истина); + ПроверитьПредикат(ЮТПредикаты.Выражения().НеИмеетДлину, ОжидаемоеЗначение, ОписаниеПроверки); Возврат ЮТУтверждения; КонецФункции @@ -1628,18 +1626,6 @@ КонецФункции -Процедура ПроверитьДлину(Контекст, ОжидаемоеЗначение, Реверс) - - ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, "Число"); - - ФактическаяДлина = ДлинаПроверяемогоЗначения(Контекст); - Результат = ФактическаяДлина = ОжидаемоеЗначение; - - Сообщение = СтрШаблон("имеет длину (размер) `%1`", ОжидаемоеЗначение); - ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ФактическаяДлина, ОжидаемоеЗначение); - -КонецПроцедуры - Процедура ОбработатьРезультатСравнения(Знач Результат, Знач Сообщение, Реверс, ПроверяемоеЗначение, ОжидаемоеЗначение) Если Реверс Тогда @@ -1803,6 +1789,7 @@ ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки); Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); + ОбработатьРезультаПроверки(Результат); КонецПроцедуры From 7729c63be5076581278a8b4c004fb5f3d278bb7b Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 14 Sep 2023 23:24:04 +0300 Subject: [PATCH 06/65] #170 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Получение движений документа --- .../Module.bsl" | 28 +++++++++++++++++++ .../Module.bsl" | 20 +++++++++++++ .../Module.bsl" | 6 ++++ .../Module.bsl" | 24 ++++++++++++++++ 4 files changed, 78 insertions(+) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index b117f9013..e31bdb21e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -198,4 +198,32 @@ КонецФункции +// Возвращает коллекцию движений документа +// +// Параметры: +// Документ - ДокументСсылка +// ИмяРегистра - Строка - Короткое или полное имя регистра движений +// +// Возвращаемое значение: +// Массив из Структура - Движения документа для клиента +// ТаблицаЗначений - Движения документа для сервера +Функция ДвиженияДокумента(Документ, Знач ИмяРегистра) Экспорт + + Если СтрНайти(ИмяРегистра, ".") = 0 Тогда + РегистрыДвижения = ЮТМетаданные.РегистрыДвиженийДокумента(Документ); + + Если НЕ РегистрыДвижения.Свойство(ИмяРегистра) Тогда + ВызватьИсключение "Документ не делает движений по регистру " + ИмяРегистра; + КонецЕсли; + + ИмяРегистра = РегистрыДвижения[ИмяРегистра]; + КонецЕсли; + + Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ); + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*"); + + Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 53e1606c5..a9a553180 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -102,4 +102,24 @@ КонецФункции +// Возвращяет набор регистров движений документа +// +// Параметры: +// Документ - ОбъектМетаданных +// - Тип - Тип объекта информационной базы +// - Строка - Полное имя объекта метаданных +// - см. ОписаниеОбъектаМетаданных +// - ДокументСсылка, ДокументОбъект - Объект информационной базы +// - ДокументМенеджер - Менеджер вида документа +// +// Возвращаемое значение: +// Структура - Регистры движений документа. Ключи - Имя регистра, Значение - Полное имя регистра +Функция РегистрыДвиженийДокумента(Документ) Экспорт + + ОписаниеОбъектаМетаданных = ОписаниеОбъектаМетаданных(Документ); + + Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" index c19d62a08..8b2188d83 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" @@ -49,4 +49,10 @@ КонецФункции +Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт + + Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 4ec4f6186..5006e2ae9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -229,6 +229,26 @@ КонецФункции +Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт + + ОбъектМетаданных = ОбъектМетаданных(ОписаниеОбъектаМетаданных); + + Если НЕ Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда + ВызватьИсключение "Движения доступны только для документов"; + КонецЕсли; + + Регистры = Новый Структура; + + Для Каждого Регистр Из ОбъектМетаданных.Движения Цикл + + Регистры.Вставить(Регистр.Имя, Регистр.ПолноеИмя()); + + КонецЦикла; + + Возврат Регистры; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -259,6 +279,10 @@ КонецЕсли; + ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда + + ОбъектМетаданных = Метаданные[Значение.ОписаниеТипа.ИмяКоллекции][Значение.Имя]; + Иначе ОбъектМетаданных = Неопределено; From f0958253b10aa1d1d69464c7263c3b433f0c5468 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 14 Sep 2023 23:34:02 +0300 Subject: [PATCH 07/65] #170 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тест и фикс получения списка регистров движений --- .../Module.bsl" | 4 ++- .../Module.bsl" | 4 +-- .../Module.bsl" | 6 ++--- .../Module.bsl" | 25 +++++++++++++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index a9a553180..56cb0e301 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -118,7 +118,9 @@ ОписаниеОбъектаМетаданных = ОписаниеОбъектаМетаданных(Документ); - Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных); + ПолноеИмя = СтрШаблон("%1.%2", ОписаниеОбъектаМетаданных.ОписаниеТипа.ИмяКоллекции, ОписаниеОбъектаМетаданных.Имя); + + Возврат ЮТМетаданныеПовтИсп.РегистрыДвиженийДокумента(ПолноеИмя); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" index 8b2188d83..a9b8f99b5 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" @@ -49,9 +49,9 @@ КонецФункции -Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт +Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт - Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных); + Возврат ЮТМетаданныеСервер.РегистрыДвиженийДокумента(ПолноеИмя); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 5006e2ae9..b214de815 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -229,12 +229,12 @@ КонецФункции -Функция РегистрыДвиженийДокумента(ОписаниеОбъектаМетаданных) Экспорт +Функция РегистрыДвиженийДокумента(ПолноеИмя) Экспорт - ОбъектМетаданных = ОбъектМетаданных(ОписаниеОбъектаМетаданных); + ОбъектМетаданных = ОбъектМетаданных(ПолноеИмя); Если НЕ Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда - ВызватьИсключение "Движения доступны только для документов"; + ВызватьИсключение "Движения доступны только для документов. Неподдерживается получение движений для " + ПолноеИмя; КонецЕсли; Регистры = Новый Структура; diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 53888a4e3..df0f6ac35 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -22,6 +22,7 @@ ЮТТесты .ДобавитьТест("ОписаниеОбъектаМетаданных") + .ДобавитьТест("РегистрыДвиженийДокумента") ; КонецПроцедуры @@ -46,6 +47,30 @@ КонецПроцедуры +Процедура РегистрыДвиженийДокумента() Экспорт + + ЮТест.ОжидаетЧто(ЮТМетаданные.РегистрыДвиженийДокумента("Документ.Заказ")) + .ИмеетТип("Структура") + .НеЗаполнено(); + + ЮТест.ОжидаетЧто(ЮТМетаданные.РегистрыДвиженийДокумента("Документы.ОперацияПоУчетуТоваров")) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("ТоварныеЗапасы").Равно("РегистрНакопления.ТоварныеЗапасы"); + + ЮТест.ОжидаетЧто(ЮТМетаданные.РегистрыДвиженийДокумента(ПредопределенноеЗначение("Документ.ПриходТовара.ПустаяСсылка"))) + .ИмеетТип("Структура") + .Заполнено() + .ИмеетДлину(2) + .Свойство("ТоварныеЗапасы").Равно("РегистрНакопления.ТоварныеЗапасы") + .Свойство("Взаиморасчеты").Равно("РегистрНакопления.Взаиморасчеты"); + + ЮТест.ОжидаетЧто(ЮТМетаданные) + .Метод("РегистрыДвиженийДокумента").Параметр("РегистрНакопления.ТоварныеЗапасы") + .ВыбрасываетИсключение("Неподдерживается получение движений для РегистрыНакопления.ТоварныеЗапасы"); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции From f90e33a316a654800e8c6a284867a54f1949c2ac Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 14 Sep 2023 23:53:38 +0300 Subject: [PATCH 08/65] #170 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена фикция обязательных полей табличной части --- .../Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 0cfef8464..a57993019 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -66,7 +66,7 @@ Для Каждого Элемент Из Реквизиты Цикл Реквизит = Элемент.Значение; - Если Реквизит.Обязательный И НЕ Контекст.Данные.Свойство(Реквизит.Имя) Тогда + Если Реквизит.Обязательный И НЕ ТекущаяЗапись.Свойство(Реквизит.Имя) Тогда Значение = ЮТТестовыеДанныеСлужебный.Фикция(Реквизит.Тип); ТекущаяЗапись.Вставить(Реквизит.Имя, Значение); КонецЕсли; From 1cc6f4ce0f8b804c33789877772a9b4e75c667ed Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 14 Sep 2023 23:54:22 +0300 Subject: [PATCH 09/65] #170 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Тесты и исправления получения движений --- .../Module.bsl" | 3 ++ .../Module.bsl" | 11 +++-- .../Module.bsl" | 7 +++- .../Module.bsl" | 42 +++++++++++++++++++ 4 files changed, 59 insertions(+), 4 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index e31bdb21e..1863c3141 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -184,6 +184,7 @@ // * КоличествоЗаписей - Число, Неопределено - Ограничение количества выбираемых записей // * Условия - Массив из Строка - Коллекция выражений условий, которые будут объединены через `И` // * ЗначенияПараметров - Структура - Набор параметров запроса +// * Порядок - Массив из Строка - Поля сортировки Функция ОписаниеЗапроса() Экспорт Описание = Новый Структура(); @@ -191,6 +192,7 @@ Описание.Вставить("ВыбираемыеПоля", Новый Массив); Описание.Вставить("КоличествоЗаписей", Неопределено); Описание.Вставить("Условия", Новый Массив()); + Описание.Вставить("Порядок", Новый Массив()); Описание.Вставить("ЗначенияПараметров", Новый Структура()); //@skip-check constructor-function-return-section @@ -221,6 +223,7 @@ Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ); ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*"); + ОписаниеЗапроса.Порядок.Добавить("НомерСтроки"); Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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 7bc722d23..420317398 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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" @@ -122,7 +122,7 @@ КонецЕсли; Если ОдинРеквизит Тогда - Для каждого КлючЗнач Из Запись Цикл + Для Каждого КлючЗнач Из Запись Цикл Возврат КлючЗнач.Значение; КонецЦикла; Иначе @@ -166,6 +166,11 @@ Строки.Добавить(")"); КонецЕсли; + Если ОписаниеЗапроса.Порядок.Количество() Тогда + Строки.Добавить("УПОРЯДОЧИТЬ ПО "); + Строки.Добавить(СтрСоединить(ОписаниеЗапроса.Порядок, ",")); + КонецЕсли; + Запрос = Новый Запрос(СтрСоединить(Строки, Символы.ПС)); ЮТОбщий.ОбъединитьВСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров); @@ -254,8 +259,8 @@ СхемаЗапроса = Новый СхемаЗапроса(); СхемаЗапроса.УстановитьТекстЗапроса(Запрос.Текст); - Для каждого ЗапросСЗ Из СхемаЗапроса.ПакетЗапросов Цикл - Для каждого КолонкаСЗ Из ЗапросСЗ.Колонки Цикл + Для Каждого ЗапросСЗ Из СхемаЗапроса.ПакетЗапросов Цикл + Для Каждого КолонкаСЗ Из ЗапросСЗ.Колонки Цикл Псевдонимы.Добавить(КолонкаСЗ.Псевдоним); КонецЦикла; КонецЦикла; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index b214de815..44d771660 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -274,7 +274,12 @@ ТипыМетаданных = ЮТМетаданные.ТипыМетаданных(); ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]]; Если ОписаниеТипа <> Неопределено Тогда - ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]]; + ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции].Найти(ЧастиСтроки[1]); + + Если ОбъектМетаданных = Неопределено Тогда + ВызватьИсключение "Не найден объект метаданных " + Значение; + КонецЕсли; + КонецЕсли; КонецЕсли; diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index 9759628a0..1098aff0a 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -30,6 +30,7 @@ .ДобавитьТест("Записи") .ДобавитьТест("ЗначенияРеквизитовЗаписи") .ДобавитьТест("ЗначениеРеквизитаЗаписи") + .ДобавитьТест("ДвиженияДокумента") ; КонецПроцедуры @@ -330,4 +331,45 @@ КонецПроцедуры +Процедура ДвиженияДокумента() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Документ.ПриходТовара") + .ФикцияОбязательныхПолей() + .ТабличнаяЧасть("Товары") + .ДобавитьСтроку() + .Установить("Сумма", ЮТест.Данные().СлучайноеПоложительноеЧисло(999999)) // иначе возможно переполнение + .ФикцияОбязательныхПолей() + .ДобавитьСтроку() + .Установить("Сумма", ЮТест.Данные().СлучайноеПоложительноеЧисло(999999)) // иначе возможно переполнение + .ФикцияОбязательныхПолей(); + Документ = Конструктор.Провести(); + ДанныеОбъекта = Конструктор.ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ДвиженияДокумента(Документ, "Взаиморасчеты")) + .Заполнено() + .ИмеетДлину(1) + .Свойство("[0].Регистратор").Равно(Документ) + .Свойство("[0].НомерСтроки").Равно(1) + .Свойство("[0].Контрагент").Равно(ДанныеОбъекта.Поставщик) + .Свойство("[0].Валюта") + .Свойство("[0].Сумма").Равно(ДанныеОбъекта.Товары[0].Сумма + ДанныеОбъекта.Товары[1].Сумма) + ; + + ЮТест.ОжидаетЧто(ЮТЗапросы.ДвиженияДокумента(Документ, "ТоварныеЗапасы")) + .Заполнено() + .ИмеетДлину(2) + .Свойство("[0].Регистратор").Равно(Документ) + .Свойство("[0].НомерСтроки").Равно(1) + .Свойство("[0].Товар").Равно(ДанныеОбъекта.Товары[0].Товар) + .Свойство("[0].Склад").Равно(ДанныеОбъекта.Склад) + .Свойство("[0].Количество").Равно(ДанныеОбъекта.Товары[0].Количество) + .Свойство("[1].Регистратор").Равно(Документ) + .Свойство("[1].НомерСтроки").Равно(2) + .Свойство("[1].Товар").Равно(ДанныеОбъекта.Товары[1].Товар) + .Свойство("[1].Склад").Равно(ДанныеОбъекта.Склад) + .Свойство("[1].Количество").Равно(ДанныеОбъекта.Товары[1].Количество) + ; + +КонецПроцедуры + #КонецОбласти From de68c35b4d5787773b7fb446261a9c9aae07acb8 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 15 Sep 2023 00:32:28 +0300 Subject: [PATCH 10/65] #162 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена генерация ошибки о некорректной длине Починил проверку наличия колонки --- .../Module.bsl" | 31 ++++--- .../Module.bsl" | 90 +++++++++---------- 2 files changed, 66 insertions(+), 55 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 10cd7c22b..eaf776a4e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -427,17 +427,17 @@ Если ТипЗнч(ПроверяемаяСтрока) <> Тип("Строка") Тогда Возврат Неопределено; КонецЕсли; - + РегулярныеВыражения = ЮТКомпоненты.РегулярныеВыражения(); - + Попытка Результат = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока, РегулярноеВыражение); Исключение ВызватьИсключение РегулярныеВыражения.ОписаниеОшибки; КонецПопытки; - + Возврат Результат; - + КонецФункции Функция НайтиЗначение(ПроверяемоеЗначение, ОжидаемоеЗначение) @@ -469,6 +469,10 @@ ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ОжидаемоеЗначение) <> Неопределено; + ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТОбщий.МетодМодуляСуществует(ПроверяемоеЗначение, "Найти", , Ложь) Тогда + + ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение) <> Неопределено; + Иначе ИскомоеЗначениеНайдено = Неопределено; // Обрабатывается вызывающим методом @@ -590,7 +594,7 @@ ИначеЕсли ВидСравненияВыражения = ВидыСравнения.ИмеетДлину Тогда - Результат = ПроверитьДлину(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); + ПроверитьДлину(СтатусПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Содержит Тогда @@ -645,6 +649,7 @@ КонецЕсли; Результат = ЮТПроверкиСлужебный.ТипЗначенияСоответствует(ПроверяемоеЗначение, ПараметрыПроверки.ОжидаемоеЗначение); + Если ПараметрыПроверки.Реверс Тогда Результат = НЕ Результат; КонецЕсли; @@ -687,10 +692,10 @@ КонецФункции -Функция ПроверитьДлину(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) +Процедура ПроверитьДлину(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) Если НЕ ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Число") Тогда - Возврат Неопределено; + Возврат; КонецЕсли; ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение); @@ -698,12 +703,18 @@ Если ФактическаяДлина = Неопределено Тогда ТекстОшибки = СтрШаблон("тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ПараметрыПроверки); - Возврат Неопределено; + Возврат; КонецЕсли; - Возврат ФактическаяДлина = ПараметрыПроверки.ОжидаемоеЗначение; + Результат = ФактическаяДлина = ПараметрыПроверки.ОжидаемоеЗначение; -КонецФункции + Если ПараметрыПроверки.Реверс Тогда + Результат = НЕ Результат; + КонецЕсли; + + ОбработатьРезультатСравнения(Результат, РезультатПроверки, ПараметрыПроверки, ФактическаяДлина); + +КонецПроцедуры Функция ПроверитьСодержит(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index f3e3d52a7..f630938ed 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1404,50 +1404,50 @@ Процедура ИмеетДлину() Экспорт -// // Позитивные тесты -// ЮТУтверждения.Что("123", "Строка") -// .ИмеетДлину(3); -// ЮТУтверждения.Что(Новый Массив(50), "Массив") -// .ИмеетДлину(50); -// ЮТУтверждения.Что(Новый Структура("а, б, в"), "Структура") -// .ИмеетДлину(3); -// ЮТУтверждения.Что(Новый ФиксированныйМассив(Новый Массив(50)), "ФиксированныйМассив") -// .ИмеетДлину(50); -// ЮТУтверждения.Что(Новый ФиксированнаяСтруктура(Новый Структура("а, б, в")), "ФиксированнаяСтруктура") -// .ИмеетДлину(3); -// Соответствие = Новый Соответствие(); -// Соответствие.Вставить(1); -// Соответствие.Вставить(5); -// Соответствие.Вставить("5"); -// Соответствие.Вставить("6"); -// ЮТУтверждения.Что(Соответствие, "Соответствие") -// .ИмеетДлину(4); -// ЮТУтверждения.Что(Новый ФиксированноеСоответствие(Соответствие), "ФиксированноеСоответствие") -// .ИмеетДлину(4); -// Список = Новый СписокЗначений(); -// Список.ЗагрузитьЗначения(Новый Массив(13)); -// ЮТУтверждения.Что(Список, "СписокЗначений") -// .ИмеетДлину(13); -// -// // Негативные тесты -// Попытка -// Ошибка = Неопределено; -// ЮТУтверждения.Что("123") -// .ИмеетДлину(123); -// Исключение -// Ошибка = ИнформацияОбОшибке(); -// КонецПопытки; -// ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `123` имеет длину (размер) `123`, но это не так"); -// ПроверитьДанныеОшибкиСравнения(3, 123); -// -// Попытка -// Ошибка = Неопределено; -// ЮТУтверждения.Что(Новый Массив(16), "Массив") -// .ИмеетДлину(1); -// Исключение -// Ошибка = ИнформацияОбОшибке(); -// КонецПопытки; -// ПроверитьОшибкуУтверждения(Ошибка, "Массив: ожидали, что проверяемое значение `Массив` имеет длину (размер) `1`, но это не так"); + // Позитивные тесты + ЮТУтверждения.Что("123", "Строка") + .ИмеетДлину(3); + ЮТУтверждения.Что(Новый Массив(50), "Массив") + .ИмеетДлину(50); + ЮТУтверждения.Что(Новый Структура("а, б, в"), "Структура") + .ИмеетДлину(3); + ЮТУтверждения.Что(Новый ФиксированныйМассив(Новый Массив(50)), "ФиксированныйМассив") + .ИмеетДлину(50); + ЮТУтверждения.Что(Новый ФиксированнаяСтруктура(Новый Структура("а, б, в")), "ФиксированнаяСтруктура") + .ИмеетДлину(3); + Соответствие = Новый Соответствие(); + Соответствие.Вставить(1); + Соответствие.Вставить(5); + Соответствие.Вставить("5"); + Соответствие.Вставить("6"); + ЮТУтверждения.Что(Соответствие, "Соответствие") + .ИмеетДлину(4); + ЮТУтверждения.Что(Новый ФиксированноеСоответствие(Соответствие), "ФиксированноеСоответствие") + .ИмеетДлину(4); + Список = Новый СписокЗначений(); + Список.ЗагрузитьЗначения(Новый Массив(13)); + ЮТУтверждения.Что(Список, "СписокЗначений") + .ИмеетДлину(13); + + // Негативные тесты + Попытка + Ошибка = Неопределено; + ЮТУтверждения.Что("123") + .ИмеетДлину(123); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `123` имеет длину (размер) `123`, но это не так"); + ПроверитьДанныеОшибкиСравнения(3, 123); + + Попытка + Ошибка = Неопределено; + ЮТУтверждения.Что(Новый Массив(16), "Массив") + .ИмеетДлину(1); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + ПроверитьОшибкуУтверждения(Ошибка, "Массив: ожидали, что проверяемое значение `Массив` имеет длину (размер) `1`, но это не так"); Попытка Ошибка = Неопределено; @@ -1523,7 +1523,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Дата: Тип проверяемого значения `Дата` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, "Дата: тип проверяемого значения `Дата` не обрабатывается утверждением"); Попытка Ошибка = Неопределено; From 7bca1e5f5dc626551d4060c0752c2fbf0eb2f928 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 15 Sep 2023 01:09:58 +0300 Subject: [PATCH 11/65] #170 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлены замечания сонар --- .../Module.bsl" | 42 +++++++++++-------- .../Module.bsl" | 2 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 44d771660..8662905b2 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -234,7 +234,7 @@ ОбъектМетаданных = ОбъектМетаданных(ПолноеИмя); Если НЕ Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда - ВызватьИсключение "Движения доступны только для документов. Неподдерживается получение движений для " + ПолноеИмя; + ВызватьИсключение "Движения доступны только для документов. Не поддерживается получение движений для " + ПолноеИмя; КонецЕсли; Регистры = Новый Структура; @@ -267,22 +267,7 @@ ИначеЕсли ТипЗначение = Тип("Строка") Тогда - ЧастиСтроки = СтрРазделить(Значение, "."); - - Если ЧастиСтроки.Количество() = 2 Тогда - - ТипыМетаданных = ЮТМетаданные.ТипыМетаданных(); - ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]]; - Если ОписаниеТипа <> Неопределено Тогда - ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции].Найти(ЧастиСтроки[1]); - - Если ОбъектМетаданных = Неопределено Тогда - ВызватьИсключение "Не найден объект метаданных " + Значение; - КонецЕсли; - - КонецЕсли; - - КонецЕсли; + ОбъектМетаданных = ОбъектМетаданныхИзСтроки(Значение); ИначеЕсли ТипЗначение = Тип("Структура") И Значение.Свойство("ОписаниеТипа") И Значение.Свойство("Имя") Тогда @@ -303,6 +288,29 @@ КонецФункции +Функция ОбъектМетаданныхИзСтроки(Значение) + + ЧастиСтроки = СтрРазделить(Значение, "."); + + Если ЧастиСтроки.Количество() = 2 Тогда + + ТипыМетаданных = ЮТМетаданные.ТипыМетаданных(); + ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]]; + Если ОписаниеТипа <> Неопределено Тогда + ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции].Найти(ЧастиСтроки[1]); + + Если ОбъектМетаданных = Неопределено Тогда + ВызватьИсключение "Не найден объект метаданных " + Значение; + КонецЕсли; + + КонецЕсли; + + КонецЕсли; + + Возврат ОбъектМетаданных; + +КонецФункции + Процедура ДобавитьОписанияРеквизитов(КоллекцияРеквизитов, КоллекцияОписаний, Знач ЭтоКлюч) Если ТипЗнч(ЭтоКлюч) = Тип("Строка") Тогда diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index df0f6ac35..254755bc9 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -67,7 +67,7 @@ ЮТест.ОжидаетЧто(ЮТМетаданные) .Метод("РегистрыДвиженийДокумента").Параметр("РегистрНакопления.ТоварныеЗапасы") - .ВыбрасываетИсключение("Неподдерживается получение движений для РегистрыНакопления.ТоварныеЗапасы"); + .ВыбрасываетИсключение("Не поддерживается получение движений для РегистрыНакопления.ТоварныеЗапасы"); КонецПроцедуры From 7d2557b6e8a5b15bc91fbc4332490617c34d420d Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 2 Oct 2023 02:27:35 +0300 Subject: [PATCH 12/65] #36 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Реализовано сравнение табличных документов --- .../Module.bsl" | 32 +++++++++ .../Module.bsl" | 4 ++ .../Module.bsl" | 72 ++++++++++++++++++- ...0\265\321\200\320\262\320\265\321\200.mdo" | 1 + .../Module.bsl" | 18 +---- .../Module.bsl" | 17 +++++ 6 files changed, 126 insertions(+), 18 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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 7cd9bb788..900479665 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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" @@ -82,4 +82,36 @@ КонецФункции +Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент) Экспорт + + Возврат ЗапросКТабличномуДокументу(ТабличныйДокумент).Выбрать(); + +КонецФункции + +Функция ТаблицаИзТабличногоДокумента(ТабличныйДокумент) Экспорт + + Возврат ЗапросКТабличномуДокументу(ТабличныйДокумент).Выгрузить(); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ЗапросКТабличномуДокументу(ТабличныйДокумент) + + ВсегоСтрок = ТабличныйДокумент.ВысотаТаблицы; + ВсегоКолонок = ТабличныйДокумент.ШиринаТаблицы; + + Область = ТабличныйДокумент.Область(1, 1, ВсегоСтрок, ВсегоКолонок); + + ИсточникДанных = Новый ОписаниеИсточникаДанных(Область); + ПостроительОтчета = Новый ПостроительОтчета; + ПостроительОтчета.ИсточникДанных = ИсточникДанных; + ПостроительОтчета.Выполнить(); + + Возврат ПостроительОтчета.Результат; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 eaf776a4e..07955cc36 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -63,6 +63,10 @@ Результат = МассивыРавны(Данные1, Данные2); + ИначеЕсли ТипЗначения = Тип("ТабличныйДокумент") Тогда + + Результат = ЮТСравнениеСервер.ТабличныеДокументыРавны(Данные1, Данные2); + ИначеЕсли ЭтоПримитивныйТип(ТипЗначения) ИЛИ ЮТОбщий.ОписаниеТиповЛюбаяСсылка().СодержитТип(ТипЗначения) Тогда // Возвращаем ложь, так как для этих типов должно сработать обычное равенство Результат = Ложь; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 370bb1709..abb15e9d6 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -18,7 +18,7 @@ #Область СлужебныйПрограммныйИнтерфейс -Функция ТаблицыРавны(Данные1, Данные2) Экспорт +Функция ТаблицыРавны(Знач Данные1, Знач Данные2) Экспорт Если Данные1.Количество() <> Данные2.Количество() Тогда Возврат Ложь; @@ -46,4 +46,74 @@ КонецФункции +Функция ТабличныеДокументыРавны(Знач ТабличныйДокумент1, Знач ТабличныйДокумент2) Экспорт + + Данные1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент1); + Данные2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент2); + + Возврат ТаблицыРавны(Данные1, Данные2); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// https://github.com/vanessa-opensource/add +// портирован из Functest +Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь) + + ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент); + Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда + ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента"; + КонецЕсли; + + Если УчитыватьТолькоВидимыеКолонки И УчитыватьТолькоВидимыеСтроки Тогда + ЮТОбщийВызовСервера.ТаблицаИзТабличногоДокумента(ТипТабличногоДокумента); + КонецЕсли; + + НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; + НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы; + + НоваяТаблицаЗначений = Новый ТаблицаЗначений; + Колонки = НоваяТаблицаЗначений.Колонки; + ТипСтрока = Новый ОписаниеТипов("Строка"); + + // TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимоcть колонки определяется по формату первой строки + УчитываемыеКолонки = Новый Массив; + Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл + ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки); + + УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость; + Если УчитыватьКолонку Тогда + УчитываемыеКолонки.Добавить(НомерКолонки); + ШиринаКолонки = ОбластьКолонки.ШиринаКолонки; + Если ШиринаКолонки <= 1 Тогда + ШиринаКолонки = 1; + КонецЕсли; + ИмяКолонки = "К" + Формат(Колонки.Количество() + 1, "ЧН=; ЧГ=0"); + Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки); + КонецЕсли; + КонецЦикла; + + ГраницаКолонок = УчитываемыеКолонки.ВГраница(); + Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл + + Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки, , НомерСтроки).Видимость Тогда + Продолжить; + КонецЕсли; + + НоваяСтрока = НоваяТаблицаЗначений.Добавить(); + + Для Индекс = 0 По ГраницаКолонок Цикл + НомерКолонки = УчитываемыеКолонки[Индекс]; + Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); + НоваяСтрока[Индекс] = Область.Текст; + КонецЦикла; + КонецЦикла; + + Возврат НоваяТаблицаЗначений; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" index 77e83ac5f..6b1ab8a63 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" @@ -6,4 +6,5 @@ Сравнение сервер true + true diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" index f43d0389c..002682fb0 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" @@ -49,7 +49,7 @@ ПараметрыЗагрузки = ПараметрыЗагрузки(КолонкиМакета, ОписанияТипов, ЗаменяемыеЗначения, КэшЗначений, ПараметрыЗаполнения); - Выборка = ВыборкаИзТабличногоДокумента(ДанныеМакета); + Выборка = ЮТОбщийВызовСервера.ВыборкаИзТабличногоДокумента(ДанныеМакета); Пока Выборка.Следующий() Цикл @@ -219,22 +219,6 @@ КонецФункции -Функция ВыборкаИзТабличногоДокумента(ТабличныйДокумент) - - ВсегоСтрок = ТабличныйДокумент.ВысотаТаблицы; - ВсегоКолонок = ТабличныйДокумент.ШиринаТаблицы; - - Область = ТабличныйДокумент.Область(1, 1, ВсегоСтрок, ВсегоКолонок); - - ИсточникДанных = Новый ОписаниеИсточникаДанных(Область); - ПостроительОтчета = Новый ПостроительОтчета; - ПостроительОтчета.ИсточникДанных = ИсточникДанных; - ПостроительОтчета.Выполнить(); - - Возврат ПостроительОтчета.Результат.Выбрать(); - -КонецФункции - Функция ДанныеМакета(Знач Макет) ТипПараметра = ТипЗнч(Макет); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 10bf2c6c2..177006956 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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,6 +75,7 @@ .СПараметрами(Новый ФиксированнаяСтруктура(Структура)) .СПараметрами(Новый ФиксированноеСоответствие(Соответствие)) .СПараметрами(Новый ФиксированныйМассив(Массив)) + .ДобавитьТест("ЗначенияРавны_ТабличныйДокумент") ; КонецПроцедуры @@ -160,6 +161,22 @@ #КонецЕсли +Процедура ЗначенияРавны_ТабличныйДокумент() Экспорт + + Макет1 = ЮТОбщий.Макет("ОбщийМакет.ЮТ_МакетТестовыхДанных"); + Макет2 = ЮТОбщий.Макет("ОбщийМакет.ЮТ_МакетТестовыхДанных"); + + Макет3 = ЮТОбщий.Макет("ОбщийМакет.ЮТ_МакетТестовыхДанных.R2C1:R5C10"); + Макет4 = ЮТОбщий.Макет("ОбщийМакет.ЮТ_МакетТестовыхДанных.R2C2:R5C11"); + + ЮТест.ОжидаетЧто(Макет1, "Равные макеты") + .Равно(Макет2); + + ЮТест.ОжидаетЧто(Макет3, "Разные макеты") + .НеРавно(Макет4); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции From da8f4a3c2f95c66390e9d9951f7319dc06d7bed5 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 2 Oct 2023 22:30:10 +0300 Subject: [PATCH 13/65] #143 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверка на незакрытые транзакции --- .../Module.bsl" | 11 +++++++++++ .../Module.bsl" | 10 ++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) 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 9f3a379ab..d9a306ab7 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" @@ -77,6 +77,17 @@ КонецПроцедуры +// Регистрирует ошибку выполнения теста +// Параметры: +// Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста +// Сообщение - Строка +Процедура ЗарегистрироватьПростуюОшибкуВыполнения(Объект, Сообщение) Экспорт + + ДанныеОшибки = ДанныеОшибки(Неопределено, Сообщение, ЮТФабрика.ТипыОшибок().Исполнения); + Объект.Ошибки.Добавить(ДанныеОшибки); + +КонецПроцедуры + // Регистрирует ошибку режима выполнения теста // Параметры: // Объект - см. ЮТФабрика.ОписаниеИсполняемогоТеста 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/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/Module.bsl" index d785f2fd3..f307c4223 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/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/Module.bsl" @@ -109,11 +109,13 @@ #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда Если ЮТНастройкиВыполнения.ВТранзакции() Тогда ОтменитьТранзакцию(); - Пока ТранзакцияАктивна() Цикл - ОтменитьТранзакцию(); - ЮТОбщий.СообщитьПользователю("Обнаружена незакрытая транзакция"); - КонецЦикла; КонецЕсли; + + Пока ТранзакцияАктивна() Цикл + ОтменитьТранзакцию(); + ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция"); + КонецЦикла; + #КонецЕсли Уровни = ЮТФабрика.УровниИсполнения(); From 20c24b665368ac5fef28d72e5b1bc2fc066d9353 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 2 Oct 2023 22:57:54 +0300 Subject: [PATCH 14/65] #158 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Методы установки реквизитов ссылки --- .../Module.bsl" | 2 +- .../Module.bsl" | 27 ++++++++ .../Module.bsl" | 63 +++++++++++++------ .../Module.bsl" | 22 ++++++- 4 files changed, 92 insertions(+), 22 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 698ce9cd6..c505f4ade 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -758,7 +758,7 @@ ПараметрыЗаписи = Новый Структура(); ПараметрыЗаписи.Вставить("ОбменДаннымиЗагрузка", Ложь); ПараметрыЗаписи.Вставить("ДополнительныеСвойства", Новый Структура); - ПараметрыЗаписи.Вставить("РежимЗаписи", РежимЗаписиДокумента.Запись); + ПараметрыЗаписи.Вставить("РежимЗаписи"); Возврат ПараметрыЗаписи; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 07bae0617..905cc9299 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -580,6 +580,33 @@ #КонецЕсли +// Устанавливает значение реквизита ссылки +// +// Параметры: +// Ссылка - ЛюбаяСсылка +// ИмяРеквизита - Строка +// ЗначениеРеквизита - Произвольный +// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи +Процедура УстановитьЗначениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеРеквизита, ПараметрыЗаписи = Неопределено) Экспорт + + Значения = Новый Соответствие(); + Значения.Вставить(ИмяРеквизита, ЗначениеРеквизита); + УстановитьЗначенияРеквизитов(Ссылка, Значения, ПараметрыЗаписи); + +КонецПроцедуры + +// Устанавливает значения реквизитов ссылки. +// +// Параметры: +// Ссылка - ЛюбаяСсылка - Ссылка +// ЗначенияРеквизитов - Структура, Соответствие из Произвольный - Значения реквизитов +// ПараметрыЗаписи - см. ЮТФабрика.ПараметрыЗаписи +Процедура УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов, ПараметрыЗаписи = Неопределено) Экспорт + + ЮТТестовыеДанныеВызовСервера.УстановитьЗначенияРеквизитов(Ссылка, ЗначенияРеквизитов); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 b77cd5e8e..98e410ae1 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -21,21 +21,11 @@ Функция СоздатьЗапись(Знач Менеджер, Знач Данные, Знач ПараметрыЗаписи, Знач ВернутьОбъект) Экспорт Менеджер = ЮТОбщий.Менеджер(Менеджер); - - Если ПараметрыЗаписи = Неопределено Тогда - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - Иначе - ПереданныеПараметрыЗаписи = ПараметрыЗаписи; - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ПереданныеПараметрыЗаписи); - КонецЕсли; + ПараметрыЗаписи = ПараметрыЗаписи(ПараметрыЗаписи); Объект = НовыйОбъект(Менеджер, Данные, ПараметрыЗаписи.ДополнительныеСвойства); - ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(Менеджер); - - РежимЗаписи = ?(СтрСравнить(ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Документ") = 0, ПараметрыЗаписи.РежимЗаписи, Неопределено); - КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); + КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи); Если ВернутьОбъект Тогда Возврат Объект; @@ -164,7 +154,7 @@ ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); - Возврат ЗаписатьОбъект(Объект); + Возврат ЗаписатьОбъект(Объект, ПараметрыЗаписи()); КонецФункции @@ -207,6 +197,19 @@ КонецФункции +Процедура УстановитьЗначенияРеквизитов(Знач Ссылка, Знач ЗначенияРеквизитов, Знач ПараметрыЗаписи = Неопределено) Экспорт + + Объект = Ссылка.ПолучитьОбъект(); + ПараметрыЗаписи = ПараметрыЗаписи(ПараметрыЗаписи); + + Для Каждого Элемент Из ЗначенияРеквизитов Цикл + Объект[Элемент.Ключ] = Элемент.Значение; + КонецЦикла; + + ЗаписатьОбъект(Объект, ПараметрыЗаписи); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -255,21 +258,33 @@ КонецФункции -Функция ЗаписатьОбъект(Объект, ОбменДаннымиЗагрузка = Ложь, РежимЗаписи = Неопределено) +// Записать объект. +// +// Параметры: +// Объект - Произвольный - Объект +// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи +// +// Возвращаемое значение: +// ЛюбаяСсылка +Функция ЗаписатьОбъект(Объект, ПараметрыЗаписи) - Если ОбменДаннымиЗагрузка Тогда + Если ПараметрыЗаписи.ОбменДаннымиЗагрузка Тогда Объект.ОбменДанными.Загрузка = Истина; КонецЕсли; + Если ЗначениеЗаполнено(ПараметрыЗаписи.ДополнительныеСвойства) Тогда + ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ПараметрыЗаписи.ДополнительныеСвойства); + КонецЕсли; + Попытка - Если РежимЗаписи <> Неопределено Тогда - Объект.Записать(РежимЗаписи); + Если ПараметрыЗаписи.РежимЗаписи <> Неопределено Тогда + Объект.Записать(ПараметрыЗаписи.РежимЗаписи); Иначе Объект.Записать(); КонецЕсли; - Если ОбменДаннымиЗагрузка Тогда + Если ПараметрыЗаписи.ОбменДаннымиЗагрузка Тогда Объект.ОбменДанными.Загрузка = Ложь; КонецЕсли; @@ -341,4 +356,16 @@ КонецФункции +Функция ПараметрыЗаписи(ВходящиеПараметрыЗаписи = Неопределено) + + Если ВходящиеПараметрыЗаписи = Неопределено Тогда + Возврат ЮТОбщий.ПараметрыЗаписи(); + Иначе + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ВходящиеПараметрыЗаписи); + Возврат ПараметрыЗаписи; + КонецЕсли; + +КонецФункции + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 372f3994c..42b35c0bc 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -32,6 +32,7 @@ .ДобавитьТест("ЗагрузитьИзМакета_Проверки") .ДобавитьТест("СлучайныйИдентификатор") .ДобавитьТест("СлучайноеЗначениеПеречисления") + .ДобавитьТест("УстановитьЗначениеРеквизита") ; КонецПроцедуры @@ -324,11 +325,10 @@ Варианты = ЮТест.Варианты("Перечисление, Описание") .Добавить("Перечисление.PushУведомления", "По имени") - .Добавить("Перечисления.PushУведомления", "По имени коллекции") + .Добавить("Перечисления.PushУведомления", "По имени коллекции"); #Если Сервер Тогда - .Добавить(Перечисления.PushУведомления, "Через менеджер") + Варианты.Добавить(Перечисления.PushУведомления, "Через менеджер"); #КонецЕсли - ; Для Каждого Вариант Из Варианты.СписокВариантов() Цикл @@ -340,4 +340,20 @@ КонецПроцедуры +Процедура УстановитьЗначениеРеквизита() Экспорт + + Контрагент = ЮТест.Данные().СоздатьЭлемент("Справочники.Контрагенты"); + + ЮТест.ОжидаетЧТо(ЮТЗапросы.ЗначениеРеквизита(Контрагент, "Индекс")) + .НеЗаполнено(); + + Индекс = ЮТест.Данные().СлучайнаяСтрока(); + ЮТест.Данные().УстановитьЗначениеРеквизита(Контрагент, "Индекс", Индекс); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Контрагент, "Индекс")) + .Заполнено() + .Равно(Индекс); + +КонецПроцедуры + #КонецОбласти From 0a3f9505d7ad2fc5a5337a4f3b1fb00433d431b8 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 2 Oct 2023 23:05:14 +0300 Subject: [PATCH 15/65] #167 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Конструктор тестовых данных, метод перехода с заполнения табличной части на объект --- .../Module.bsl" | 5 ++++- .../Module.bsl" | 12 ++++++++++++ .../ObjectModule.bsl" | 11 +++++++++++ .../Module.bsl" | 8 ++++++-- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a57993019..5b46e0b3b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -77,7 +77,10 @@ Процедура ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти) Экспорт Контекст.ТекущаяТабличнаяЧасть = ИмяТабличнойЧасти; - Контекст.Данные.Вставить(ИмяТабличнойЧасти, Новый Массив()); + + Если ИмяТабличнойЧасти <> Неопределено Тогда + Контекст.Данные.Вставить(ИмяТабличнойЧасти, Новый Массив()); + КонецЕсли; КонецПроцедуры diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" index 91fc4eaa5..616499b2f 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" @@ -108,6 +108,18 @@ КонецФункции +// Переключает конструктор на заполнение объекта. +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция Объект() Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, Неопределено); + Возврат ЭтотОбъект; + +КонецФункции + // Добавляет новую строку табличной части объекта. // // Возвращаемое значение: diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" index 3858f0e7b..2b8637f1f 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" @@ -104,6 +104,17 @@ КонецФункции +// Переключает конструктор на заполнение объекта. +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +Функция Объект() Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, Неопределено); + Возврат ЭтотОбъект; + +КонецФункции + // Добавляет новую строку табличной части объекта. // // Возвращаемое значение: diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" index de98b8db6..cfd26b5e3 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" @@ -81,8 +81,6 @@ Ссылка = Конструктор .Фикция("Поставщик") .Фикция("Склад") - .Фикция("Валюта") - .Фикция("Организация") .ТабличнаяЧасть("Товары") .ДобавитьСтроку() .Фикция("Товар") @@ -94,6 +92,10 @@ .Установить("Цена", ЮТест.Данные().СлучайноеПоложительноеЧисло(9999, 2)) .Установить("Количество", ЮТест.Данные().СлучайноеПоложительноеЧисло(20)) .Установить("Сумма", Конструктор.ДанныеСтроки().Цена * Конструктор.ДанныеСтроки().Количество) + .Объект() + .Фикция("Валюта") + .Фикция("Организация") + .Провести(); #Если НЕ Клиент Тогда @@ -103,6 +105,8 @@ .Свойство("Номер").Заполнено() .Свойство("Поставщик").Заполнено() .Свойство("Склад").Заполнено() + .Свойство("Валюта").Заполнено() + .Свойство("Организация").Заполнено() .Свойство("Товары").ИмеетДлину(2) .Свойство("Товары[0].Товар").Заполнено() .Свойство("Товары[0].Цена").Заполнено() From 933d6637fd26147b72593c49ecba7a826fe20a8f Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 00:23:34 +0300 Subject: [PATCH 16/65] #169 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Сокращение сообщения об ошибке Добавлен механизм пояснения к ошибкам, чтобы ломать стек --- .../Module.bsl" | 26 +++++ .../Module.bsl" | 4 +- .../Module.bsl" | 110 ++++++++++-------- .../Module.bsl" | 92 +++++++++++++++ ...0\265\320\261\320\275\321\213\320\271.mdo" | 11 ++ .../Module.bsl" | 6 +- .../Module.bsl" | 5 +- .../Module.bsl" | 4 +- .../src/Configuration/Configuration.mdo | 1 + 9 files changed, 203 insertions(+), 56 deletions(-) create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" index 2cad98424..6611f55fa 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" @@ -236,6 +236,20 @@ КонецФункции +// КонтекстОшибки +// Возвращает служебный контекст, содержит дополнительные детали ошибки теста +// Параметры: +// ПолучитьССервера - Булево - Получить значение из серверного контекста +// +// Возвращаемое значение: +// Неопределено, Массив из Строка- Детали ошибки +Функция КонтекстДеталиОшибки(ПолучитьССервера = Ложь) Экспорт + + //@skip-check constructor-function-return-section + Возврат ЗначениеКонтекста(ИмяКонтекстаДеталиОшибки(), ПолучитьССервера); + +КонецФункции + Функция ОписаниеКонтекста() Экспорт Описание = Новый Структура; @@ -293,6 +307,12 @@ КонецПроцедуры +Процедура УстановитьКонтекстДеталиОшибки(Знач ДанныеКонтекста) Экспорт + + УстановитьЗначениеКонтекста(ИмяКонтекстаДеталиОшибки(), ДанныеКонтекста); + +КонецПроцедуры + Процедура УдалитьКонтекст() Экспорт #Если Клиент Тогда @@ -354,4 +374,10 @@ КонецФункции +Функция ИмяКонтекстаДеталиОшибки() + + Возврат "ДеталиОшибки"; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" index e42b7e5f0..1c2fbb084 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" @@ -137,8 +137,8 @@ Исключение - Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - ВызватьИсключение СтрШаблон("Ошибка загрузки настроек из файла: '%1'", Ошибка); + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Ошибка загрузки настроек из файла"); + ВызватьИсключение; КонецПопытки; 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 d9a306ab7..1578e7536 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" @@ -26,10 +26,11 @@ // ИмяСобытия - Строка // ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов // Ошибка - ИнформацияОбОшибке +// - Строка Процедура ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка) Экспорт ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия; - Пояснение = СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, Ошибка.Описание); + Пояснение = ЮТСообщенияСлужебный.СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка); ДанныеОшибки = ДанныеОшибки(Ошибка, Пояснение, ТипОшибки); Если ОписаниеСобытия.Тест <> Неопределено Тогда @@ -70,7 +71,7 @@ ИначеЕсли ТипОшибки = ЮТФабрика.ТипыОшибок().Пропущен Тогда ДанныеОшибки = ДанныеОшибкиПропуска(Ошибка); Иначе - ДанныеОшибки = ДанныеОшибки(Ошибка, Ошибка.Описание, ТипОшибки); + ДанныеОшибки = ДанныеОшибки(Ошибка, ЮТСообщенияСлужебный.КраткоеСообщениеОшибки(Ошибка), ТипОшибки); КонецЕсли; Тест.Ошибки.Добавить(ДанныеОшибки); @@ -131,7 +132,7 @@ ОбъектПроверки = "проверяемое значение") Экспорт УстановитьДанныеОшибкиСравнения(ПроверяемоеЗначение, ОжидаемоеЗначение); - ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); + ТекстСообщения = ЮТСообщенияСлужебный.ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); ВызватьОшибкуПроверки(ТекстСообщения, ОписаниеПроверки); КонецПроцедуры @@ -147,7 +148,7 @@ Процедура СгенерироватьОшибкуУтверждения(ОписаниеПроверки, Сообщение, ПроверяемоеЗначение, ОбъектПроверки = "проверяемое значение") Экспорт УстановитьДанныеОшибкиУтверждения(ПроверяемоеЗначение); - ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); + ТекстСообщения = ЮТСообщенияСлужебный.ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); ВызватьОшибкуПроверки(ТекстСообщения, ОписаниеПроверки); КонецПроцедуры @@ -186,7 +187,7 @@ Процедура ЗарегистрироватьОшибкуИнициализацииДвижка(Ошибка, Описание) Экспорт - Ошибка(Ошибка, Описание); + СобщитьОбОшибке(Ошибка, Описание); КонецПроцедуры @@ -324,42 +325,6 @@ КонецПроцедуры -// Форматированный текст ошибки утверждения. -// -// Параметры: -// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки -// ТекстОжидания - Строка - Описание ожидания -// ОбъектПроверки - Строка - Объект проверки -// -// Возвращаемое значение: -// Строка - Форматированный текст ошибки утверждения -Функция ФорматированныйТекстОшибкиУтверждения(Знач ОписаниеПроверки, ТекстОжидания, ОбъектПроверки) Экспорт - - Если ЗначениеЗаполнено(ОписаниеПроверки.ОбъектПроверки.ИмяСвойства) Тогда - ВставкаСвойство = СтрШаблон(" содержит свойство `%1`, которое", ОписаниеПроверки.ОбъектПроверки.ИмяСвойства); - Иначе - ВставкаСвойство = ""; - КонецЕсли; - - Если ЗначениеЗаполнено(ОписаниеПроверки.ОбъектПроверки.Представление) Тогда - ПредставлениеЗначения = ОписаниеПроверки.ОбъектПроверки.Представление; - Иначе - ПредставлениеЗначения = СтрШаблон("`%1`", ОписаниеПроверки.ОбъектПроверки.Значение); - КонецЕсли; - - // Заголовок сообщения - ТекстСообщения = ""; - // Тело сообщения - ТекстСообщения = СтрШаблон("ожидали, что %1 %2%3 %4, но это не так.", - ОбъектПроверки, - ПредставлениеЗначения, - ВставкаСвойство, - ТекстОжидания); - - Возврат ТекстСообщения; - -КонецФункции - Функция ДобавитьОписания(ТекстОшибки, ОписаниеПроверки = Неопределено) Экспорт Если ОписаниеПроверки <> Неопределено Тогда @@ -399,18 +364,60 @@ КонецПроцедуры +Процедура ДобавитьПояснениеОшибки(Пояснение) Экспорт + + Детали = ЮТКонтекст.КонтекстДеталиОшибки(); + Установить = Детали = Неопределено; + + Если Установить Тогда + Детали = Новый Массив(); + КонецЕсли; + + Детали.Добавить(Пояснение); + + Если Установить Тогда + ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Детали); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции #Область КонструкторыОписанийОшибки -Функция ДанныеОшибки(Ошибка, Сообщение, ТипОшибки) +Функция ДанныеОшибки(Ошибка, Знач Сообщение, ТипОшибки) + +#Если Сервер Тогда + Детали = ЮТКонтекст.КонтекстДеталиОшибки(Истина); +#Иначе + ДеталиСервер = ЮТКонтекст.КонтекстДеталиОшибки(Истина); + ДеталиКлиент = ЮТКонтекст.КонтекстДеталиОшибки(); + + Если ЗначениеЗаполнено(ДеталиКлиент) И ЗначениеЗаполнено(ДеталиСервер) Тогда + ЮТОбщий.ДополнитьМассив(ДеталиСервер, ДеталиКлиент); + Детали = ДеталиСервер; + ИначеЕсли ЗначениеЗаполнено(ДеталиКлиент) Тогда + Детали = ДеталиКлиент; + ИначеЕсли ЗначениеЗаполнено(ДеталиСервер) Тогда + Детали = ДеталиСервер; + Иначе + Детали = Неопределено; + КонецЕсли; +#КонецЕсли + + Если ЗначениеЗаполнено(Детали) Тогда + ЮТКонтекст.УстановитьКонтекстДеталиОшибки(Новый Массив()); + + Детали.Добавить(Сообщение); + Сообщение = СтрСоединить(Детали, Символы.ПС); + КонецЕсли; ДанныеОшибки = ЮТФабрика.ОписаниеВозникшейОшибки(ТипОшибки + ": " + Сообщение); Если Ошибка <> Неопределено Тогда - ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка); + ДанныеОшибки.Стек = СтекОшибки(Ошибка); КонецЕсли; ДанныеОшибки.ТипОшибки = ТипОшибки; ДобавитьСообщенияПользователю(ДанныеОшибки); @@ -419,13 +426,23 @@ КонецФункции +Функция СтекОшибки(Ошибка) + + Если ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке") Тогда + Возврат ПодробноеПредставлениеОшибки(Ошибка); + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + Функция ДанныеОшибкиУтверждений(Ошибка) Описание = ИзвлечьТекстОшибки(Ошибка, ПрефиксОшибкиУтверждений()); ДанныеОшибки = ЮТФабрика.ОписаниеОшибкиСравнения(Описание); - ДанныеОшибки.Стек = ПодробноеПредставлениеОшибки(Ошибка); + ДанныеОшибки.Стек = СтекОшибки(Ошибка); ДобавитьСообщенияПользователю(ДанныеОшибки); СтруктураОшибки = ЮТКонтекст.КонтекстОшибки(); @@ -472,10 +489,9 @@ КонецФункции -Процедура Ошибка(Ошибка, Описание) +Процедура СобщитьОбОшибке(Ошибка, Описание) - ТекстОшибки = ПредставлениеОшибки(Описание, Ошибка); - ЮТОбщий.СообщитьПользователю(ТекстОшибки); + ЮТОбщий.СообщитьПользователю(ПредставлениеОшибки(Описание, Ошибка)); КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\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\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..b8c629649 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,92 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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`", ОписаниеПроверки.ОбъектПроверки.Значение); + КонецЕсли; + + // Заголовок сообщения + ТекстСообщения = ""; + // Тело сообщения + ТекстСообщения = СтрШаблон("ожидали, что %1 %2%3 %4, но это не так.", + ОбъектПроверки, + ПредставлениеЗначения, + ВставкаСвойство, + ТекстОжидания); + + Возврат ТекстСообщения; + +КонецФункции + +// Сообщение об ошибке события. +// +// Параметры: +// ИмяСобытия - Строка +// Ошибка - Строка - Текст ошибки +// - ИнформацияОбОшибке - ошибка выполнения +// +// Возвращаемое значение: +// Строка - Сообщение об ошибке события +Функция СообщениеОбОшибкеСобытия(ИмяСобытия, Ошибка) Экспорт + + ТипОшибки = ЮТФабрика.ТипыОшибок().ОшибкаОбработкиСобытия; + Возврат СтрШаблон("%1 '%2': %3", ТипОшибки, ИмяСобытия, КраткоеСообщениеОшибки(Ошибка)); + +КонецФункции + +Функция КраткоеСообщениеОшибки(Ошибка) Экспорт + + Если ЭтоИнформацияОбОшибке(Ошибка) Тогда + Возврат КраткоеПредставлениеОшибки(Ошибка); + Иначе + Возврат Ошибка; + КонецЕсли; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ЭтоИнформацияОбОшибке(Ошибка) Экспорт + + Возврат ТипЗнч(Ошибка) = Тип("ИнформацияОбОшибке"); + +КонецФункции +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..bbc9121d0 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ЮТСообщенияСлужебный + + ru + Сообщения служебный + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 07955cc36..959e6e324 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -437,7 +437,9 @@ Попытка Результат = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока, РегулярноеВыражение); Исключение - ВызватьИсключение РегулярныеВыражения.ОписаниеОшибки; + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение); + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки); + ВызватьИсключение; КонецПопытки; Возврат Результат; @@ -636,7 +638,7 @@ ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения); Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); - ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); + ТекстОшибки = ЮТСообщенияСлужебный.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 98e410ae1..afb9c5410 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -292,9 +292,8 @@ Исключение - Сообщение = СтрШаблон("Не удалось записать объект `%1` (%2) - |%3", Объект, ТипЗнч(Объект), ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - ВызватьИсключение Сообщение; + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось записать объект `%1` (%2)", Объект, ТипЗнч(Объект))); + ВызватьИсключение; КонецПопытки; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 4b5cde52d..d053693dd 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -48,8 +48,8 @@ СериализаторXDTO.ЗаписатьJSON(Запись, Тип); Возврат Запись.Закрыть(); Исключение - ВызватьИсключение СтрШаблон("Не удалось определить индетификатор типа для `%1` - |%2", Тип, ОписаниеОшибки()); + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить индетификатор типа для `%1`", Тип)); + ВызватьИсключение; КонецПопытки; #КонецЕсли diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index d46ee9259..e6deb45e4 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -94,6 +94,7 @@ CommonModule.ЮТРасширения CommonModule.ЮТРегистрацияОшибок CommonModule.ЮТСобытия + CommonModule.ЮТСообщенияСлужебный CommonModule.ЮТСравнениеКлиентСервер CommonModule.ЮТСравнениеСервер CommonModule.ЮТСтроки From b8c16117ff64887748485cef8d69ab52cdca7107 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 02:21:30 +0300 Subject: [PATCH 17/65] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B9=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 4 ++-- .../Module.bsl" | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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 1578e7536..d76531167 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" @@ -187,7 +187,7 @@ Процедура ЗарегистрироватьОшибкуИнициализацииДвижка(Ошибка, Описание) Экспорт - СобщитьОбОшибке(Ошибка, Описание); + СообщитьОбОшибке(Ошибка, Описание); КонецПроцедуры @@ -489,7 +489,7 @@ КонецФункции -Процедура СобщитьОбОшибке(Ошибка, Описание) +Процедура СообщитьОбОшибке(Ошибка, Описание) ЮТОбщий.СообщитьПользователю(ПредставлениеОшибки(Описание, Ошибка)); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index d053693dd..799592d00 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -48,7 +48,7 @@ СериализаторXDTO.ЗаписатьJSON(Запись, Тип); Возврат Запись.Закрыть(); Исключение - ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить индетификатор типа для `%1`", Тип)); + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить идетификатор типа для `%1`", Тип)); ВызватьИсключение; КонецПопытки; #КонецЕсли From 53575a4ffccbce27bdf6cdcfd210cb89ce3be283 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 22:15:46 +0300 Subject: [PATCH 18/65] #188 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена ошибка --- .../Module.bsl" | 16 ++++++++++++++-- .../Module.bsl" | 1 + .../Module.bsl" | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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 e50f685bc..28b59a74d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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" @@ -67,9 +67,13 @@ КонецФункции -Функция НовыйПустойОбработчик1() Экспорт +Функция НовыйПустойОбработчик(КоличествоПараметров = 1) Экспорт - Возврат Новый ОписаниеОповещения("ПустойОбработчик1", ЭтотОбъект); + Если КоличествоПараметров >= 1 И КоличествоПараметров <= 3 Тогда + Возврат Новый ОписаниеОповещения("ПустойОбработчик" + КоличествоПараметров, ЭтотОбъект); + Иначе + ВызватьИсключение СтрШаблон("Пустой обработчик с %1 параметрами не реализован", КоличествоПараметров); + КонецЕсли; КонецФункции @@ -77,4 +81,12 @@ КонецПроцедуры +Процедура ПустойОбработчик2(Параметр1, Параметр2) Экспорт + +КонецПроцедуры + +Процедура ПустойОбработчик3(Параметр1, Параметр2, Параметр3) Экспорт + +КонецПроцедуры + #КонецОбласти 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index e8e78f4ad..3892a2341 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -172,6 +172,7 @@ Если КомпонентаДляПодключения = Неопределено Тогда ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыТихойУстановки); + Возврат; КонецЕсли; ПараметрыТихойУстановки.ПодключенныеКомпоненты.Добавить(КомпонентаДляПодключения); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index c505f4ade..018526197 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -881,7 +881,7 @@ Если ЮТМетаданные.РазрешеныСинхронныеВызовы() Тогда Компонента.Напечатать(Сообщение); Иначе - Компонента.НачатьВызовНапечатать(ЮТАсинхроннаяОбработкаСлужебныйКлиент.НовыйПустойОбработчик1(), Сообщение); + Компонента.НачатьВызовНапечатать(ЮТАсинхроннаяОбработкаСлужебныйКлиент.НовыйПустойОбработчик(3), Сообщение); КонецЕсли; #КонецЕсли From 20f4c24244c6a4b9ebf7c3da5d9093bb4c0aced5 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 02:13:57 +0300 Subject: [PATCH 19/65] #160 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Поддержка в английской локали --- .../Module.bsl" | 53 ++++++ ...0\265\320\261\320\275\321\213\320\271.mdo" | 11 ++ .../Module.bsl" | 6 +- .../Module.bsl" | 26 ++- .../Module.bsl" | 6 +- .../Module.bsl" | 9 + .../src/Configuration/Configuration.mdo | 1 + .../Module.bsl" | 4 +- .../Module.bsl" | 7 +- .../Module.bsl" | 154 ++++++++++++------ 10 files changed, 209 insertions(+), 68 deletions(-) create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\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\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..dd79144ac --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,53 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Функция ЛокальПлатформы() Экспорт + + Возврат ТекущийЯзыкСистемы(); + +КонецФункции + +Функция ЭтоАнглийскаяЛокальПлатформы() Экспорт + + Возврат ЛокальПлатформы() = "en"; + +КонецФункции + +Функция ЭтоРусскаяЛокальПлатформы() Экспорт + + Возврат ЛокальПлатформы() = "ru"; + +КонецФункции + +Функция ЛокальИнтерфейса() Экспорт + +#Если Клиент Тогда + Возврат ТекущийЯзык(); +#Иначе + Возврат ТекущийЯзык().КодЯзыка; +#КонецЕсли + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..86c5fbaff --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ЮТЛокальСлужебный + + ru + Локаль служебный + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a4a014eca..07dc622b4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -79,11 +79,7 @@ Функция НовыйКонтекст() Описание = Новый Структура; - #Если Клиент Тогда - Описание.Вставить("Локализация", ТекущийЯзык()); - #Иначе - Описание.Вставить("Локализация", ТекущийЯзык().КодЯзыка); - #КонецЕсли + Описание.Вставить("Локализация", ЮТЛокальСлужебный.ЛокальИнтерфейса()); Возврат Описание; КонецФункции 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 d76531167..dcdfb3e1b 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" @@ -207,16 +207,18 @@ ИмяМетода = Сред(ИмяВызываемогоМетода, СтрНайти(ИмяВызываемогоМетода, ".") + 1); - Если Описание = СтрШаблон("Метод объекта не обнаружен (%1)", ИмяМетода) + Тексты = ТекстыОшибокВызоваМетода(ИмяМетода); + + Если Описание = Тексты.МетодНеОбнаружен И СтрНачинаетсяС(Ошибка.ИсходнаяСтрока, ИмяВызываемогоМетода) Тогда ТипОшибки = ТипыОшибок.ТестНеРеализован; - ИначеЕсли Описание = "Слишком мало фактических параметров" И СтрНачинаетсяС(Ошибка.ИсходнаяСтрока, ИмяВызываемогоМетода) Тогда + ИначеЕсли Описание = Тексты.МалоПараметров И СтрНачинаетсяС(Ошибка.ИсходнаяСтрока, ИмяВызываемогоМетода) Тогда ТипОшибки = ТипыОшибок.МалоПараметров; - ИначеЕсли Описание = "Слишком много фактических параметров" И СтрНачинаетсяС(Ошибка.ИсходнаяСтрока, ИмяВызываемогоМетода) Тогда + ИначеЕсли Описание = Тексты.МногоПараметров И СтрНачинаетсяС(Ошибка.ИсходнаяСтрока, ИмяВызываемогоМетода) Тогда ТипОшибки = ТипыОшибок.МногоПараметров; @@ -592,4 +594,22 @@ КонецФункции +Функция ТекстыОшибокВызоваМетода(ИмяМетода) + + Тексты = Новый Структура("МетодНеОбнаружен, МногоПараметров, МалоПараметров"); + + Если ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы() Тогда + Тексты.МетодНеОбнаружен = СтрШаблон("Object method not found (%1)", ИмяМетода); + Тексты.МногоПараметров = "Too many actual parameters"; + Тексты.МалоПараметров = "Not enough actual parameters"; + Иначе + Тексты.МетодНеОбнаружен = СтрШаблон("Метод объекта не обнаружен (%1)", ИмяМетода); + Тексты.МногоПараметров = "Слишком много фактических параметров"; + Тексты.МалоПараметров = "Недостаточно фактических параметров"; + КонецЕсли; + + Возврат Тексты; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 afb9c5410..79256486e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -327,12 +327,14 @@ Функция КлючЗаписи(Объект) - ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗнч(Объект)); + ТипЗначения = ТипЗнч(Объект); + ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗначения); + Если СтрНайти(ПредставлениеТипа, "Object.") Тогда Возврат Объект.Ссылка; - ИначеЕсли СтрНайти(ПредставлениеТипа, "менеджер записи:") Тогда // TODO + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМенеджерЗаписи(ТипЗначения) Тогда // TODO Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(Объект); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 799592d00..5a0b956b4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -93,6 +93,15 @@ КонецФункции +Функция ЭтоМенеджерЗаписи(Тип) Экспорт + + ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(Тип); + СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "менеджер записи:"); + + Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска); + +КонецФункции + #Область СистемныеПеречисления Функция ЭтоСистемноеПеречисление(Тип) Экспорт diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index e6deb45e4..75506b52a 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -69,6 +69,7 @@ CommonModule.ЮТКонтекстТеста CommonModule.ЮТЛогирование CommonModule.ЮТЛогированиеВызовСервера + CommonModule.ЮТЛокальСлужебный CommonModule.ЮТМетаданные CommonModule.ЮТМетаданныеПовтИсп CommonModule.ЮТМетаданныеСервер diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 ec0e6ef9f..e6525c48b 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -73,8 +73,8 @@ .Добавить(Выражения.БольшеРавно, 5, "больше или равно `5`") .Добавить(Выражения.Меньше, 3, "меньше чем `3`") .Добавить(Выражения.МеньшеРавно, 2, "меньше или равно `2`") - .Добавить(Выражения.ИмеетТип, "Строка", "имеет тип `Строка`") - .Добавить(Выражения.НеИмеетТип, "Число", "не имеет тип `Число`") + .Добавить(Выражения.ИмеетТип, "Строка", СтрШаблон("имеет тип `%1`", Тип("Строка"))) + .Добавить(Выражения.НеИмеетТип, "Число", СтрШаблон("не имеет тип `%1`", Тип("Число"))) .Добавить(Выражения.ИмеетДлину, 2, "имеет длину (размер) `2`", "Строка") .Добавить(Выражения.НеИмеетДлину, 3, "не имеет длину (размер) `3`", "Строка") .Добавить(Выражения.ИмеетСвойство, "Строка", "содержит свойство `Строка`", "ВложенныйОбъект") diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 42b35c0bc..c3a4d600e 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -289,11 +289,13 @@ .Параметр(Новый Массив) .ВыбрасываетИсключение("Укажите описание загружаемых колонок (ОписанияТипов)"); + ОжидаемоеСообщение = СтрШаблон("Некорректный тип параметра `ОписанияТипов` метода `ЮТТестовыеДанные.ЗагрузитьИзМакета`. Метод принимает `%1, %2`, а получили `%3` (1)", + Тип("Соответствие"), Тип("Структура"), Тип("Число")); ЮТест.ОжидаетЧто(ЮТест.Данные()) .Метод("ЗагрузитьИзМакета") .Параметр("ОбщийМакет.ЮТ_ТестовыеДанныеMarkdown") .Параметр(1) - .ВыбрасываетИсключение("Некорректный тип параметра `ОписанияТипов` метода `ЮТТестовыеДанные.ЗагрузитьИзМакета`. Метод принимает `Соответствие, Структура`, а получили `Число` (1)"); + .ВыбрасываетИсключение(ОжидаемоеСообщение); ЮТест.ОжидаетЧто(ЮТест.Данные()) .Метод("ЗагрузитьИзМакета") @@ -313,11 +315,12 @@ .Параметр(Новый Структура("Товар", Новый ОписаниеТипов("СправочникСсылка.Товары"))) .ВыбрасываетИсключение("не найдена в макете основная колонка с именем `Товар`"); + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Section not found", "Область не найдена"); ЮТест.ОжидаетЧто(ЮТест.Данные()) .Метод("ЗагрузитьИзМакета") .Параметр("ОбщийМакет.ЮТ_МакетТестовыхДанных.ОсновнаяТаблица") .Параметр(Новый Структура("Цена", Новый ОписаниеТипов("Дата"))) - .ВыбрасываетИсключение("Область не найдена: ОсновнаяТаблица"); + .ВыбрасываетИсключение(ОжидаемоеСообщение+ ": ОсновнаяТаблица"); КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index f630938ed..a7a79f1bd 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -366,7 +366,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Да` не является истиной, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` не является истиной, но это не так", Истина)); ПроверитьДанныеОшибкиСравнения(Истина, Истина); КонецПроцедуры @@ -394,7 +394,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Да` является ложью, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` является ложью, но это не так", Истина)); Попытка ЮТУтверждения.Что(2) @@ -451,7 +451,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` не является ложью, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` не является ложью, но это не так", Ложь)); ПроверитьДанныеОшибкиСравнения(Ложь, Ложь); КонецПроцедуры @@ -467,13 +467,13 @@ Попытка ЮТУтверждения.Что(1) - .Равно(Истина); + .Равно("1"); Ошибка = Неопределено; Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `1` равно `Да`, но это не так"); - ПроверитьДанныеОшибкиСравнения(1, Истина); + ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `1` равно `1`, но это не так"); + ПроверитьДанныеОшибкиСравнения(1, "1"); Попытка ЮТУтверждения.Что(1) @@ -515,7 +515,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Да` не равно `Да`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` не равно `%1`, но это не так", Истина)); ПроверитьДанныеОшибкиСравнения(Истина, Истина); КонецПроцедуры @@ -555,7 +555,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Да` больше чем `1`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше чем `1`, но это не так", Истина)); Попытка Ошибка = Неопределено; @@ -564,7 +564,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` больше чем `Да`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше чем `%2`, но это не так", Ложь, Истина)); Попытка Ошибка = Неопределено; @@ -582,7 +582,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `01.01.2020 0:00:00` больше чем `01.01.2021 0:00:00`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше чем `%2`, но это не так", '20200101', '20210101')); Попытка Ошибка = Неопределено; @@ -591,7 +591,8 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); Попытка Ошибка = Неопределено; @@ -600,7 +601,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); КонецПроцедуры @@ -642,7 +643,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Да` больше или равно `2`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше или равно `2`, но это не так", Истина)); Попытка Ошибка = Неопределено; @@ -651,7 +652,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` больше или равно `Да`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше или равно `%2`, но это не так", Ложь, Истина)); Попытка Ошибка = Неопределено; @@ -669,7 +670,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `01.01.2020 0:00:00` больше или равно `02.01.2021 0:00:00`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` больше или равно `%2`, но это не так", '20200101', '20210102')); Попытка Ошибка = Неопределено; @@ -678,8 +679,8 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); Попытка Ошибка = Неопределено; ЮТУтверждения.Что(ТекущаяДата()) @@ -687,7 +688,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); КонецПроцедуры @@ -747,7 +748,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `01.01.2020 0:00:00` меньше чем `01.01.2020 0:00:00`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` меньше чем `%2`, но это не так", '20200101', '20200101')); Попытка Ошибка = Неопределено; @@ -756,7 +757,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `02.01.2020 0:00:00` меньше чем `01.01.2020 0:00:00`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` меньше чем `%2`, но это не так", '20200102', '20200101')); Попытка Ошибка = Неопределено; @@ -765,7 +766,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); КонецПроцедуры @@ -809,7 +810,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `02.01.2020 0:00:00` меньше или равно `01.01.2020 0:00:00`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` меньше или равно `%2`, но это не так", '20200102', '20200101')); Попытка Ошибка = Неопределено; @@ -818,7 +819,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Операции сравнения на больше-меньше"); + ПроверитьЭтоОшибкуСравненияБольшеМеньше(Ошибка); КонецПроцедуры @@ -877,7 +878,11 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Проверка мутабельных значений на заполненность"); + + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), + "Mutable values filling check is unavailable", + "Проверка мутабельных значений на заполненность"); + ПроверитьОшибкуИсполнения(Ошибка, ОжидаемоеСообщение); КонецПроцедуры @@ -911,7 +916,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Нет` не является заполненным, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` не является заполненным, но это не так", Ложь)); ПроверитьДанныеОшибкиСравнения(Ложь, Неопределено); Попытка @@ -930,8 +935,11 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Проверка мутабельных значений на заполненность"); - + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), + "Mutable values filling check is unavailable", + "Проверка мутабельных значений на заполненность"); + ПроверитьОшибкуИсполнения(Ошибка, ОжидаемоеСообщение); + КонецПроцедуры Процедура Существует() Экспорт @@ -1002,7 +1010,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ложь: ожидали, что проверяемое значение `Нет` не существует, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ложь: ожидали, что проверяемое значение `%1` не существует, но это не так", Ложь)); КонецПроцедуры @@ -1048,7 +1056,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ложь: ожидали, что проверяемое значение `Нет` является неопределено, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ложь: ожидали, что проверяемое значение `%1` является неопределено, но это не так", Ложь)); КонецПроцедуры @@ -1130,7 +1138,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `` имеет тип `Не определено`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `` имеет тип `%1`, но это не так", Тип("Неопределено"))); Попытка Ошибка = Неопределено; @@ -1139,7 +1147,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `1` имеет тип `Строка`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `1` имеет тип `%1`, но это не так", Тип("Строка"))); ПроверитьДанныеОшибкиСравнения(Тип("Число"), Тип("Строка")); Попытка @@ -1149,7 +1157,11 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип ожидаемого значения (`Не определено`), должен быть `Строка, Тип, Описание типов`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2, %3, %4`", + Тип("Неопределено"), + Тип("Строка"), + Тип("Тип"), + Тип("ОписаниеТипов"))); Попытка Ошибка = Неопределено; @@ -1158,7 +1170,9 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Тип не определен"); + + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Type is not defined", "Тип не определен"); + ПроверитьОшибкуИсполнения(Ошибка, ОжидаемоеСообщение); КонецПроцедуры @@ -1182,7 +1196,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `1` не имеет тип `Число`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `1` не имеет тип `%1`, но это не так", Тип("Число"))); ПроверитьДанныеОшибкиСравнения(Тип("Число"), Тип("Число")); Попытка @@ -1192,7 +1206,11 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип ожидаемого значения (`Не определено`), должен быть `Строка, Тип, Описание типов`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2, %3, %4`", + Тип("Неопределено"), + Тип("Строка"), + Тип("Тип"), + Тип("ОписаниеТипов"))); Попытка Ошибка = Неопределено; @@ -1201,7 +1219,8 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Тип не определен"); + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Type is not defined", "Тип не определен"); + ПроверитьОшибкуИсполнения(Ошибка, ОжидаемоеСообщение); КонецПроцедуры @@ -1264,7 +1283,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Тип проверяемого значения `Не определено` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", Тип("Неопределено"))); Попытка Ошибка = Неопределено; @@ -1273,7 +1292,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `321` содержит `Массив`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `321` содержит `%1`, но это не так", Новый Массив)); Попытка Ошибка = Неопределено; @@ -1282,7 +1301,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что проверяемое значение `Структура` содержит `1`, но это не так"); + ПроверитьОшибкуУтверждения(Ошибка, СтрШаблон("Ожидали, что проверяемое значение `%1` содержит `1`, но это не так", Новый Структура)); КонецПроцедуры @@ -1356,7 +1375,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Тип проверяемого значения `Не определено` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", Тип("Неопределено"))); КонецПроцедуры @@ -1456,7 +1475,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Дата: тип проверяемого значения `Дата` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Дата: тип проверяемого значения `%1` не обрабатывается утверждением", Тип("Дата"))); Попытка Ошибка = Неопределено; @@ -1465,7 +1484,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип ожидаемого значения (`Дата`), должен быть `Число`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Дата"), Тип("Число"))); КонецПроцедуры @@ -1523,7 +1542,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Дата: тип проверяемого значения `Дата` не обрабатывается утверждением"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Дата: тип проверяемого значения `%1` не обрабатывается утверждением", Тип("Дата"))); Попытка Ошибка = Неопределено; @@ -1532,21 +1551,35 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип ожидаемого значения (`Дата`), должен быть `Число`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Дата"), Тип("Число"))); КонецПроцедуры Процедура ВыбрасываетИсключение() Экспорт + МетодНеОбнаружен = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Object method not found (НесуществующийМетод)", "Метод объекта не обнаружен (НесуществующийМетод)"); + МногоПараметров = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Too many actual parameters", "Слишком много фактических параметров"); + МалоПараметров = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Not enough actual parameters", "Недостаточно фактических параметров"); + ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение", 2)) - .ВыбрасываетИсключение("Слишком много фактических параметров"); + .ВыбрасываетИсключение(МногоПараметров); + + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("МетодСложения", Новый Массив(1, 2)) + .ВыбрасываетИсключение(МалоПараметров); + + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("НесуществующийМетод", Новый Массив) + .ВыбрасываетИсключение(МетодНеОбнаружен); + ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("МетодИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение")) .ВыбрасываетИсключение("Исключение"); + ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("МетодБезИсключение") - .ВыбрасываетИсключение("Недостаточно фактических параметров"); + .ВыбрасываетИсключение(МалоПараметров); ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("ПроверитьОшибкуУтверждения") .ВыбрасываетИсключение("1"); @@ -1571,7 +1604,7 @@ Ошибка = ИнформацияОбОшибке(); КонецПопытки; ПроверитьОшибкуУтверждения(Ошибка, "Ожидали, что метод `МетодБезИсключение` вызовет исключение `Исключение`, но получили"); - ПроверитьОшибкуУтверждения(Ошибка, "Недостаточно фактических параметров"); + ПроверитьОшибкуУтверждения(Ошибка, МалоПараметров); Попытка Ошибка = Неопределено; @@ -1581,7 +1614,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип параметров метода (`Число`), должен быть `Массив`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип параметров метода (`%1`), должен быть `%2`", Тип("Число"), Тип("Массив"))); Попытка Ошибка = Неопределено; @@ -1635,7 +1668,7 @@ Исключение Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Не верный тип параметров метода (`Число`), должен быть `Массив`"); + ПроверитьОшибкуИсполнения(Ошибка, СтрШаблон("Не верный тип параметров метода (`%1`), должен быть `%2`", Тип("Число"), Тип("Массив"))); Попытка Ошибка = Неопределено; @@ -1733,8 +1766,8 @@ Варианты = ЮТест.Варианты("ПроверяемоеЗначение, СтрокаПоиска, ОжидаемаяОшибка") .Добавить("Ризоватовский сельсовет", "", "Ожидали, что ожидаемое значение заполнено, но это не так") - .Добавить(111, "1", "Не верный тип проверяемого значения (`Число`), должен быть `Строка`") - .Добавить("111", 1, "Не верный тип ожидаемого значения (`Число`), должен быть `Строка`") + .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) + .Добавить("111", 1, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) .СписокВариантов(); Для Каждого Вариант Из Варианты Цикл @@ -1773,8 +1806,8 @@ Варианты = ЮТест.Варианты("ПроверяемоеЗначение, СтрокаПоиска, ОжидаемаяОшибка") .Добавить("Ризоватовский сельсовет", "", "Ожидали, что ожидаемое значение заполнено, но это не так") - .Добавить(111, "1", "Не верный тип проверяемого значения (`Число`), должен быть `Строка`") - .Добавить("111", 1, "Не верный тип ожидаемого значения (`Число`), должен быть `Строка`") + .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) + .Добавить("111", 1, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) .СписокВариантов(); Для Каждого Вариант Из Варианты Цикл @@ -1815,8 +1848,8 @@ "Ожидали, что проверяемое значение `10` находится в интервале [5; 9], но это не так"); Варианты = ЮТест.Варианты("ПроверяемоеЗначение, ЛеваяГраница, ПраваяГраница, ОжидаемаяОшибка") - .Добавить(10, "0", 10, "Не верный тип левой границы интервала (`Строка`), должен быть `Число`") - .Добавить(10, 0, "10", "Не верный тип правой границы интервала (`Строка`), должен быть `Число`") + .Добавить(10, "0", 10, СтрШаблон("Не верный тип левой границы интервала (`%1`), должен быть `%2`", Тип("Строка"), Тип("Число"))) + .Добавить(10, 0, "10", СтрШаблон("Не верный тип правой границы интервала (`%1`), должен быть `%2`", Тип("Строка"), Тип("Число"))) .Добавить(10, 20, 0, "Не корректно задан интервал, левая граница (20) не должна быть больше правой (0)") .СписокВариантов(); @@ -2232,6 +2265,13 @@ КонецПроцедуры +Процедура ПроверитьЭтоОшибкуСравненияБольшеМеньше(ИнформацияОбОшибке) + + ОжидаемоеСообщение = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Greater than/Less than compare operations", "Операции сравнения на больше-меньше"); + ПроверитьОшибкуИсполнения(ИнформацияОбОшибке, ОжидаемоеСообщение); + +КонецПроцедуры + Процедура ПроверитьДанныеОшибкиСравнения(Знач ПроверяемоеЗначение, Знач ОжидаемоеЗначение) ОжидаемоеЗначение = ЮТОбщий.ПредставлениеЗначения(ОжидаемоеЗначение); @@ -2293,6 +2333,12 @@ КонецФункции +Функция МетодСложения(П1, П2, П3) Экспорт + + Возврат П1 + П2 + П3; + +КонецФункции + Функция ДанныеДляПроверкиКоллекции(Знач ВернутьСтруктуру = Неопределено) Если ВернутьСтруктуру = Неопределено Тогда From 01d455ce2dbae968317648390c455c634ef2f902 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 23:02:54 +0300 Subject: [PATCH 20/65] #160 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс загрузки из макетов при использовании английской локали платформы --- .github/workflows/main-build.yml | 1 - .../Module.bsl" | 136 ++++++++++++++---- .../Module.bsl" | 2 +- 3 files changed, 109 insertions(+), 30 deletions(-) diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 49fd1b6c5..225084571 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -45,7 +45,6 @@ jobs: tests_linux_en: name: Tests Linux 8.3.21.1895 en_US uses: ./.github/workflows/run-tests-linux.yml - if: false needs: build_artifacts with: v8_version: 8.3.21.1895 diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" index 72a70e3d2..1ba83d826 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" @@ -73,44 +73,82 @@ Функция ПривестиЗначениеКДате(ОписаниеТипа, Знач Значение) Экспорт - Результат = ОписаниеТипа.ПривестиЗначение(Значение); - Если ЗначениеЗаполнено(Результат) Тогда - Возврат Результат; - КонецЕсли; + ДатаМассив = СтрРазделить(Значение, ".,:T-/ "); + + НетВремени = 3; + ЕстьВремя = 7; + Полдень = 12; + + ДлинаДеньМесяц = 2; + ДлинаГод = 4; + + ДатаИзСтроки_ПроверкаДлиныДаты(ДатаМассив.Количество(), НетВремени, ЕстьВремя); - МассивРазделителей = Новый Массив; - МассивРазделителей.Добавить("."); - МассивРазделителей.Добавить("/"); - МассивРазделителей.Добавить("-"); + ///////////////////////////////////////////////////////////////////////////////// - СтрокаДаты = Неопределено; + ДатаИзСтроки_ОбработкаМассиваДаты(ДатаМассив); // если вдруг кто-то забыл вставить что-то между разделителями. - КоличествоБлоковДаты = 3; - ДлинаГода = 4; + ДатаИзСтроки_ПроверкаМесяца(ДатаМассив[1]); // проверка месяца, корректно или нет - Для Каждого Разделитель Из МассивРазделителей Цикл + Если ДатаМассив.Количество() = ЕстьВремя Тогда // время формата HH:mm:ss tt или H:mm:ss tt - Если ЗначениеЗаполнено(СтрокаДаты) Тогда - Прервать; - КонецЕсли; + ВГр = ДатаМассив.ВГраница(); + ПозЧас = 3; - МассивЧастейДат = СтрРазделить(Значение, Разделитель); + ДатаМассив[ВГр] = ВРег(ДатаМассив[ВГр]); + ЧасДоп = ?(ДатаМассив[ВГр] = "PM", Полдень, 0); + ДатаМассив.Удалить(ВГр); - Если МассивЧастейДат.Количество() = КоличествоБлоковДаты Тогда - - Если СтрДлина(МассивЧастейДат[2]) = ДлинаГода Тогда - СтрокаДаты = МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; - ИначеЕсли СтрДлина(МассивЧастейДат[0]) = ДлинаГода Тогда - СтрокаДаты = МассивЧастейДат[0] + МассивЧастейДат[1] + МассивЧастейДат[2]; - Иначе - СтрокаДаты = "20" + МассивЧастейДат[2] + МассивЧастейДат[1] + МассивЧастейДат[0]; - КонецЕсли; - - КонецЕсли; + // если все-таки решили вписать не существующий формат попробуем его воспринять адекватно. + ДатаМассив[ПозЧас] = Строка(?(Число(ДатаМассив[ПозЧас]) + ЧасДоп >= 24, ДатаМассив[ПозЧас], Число(ДатаМассив[ПозЧас]) + ЧасДоп)); + + КонецЕсли; + + Для Индекс = 0 По ДатаМассив.ВГраница() Цикл // добавляем ведущие нули в маски d.M.yy, yy.M.d, H:mm:ss + + ДатаМассив[Индекс] = Формат(Число(ДатаМассив[Индекс]), "ЧЦ=" + ?(СтрДлина(ДатаМассив[Индекс]) > ДлинаДеньМесяц, "4", "2") + "; ЧВН=; ЧГ=0; ЧН=00"); КонецЦикла; - Результат = ОписаниеТипа.ПривестиЗначение(СтрокаДаты); + ПозГод = 2; + ПозМесяц = 1; + ПозДень = 0; + + // Проверка гггг.мм.дд или дд.мм.гггг + Если СтрДлина(ДатаМассив[ПозГод]) = ДлинаГод Тогда + + ВремДата = ДатаМассив[ПозДень]; + ДатаМассив[ПозДень] = ДатаМассив[ПозГод]; + ДатаМассив[ПозГод] = ВремДата; + + КонецЕсли; + + // обработка масок dd.MM.yy и yy.MM.dd, первая маска в приоритете. + Если СтрДлина(ДатаМассив[0]) = ДлинаДеньМесяц И СтрДлина(ДатаМассив[ПозГод]) = ДлинаДеньМесяц Тогда + + УсловнаяГраница = 66; // что больше, то 20 век, что меньше - 21 + Год = ?(Число(ДатаМассив[ПозГод]) > УсловнаяГраница, "19", "20"); + + Попытка // попытаемся превратить ее в дату + + // Собственно - проверка, попытка получить дату + //@skip-check module-unused-local-variable - Необходима для помещения результата получения даты из строки. + ТестоваяДата = Дата(Год + ДатаМассив[ПозГод] + ДатаМассив[ПозМесяц] + ДатаМассив[ПозДень]); + + ВремДата = ДатаМассив[ПозДень]; + ДатаМассив[ПозДень] = (Год + ДатаМассив[ПозГод]); + ДатаМассив[ПозГод] = ВремДата; + + Исключение // если не получилось, значит маска yy.MM.dd + + ТестоваяДата = Неопределено; + ДатаМассив[ПозДень] = (Год + ДатаМассив[ПозДень]); + + КонецПопытки; + + КонецЕсли; + + Результат = ОписаниеТипа.ПривестиЗначение(СтрСоединить(ДатаМассив)); Возврат Результат; @@ -118,6 +156,7 @@ Функция ПривестиЗначениеКЧислу(ОписаниеТипа, Знач Значение) Экспорт + Значение = СтрЗаменить(Значение, ",", "."); Результат = ОписаниеТипа.ПривестиЗначение(Значение); Если ЗначениеЗаполнено(Результат) Тогда Возврат Результат; @@ -150,4 +189,45 @@ КонецФункции +Процедура ДатаИзСтроки_ПроверкаДлиныДаты(ДлинаСтроки, ДлинаБезВремени = 0, ДлинаСВременем = 0, ДатаСтрока = "") + + Если ДлинаБезВремени = 0 ИЛИ ДлинаСВременем = 0 Тогда + + ДлинаБезВремени = 6; + ДлинаСВременем = 22; + + КонецЕсли; + + // Временные зоны не поддерживаются, однако формат даты в нулевой зоне попадает в допустимую длину других поддерживаемых форматов. + ДлинаДатыВНулевойЗоне = 20; + ЭтоНулеваяЗона = ДлинаСтроки = ДлинаДатыВНулевойЗоне И СтрЗаканчиваетсяНа(ДатаСтрока, "Z"); + + Если ДлинаСтроки < ДлинаБезВремени Или ДлинаСтроки > ДлинаСВременем Или ЭтоНулеваяЗона Тогда + + ВызватьИсключение "Дата в строке не подходит ни под одну маску."; + + КонецЕсли; + +КонецПроцедуры + +Процедура ДатаИзСтроки_ОбработкаМассиваДаты(ДатаМассив) + + Для Индекс = 0 По ДатаМассив.ВГраница() Цикл + + ДатаМассив[Индекс] = ?(СтрДлина(ДатаМассив[Индекс]) = 0, "0", ДатаМассив[Индекс]); + + КонецЦикла; + +КонецПроцедуры + +Процедура ДатаИзСтроки_ПроверкаМесяца(МесяцСтрокой) + + Если Число(МесяцСтрокой) > 12 Или Число(МесяцСтрокой) = 0 Тогда + + ВызватьИсключение "Месяц выходит за границы диапазона."; + + КонецЕсли; + +КонецПроцедуры + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index c3a4d600e..02629a79d 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -192,7 +192,7 @@ ; Для Каждого Вариант Из Варианты.СписокВариантов() Цикл - + ОписанияТипов = Новый Соответствие; ОписанияТипов.Вставить("Товар", Новый ОписаниеТипов("СправочникСсылка.Товары")); ОписанияТипов.Вставить("Цена", Новый ОписаниеТипов("Число")); From 23c72e88d30940f4c482186ceaea3fc206d2fabe Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 23:20:36 +0300 Subject: [PATCH 21/65] #160 Test locale on windows --- .github/workflows/main-build.yml | 13 +++++++++++++ .github/workflows/run-tests-windows.yml | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 225084571..d82026c70 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -45,6 +45,7 @@ jobs: tests_linux_en: name: Tests Linux 8.3.21.1895 en_US uses: ./.github/workflows/run-tests-linux.yml + if: false needs: build_artifacts with: v8_version: 8.3.21.1895 @@ -60,4 +61,16 @@ jobs: with: v8_version: 8.3.21.1895 artifact_name: build-artifacts + locale: ru_RU + fail_on_failure: false + secrets: inherit + tests_windows_en: + name: Tests Windows 8.3.21.1895 en_US + uses: ./.github/workflows/run-tests-windows.yml + needs: build_artifacts + with: + v8_version: 8.3.21.1895 + artifact_name: build-artifacts + locale: en_US + fail_on_failure: false secrets: inherit \ No newline at end of file diff --git a/.github/workflows/run-tests-windows.yml b/.github/workflows/run-tests-windows.yml index d5d2b62ba..4c3535be4 100644 --- a/.github/workflows/run-tests-windows.yml +++ b/.github/workflows/run-tests-windows.yml @@ -87,10 +87,15 @@ jobs: } } + - uses: bhowell2/github-substring-action@1.0.2 + id: short_locale + with: + value: ${{ inputs.locale }} + length_from_end: 2 - name: Test run: | Start-Process ibsrv.exe -ArgumentList "--data=data" - Start-Process -NoNewWindow -PassThru -Wait 1cv8c.exe -ArgumentList '/WS "http://localhost:8314" /C"RunUnitTests=unit.json" /L ru /VL ${{ inputs.locale }} /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out 1cv8c-output.log' + Start-Process -NoNewWindow -PassThru -Wait 1cv8c.exe -ArgumentList '/WS "http://localhost:8314" /C"RunUnitTests=unit.json" /L ${{ steps.short_locale.outputs.substring }} /VL ${{ inputs.locale }} /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out 1cv8c-output.log' timeout-minutes: 10 - name: view output From 7d73501bdcd6084ffdf148d96b53eff048e3b0b7 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 23:29:27 +0300 Subject: [PATCH 22/65] #160 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Оптимизация сборки --- .github/workflows/build-on-windows.yml | 6 ++++-- .github/workflows/main-build.yml | 12 ++---------- .github/workflows/run-tests-linux.yml | 3 ++- .github/workflows/run-tests-windows.yml | 5 +++-- 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/.github/workflows/build-on-windows.yml b/.github/workflows/build-on-windows.yml index de527584a..5fae6dd9a 100644 --- a/.github/workflows/build-on-windows.yml +++ b/.github/workflows/build-on-windows.yml @@ -8,11 +8,13 @@ on: src_artifact_name: type: string - required: true + required: false + default: designer-src artifact_name: type: string - required: true + required: false + default: build-artifacts jobs: build: runs-on: windows-latest diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index d82026c70..34dcdd961 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -29,29 +29,25 @@ jobs: needs: export_to_designer with: v8_version: 8.3.21.1895 - src_artifact_name: designer-src - artifact_name: build-artifacts secrets: inherit tests_linux_ru: name: Tests Linux 8.3.21.1895 ru_RU uses: ./.github/workflows/run-tests-linux.yml + if: github.ref == 'refs/heads/develop' needs: build_artifacts with: v8_version: 8.3.21.1895 - artifact_name: build-artifacts secrets: inherit tests_linux_en: name: Tests Linux 8.3.21.1895 en_US uses: ./.github/workflows/run-tests-linux.yml - if: false + if: github.ref == 'refs/heads/develop' needs: build_artifacts with: v8_version: 8.3.21.1895 - artifact_name: build-artifacts locale: en_US - fail_on_failure: false secrets: inherit tests_windows_ru: @@ -60,9 +56,7 @@ jobs: needs: build_artifacts with: v8_version: 8.3.21.1895 - artifact_name: build-artifacts locale: ru_RU - fail_on_failure: false secrets: inherit tests_windows_en: name: Tests Windows 8.3.21.1895 en_US @@ -70,7 +64,5 @@ jobs: needs: build_artifacts with: v8_version: 8.3.21.1895 - artifact_name: build-artifacts locale: en_US - fail_on_failure: false secrets: inherit \ No newline at end of file diff --git a/.github/workflows/run-tests-linux.yml b/.github/workflows/run-tests-linux.yml index eba2e54c4..533989d44 100644 --- a/.github/workflows/run-tests-linux.yml +++ b/.github/workflows/run-tests-linux.yml @@ -15,7 +15,8 @@ on: artifact_name: type: string - required: true + required: false + default: build-artifacts fail_on_failure: type: boolean diff --git a/.github/workflows/run-tests-windows.yml b/.github/workflows/run-tests-windows.yml index 4c3535be4..9a382c0a0 100644 --- a/.github/workflows/run-tests-windows.yml +++ b/.github/workflows/run-tests-windows.yml @@ -15,7 +15,8 @@ on: artifact_name: type: string - required: true + required: false + default: build-artifacts fail_on_failure: type: boolean @@ -91,7 +92,7 @@ jobs: id: short_locale with: value: ${{ inputs.locale }} - length_from_end: 2 + length_from_start: 2 - name: Test run: | Start-Process ibsrv.exe -ArgumentList "--data=data" From 29793630c7eb4f25bb7444b3df821451332a9a3c Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 3 Oct 2023 23:46:13 +0300 Subject: [PATCH 23/65] #160 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлены замечания сонар --- .../Module.bsl" | 7 ++++--- .../Module.bsl" | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" index 1ba83d826..7bff225f9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" @@ -99,8 +99,9 @@ ЧасДоп = ?(ДатаМассив[ВГр] = "PM", Полдень, 0); ДатаМассив.Удалить(ВГр); + ЧасовВСутка = 24; // если все-таки решили вписать не существующий формат попробуем его воспринять адекватно. - ДатаМассив[ПозЧас] = Строка(?(Число(ДатаМассив[ПозЧас]) + ЧасДоп >= 24, ДатаМассив[ПозЧас], Число(ДатаМассив[ПозЧас]) + ЧасДоп)); + ДатаМассив[ПозЧас] = Строка(?(Число(ДатаМассив[ПозЧас]) + ЧасДоп >= ЧасовВСутка, ДатаМассив[ПозЧас], Число(ДатаМассив[ПозЧас]) + ЧасДоп)); КонецЕсли; @@ -141,7 +142,6 @@ Исключение // если не получилось, значит маска yy.MM.dd - ТестоваяДата = Неопределено; ДатаМассив[ПозДень] = (Год + ДатаМассив[ПозДень]); КонецПопытки; @@ -222,7 +222,8 @@ Процедура ДатаИзСтроки_ПроверкаМесяца(МесяцСтрокой) - Если Число(МесяцСтрокой) > 12 Или Число(МесяцСтрокой) = 0 Тогда + МесяцевВГоду = 12; + Если Число(МесяцСтрокой) > МесяцевВГоду Или Число(МесяцСтрокой) = 0 Тогда ВызватьИсключение "Месяц выходит за границы диапазона."; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 79256486e..cab603e72 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -334,7 +334,7 @@ Возврат Объект.Ссылка; - ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМенеджерЗаписи(ТипЗначения) Тогда // TODO + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоМенеджерЗаписи(ТипЗначения) Тогда Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(Объект); From cd1e18c38a1b64e2ee1fb12dd51ccbd98070d554 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Wed, 4 Oct 2023 00:25:08 +0300 Subject: [PATCH 24/65] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=D0=BA=D1=83=D1=80=D0=B5=D0=BD=D1=82=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20pr=20=D0=B8=20develop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build-on-windows.yml | 5 +++++ .github/workflows/export-xml.yml | 5 +++++ .github/workflows/main-build.yml | 2 +- .github/workflows/run-tests-linux.yml | 2 +- .github/workflows/run-tests-windows.yml | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-on-windows.yml b/.github/workflows/build-on-windows.yml index 5fae6dd9a..ccbc259a4 100644 --- a/.github/workflows/build-on-windows.yml +++ b/.github/workflows/build-on-windows.yml @@ -15,6 +15,11 @@ on: type: string required: false default: build-artifacts + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}-build + cancel-in-progress: true + jobs: build: runs-on: windows-latest diff --git a/.github/workflows/export-xml.yml b/.github/workflows/export-xml.yml index 7b59112e5..1f118ae5c 100644 --- a/.github/workflows/export-xml.yml +++ b/.github/workflows/export-xml.yml @@ -9,6 +9,11 @@ on: artifact_name: type: string required: true + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}-export + cancel-in-progress: true + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/main-build.yml b/.github/workflows/main-build.yml index 34dcdd961..e854bac17 100644 --- a/.github/workflows/main-build.yml +++ b/.github/workflows/main-build.yml @@ -6,7 +6,7 @@ on: branches: [ develop ] concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }} cancel-in-progress: true permissions: diff --git a/.github/workflows/run-tests-linux.yml b/.github/workflows/run-tests-linux.yml index 533989d44..1822c1048 100644 --- a/.github/workflows/run-tests-linux.yml +++ b/.github/workflows/run-tests-linux.yml @@ -29,7 +29,7 @@ permissions: id-token: write concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.v8_version }}-${{ inputs.locale }}-Linux + group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.v8_version }}-${{ inputs.locale }}-${{ github.event.number }}-Linux cancel-in-progress: true jobs: diff --git a/.github/workflows/run-tests-windows.yml b/.github/workflows/run-tests-windows.yml index 9a382c0a0..20f57dfed 100644 --- a/.github/workflows/run-tests-windows.yml +++ b/.github/workflows/run-tests-windows.yml @@ -24,7 +24,7 @@ on: default: true concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.v8_version }}-${{ inputs.locale }}-Windows + group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.v8_version }}-${{ inputs.locale }}-${{ github.event.number }}-Windows cancel-in-progress: true jobs: From de709244021e6618e80e6e7283aa3d5d316ee4c8 Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Fri, 13 Oct 2023 10:47:49 +0300 Subject: [PATCH 25/65] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=B2=D0=BD=D1=83=D1=82=D1=80=D0=B8=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D1=81=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=B2=D0=B0=D1=82=D1=8C=20=D0=B2=D0=BD=D0=B5=D1=88=D0=BD?= =?UTF-8?q?=D1=8E=D1=8E=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D1=83=20=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20#4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- exts/yaxunit/src/Configuration/Configuration.mdo | 1 + exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 75506b52a..c5e7d3d10 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -55,6 +55,7 @@ CommonModule.ЮТЗапросы CommonModule.ЮТЗапросыВызовСервера CommonModule.ЮТЗапросыКлиентСервер + CommonModule.ЮТИсполнительГлобальный CommonModule.ЮТИсполнительКлиент CommonModule.ЮТИсполнительКлиентСервер CommonModule.ЮТИсполнительСервер diff --git a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl index 49dfc4279..7805577da 100644 --- a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl +++ b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl @@ -35,7 +35,7 @@ &После("ПриНачалеРаботыСистемы") Процедура ЮТПриНачалеРаботыСистемы() - ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование(); + ПодключитьОбработчикОжидания("ВТВыполнитьМодульноеТестирование", 0.1, Истина); КонецПроцедуры From bba56c0daca6091b224a4a0d5046737780d38813 Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Fri, 13 Oct 2023 10:55:26 +0300 Subject: [PATCH 26/65] =?UTF-8?q?EDT=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D0=BE=D0=BC=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B8=D1=82?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D1=82=D0=B5=D1=80=D1=8F=D0=BB=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B8=D0=B9=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8C?= =?UTF-8?q?=20=F0=9F=A4=B7=E2=80=8D=E2=99=82=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 28 +++++++++++++++++++ ...0\273\321\214\320\275\321\213\320\271.mdo" | 11 ++++++++ 2 files changed, 39 insertions(+) create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..322dbe47e --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,28 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ВТВыполнитьМодульноеТестирование() Экспорт + + ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование(); + +КонецПроцедуры + +#КонецОбласти + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..03a76c730 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ЮТИсполнительГлобальный + + ru + Исполнитель клиент глоб + + true + true + true + From 8ee1d13dcd66527cc65482423b88ac66798debd0 Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Fri, 13 Oct 2023 10:57:59 +0300 Subject: [PATCH 27/65] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 2 +- exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" index 322dbe47e..af868d5f0 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" @@ -18,7 +18,7 @@ #Область СлужебныйПрограммныйИнтерфейс -Процедура ВТВыполнитьМодульноеТестирование() Экспорт +Процедура ЮТВыполнитьМодульноеТестирование() Экспорт ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование(); diff --git a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl index 7805577da..7e8be6169 100644 --- a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl +++ b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl @@ -35,7 +35,7 @@ &После("ПриНачалеРаботыСистемы") Процедура ЮТПриНачалеРаботыСистемы() - ПодключитьОбработчикОжидания("ВТВыполнитьМодульноеТестирование", 0.1, Истина); + ПодключитьОбработчикОжидания("ЮТВыполнитьМодульноеТестирование", 0.1, Истина); КонецПроцедуры From 70a1690717d8e1656a1d3d8d46d27238ca350999 Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Fri, 13 Oct 2023 20:58:58 +0300 Subject: [PATCH 28/65] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=91=D0=94=20#5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 905cc9299..66230bdc8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -24,10 +24,11 @@ // Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. // Наименование - Строка, Неопределено - Наименование элемента // Реквизиты - Структура, Неопределено - Значения реквизитов элемента +// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи // // Возвращаемое значение: // ЛюбаяСсылка - Ссылка на созданный объект -Функция СоздатьЭлемент(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт +Функция СоздатьЭлемент(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено, Знач ПараметрыЗаписи = Неопределено) Экспорт Если Реквизиты <> Неопределено Тогда Данные = Реквизиты; @@ -39,7 +40,7 @@ Данные.Вставить("Наименование", Наименование); КонецЕсли; - Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, Неопределено, Ложь); + Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь); ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); Возврат Ссылка; @@ -51,10 +52,11 @@ // Параметры: // Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. // Реквизиты - Структура, Неопределено - Значения реквизитов элемента +// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи // // Возвращаемое значение: // ДокументСсылка - Ссылка на созданный объект -Функция СоздатьДокумент(Менеджер, Реквизиты = Неопределено) Экспорт +Функция СоздатьДокумент(Менеджер, Реквизиты = Неопределено, Знач ПараметрыЗаписи = Неопределено) Экспорт Если Реквизиты <> Неопределено Тогда Данные = Реквизиты; @@ -62,7 +64,7 @@ Данные = Новый Структура; КонецЕсли; - Если Данные.Свойство("РежимЗаписи") Тогда + Если ПараметрыЗаписи = Неопределено И Данные.Свойство("РежимЗаписи") Тогда ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); ПараметрыЗаписи.РежимЗаписи = Данные.РежимЗаписи; Данные.Удалить("РежимЗаписи"); @@ -81,10 +83,11 @@ // Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. // Наименование - Строка, Неопределено - Наименование элемента // Реквизиты - Структура, Неопределено - Значения реквизитов элемента +// ПараметрыЗаписи - см. ЮТОбщий.ПараметрыЗаписи // // Возвращаемое значение: // ЛюбаяСсылка - Ссылка на созданную группу -Функция СоздатьГруппу(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт +Функция СоздатьГруппу(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено, Знач ПараметрыЗаписи = Неопределено) Экспорт Если Реквизиты <> Неопределено Тогда Данные = Реквизиты; @@ -94,7 +97,7 @@ Данные.Вставить("ЭтоГруппа", Истина); - Возврат СоздатьЭлемент(Менеджер, Наименование, Данные); + Возврат СоздатьЭлемент(Менеджер, Наименование, Данные, ПараметрыЗаписи); КонецФункции From ca473c78adddb06969eb4bfa54c193ba62945a96 Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Sun, 15 Oct 2023 19:23:39 +0300 Subject: [PATCH 29/65] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=BF=D0=BF=D1=8B=20=D1=81=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 8 ++++ ...0\261\321\213\321\202\320\270\321\217.mdo" | 11 ++++++ .../src/Configuration/Configuration.mdo | 2 + ...1\207\320\275\320\270\320\272\320\260.mdo" | 13 +++++++ .../Module.bsl" | 39 +++++++++++++++++++ .../Module.bsl" | 19 +++++++++ ...0\261\321\213\321\202\320\270\321\217.mdo" | 17 ++++++++ tests/src/Configuration/Configuration.mdo | 1 + 8 files changed, 110 insertions(+) create mode 100644 "fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" create mode 100644 "fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" create mode 100644 "fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" create mode 100644 "tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" create mode 100644 "tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" new file mode 100644 index 000000000..0a2b62359 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" @@ -0,0 +1,8 @@ + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ПередЗаписьюСправочникаПередЗаписью(Источник, Отказ) Экспорт + //Выполнение действий +КонецПроцедуры + +#КонецОбласти diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" new file mode 100644 index 000000000..381b37b41 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" @@ -0,0 +1,11 @@ + + + ПодпискиНаСобытия + + ru + Подписки на события + + true + true + true + diff --git a/fixtures/demo-configuration/src/Configuration/Configuration.mdo b/fixtures/demo-configuration/src/Configuration/Configuration.mdo index f6eaab094..a8282415c 100644 --- a/fixtures/demo-configuration/src/Configuration/Configuration.mdo +++ b/fixtures/demo-configuration/src/Configuration/Configuration.mdo @@ -147,11 +147,13 @@ CommonModule.СервисныеМеханизмы CommonModule.УведомленияКлиент CommonModule.УведомленияСервер + CommonModule.ПодпискиНаСобытия ExchangePlan.Мобильные XDTOPackage.ОбменСМобильнымУстройством WebService.MAExchange HTTPService.ОписанияТоваров HTTPService.Товары + EventSubscription.ПередЗаписьюСправочника ScheduledJob.ОбновлениеАгрегатовПродаж ScheduledJob.ОбновлениеИндексаППД ScheduledJob.ОбновлениеИсторииДанных diff --git "a/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" new file mode 100644 index 000000000..b560ff882 --- /dev/null +++ "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" @@ -0,0 +1,13 @@ + + + ПередЗаписьюСправочника + + ru + Перед записью справочника + + + CatalogObject.Товары + + BeforeWrite + CommonModule.ПодпискиНаСобытия.ПередЗаписьюСправочникаПередЗаписью + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 02629a79d..ac9fb3238 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -26,6 +26,7 @@ .ДобавитьТест("Удалить") .ДобавитьТест("ВариантыПараметров") .ДобавитьТест("СоздатьГруппу") + //.ДобавитьСерверныйТест("СоздатьГруппуСПередачейПараметров") .ДобавитьТест("ЗагрузитьИзМакета_ТабличныйДокумент") .ДобавитьТест("ЗагрузитьИзМакета_MarkDown") .ДобавитьТест("ЗагрузитьИзМакета_ЧастичнаяЗагрузкаДанных") @@ -95,6 +96,44 @@ КонецПроцедуры +#Если Сервер Тогда + +Процедура СоздатьГруппуСПередачейПараметров() Экспорт + + СлучайноеСвойство = ЮТест.Данные().СлучайнаяСтрока(); + СлучайноеЗначение = Новый УникальныйИдентификатор(); + ТекстИсключения = "Проверка прошла успешна"; + + ЛюбойПараметр = Мокито.ЛюбойПараметр(); + УсловиеПредикат = ЮТест.Предикат() + .ИмеетТип("СправочникОбъект.Товары") + .Реквизит("ОбменДанными.Загрузка").Равно(Истина) + .Реквизит("ДополнительныеСвойства." + СлучайноеСвойство).Равно(СлучайноеЗначение) + .Получить(); + + Мокито.Обучение(ПодпискиНаСобытия) + .Когда("ПередЗаписьюСправочникаПередЗаписью", + Мокито.МассивПараметров(УсловиеПредикат, ЛюбойПараметр)) + .ВыброситьИсключение(ТекстИсключения) + .Прогон(); + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; + ПараметрыЗаписи.ДополнительныеСвойства.Вставить(СлучайноеСвойство, СлучайноеЗначение); + + ПараметрыМетода = ЮТОбщий.ЗначениеВМассиве( + "Справочники.Товары", "Тестовое наименование", Неопределено, ПараметрыЗаписи); + + ЮТУтверждения.Что(ЮТТестовыеДанные) + .Метод("СоздатьГруппу", ПараметрыМетода) + .ВыбрасываетИсключение(ТекстИсключения); + + Мокито.Сбросить(); + +КонецПроцедуры + +#КонецЕсли + Процедура СлучайныйИдентификатор() Экспорт Проверка = Новый Структура(); diff --git "a/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" new file mode 100644 index 000000000..939f97dd4 --- /dev/null +++ "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" @@ -0,0 +1,19 @@ + +&Вместо("ПередЗаписьюСправочникаПередЗаписью") +Процедура Расш1_ПередЗаписьюСправочникаПередЗаписью(Источник, Отказ) Экспорт + + // Собираем параметры в массив + ПараметрыМетода = Мокито.МассивПараметров(Источник, Отказ); + + // Отправляем данные на анализ + ПрерватьВыполнение = Ложь; + Результат = Мокито.АнализВызова(ПодпискиНаСобытия, "ПередЗаписьюСправочникаПередЗаписью", ПараметрыМетода, ПрерватьВыполнение); + + // Обрабатываем результат анализа + Если НЕ ПрерватьВыполнение Тогда + Возврат ПродолжитьВызов(Источник, Отказ); + Иначе + Возврат Результат; + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" new file mode 100644 index 000000000..4a80513c4 --- /dev/null +++ "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217.mdo" @@ -0,0 +1,17 @@ + + + ПодпискиНаСобытия + Adopted + + Extended + Checked + Checked + Checked + Checked + Checked + Checked + + true + true + true + diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index 02b5d323b..68aa40d1f 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -48,6 +48,7 @@ CommonModule.ОМ_ЮТУтвержденияИБ CommonModule.ОМ_ЮТФильтрация CommonModule.ОМ_ЮТЧитатель + CommonModule.ПодпискиНаСобытия CommonModule.Пользователи CommonModule.ПомощникТестированияВызовСервера Catalog.Встречи From 19372920e9a329173502c461ddd551b402ecc0de Mon Sep 17 00:00:00 2001 From: chernenko_vv Date: Sun, 15 Oct 2023 20:34:12 +0300 Subject: [PATCH 30/65] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D1=82=D1=8C=D0=AD=D0=BB=D0=B5?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82,=20=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=D0=93=D1=80=D1=83=D0=BF=D0=BF=D1=83,=20=D0=A1?= =?UTF-8?q?=D0=BE=D0=B7=D0=B4=D0=B0=D1=82=D1=8C=D0=94=D0=BE=D0=BA=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 8 +++- .../src/Configuration/Configuration.mdo | 1 + ...0\274\320\265\320\275\321\202\320\260.mdo" | 13 +++++++ ...1\207\320\275\320\270\320\272\320\260.mdo" | 2 +- .../Module.bsl" | 38 ++++++++++++++----- .../Module.bsl" | 27 ++++++++++--- 6 files changed, 70 insertions(+), 19 deletions(-) create mode 100644 "fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.mdo" diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" index 0a2b62359..a4807cf22 100644 --- "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" @@ -1,8 +1,12 @@ #Область СлужебныйПрограммныйИнтерфейс -Процедура ПередЗаписьюСправочникаПередЗаписью(Источник, Отказ) Экспорт - //Выполнение действий +Процедура ПередЗаписьюСправочника(Источник, Отказ) Экспорт + //Подписка для моков +КонецПроцедуры + +Процедура ПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт + //Подписка для моков КонецПроцедуры #КонецОбласти diff --git a/fixtures/demo-configuration/src/Configuration/Configuration.mdo b/fixtures/demo-configuration/src/Configuration/Configuration.mdo index a8282415c..9d802d5d2 100644 --- a/fixtures/demo-configuration/src/Configuration/Configuration.mdo +++ b/fixtures/demo-configuration/src/Configuration/Configuration.mdo @@ -154,6 +154,7 @@ HTTPService.ОписанияТоваров HTTPService.Товары EventSubscription.ПередЗаписьюСправочника + EventSubscription.ПередЗаписьюДокумента ScheduledJob.ОбновлениеАгрегатовПродаж ScheduledJob.ОбновлениеИндексаППД ScheduledJob.ОбновлениеИсторииДанных diff --git "a/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.mdo" new file mode 100644 index 000000000..b097f96a1 --- /dev/null +++ "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.mdo" @@ -0,0 +1,13 @@ + + + ПередЗаписьюДокумента + + ru + Перед записью документа + + + DocumentObject + + BeforeWrite + CommonModule.ПодпискиНаСобытия.ПередЗаписьюДокумента + diff --git "a/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" index b560ff882..02609f43d 100644 --- "a/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" +++ "b/fixtures/demo-configuration/src/EventSubscriptions/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260/\320\237\320\265\321\200\320\265\320\264\320\227\320\260\320\277\320\270\321\201\321\214\321\216\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\260.mdo" @@ -9,5 +9,5 @@ CatalogObject.Товары BeforeWrite - CommonModule.ПодпискиНаСобытия.ПередЗаписьюСправочникаПередЗаписью + CommonModule.ПодпискиНаСобытия.ПередЗаписьюСправочника diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index ac9fb3238..7f8f075a8 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -26,7 +26,10 @@ .ДобавитьТест("Удалить") .ДобавитьТест("ВариантыПараметров") .ДобавитьТест("СоздатьГруппу") - //.ДобавитьСерверныйТест("СоздатьГруппуСПередачейПараметров") + .ДобавитьСерверныйТест("СоздатьОбъектСПередачейПараметров") + .СПараметрами("СоздатьЭлемент") + .СПараметрами("СоздатьГруппу") + .СПараметрами("СоздатьДокумент") .ДобавитьТест("ЗагрузитьИзМакета_ТабличныйДокумент") .ДобавитьТест("ЗагрузитьИзМакета_MarkDown") .ДобавитьТест("ЗагрузитьИзМакета_ЧастичнаяЗагрузкаДанных") @@ -98,34 +101,49 @@ #Если Сервер Тогда -Процедура СоздатьГруппуСПередачейПараметров() Экспорт - - СлучайноеСвойство = ЮТест.Данные().СлучайнаяСтрока(); +Процедура СоздатьОбъектСПередачейПараметров(ТестируемыйМетод) Экспорт + + ЭтоСозданиеДокумента = (ТестируемыйМетод = "СоздатьДокумент"); + Если ЭтоСозданиеДокумента Тогда + ТестируемыйТип = "ДокументОбъект.ПриходТовара"; + ТестируемыйМенеджер = "Документ.ПриходТовара"; + МокируемыйМетод = "ПередЗаписьюДокумента"; + Иначе + ТестируемыйТип = "СправочникОбъект.Товары"; + ТестируемыйМенеджер = "Справочник.Товары"; + МокируемыйМетод = "ПередЗаписьюСправочника"; + КонецЕсли; + + СлучайноеСвойство = "Свойство" + ЮТест.Данные().СлучайнаяСтрока(); СлучайноеЗначение = Новый УникальныйИдентификатор(); ТекстИсключения = "Проверка прошла успешна"; ЛюбойПараметр = Мокито.ЛюбойПараметр(); УсловиеПредикат = ЮТест.Предикат() - .ИмеетТип("СправочникОбъект.Товары") + .ИмеетТип(ТестируемыйТип) .Реквизит("ОбменДанными.Загрузка").Равно(Истина) .Реквизит("ДополнительныеСвойства." + СлучайноеСвойство).Равно(СлучайноеЗначение) .Получить(); Мокито.Обучение(ПодпискиНаСобытия) - .Когда("ПередЗаписьюСправочникаПередЗаписью", - Мокито.МассивПараметров(УсловиеПредикат, ЛюбойПараметр)) + .Когда(МокируемыйМетод, + Мокито.МассивПараметров(УсловиеПредикат)) .ВыброситьИсключение(ТекстИсключения) .Прогон(); ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; ПараметрыЗаписи.ДополнительныеСвойства.Вставить(СлучайноеСвойство, СлучайноеЗначение); - + ПараметрыМетода = ЮТОбщий.ЗначениеВМассиве( - "Справочники.Товары", "Тестовое наименование", Неопределено, ПараметрыЗаписи); + ТестируемыйМенеджер, Неопределено, ПараметрыЗаписи); + + Если НЕ ЭтоСозданиеДокумента Тогда + ПараметрыМетода.Вставить(1, "Тестовое наименование"); + КонецЕсли; ЮТУтверждения.Что(ЮТТестовыеДанные) - .Метод("СоздатьГруппу", ПараметрыМетода) + .Метод(ТестируемыйМетод, ПараметрыМетода) .ВыбрасываетИсключение(ТекстИсключения); Мокито.Сбросить(); diff --git "a/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" index 939f97dd4..6597ddbaa 100644 --- "a/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\237\320\276\320\264\320\277\320\270\321\201\320\272\320\270\320\235\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" @@ -1,19 +1,34 @@ -&Вместо("ПередЗаписьюСправочникаПередЗаписью") -Процедура Расш1_ПередЗаписьюСправочникаПередЗаписью(Источник, Отказ) Экспорт +&Вместо("ПередЗаписьюДокумента") +Процедура Расш1_ПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт // Собираем параметры в массив ПараметрыМетода = Мокито.МассивПараметров(Источник, Отказ); // Отправляем данные на анализ ПрерватьВыполнение = Ложь; - Результат = Мокито.АнализВызова(ПодпискиНаСобытия, "ПередЗаписьюСправочникаПередЗаписью", ПараметрыМетода, ПрерватьВыполнение); + Результат = Мокито.АнализВызова(ПодпискиНаСобытия, "ПередЗаписьюДокумента", ПараметрыМетода, ПрерватьВыполнение); // Обрабатываем результат анализа Если НЕ ПрерватьВыполнение Тогда - Возврат ПродолжитьВызов(Источник, Отказ); - Иначе - Возврат Результат; + ПродолжитьВызов(Источник, Отказ); + КонецЕсли; + +КонецПроцедуры + +&Вместо("ПередЗаписьюСправочника") +Процедура Расш1_ПередЗаписьюСправочника(Источник, Отказ) Экспорт + + // Собираем параметры в массив + ПараметрыМетода = Мокито.МассивПараметров(Источник, Отказ); + + // Отправляем данные на анализ + ПрерватьВыполнение = Ложь; + Результат = Мокито.АнализВызова(ПодпискиНаСобытия, "ПередЗаписьюСправочника", ПараметрыМетода, ПрерватьВыполнение); + + // Обрабатываем результат анализа + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(Источник, Отказ); КонецЕсли; КонецПроцедуры From 1fe079131db3af48ebf8bc97f3d3991619f7af15 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Wed, 4 Oct 2023 00:18:39 +0300 Subject: [PATCH 31/65] #172 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Выполнение проверки метода в транзакции --- .../Module.bsl" | 32 +++++++-- .../Module.bsl" | 67 +++++++++++++++++++ 2 files changed, 94 insertions(+), 5 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 9358f374e..f6fafa042 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -777,16 +777,17 @@ // Параметры: // ОжидаемоеЗначение - Строка - Ожидается, что сообщение об ошибке будет содержать данный текст // ОписаниеПроверки - Строка - Описание конкретной проверки +// ВТранзакции - Булево - Вызов метода выполняется в трананзакции // // Возвращаемое значение: // ОбщийМодуль - Этот модуль для замыкания -Функция ВыбрасываетИсключение(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт +Функция ВыбрасываетИсключение(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено, ВТранзакции = Ложь) Экспорт Контекст = Контекст(); УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка Модуль = ПроверяемоеЗначение(Контекст); - Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода); + Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции); Исключение ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; @@ -814,16 +815,17 @@ // Параметры: // ОжидаемоеЗначение - Строка - Ожидается, что сообщение об ошибке НЕ будет содержать данный текст // ОписаниеПроверки - Строка - Описание конкретной проверки +// ВТранзакции - Булево - Вызов метода выполняется в трананзакции // // Возвращаемое значение: // ОбщийМодуль - Этот модуль для замыкания -Функция НеВыбрасываетИсключение(Знач ОжидаемоеЗначение = Неопределено, Знач ОписаниеПроверки = Неопределено) Экспорт +Функция НеВыбрасываетИсключение(Знач ОжидаемоеЗначение = Неопределено, Знач ОписаниеПроверки = Неопределено, ВТранзакции = Ложь) Экспорт Контекст = Контекст(); УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка Модуль = ПроверяемоеЗначение(Контекст); - Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода) + Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода, ВТранзакции); Исключение ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; @@ -1491,7 +1493,7 @@ КонецФункции -Функция ВызватьМетод(Модуль, ИмяМетода, ПараметрыМетода) +Функция ВызватьМетод(Модуль, ИмяМетода, ПараметрыМетода, ВТранзакции) #Если ВебКлиент Тогда ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТУтверждения.ВызватьМетод"); @@ -1518,6 +1520,26 @@ Результат = Новый Структура("ИсключениеВозникло, ТекстИсключения", Ложь); +#Если Сервер Тогда + Если ВТранзакции Тогда + Если ТранзакцияАктивна() Тогда + ВызватьИсключение "Использование транзакции внтури транзакции при проверке метода недопустимо"; + КонецЕсли; + + Попытка + НачатьТранзакцию(); + //@skip-check server-execution-safe-mode + Выполнить(СтрокаДляВыполнения); + Исключение + Результат.ИсключениеВозникло = Истина; + Результат.ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + ОтменитьТранзакцию(); + + Возврат Результат; + КонецЕсли; +#КонецЕсли + Попытка //@skip-check server-execution-safe-mode Выполнить(СтрокаДляВыполнения); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index a7a79f1bd..5bd49f06f 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -55,6 +55,7 @@ .ДобавитьТест("НеИмеетДлину") .ДобавитьТест("ВыбрасываетИсключение") .ДобавитьТест("НеВыбрасываетИсключение") + .ДобавитьСерверныйТест("ПроверкаМетодаВТранзакции") .ДобавитьСерверныйТест("СравнениеСложныхОбъектов") .ДобавитьТест("ФормированиеСообщения") .ДобавитьТест("НачинаетсяС") @@ -1682,6 +1683,65 @@ КонецПроцедуры #Если Сервер Тогда + +Процедура ПроверкаМетодаВТранзакции() Экспорт + + Объект = ЮТест.Данные().КонструкторОбъекта(Справочники.Банки) + .ФикцияОбязательныхПолей() + .НовыйОбъект(); + + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("ЗаписатьОбъект").Параметр(Объект) + .НеВыбрасываетИсключение(, , Истина); + + ЮТест.ОжидаетЧто(Объект) + .Свойство("Ссылка").НеЗаполнено(); + + Попытка + НачатьТранзакцию(); + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("ЗаписатьОбъект").Параметр(Объект) + .НеВыбрасываетИсключение(); + + ЮТест.ОжидаетЧто(Объект) + .Свойство("Ссылка").Заполнено(); + ОтменитьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + ВызватьИсключение; + КонецПопытки; + + Объект = ЮТест.Данные().КонструкторОбъекта(Справочники.Банки) + .ФикцияОбязательныхПолей() + .НовыйОбъект(); + + Ошибка = Неопределено; + Попытка + НачатьТранзакцию(); + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("ЗаписатьОбъект").Параметр(Объект) + .ВыбрасываетИсключение("Не удалось", , Истина); + ОтменитьТранзакцию(); + Исключение + ОтменитьТранзакцию(); + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + ПроверитьОшибкуИсполнения(Ошибка, "Использование транзакции внтури транзакции при проверке метода недопустимо"); + + Ошибка = Неопределено; + Попытка + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("ЗаписатьОбъект").Параметр(Объект) + .ВыбрасываетИсключение("Не удалось", , Истина); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + ПроверитьОшибкуУтверждения(Ошибка, "вызовет исключение"); + ЮТест.ОжидаетЧто(Объект) + .Свойство("Ссылка").НеЗаполнено(); + +КонецПроцедуры + Процедура СравнениеСложныхОбъектов() Экспорт Варианты = Новый Массив(); @@ -2339,6 +2399,13 @@ КонецФункции +Функция ЗаписатьОбъект(Объект) Экспорт + + Объект.Записать(); + Возврат Объект; + +КонецФункции + Функция ДанныеДляПроверкиКоллекции(Знач ВернутьСтруктуру = Неопределено) Если ВернутьСтруктуру = Неопределено Тогда From 84c2bc2526292294a7891c9ebb036d75c0cddfa1 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 23 Oct 2023 00:14:41 +0300 Subject: [PATCH 32/65] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BD=D0=B0=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 5 ++++ ...0\262\320\270\320\266\320\276\320\272.mdo" | 8 +++--- .../Module.bsl" | 27 +++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index f6fafa042..1a438d07b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1502,6 +1502,11 @@ ВызватьИсключение "ИмяМетода не заполнено в контексте. Воспользуйтесь предварительно методом интерфейса `Метод(ИмяМетода)`"; КонецЕсли; +#Если НЕ Сервер Тогда + Если ВТранзакции Тогда + ВызватьИсключение "Использование транзакции доступно только на сервере (толстом клиенте)"; + КонецЕсли; +#КонецЕсли СтрокаПараметры = ""; Если ЭтоТипМассива(ТипЗнч(ПараметрыМетода)) Тогда diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 1bb37fdac..5d0b0eed6 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -32,6 +32,7 @@ CommonModule.ЮТКонтекстТеста CommonModule.ЮТЛогирование CommonModule.ЮТЛогированиеВызовСервера + CommonModule.ЮТЛокальСлужебный CommonModule.ЮТМетаданные CommonModule.ЮТМетаданныеПовтИсп CommonModule.ЮТМетаданныеСервер @@ -57,6 +58,7 @@ CommonModule.ЮТРасширения CommonModule.ЮТРегистрацияОшибок CommonModule.ЮТСобытия + CommonModule.ЮТСообщенияСлужебный CommonModule.ЮТСравнениеКлиентСервер CommonModule.ЮТСравнениеСервер CommonModule.ЮТСтроки @@ -80,9 +82,6 @@ CommonPicture.ЮТУпал CommonPicture.ЮТУспешно CommonPicture.ЮТЭлементыТестов - DataProcessor.ЮТHTTPСервисЗапрос - DataProcessor.ЮТКонструкторТестовыхДанных - DataProcessor.ЮТЮнитТесты CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru @@ -94,4 +93,7 @@ CommonTemplate.ЮТRegEx1CAddin CommonTemplate.ЮТYaxUnitAddIn CommonTemplate.ЮТОписаниеМетаданных + DataProcessor.ЮТHTTPСервисЗапрос + DataProcessor.ЮТКонструкторТестовыхДанных + DataProcessor.ЮТЮнитТесты diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 5bd49f06f..d35401da4 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -56,6 +56,7 @@ .ДобавитьТест("ВыбрасываетИсключение") .ДобавитьТест("НеВыбрасываетИсключение") .ДобавитьСерверныйТест("ПроверкаМетодаВТранзакции") + .ДобавитьТест("ПроверкаМетодаВТранзакцииНаКлиенте", , , "КлиентУправляемоеПриложение") .ДобавитьСерверныйТест("СравнениеСложныхОбъектов") .ДобавитьТест("ФормированиеСообщения") .ДобавитьТест("НачинаетсяС") @@ -1762,6 +1763,32 @@ КонецПроцедуры #КонецЕсли +Процедура ПроверкаМетодаВТранзакцииНаКлиенте() Экспорт + + ОшибкаИспользованияТранзакции = "Использование транзакции доступно только на сервере (толстом клиенте)"; + + Попытка + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("МетодБезИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение")) + .НеВыбрасываетИсключение(, , Истина) + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуИсполнения(Ошибка, ОшибкаИспользованияТранзакции); + + Попытка + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .Метод("МетодБезИсключение", ЮТОбщий.ЗначениеВМассиве("Исключение")) + .ВыбрасываетИсключение(, , Истина) + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуИсполнения(Ошибка, ОшибкаИспользованияТранзакции); + +КонецПроцедуры + Процедура ФормированиеСообщения() Экспорт Попытка From 9f96205ea9d2eb40bc11f9ad496c6466cfcbd97e Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 23 Oct 2023 01:22:04 +0300 Subject: [PATCH 33/65] #172 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлены замечания сонара --- .../Module.bsl" | 11 ++++++----- .../Module.bsl" | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 1a438d07b..ed61699ce 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -803,10 +803,10 @@ Результат.ТекстИсключения); ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение); ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст); - Иначе - Возврат ЮТУтверждения; КонецЕсли; + Возврат ЮТУтверждения; + КонецФункции // Проверяет установленный для проверки метод Контекста на то, что метод не упадет по исключению @@ -1528,18 +1528,19 @@ #Если Сервер Тогда Если ВТранзакции Тогда Если ТранзакцияАктивна() Тогда - ВызватьИсключение "Использование транзакции внтури транзакции при проверке метода недопустимо"; + ВызватьИсключение "Использование транзакции внутри транзакции при проверке метода недопустимо"; КонецЕсли; + НачатьТранзакцию(); Попытка - НачатьТранзакцию(); //@skip-check server-execution-safe-mode Выполнить(СтрокаДляВыполнения); + ОтменитьТранзакцию(); Исключение + ОтменитьТранзакцию(); Результат.ИсключениеВозникло = Истина; Результат.ТекстИсключения = ОписаниеОшибки(); КонецПопытки; - ОтменитьТранзакцию(); Возврат Результат; КонецЕсли; diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index d35401da4..d8da62d1b 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1698,8 +1698,8 @@ ЮТест.ОжидаетЧто(Объект) .Свойство("Ссылка").НеЗаполнено(); + НачатьТранзакцию(); Попытка - НачатьТранзакцию(); ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("ЗаписатьОбъект").Параметр(Объект) .НеВыбрасываетИсключение(); @@ -1717,8 +1717,9 @@ .НовыйОбъект(); Ошибка = Неопределено; + + НачатьТранзакцию(); Попытка - НачатьТранзакцию(); ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("ЗаписатьОбъект").Параметр(Объект) .ВыбрасываетИсключение("Не удалось", , Истина); @@ -1727,7 +1728,7 @@ ОтменитьТранзакцию(); Ошибка = ИнформацияОбОшибке(); КонецПопытки; - ПроверитьОшибкуИсполнения(Ошибка, "Использование транзакции внтури транзакции при проверке метода недопустимо"); + ПроверитьОшибкуИсполнения(Ошибка, "Использование транзакции внутри транзакции при проверке метода недопустимо"); Ошибка = Неопределено; Попытка From 132850b512551dc7a8860a4aa8b2b0e646d6552c Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 27 Oct 2023 01:40:30 +0300 Subject: [PATCH 34/65] #179 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверка коллекции на содержание предиката --- .../Module.bsl" | 33 +++++----- .../Module.bsl" | 64 +++++++++++++++++-- .../Module.bsl" | 53 +++++++++++++++ 3 files changed, 128 insertions(+), 22 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 0718cb0da..177d075a4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -99,28 +99,17 @@ Представления = Новый Массив(); Предикаты = НаборПредикатов(Предикаты); + ИмяРеквизита = Неопределено; Для Каждого Выражение Из Предикаты Цикл - Представления.Добавить(ПредставлениеПредиката(Выражение, ШаблонСвойства)); + НеДобавлятьИмяРеквизита = ИмяРеквизита = Выражение.ИмяРеквизита; + ИмяРеквизита = Выражение.ИмяРеквизита; + Представления.Добавить(ПредставлениеПредиката(Выражение, ШаблонСвойства, НеДобавлятьИмяРеквизита)); КонецЦикла; Возврат СтрСоединить(Представления, Разделитель); КонецФункции -Функция ПредставлениеПредиката(ВыражениеПредиката, ШаблонСвойства) Экспорт - - Если ВыражениеПредиката.ИмяРеквизита = Неопределено Тогда - ПроверяемоеЗначение = ""; - Иначе - ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " "; - КонецЕсли; - - Выражение = СтрШаблон(ШаблонВыражения(ВыражениеПредиката.ВидСравнения), ВыражениеПредиката.Значение); - - Возврат СтрШаблон("%1%2", ПроверяемоеЗначение, Выражение); - -КонецФункции - Функция ШаблонВыражения(Знач Выражение) Экспорт Отрицание = СтрНачинаетсяС(Выражение, "Не"); @@ -206,6 +195,20 @@ #Область СлужебныеПроцедурыИФункции +Функция ПредставлениеПредиката(ВыражениеПредиката, ШаблонСвойства, НеДобавлятьИмяРеквизита) + + Если НеДобавлятьИмяРеквизита ИЛИ ВыражениеПредиката.ИмяРеквизита = Неопределено Тогда + ПроверяемоеЗначение = ""; + Иначе + ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " "; + КонецЕсли; + + Выражение = СтрШаблон(ШаблонВыражения(ВыражениеПредиката.ВидСравнения), ВыражениеПредиката.Значение); + + Возврат СтрШаблон("%1%2", ПроверяемоеЗначение, Выражение); + +КонецФункции + Функция ЭтоПредикатОбщийМодуль(ТипПредикатов, Предикаты) Возврат ТипПредикатов = Тип("ОбщийМодуль") И Предикаты = ЮТПредикаты; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index ed61699ce..ab8fd7561 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -578,18 +578,25 @@ // - ФиксированныйМассив - по наличию равного значения // - ФиксированнаяСтруктура - по наличию равного значения // - ФиксированноеСоответствие - по наличию равного значения +// - Произвольный итерируемый объект для проверки на соответствие предикату // // При сравнении также проверяется совпадение типов // // Параметры: // ОжидаемоеЗначение - Произвольный - Ожидается, что значение Контекста (или его свойство) содержит указанное значение +// - см. ЮТест.Предикат - Модуль настройки предикатов, см. ЮТест.Предикат // ОписаниеПроверки - Строка - Описание конкретной проверки // // Возвращаемое значение: // ОбщийМодуль - Этот модуль для замыкания Функция Содержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - ПроверитьПредикат(ЮТПредикаты.Выражения().Содержит, ОжидаемоеЗначение, ОписаниеПроверки); + Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда + ПроверитьСодержаниеПредиката(ОжидаемоеЗначение, ОписаниеПроверки, Ложь); + Иначе + ПроверитьПредикат(ЮТПредикаты.Выражения().Содержит, ОжидаемоеЗначение, ОписаниеПроверки); + КонецЕсли; + Возврат ЮТУтверждения; КонецФункции @@ -606,18 +613,25 @@ // - ФиксированныйМассив - по отсутствию равного значения // - ФиксированнаяСтруктура - по отсутствию равного значения // - ФиксированноеСоответствие - по отсутствию равного значения +// - Произвольный итерируемый объект для проверки на соответствие предикату // // При сравнении также проверяется совпадение типов // // Параметры: // ОжидаемоеЗначение - Произвольный - Ожидается, что значение Контекста (или его свойство) НЕ содержит указанное +// - см. ЮТест.Предикат - Модуль настройки предикатов, см. ЮТест.Предикат // ОписаниеПроверки - Строка - Описание конкретной проверки // // Возвращаемое значение: // ОбщийМодуль - Этот модуль для замыкания Функция НеСодержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - ПроверитьПредикат(ЮТПредикаты.Выражения().НеСодержит, ОжидаемоеЗначение, ОписаниеПроверки); + Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ОжидаемоеЗначение) Тогда + ПроверитьСодержаниеПредиката(ОжидаемоеЗначение, ОписаниеПроверки, Истина); + Иначе + ПроверитьПредикат(ЮТПредикаты.Выражения().НеСодержит, ОжидаемоеЗначение, ОписаниеПроверки); + КонецЕсли; + Возврат ЮТУтверждения; КонецФункции @@ -1836,15 +1850,51 @@ Иначе ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение); КонецЕсли; - + КонецЦикла; - + ВызватьИсключение "Провальный результат проверки не содержит сообщения"; - + КонецЕсли; - + КонецПроцедуры - + +Процедура ПроверитьСодержаниеПредиката(Предикат, ОписаниеПроверки, Реверс) + + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); + + ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки); + + Успешно = Ложь; + + Для Каждого Элемент Из ПроверяемоеЗначение Цикл + + РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке); + Если РезультатПроверки.Успешно Тогда + Успешно = Истина; + Прервать; + КонецЕсли; + + КонецЦикла; + + Если Реверс Тогда + Успешно = НЕ Успешно; + КонецЕсли; + + Если НЕ Успешно Тогда + Сообщение = "содержит элемент, значение которого " + ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, " и "); + + Если Реверс Тогда + Сообщение = "не " + Сообщение; + КонецЕсли; + + СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index d8da62d1b..e371325ac 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -74,6 +74,8 @@ .ДобавитьТест("СоответствуетПредикату") .ДобавитьТест("КаждыйЭлементСоответствуетПредикату") .ДобавитьТест("ЛюбойЭлементСоответствуетПредикату") + .ДобавитьТест("СодержитПредикат") + .ДобавитьТест("НеСодержитПредикат") ; КонецПроцедуры @@ -2299,10 +2301,61 @@ КонецПроцедуры +Процедура СодержитПредикат() Экспорт + + Структура = Новый Структура("Свойство, Свойство2", 1, 2); + Коллекция = ЮТОбщий.ЗначениеВМассиве("1", 1, Структура); + + ЮТест.ОжидаетЧто(Коллекция) + .Содержит(ЮТест.Предикат().Равно(1), "Предикат из общего модуля") + .Содержит(ЮТест.Предикат().Равно(1).Получить(), "Сохраненный предикат") + .Содержит(ЮТест.Предикат().Реквизит("Свойство").Равно(1), "Проверка свойства") + ; + + Ошибка = ОшибкаУтверждения(Коллекция, "Содержит", ЮТест.Предикат().Равно(2)); + ПроверитьОшибкуУтверждения(Ошибка, "проверяемое значение `Массив` содержит элемент, значение которого равно `2`"); + + Ошибка = ОшибкаУтверждения(Коллекция, "Содержит", ЮТест.Предикат().Реквизит("Свойство").Равно(2)); + ПроверитьОшибкуУтверждения(Ошибка, "элемент, значение которого содержит свойство `Свойство`, которое равно `2`"); + + Ошибка = ОшибкаУтверждения(Коллекция, "Содержит", ЮТест.Предикат().Реквизит("Свойство").Равно(1).ИмеетТип("Строка")); + ПроверитьОшибкуУтверждения(Ошибка, "элемент, значение которого содержит свойство `Свойство`, которое равно `1` и имеет тип `Строка`"); + + ЮТест.ОжидаетЧто(Структура) + .Содержит(ЮТест.Предикат().Реквизит("Ключ").Равно("Свойство2"), "Проверка структуры"); + +КонецПроцедуры + +Процедура НеСодержитПредикат() Экспорт + + Структура = Новый Структура("Свойство, Свойство2", 1, 2); + Коллекция = ЮТОбщий.ЗначениеВМассиве("1", 1, Структура); + + ЮТест.ОжидаетЧто(Коллекция) + .НеСодержит(ЮТест.Предикат().Равно(2), "Предикат из общего модуля") + .НеСодержит(ЮТест.Предикат().Равно(2).Получить(), "Сохраненный предикат") + .НеСодержит(ЮТест.Предикат().Реквизит("Свойство").Равно(2), "Проверка свойства") + ; + + Ошибка = ОшибкаУтверждения(Коллекция, "НеСодержит", ЮТест.Предикат().Равно(1)); + ПроверитьОшибкуУтверждения(Ошибка, "проверяемое значение `Массив` не содержит элемент, значение которого равно `1`"); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции +Функция ОшибкаУтверждения(ПроверяемоеЗначение, Утверждение, Параметр) + + Параметры = ЮТОбщий.ЗначениеВМассиве(Параметр); + + ЮТест.ОжидаетЧто(ПроверяемоеЗначение); + Ошибка = ЮТОбщий.ВыполнитьМетод("ЮТУтверждения." + Утверждение, Параметры); + Возврат Ошибка; + +КонецФункции + Процедура ПроверитьОшибкуУтверждения(ИнформацияОбОшибке, ОжидаемоеОписание) Если ИнформацияОбОшибке = Неопределено Тогда From 84d3ed043a57960db1c50a95f1a1345a356a6953 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 27 Oct 2023 01:46:30 +0300 Subject: [PATCH 35/65] #179 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Документация --- .../user-api/assertions/assertions-base.md | 4 ++ documentation/docs/user-api/predicates.md | 59 +++++++++++-------- 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/documentation/docs/user-api/assertions/assertions-base.md b/documentation/docs/user-api/assertions/assertions-base.md index 6501b876c..dff8c667d 100644 --- a/documentation/docs/user-api/assertions/assertions-base.md +++ b/documentation/docs/user-api/assertions/assertions-base.md @@ -111,6 +111,10 @@ tags: [Начало, Утверждения] ### Проверка на соответствие набору условий, предикату * `СоответствуетПредикату` - проверяет, что объект или его свойство соответствует набору условий +* `КаждыйЭлементСоответствуетПредикату` - проверяет, что элементы коллекции соответствуют переданным условиям +* `ЛюбойЭлементСоответствуетПредикату` - проверяет, что коллекция содержит элемент, который соответствует переданным условиям +* `Содержит` - проверяемая коллекция должна содержать элемент, который соответствует переданным условиям +* `НеСодержит` - проверяемая коллекция не должна содержать элемент, который соответствует переданным условиям ### Проверка методов объекта diff --git a/documentation/docs/user-api/predicates.md b/documentation/docs/user-api/predicates.md index 01a285b86..1f11dd002 100644 --- a/documentation/docs/user-api/predicates.md +++ b/documentation/docs/user-api/predicates.md @@ -9,29 +9,29 @@ tags: [Начало, Предикаты, Утверждения, Запросы, ```bsl Процедура АктуализацияУведомлений() Экспорт - - ИмяРегистра = "РегистрСведений.ОповещенияПользователя"; - Объект = ТестовыеДанные.Объект(); - - УсловиеУведомления = ЮТест.Предикат() - .Реквизит("Источник").Равно(Объект) - .Реквизит("ТипОповещения").Равно(Справочники.ТипыОповещенийПользователя.Уведомление1) - .Получить(); - - ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) - .НеСодержитЗаписи(УсловиеУведомления); - - УведомленияВызовСервера.АктуализацияУведомлений(); - - ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) - .СодержитЗаписи(УсловиеУведомления); - - ДанныеУведомления = ЮТЗапросы.Запись(ИмяРегистра, УсловиеУведомления); - - ЮТест.ОжидаетЧто(ДанныеУведомления) - .Свойство("Прочитано").ЭтоЛожь() - .Свойство("Пользователь").Равно(Справочники.ГруппыОповещенийПользователей.Инженер); - + + ИмяРегистра = "РегистрСведений.ОповещенияПользователя"; + Объект = ТестовыеДанные.Объект(); + + УсловиеУведомления = ЮТест.Предикат() + .Реквизит("Источник").Равно(Объект) + .Реквизит("ТипОповещения").Равно(Справочники.ТипыОповещенийПользователя.Уведомление1) + .Получить(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) + .НеСодержитЗаписи(УсловиеУведомления); + + УведомленияВызовСервера.АктуализацияУведомлений(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) + .СодержитЗаписи(УсловиеУведомления); + + ДанныеУведомления = ЮТЗапросы.Запись(ИмяРегистра, УсловиеУведомления); + + ЮТест.ОжидаетЧто(ДанныеУведомления) + .Свойство("Прочитано").ЭтоЛожь() + .Свойство("Пользователь").Равно(Справочники.ГруппыОповещенийПользователей.Инженер); + КонецПроцедуры ``` @@ -49,10 +49,19 @@ tags: [Начало, Предикаты, Утверждения, Запросы, ЮТест.ОжидаетЧто(Коллекция) .ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат() .Реквизит("Число").Равно(2)); // Проверят, что в коллекции есть элементы с реквизитом `Число`, которое равно `2` + + ЮТест.ОжидаетЧто(Коллекция) + .Содержит(ЮТест.Предикат() + .Реквизит("Число").Равно(2)); // Тоже самое, что и проверка выше ЮТест.ОжидаетЧто(Коллекция) .КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат() .Заполнено().ИмеетТип("Массив")); // Проверят, что каждый элемент коллекции это заполненный массив + + ЮТест.ОжидаетЧто(Коллекция) + .НеСодержит(ЮТест.Предикат() + .Реквизит("Число").Равно(2)); // Проверят, что в коллекции нет элементов с реквизитом `Число`, которое равно `2` + ``` * Описания параметров метода при мокировании @@ -131,6 +140,6 @@ tags: [Начало, Предикаты, Утверждения, Запросы, ### Особенности реализации -Сам модуль предикатов используется только для формирования утверждений/условий. +Сам модуль предикатов используется только для формирования утверждений/условий. -Реализацией проверок и формированием условий занимаются другие модули и возможна ситуация, когда некоторые предикаты еще не реализованы или не поддерживаются каким-либо механизмом. Например, проверка заполненности не поддерживается запросами. \ No newline at end of file +Реализацией проверок и формированием условий занимаются другие модули и возможна ситуация, когда некоторые предикаты еще не реализованы или не поддерживаются каким-либо механизмом. Например, проверка заполненности не поддерживается запросами. From a137d86d40d6ed5bef0f6a4b57b1572960899db9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=8B=D1=87=D0=B5=D0=B2=20=D0=90=D0=BD=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D0=B8=D0=B9=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Mon, 30 Oct 2023 21:56:06 +0300 Subject: [PATCH 36/65] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87=D0=B8?= =?UTF-8?q?=20=D0=B2=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=B7=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D1=83=D0=BC?= =?UTF-8?q?=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 43 +++++++++++++++++++ ...0\265\321\200\320\262\320\265\321\200.mdo" | 12 ++++++ .../Module.bsl" | 8 +++- .../src/Configuration/Configuration.mdo | 1 + ...0\262\320\270\320\266\320\276\320\272.mdo" | 1 + 5 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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..07b4c2b02 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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,43 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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); // Будет зарегистрирован один тест с параметрами <значение по умолчанию>, 2 +// +Функция ПараметрПоУмолчанию() Экспорт + + Возврат "<[ЗначениеВходногоПараметраПоУмолчанию]>"; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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..546c2c25e --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index ed61699ce..abe7de1fe 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1510,9 +1510,15 @@ СтрокаПараметры = ""; Если ЭтоТипМассива(ТипЗнч(ПараметрыМетода)) Тогда + СписокПараметров = Новый Массив(); Для Сч = 0 По ПараметрыМетода.ВГраница() Цикл - СтрокаПараметры = ЮТОбщий.ДобавитьСтроку(СтрокаПараметры, СтрШаблон("ПараметрыМетода[%1]", Сч), ", "); + Если ПараметрыМетода[Сч] = ЮТТестКлиентСервер.ПараметрПоУмолчанию() Тогда + СписокПараметров.Добавить(""); + Иначе + СписокПараметров.Добавить(СтрШаблон("ПараметрыМетода[%1]", Сч)); + КонецЕсли; КонецЦикла; + СтрокаПараметры = СтрСоединить(СписокПараметров, ", "); ИначеЕсли ЗначениеЗаполнено(ПараметрыМетода) Тогда ВызватьИсключение СтрШаблон("Не верный тип параметров `%1`, должен быть массив", ТипЗнч(ПараметрыМетода)); КонецЕсли; diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index c5e7d3d10..ebec5953a 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -100,6 +100,7 @@ CommonModule.ЮТСравнениеКлиентСервер CommonModule.ЮТСравнениеСервер CommonModule.ЮТСтроки + CommonModule.ЮТТестКлиентСервер CommonModule.ЮТТестовыеДанные CommonModule.ЮТТестовыеДанные_ТаблицыЗначений CommonModule.ЮТТестовыеДанныеВызовСервера diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 5d0b0eed6..6bf479d34 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -96,4 +96,5 @@ DataProcessor.ЮТHTTPСервисЗапрос DataProcessor.ЮТКонструкторТестовыхДанных DataProcessor.ЮТЮнитТесты + CommonModule.ЮТТестКлиентСервер From bcbf6f6ddd21f86d9a8573e31641577f734cfa51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=8B=D1=87=D0=B5=D0=B2=20=D0=90=D0=BD=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D0=B8=D0=B9=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Thu, 2 Nov 2023 16:06:32 +0300 Subject: [PATCH 37/65] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D1=87=D0=B0=2021?= =?UTF-8?q?2=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D0=B8=D0=BD=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D0=BF=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=BB=D0=BD=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BD=D1=8B=D0=BC=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index cc5ed3433..4dd964da3 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -84,7 +84,9 @@ Если ЭтоАдресВременногоХранилища(Адрес) Тогда УдалитьИзВременногоХранилища(Адрес); + УстановитьПривилегированныйРежим(Истина); ХранилищеОбщихНастроек.Удалить(КлючНастроекКонтекста(), "АдресХранилища", Неопределено); + УстановитьПривилегированныйРежим(Ложь); ОбновитьПовторноИспользуемыеЗначения(); КонецЕсли; From 6b6686d7eea3c94fabd1c8da6507a981f47d35eb Mon Sep 17 00:00:00 2001 From: alkoleft Date: Wed, 22 Nov 2023 23:59:41 +0300 Subject: [PATCH 38/65] test without logging --- .github/workflows/run-tests-linux.yml | 8 +++++++- .github/workflows/run-tests-windows.yml | 7 ++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/run-tests-linux.yml b/.github/workflows/run-tests-linux.yml index 1822c1048..b6cf2e60c 100644 --- a/.github/workflows/run-tests-linux.yml +++ b/.github/workflows/run-tests-linux.yml @@ -135,7 +135,9 @@ jobs: "closeAfterTests": true, "exitCode": "exit-code.txt", "logging": { - "console": true + "enable": false, + "console": true, + "file": "execute.log" } } @@ -146,6 +148,10 @@ jobs: DISPLAY: :99 LANG: "${{ inputs.locale }}.UTF-8" + # - name: view log + # if: always() + # run: cat ./execute.log + - name: view output if: always() run: cat ./output.log diff --git a/.github/workflows/run-tests-windows.yml b/.github/workflows/run-tests-windows.yml index 20f57dfed..f98bda059 100644 --- a/.github/workflows/run-tests-windows.yml +++ b/.github/workflows/run-tests-windows.yml @@ -83,6 +83,7 @@ jobs: "closeAfterTests": true, "exitCode": "exit-code.txt", "logging": { + "enable": false, "console": true, "file": "execute.log" } @@ -99,9 +100,9 @@ jobs: Start-Process -NoNewWindow -PassThru -Wait 1cv8c.exe -ArgumentList '/WS "http://localhost:8314" /C"RunUnitTests=unit.json" /L ${{ steps.short_locale.outputs.substring }} /VL ${{ inputs.locale }} /DisableStartupDialogs /DisableStartupMessages /DisableUnrecoverableErrorMessage /Out 1cv8c-output.log' timeout-minutes: 10 - - name: view output - if: always() - run: type execute.log + # - name: view log + # if: always() + # run: type execute.log - name: view output if: always() From c1d5cf40f8ae20cac6128ce93df91cea8333896c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=8B=D1=87=D0=B5=D0=B2=20=D0=90=D0=BD=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D0=B8=D0=B9=20=D0=92=D0=BB=D0=B0=D0=B4=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Fri, 24 Nov 2023 10:27:09 +0300 Subject: [PATCH 39/65] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 18 ++++++++ .../Module.bsl" | 43 ------------------- ...0\265\321\200\320\262\320\265\321\200.mdo" | 12 ------ .../Module.bsl" | 2 +- .../src/Configuration/Configuration.mdo | 1 - ...0\262\320\270\320\266\320\276\320\272.mdo" | 1 - 6 files changed, 19 insertions(+), 58 deletions(-) delete mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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" delete mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index c06777638..67235c4cd 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -203,6 +203,24 @@ КонецФункции +// Возврщает идентификатор значения входного параметра по умолчанию. +// +// Возвращаемое значение: +// Строка +// +// Примеры: +// +// ЮТТесты.ДобавитьТест("Тест1") +// .СПараметрами( +// Мокито.ПараметрПоУмолчанию(), +// 2); // Будет зарегистрирован один тест с параметрами <значение по умолчанию>, 2 +// +Функция ПараметрПоУмолчанию() Экспорт + + Возврат "<[ЗначениеВходногоПараметраПоУмолчанию]>"; + +КонецФункции + #КонецОбласти #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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" deleted file mode 100644 index 07b4c2b02..000000000 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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" +++ /dev/null @@ -1,43 +0,0 @@ -//©///////////////////////////////////////////////////////////////////////////©// -// -// Copyright 2021-2023 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); // Будет зарегистрирован один тест с параметрами <значение по умолчанию>, 2 -// -Функция ПараметрПоУмолчанию() Экспорт - - Возврат "<[ЗначениеВходногоПараметраПоУмолчанию]>"; - -КонецФункции - -#КонецОбласти \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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" deleted file mode 100644 index 546c2c25e..000000000 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\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\242\320\265\321\201\321\202\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" +++ /dev/null @@ -1,12 +0,0 @@ - - - ЮТТестКлиентСервер - - ru - Тест (клиент, сервер) - - true - true - true - true - diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index abe7de1fe..211a565c9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1512,7 +1512,7 @@ Если ЭтоТипМассива(ТипЗнч(ПараметрыМетода)) Тогда СписокПараметров = Новый Массив(); Для Сч = 0 По ПараметрыМетода.ВГраница() Цикл - Если ПараметрыМетода[Сч] = ЮТТестКлиентСервер.ПараметрПоУмолчанию() Тогда + Если ПараметрыМетода[Сч] = Мокито.ПараметрПоУмолчанию() Тогда СписокПараметров.Добавить(""); Иначе СписокПараметров.Добавить(СтрШаблон("ПараметрыМетода[%1]", Сч)); diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index ebec5953a..c5e7d3d10 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -100,7 +100,6 @@ CommonModule.ЮТСравнениеКлиентСервер CommonModule.ЮТСравнениеСервер CommonModule.ЮТСтроки - CommonModule.ЮТТестКлиентСервер CommonModule.ЮТТестовыеДанные CommonModule.ЮТТестовыеДанные_ТаблицыЗначений CommonModule.ЮТТестовыеДанныеВызовСервера diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 6bf479d34..5d0b0eed6 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -96,5 +96,4 @@ DataProcessor.ЮТHTTPСервисЗапрос DataProcessor.ЮТКонструкторТестовыхДанных DataProcessor.ЮТЮнитТесты - CommonModule.ЮТТестКлиентСервер From 2a02ab68a35a243b9f49b6ac852a4697c6d54085 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Wed, 29 Nov 2023 03:21:21 +0300 Subject: [PATCH 40/65] #187 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Сравнение строк неограниченной длины --- .../Module.bsl" | 6 +- .../Module.bsl" | 137 +++++++++++++++++- .../Module.bsl" | 63 +------- .../Module.bsl" | 25 +++- 4 files changed, 160 insertions(+), 71 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index 1863c3141..e0b5089f6 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -60,7 +60,7 @@ // Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить // - см. ЮТФабрика.ВыражениеПредиката // - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат -// - Неопределено - Проверит, что таблица не пустая +// - Неопределено - Проверит, что таблица не пустая // Возвращаемое значение: // Структура, Неопределено - Содержит все данные записи, включая табличный части Функция Запись(ИмяТаблицы, Предикат) Экспорт @@ -78,7 +78,7 @@ // Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить // - см. ЮТФабрика.ВыражениеПредиката // - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат -// - Неопределено - Проверит, что таблица не пустая +// - Неопределено - Проверит, что таблица не пустая // Возвращаемое значение: // Массив из Структура - Найденные записи, включая табличный части Функция Записи(ИмяТаблицы, Предикат) Экспорт @@ -134,7 +134,7 @@ // Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить // - см. ЮТФабрика.ВыражениеПредиката // - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат -// - Неопределено - Проверит, что таблица не пустая +// - Неопределено - Проверит, что таблица не пустая // Возвращаемое значение: // Булево - Таблица содержит записи Функция ТаблицаСодержитЗаписи(ИмяТаблицы, Предикат = Неопределено) Экспорт diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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 420317398..683de6bb4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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" @@ -18,7 +18,7 @@ #Область СлужебныйПрограммныйИнтерфейс -Функция РезультатЗапроса(ОписаниеЗапроса, ДляКлиента) Экспорт +Функция РезультатЗапроса(Знач ОписаниеЗапроса, Знач ДляКлиента) Экспорт Запрос = Запрос(ОписаниеЗапроса); РезультатЗапроса = Запрос.Выполнить(); @@ -53,7 +53,7 @@ // Возвращаемое значение: // - Структура Из Произвольный - Значения реквизитов ссылки при получении значений множества реквизитов // - Произвольный - Значение реквизита ссылки при получении значения одного реквизита -Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, ОдинРеквизит) Экспорт +Функция ЗначенияРеквизитов(Знач Ссылка, Знач ИменаРеквизитов, Знач ОдинРеквизит) Экспорт ИмяТаблицы = Ссылка.Метаданные().ПолноеИмя(); @@ -77,7 +77,7 @@ // // Возвращаемое значение: // Массив из Структура, Структура, Неопределено - Записи -Функция Записи(ОписаниеЗапроса, ОднаЗапись) Экспорт +Функция Записи(Знач ОписаниеЗапроса, Знач ОднаЗапись) Экспорт Если ОднаЗапись Тогда ОписаниеЗапроса.КоличествоЗаписей = 1; @@ -108,7 +108,7 @@ // - Структура Из Произвольный - Значения множества реквизитов записи // - Произвольный - Значение одного реквизита записи // -Функция ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, ОдинРеквизит) Экспорт +Функция ЗначенияРеквизитовЗаписи(Знач ОписаниеЗапроса, Знач ОдинРеквизит) Экспорт Запись = Записи(ОписаниеЗапроса, Истина); @@ -144,6 +144,8 @@ // Запрос Функция Запрос(ОписаниеЗапроса) + Запрос = Новый Запрос; + Строки = Новый Массив(); Строки.Добавить("ВЫБРАТЬ "); @@ -159,10 +161,12 @@ Строки.Добавить(СтрСоединить(ВыбираемыеПоля, "," + Символы.ПС)); Строки.Добавить("ИЗ " + ОписаниеЗапроса.ИмяТаблицы); + + Условия = СформироватьУсловия(ОписаниеЗапроса.Условия, ОписаниеЗапроса.ИмяТаблицы, Запрос); - Если ОписаниеЗапроса.Условия.Количество() Тогда + Если Условия.Количество() Тогда Строки.Добавить("ГДЕ ("); - Строки.Добавить(СтрСоединить(ОписаниеЗапроса.Условия, ") И (" + Символы.ПС)); + Строки.Добавить(СтрСоединить(Условия, ") И (" + Символы.ПС)); Строки.Добавить(")"); КонецЕсли; @@ -171,7 +175,7 @@ Строки.Добавить(СтрСоединить(ОписаниеЗапроса.Порядок, ",")); КонецЕсли; - Запрос = Новый Запрос(СтрСоединить(Строки, Символы.ПС)); + Запрос.Текст = СтрСоединить(Строки, Символы.ПС); ЮТОбщий.ОбъединитьВСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров); Возврат Запрос; @@ -269,4 +273,123 @@ КонецФункции +Функция ШаблонУсловия(ВыражениеПредиката, ВыраженияПредикатов, ТипРеквизита) + Выражение = ВыражениеПредиката.ВидСравнения; + + Отрицание = ЮТПредикатыКлиентСервер.ЭтоВыраженияОтрицания(Выражение); + Если Отрицание Тогда + Выражение = ЮТПредикатыКлиентСервер.ВыраженияБезОтрицания(Выражение); + КонецЕсли; + + Если Выражение = ВыраженияПредикатов.Равно Тогда + Если ЭтоСтрокаНеограниченнойДлинны(ТипРеквизита) Тогда + Шаблон = СтрШаблон("ВЫРАЗИТЬ(%%1 КАК Строка(%1)) = &%%2", XMLСтрока(СтрДлина(ВыражениеПредиката.Значение) + 1)); + Иначе + Шаблон = "%1 = &%2"; + КонецЕсли; + ИначеЕсли Выражение = ВыраженияПредикатов.Больше Тогда + Шаблон = "%1 > &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.БольшеРавно Тогда + Шаблон = "%1 >= &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.Меньше Тогда + Шаблон = "%1 < &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.МеньшеРавно Тогда + Шаблон = "%1 <= &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.ИмеетТип Тогда + Шаблон = "ТИПЗНАЧЕНИЯ(%1) = &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.Содержит Тогда + Шаблон = "%1 ПОДОБНО ""%%"" + &%2 + ""%%"""; + ИначеЕсли Выражение = ВыраженияПредикатов.Заполнено Тогда + // TODO Реализовать + ВызватьИсключение "Проверка заполненности пока не поддерживается"; + Иначе + ВызватьИсключение "Неподдерживаемое выражения предикатов " + Выражение; + КонецЕсли; + + Если Отрицание Тогда + Шаблон = СтрШаблон("НЕ (%1)", Шаблон); + КонецЕсли; + + Возврат Шаблон; + +КонецФункции + +Функция ТипыРеквизитов(ИмяТаблицы, Предикаты) + + Результат = Новый Соответствие(); + Реквизиты = Новый Массив(); + + ПсевдонимТаблицы = ЮТТестовыеДанные.СлучайныйИдентификатор() + СтрЗаменить(ИмяТаблицы, ".", ""); + ДлинаПсевдонима = СтрДлина(ПсевдонимТаблицы); + + Для Каждого ВыражениеПредиката Из Предикаты Цикл + Если ЮТПредикатыКлиентСервер.ЭтоПредикат(ВыражениеПредиката) И ЗначениеЗаполнено(ВыражениеПредиката.ИмяРеквизита) Тогда + Реквизиты.Добавить(СтрШаблон("%1.%2 КАК _%3", ПсевдонимТаблицы, ВыражениеПредиката.ИмяРеквизита, Реквизиты.Количество())); + КонецЕсли; + КонецЦикла; + + Если НЕ ЗначениеЗаполнено(Реквизиты) Тогда + Возврат Результат; + КонецЕсли; + + Схема = Новый СхемаЗапроса(); + + Попытка + Схема.УстановитьТекстЗапроса(СтрШаблон("ВЫБРАТЬ %1 ИЗ %2 КАК %3", СтрСоединить(Реквизиты, ","), ИмяТаблицы, ПсевдонимТаблицы)); + Исключение + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора. + |Возможно имена реквизитов заданы неверно"); + ВызватьИсключение + КонецПопытки; + + Для Каждого Колонка Из Схема.ПакетЗапросов[0].Колонки Цикл + Выражение = Строка(Колонка.Поля[0]); + Результат.Вставить(Сред(Выражение, ДлинаПсевдонима + 2), Новый ОписаниеТипов(Колонка.ТипЗначения, , "Null")); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +Функция ЭтоСтрокаНеограниченнойДлинны(ТипРеквизита) + + Возврат ТипРеквизита <> Неопределено + И ТипРеквизита.СодержитТип(Тип("Строка")) + И ТипРеквизита.КвалификаторыСтроки.Длина = 0; + +КонецФункции + +Функция СформироватьУсловия(Условия, ИмяТаблицы, Запрос) Экспорт + + Результат = Новый Массив(); + + Если НЕ ЗначениеЗаполнено(Условия) Тогда + Возврат Результат; + КонецЕсли; + + ТипыРеквизитов = ТипыРеквизитов(ИмяТаблицы, Условия); + ВидыСравнения = ЮТПредикаты.Выражения(); + + Для Каждого Условие Из Условия Цикл + + Если НЕ ЮТПредикатыКлиентСервер.ЭтоПредикат(Условие) Тогда + Результат.Добавить(Условие); + Продолжить; + КонецЕсли; + + ИмяПараметра = "Параметр_" + ЮТОбщий.ЧислоВСтроку(Запрос.Параметры.Количество() + 1); + ТипРеквизита = ТипыРеквизитов[Условие.ИмяРеквизита]; + Шаблон = ШаблонУсловия(Условие, ВидыСравнения, ТипРеквизита); + + ТекстУсловия = СтрШаблон(Шаблон, Условие.ИмяРеквизита, ИмяПараметра); + + Результат.Добавить(ТекстУсловия); + Запрос.Параметры.Вставить(ИмяПараметра, Условие.Значение); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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 6fecc3072..48c486a78 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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" @@ -28,75 +28,18 @@ ЗаполнитьВыбираемыеПоля(Описание, ВыбираемыеПоля); КонецЕсли; - СформироватьУсловия(ПредикатыУсловия, Описание.Условия, Описание.ЗначенияПараметров); + Если ПредикатыУсловия <> Неопределено Тогда + Описание.Условия = ЮТПредикатыКлиентСервер.НаборПредикатов(ПредикатыУсловия); + КонецЕсли; Возврат Описание; КонецФункции -Процедура СформироватьУсловия(Предикат, КоллекцияУсловий, ЗначенияПараметров) Экспорт - - Если Предикат = Неопределено Тогда - Возврат; - КонецЕсли; - - Предикаты = ЮТПредикатыКлиентСервер.НаборПредикатов(Предикат); - ВидыСравнения = ЮТПредикаты.Выражения(); - - Для Каждого ВыражениеПредиката Из Предикаты Цикл - - ИмяПараметра = "Параметр_" + ЮТОбщий.ЧислоВСтроку(ЗначенияПараметров.Количество() + 1); - Шаблон = ШаблонУсловия(ВыражениеПредиката.ВидСравнения, ВидыСравнения); - - Условие = СтрШаблон(Шаблон, ВыражениеПредиката.ИмяРеквизита, ИмяПараметра); - - КоллекцияУсловий.Добавить(Условие); - ЗначенияПараметров.Вставить(ИмяПараметра, ВыражениеПредиката.Значение); - - КонецЦикла; - -КонецПроцедуры - #КонецОбласти #Область СлужебныеПроцедурыИФункции -Функция ШаблонУсловия(Знач Выражение, ВыраженияПредикатов) - - Отрицание = ЮТПредикатыКлиентСервер.ЭтоВыраженияОтрицания(Выражение); - Если Отрицание Тогда - Выражение = ЮТПредикатыКлиентСервер.ВыраженияБезОтрицания(Выражение); - КонецЕсли; - - Если Выражение = ВыраженияПредикатов.Равно Тогда - Шаблон = "%1 = &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.Больше Тогда - Шаблон = "%1 > &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.БольшеРавно Тогда - Шаблон = "%1 >= &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.Меньше Тогда - Шаблон = "%1 < &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.МеньшеРавно Тогда - Шаблон = "%1 <= &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.ИмеетТип Тогда - Шаблон = "ТИПЗНАЧЕНИЯ(%1) = &%2"; - ИначеЕсли Выражение = ВыраженияПредикатов.Содержит Тогда - Шаблон = "%1 ПОДОБНО ""%%"" + &%2 + ""%%"""; - ИначеЕсли Выражение = ВыраженияПредикатов.Заполнено Тогда - // TODO Реализовать - ВызватьИсключение "Проверка заполненности пока не поддерживается"; - Иначе - ВызватьИсключение "Неподдерживаемое выражения предикатов " + Выражение; - КонецЕсли; - - Если Отрицание Тогда - Шаблон = СтрШаблон("НЕ (%1)", Шаблон); - КонецЕсли; - - Возврат Шаблон; - -КонецФункции - Процедура ЗаполнитьВыбираемыеПоля(ОписаниеЗапроса, Знач ВыбираемыеПоля) ТипПараметра = ТипЗнч(ВыбираемыеПоля); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index 1098aff0a..0be077783 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -144,7 +144,7 @@ .Фикция("Наименование") .Фикция("Поставщик"); Ссылка = Конструктор.Записать(); - ДанныеСправочника = Конструктор.ДанныеОбъекта(); + Конструктор.ДанныеОбъекта(); ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса(); ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары"; @@ -187,6 +187,29 @@ ЮТест.ОжидаетЧто(ДанныеЗаписи) .Свойство("Ссылка").Равно(Ссылка); + // Поиск по неограниченной строке + ИмяФайла = ЮТест.Данные().СлучайнаяСтрока(); + Ссылка = ЮТест.Данные().КонструкторОбъекта("Справочники.ХранимыеФайлы") + .ФикцияОбязательныхПолей() + .Установить("ИмяФайла", ИмяФайла) + .Записать(); + + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.ХранимыеФайлы", ЮТест.Предикат() + .Реквизит("ИмяФайла").Равно(ИмяФайла)); + + ЮТест.ОжидаетЧто(ДанныеЗаписи, "Поиск по неограниченной строке") + .Свойство("Ссылка").Равно(Ссылка); + + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.ХранимыеФайлы", ЮТест.Предикат() + .Реквизит("ИмяФайла").Равно(5)); + ЮТест.ОжидаетЧто(ДанныеЗаписи, "Поиск по неограниченной строке, число") + .НеЗаполнено(); + + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.ХранимыеФайлы", ЮТест.Предикат() + .Реквизит("ИмяФайла").Равно(Неопределено)); + ЮТест.ОжидаетЧто(ДанныеЗаписи, "Поиск по неограниченной строке, Неопределено") + .НеЗаполнено(); + // Документ, тест на табличную часть Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") .Фикция("Склад") From 55914faa2307b24e32177e76f070e9ae5dea1cf9 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Dec 2023 03:14:46 +0300 Subject: [PATCH 41/65] #199 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена поддержка форматированных строк в утверждениях Исправлена проверка наличия метода у объекта/модуля --- .../Module.bsl" | 34 ++++++++++++++++--- .../Module.bsl" | 17 +++++----- .../Module.bsl" | 4 +-- .../Module.bsl" | 18 ++++++++++ 4 files changed, 58 insertions(+), 15 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 018526197..e80c3b4a4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -583,7 +583,7 @@ #КонецОбласти // МетодМодуляСуществует -// Проверяет существование публичного (экспортного) метода у объекта +// Проверяет существование публичного (экспортного) метода у модуля // // Параметры: // ИмяМодуля - Строка - Имя модуля, метод которого нужно поискать @@ -595,16 +595,42 @@ // Булево - Метод найден Функция МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров = 0, Кешировать = Истина) Экспорт + ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМодуля, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМодуля"); + ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода"); + Если Кешировать Тогда Возврат ЮТПовторногоИспользования.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров); КонецЕсли; - Алгоритм = СтрШаблон("%1.%2(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)", ИмяМодуля, ИмяМетода); + ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяМетода);; + Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)"; + + Ошибка = ВыполнитьМетод(Алгоритм); + + ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода); + Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров; + +КонецФункции + +// Проверяет существование публичного (экспортного) метода у объекта +// +// Параметры: +// Объект - Произвольный - Объект, метод которого нужно поискать +// ИмяМетода - Строка - Имя метода, который ищем +// +// Возвращаемое значение: +// Булево - Метод найден +Функция МетодОбъектаСуществует(Объект, ИмяМетода) Экспорт + + ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода"); + + ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода);; + Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)"; Ошибка = ВыполнитьМетод(Алгоритм); - МетодСуществует = СтрНайти(НРег(Ошибка.Описание), "(" + НРег(ИмяМетода) + ")") = 0; - Возврат МетодСуществует; + ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода); + Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 959e6e324..0e33d80af 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -408,7 +408,7 @@ ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); - Если ТипПроверяемогоЗначения = Тип("Строка") Тогда + Если ТипПроверяемогоЗначения = Тип("Строка") ИЛИ ТипПроверяемогоЗначения = Тип("ФорматированнаяСтрока") Тогда ФактическаяДлина = СтрДлина(ПроверяемоеЗначение); @@ -428,14 +428,10 @@ Функция СоответствуетШаблону(ПроверяемаяСтрока, РегулярноеВыражение) - Если ТипЗнч(ПроверяемаяСтрока) <> Тип("Строка") Тогда - Возврат Неопределено; - КонецЕсли; - РегулярныеВыражения = ЮТКомпоненты.РегулярныеВыражения(); Попытка - Результат = РегулярныеВыражения.Совпадает(ПроверяемаяСтрока, РегулярноеВыражение); + Результат = РегулярныеВыражения.Совпадает(Строка(ПроверяемаяСтрока), РегулярноеВыражение); Исключение ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Ошибка проверки строки по шаблону " + РегулярноеВыражение); ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(РегулярныеВыражения.ОписаниеОшибки); @@ -450,7 +446,7 @@ ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); - Если ТипПроверяемогоЗначения = Тип("Строка") Тогда + Если ТипПроверяемогоЗначения = Тип("Строка") Или ТипПроверяемогоЗначения = Тип("ФорматированнаяСтрока") Тогда ИскомоеЗначениеНайдено = СтрНайти(ПроверяемоеЗначение, ОжидаемоеЗначение) > 0; @@ -475,7 +471,7 @@ ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ОжидаемоеЗначение) <> Неопределено; - ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТОбщий.МетодМодуляСуществует(ПроверяемоеЗначение, "Найти", , Ложь) Тогда + ИначеЕсли ПроверяемоеЗначение <> Неопределено И ЮТОбщий.МетодОбъектаСуществует(ПроверяемоеЗначение, "Найти") Тогда ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ОжидаемоеЗначение) <> Неопределено; @@ -737,7 +733,10 @@ Функция ПроверитьСоответствуетШаблону(РезультатПроверки, ПроверяемоеЗначение, ОжидаемоеЗначение, ПараметрыПроверки) - Если НЕ ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Строка") Тогда + ТипыПараметровСоответствуют = ПроверитьТипЗначения(РезультатПроверки, ОжидаемоеЗначение, "Строка") + И ПроверитьТипЗначения(РезультатПроверки, ПроверяемоеЗначение, "Строка, ФорматированнаяСтрока", "проверяемого значения"); + + Если Не ТипыПараметровСоответствуют Тогда Возврат Неопределено; КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index e28befb6e..fbee4f568 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -875,7 +875,7 @@ Контекст = Контекст(); УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка", "проверяемого значения"); + ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка, ФорматированнаяСтрока", "проверяемого значения"); ПроверитьТипЗначения(Контекст, СтрокаПоиска, "Строка", "ожидаемого значения"); ПроверитьЗаполненностьЗначения(Контекст, СтрокаПоиска, "ожидаемое значение"); @@ -905,7 +905,7 @@ Контекст = Контекст(); УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); - ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка", "проверяемого значения"); + ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка, ФорматированнаяСтрока", "проверяемого значения"); ПроверитьТипЗначения(Контекст, СтрокаПоиска, "Строка", "ожидаемого значения"); ПроверитьЗаполненностьЗначения(Контекст, СтрокаПоиска, "ожидаемое значение"); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index e371325ac..d2866d82e 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -76,6 +76,7 @@ .ДобавитьТест("ЛюбойЭлементСоответствуетПредикату") .ДобавитьТест("СодержитПредикат") .ДобавитьТест("НеСодержитПредикат") + .ДобавитьТест("ФорматированныеСтроки") ; КонецПроцедуры @@ -2342,6 +2343,23 @@ КонецПроцедуры +Процедура ФорматированныеСтроки() Экспорт + + Строка = Новый ФорматированнаяСтрока("Тестовая строка"); + + ЮТест.ОжидаетЧто(Строка) + .ИмеетТип("ФорматированнаяСтрока") + .ИмеетДлину(15) + .НачинаетсяС("Те") + .ЗаканчиваетсяНа("ка") + .Содержит("ова") + .НеСодержит("число") + .СодержитСтрокуПоШаблону("[\w\W]+") + .НеСодержитСтрокуПоШаблону("\d+") + ; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции From f7abfee49d8c5b4b799d3b07b3c876cd7e467859 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Dec 2023 03:43:31 +0300 Subject: [PATCH 42/65] #199 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлены ошибки --- .../Module.bsl" | 10 +++++++++- .../Module.bsl" | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index e80c3b4a4..758ad95ce 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -622,15 +622,23 @@ // Булево - Метод найден Функция МетодОбъектаСуществует(Объект, ИмяМетода) Экспорт +#Если ВебКлиент Тогда + ВызватьИсключение МетодНеДоступен("ЮТОбщий.МетодОбъектаСуществует"); +#Иначе ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода"); ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода);; Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)"; - Ошибка = ВыполнитьМетод(Алгоритм); + Попытка + Выполнить(Алгоритм); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода); Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров; +#КонецЕсли КонецФункции diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index d2866d82e..e6f7b5689 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1857,7 +1857,7 @@ Варианты = ЮТест.Варианты("ПроверяемоеЗначение, СтрокаПоиска, ОжидаемаяОшибка") .Добавить("Ризоватовский сельсовет", "", "Ожидали, что ожидаемое значение заполнено, но это не так") - .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) + .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2, %3`", Тип("Число"), Тип("ФорматированнаяСтрока"), Тип("Строка"))) .Добавить("111", 1, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) .СписокВариантов(); @@ -1897,7 +1897,7 @@ Варианты = ЮТест.Варианты("ПроверяемоеЗначение, СтрокаПоиска, ОжидаемаяОшибка") .Добавить("Ризоватовский сельсовет", "", "Ожидали, что ожидаемое значение заполнено, но это не так") - .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) + .Добавить(111, "1", СтрШаблон("Не верный тип проверяемого значения (`%1`), должен быть `%2, %3`", Тип("Число"), Тип("ФорматированнаяСтрока"), Тип("Строка"))) .Добавить("111", 1, СтрШаблон("Не верный тип ожидаемого значения (`%1`), должен быть `%2`", Тип("Число"), Тип("Строка"))) .СписокВариантов(); From a7907f5f5df1b2681b789aeb9af46614d2a48575 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Dec 2023 03:48:03 +0300 Subject: [PATCH 43/65] #211 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена ошибка --- .../Module.bsl" | 8 ++++++-- .../Module.bsl" | 11 ++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 66230bdc8..45205ed7b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -162,9 +162,13 @@ // // Возвращаемое значение: // Число - Случайное отрицательное число -Функция СлучайноеОтрицательноеЧисло(Минимум = Неопределено, ЗнаковПослеЗапятой = 0) Экспорт +Функция СлучайноеОтрицательноеЧисло(Знач Минимум = Неопределено, ЗнаковПослеЗапятой = 0) Экспорт - Возврат -СлучайноеЧисло(0, -Минимум, ЗнаковПослеЗапятой); + Если Минимум <> Неопределено Тогда + Минимум = -Минимум; + КонецЕсли; + + Возврат -СлучайноеЧисло(0, Минимум, ЗнаковПослеЗапятой); КонецФункции diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 7f8f075a8..55fa3d58c 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -37,6 +37,7 @@ .ДобавитьТест("СлучайныйИдентификатор") .ДобавитьТест("СлучайноеЗначениеПеречисления") .ДобавитьТест("УстановитьЗначениеРеквизита") + .ДобавитьТест("СлучайноеОтрицательноеЧисло") ; КонецПроцедуры @@ -126,7 +127,7 @@ .Получить(); Мокито.Обучение(ПодпискиНаСобытия) - .Когда(МокируемыйМетод, + .Когда(МокируемыйМетод, Мокито.МассивПараметров(УсловиеПредикат)) .ВыброситьИсключение(ТекстИсключения) .Прогон(); @@ -416,4 +417,12 @@ КонецПроцедуры +Процедура СлучайноеОтрицательноеЧисло() Экспорт + + ЮТест.ОжидаетЧто(ЮТест.Данные().СлучайноеОтрицательноеЧисло()) + .ИмеетТип("Число") + .Меньше(0); + +КонецПроцедуры + #КонецОбласти From c312867d8fd018d6ae06a07b294838a82414929f Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Dec 2023 04:15:17 +0300 Subject: [PATCH 44/65] #224 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена проверка существования метода --- .../Module.bsl" | 28 +++++++++++++++++++ .../Module.bsl" | 19 +++++++++++++ 2 files changed, 47 insertions(+) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index fbee4f568..71164c22c 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -786,6 +786,8 @@ КонецФункции +#Область ПроверкаМетодов + // Проверяет установленный для проверки метод Контекста на то, что метод упадет по исключению, далее текст исключения проверяется на ожидаемый. // // Параметры: @@ -860,6 +862,32 @@ КонецФункции +// Проверяет, что установленное значение Контекста (или его свойство) имеет указанный экспортный метод. +// +// +// Параметры: +// ИмяМетода - Строка - Имя метода, наличие которого нужно проверить +// ОписаниеПроверки - Строка - Описание конкретной проверки +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция ИмеетМетод(ИмяМетода, ОписаниеПроверки = Неопределено) Экспорт + + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + + Модуль = ПроверяемоеЗначение(Контекст); + Результат = ЮТОбщий.МетодОбъектаСуществует(Модуль, ИмяМетода); + Если Не Результат Тогда + Сообщение = СтрШаблон("имеет метод `%1`", ИмяМетода); + СгенерироватьОшибкуСравнения(Сообщение, Модуль, ИмяМетода); + КонецЕсли; + + Возврат ЮТУтверждения; + +КонецФункции + +#КонецОбласти // Проверяет установленное значение Контекста (или его свойство), ожидается что оно начинается на указанное значение. // // При этом проверяемое значение должно быть строкой. diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index e6f7b5689..6cea3bbe0 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -55,6 +55,7 @@ .ДобавитьТест("НеИмеетДлину") .ДобавитьТест("ВыбрасываетИсключение") .ДобавитьТест("НеВыбрасываетИсключение") + .ДобавитьТест("ИмеетМетод") .ДобавитьСерверныйТест("ПроверкаМетодаВТранзакции") .ДобавитьТест("ПроверкаМетодаВТранзакцииНаКлиенте", , , "КлиентУправляемоеПриложение") .ДобавитьСерверныйТест("СравнениеСложныхОбъектов") @@ -1686,6 +1687,24 @@ КонецПроцедуры +Процедура ИмеетМетод() Экспорт + + ЮТест.ОжидаетЧто(ОМ_ЮТУтверждения) + .ИмеетМетод("МетодИсключение"); + + Попытка + Ошибка = Неопределено; + ЮТУтверждения.Что(ОМ_ЮТУтверждения) + .ИмеетМетод("НесуществующийМетод") + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ОжидаемаяОшбика = СтрШаблон("Ожидали, что проверяемое значение `%1` имеет метод `НесуществующийМетод`, но это не так", ОМ_ЮТУтверждения); + ПроверитьОшибкуУтверждения(Ошибка, ОжидаемаяОшбика); + +КонецПроцедуры + #Если Сервер Тогда Процедура ПроверкаМетодаВТранзакции() Экспорт From e8ea526b74a5347b7a85053ee579106453c9c0a6 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sat, 9 Dec 2023 04:36:36 +0300 Subject: [PATCH 45/65] #214 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Вынес метод ЗначениеСвойства в публичный api --- .../Module.bsl" | 98 +++++++++++++++++++ .../Module.bsl" | 86 +--------------- .../Module.bsl" | 16 +++ 3 files changed, 115 insertions(+), 85 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 758ad95ce..022a50eec 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -16,6 +16,43 @@ // //©///////////////////////////////////////////////////////////////////////////©// +#Область ПрограммныйИнтерфейс + +// Возвращает значение свойства объекта. +// Возможно получение "глубоко" вложенных свойство и элементов коллекции по индексу +// +// Параметры: +// Объект - Произвольный +// ИмяСвойства - Строка - Путь к свойству. Примеры: "ИмяСвойства.ИмяВложенногоСвойства", "[2].ИмяСвойства", "ИмяСвойства[2].ИмяВложенногоСвойства" +// - Число - Индекс элемента. Возможен выбор элемента с конца, для этого нужно указывать отрицательный номер элемента с конца, +// например: '-1' - последний элемент, '-2' - предпоследний +// Возвращаемое значение: +// Произвольный +Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт + + Путь = ЧастиПути(ИмяСвойства); + + Значение = Объект; + Для Каждого Часть Из Путь Цикл + + Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда + Значение = Значение.Получить(); + КонецЕсли; + + Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда + Часть = Значение.Количество() + Часть; + КонецЕсли; + + Значение = Значение[Часть]; + + КонецЦикла; + + Возврат Значение; + +КонецФункции + +#КонецОбласти + #Область СлужебныйПрограммныйИнтерфейс #Область Строки @@ -1019,4 +1056,65 @@ КонецФункции +Функция ЧастиПути(Цепочка) + + ПутьКСвойству = Новый Массив(); + + ТипПути = ТипЗнч(Цепочка); + + Если ТипПути = Тип("Строка") Тогда + + Части = СтрРазделить(Цепочка, "."); + + Для Каждого Часть Из Части Цикл + + Если СодержитИндекс(Часть) Тогда + + ИзвлечьИндекс(Часть, ПутьКСвойству); + + Иначе + + ПутьКСвойству.Добавить(Часть); + + КонецЕсли; + + КонецЦикла; + + Иначе + + ПутьКСвойству.Добавить(Цепочка); + + КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off + + Возврат ПутьКСвойству; + +КонецФункции + +Функция СодержитИндекс(ИмяСвойства) + + Возврат СтрНайти(ИмяСвойства, "[") > 0 И СтрЗаканчиваетсяНа(ИмяСвойства, "]") ; + +КонецФункции + +Процедура ИзвлечьИндекс(ИмяСвойства, БлокиПути) + + ПозицияИндекса = СтрНайти(ИмяСвойства, "["); + + Если ПозицияИндекса > 1 Тогда + БлокиПути.Добавить(Лев(ИмяСвойства, ПозицияИндекса - 1)); + КонецЕсли; + + Пока ПозицияИндекса > 0 Цикл + + ЗакрывающаяПозиция = СтрНайти(ИмяСвойства, "]", , ПозицияИндекса); + ИндексСтрокой = Сред(ИмяСвойства, ПозицияИндекса + 1, ЗакрывающаяПозиция - ПозицияИндекса - 1); + Индекс = Число(ИндексСтрокой); + БлокиПути.Добавить(Индекс); + + ПозицияИндекса = СтрНайти(ИмяСвойства, "[", , ЗакрывающаяПозиция); + + КонецЦикла; + +КонецПроцедуры + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 0e33d80af..31c5a5601 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -148,29 +148,6 @@ КонецФункции -Функция ЗначениеСвойства(Объект, ИмяСвойства) Экспорт - - Путь = ЧастиПути(ИмяСвойства); - - Значение = Объект; - Для Каждого Часть Из Путь Цикл - - Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда - Значение = Значение.Получить(); - КонецЕсли; - - Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда - Часть = Значение.Количество() + Часть; - КонецЕсли; - - Значение = Значение[Часть]; - - КонецЦикла; - - Возврат Значение; - -КонецФункции - #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -279,67 +256,6 @@ #КонецОбласти -Функция ЧастиПути(Цепочка) - - ПутьКСвойству = Новый Массив(); - - ТипПути = ТипЗнч(Цепочка); - - Если ТипПути = Тип("Строка") Тогда - - Части = СтрРазделить(Цепочка, "."); - - Для Каждого Часть Из Части Цикл - - Если СодержитИндекс(Часть) Тогда - - ИзвлечьИндекс(Часть, ПутьКСвойству); - - Иначе - - ПутьКСвойству.Добавить(Часть); - - КонецЕсли; - - КонецЦикла; - - Иначе - - ПутьКСвойству.Добавить(Цепочка); - - КонецЕсли; // BSLLS:IfElseIfEndsWithElse-off - - Возврат ПутьКСвойству; - -КонецФункции - -Функция СодержитИндекс(ИмяСвойства) - - Возврат СтрНайти(ИмяСвойства, "[") > 0 И СтрЗаканчиваетсяНа(ИмяСвойства, "]") ; - -КонецФункции - -Процедура ИзвлечьИндекс(ИмяСвойства, БлокиПути) - - ПозицияИндекса = СтрНайти(ИмяСвойства, "["); - - Если ПозицияИндекса > 1 Тогда - БлокиПути.Добавить(Лев(ИмяСвойства, ПозицияИндекса - 1)); - КонецЕсли; - - Пока ПозицияИндекса > 0 Цикл - - ЗакрывающаяПозиция = СтрНайти(ИмяСвойства, "]", , ПозицияИндекса); - ИндексСтрокой = Сред(ИмяСвойства, ПозицияИндекса + 1, ЗакрывающаяПозиция - ПозицияИндекса - 1); - Индекс = Число(ИндексСтрокой); - БлокиПути.Добавить(Индекс); - - ПозицияИндекса = СтрНайти(ИмяСвойства, "[", , ЗакрывающаяПозиция); - - КонецЦикла; - -КонецПроцедуры - Функция ЗначениеИмеетСвойство(Значение, Свойство) Результат = Ложь; @@ -387,7 +303,7 @@ Функция ПроверяемоеЗначение(ПараметрыПроверки) Если ПараметрыПроверки.ОбъектПроверки.ИмяСвойства <> Неопределено Тогда - Значение = ЗначениеСвойства(ПараметрыПроверки.ОбъектПроверки.Значение, ПараметрыПроверки.ОбъектПроверки.ИмяСвойства); + Значение = ЮТОбщий.ЗначениеСвойства(ПараметрыПроверки.ОбъектПроверки.Значение, ПараметрыПроверки.ОбъектПроверки.ИмяСвойства); Иначе Значение = ПараметрыПроверки.ОбъектПроверки.Значение; КонецЕсли; diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" index a154d3527..9073fa7cb 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -28,6 +28,7 @@ .ДобавитьТест("Пауза") .ДобавитьТест("ВывестиВКонсоль") .ДобавитьСерверныйТест("Менеджер") + .ДобавитьТест("ЗначениеСвойства") ; КонецПроцедуры @@ -158,6 +159,21 @@ КонецПроцедуры #КонецЕсли +Процедура ЗначениеСвойства() Экспорт + + Массив = ЮТОбщий.ЗначениеВМассиве(1, 2, 3); + Структура = Новый Структура("Число, Массив", 1, Массив); + + Варианты = ЮТест.Варианты("Значение, Свойство, Результат") + .Добавить(Массив, 0, 1) + .Добавить(Массив, -1, 3) + .Добавить(Массив, "[0]", 1) + .Добавить(Массив, 1, 2) + .Добавить(Структура, "Число", 1) + .Добавить(Структура, "Массив[0]", 1); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции From 280b0835dbb53405e0aa4b8e89e6b2ac45d9f5b6 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 10 Dec 2023 03:40:36 +0300 Subject: [PATCH 46/65] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BE=D0=BD=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 4 +- .../Module.bsl" | 2 +- .../Module.bsl" | 1 - .../Module.bsl" | 95 +++++++++++-------- .../Module.bsl" | 2 - .../Module.bsl" | 3 - .../Module.bsl" | 4 +- .../Module.bsl" | 12 +-- .../Module.bsl" | 2 +- .../Module.bsl" | 2 +- .../Module.bsl" | 51 +++------- .../Module.bsl" | 3 +- .../Module.bsl" | 2 +- 13 files changed, 84 insertions(+), 99 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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 28b59a74d..ae3ff79e2 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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" @@ -69,7 +69,9 @@ Функция НовыйПустойОбработчик(КоличествоПараметров = 1) Экспорт - Если КоличествоПараметров >= 1 И КоличествоПараметров <= 3 Тогда + МаксимальноеДопустивоеЧислоПараметров = 3; + + Если КоличествоПараметров >= 1 И КоличествоПараметров <= МаксимальноеДопустивоеЧислоПараметров Тогда Возврат Новый ОписаниеОповещения("ПустойОбработчик" + КоличествоПараметров, ЭтотОбъект); Иначе ВызватьИсключение СтрШаблон("Пустой обработчик с %1 параметрами не реализован", КоличествоПараметров); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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 683de6bb4..3875208f4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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" @@ -339,7 +339,7 @@ Исключение ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки("Не удалось получить типы реквизитов отбора. |Возможно имена реквизитов заданы неверно"); - ВызватьИсключение + ВызватьИсключение; КонецПопытки; Для Каждого Колонка Из Схема.ПакетЗапросов[0].Колонки Цикл diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" index af868d5f0..faba7e613 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\223\320\273\320\276\320\261\320\260\320\273\321\214\320\275\321\213\320\271/Module.bsl" @@ -25,4 +25,3 @@ КонецПроцедуры #КонецОбласти - diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 022a50eec..b49188799 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -192,7 +192,7 @@ Дата = '00010101' + УниверсальнаяДатаВМиллисекундах / 1000; Дата = МестноеВремя(Дата); - Возврат СтрШаблон("%1.%2", Дата, Формат(УниверсальнаяДатаВМиллисекундах%1000, "ЧЦ=3; ЧН=000; ЧВН=; ЧГ=0;")); + Возврат СтрШаблон("%1.%2", Дата, Формат(УниверсальнаяДатаВМиллисекундах % 1000, "ЧЦ=3; ЧН=000; ЧВН=; ЧГ=0;")); КонецФункции @@ -619,6 +619,8 @@ #КонецОбласти +#Область ПроверкаМетодов + // МетодМодуляСуществует // Проверяет существование публичного (экспортного) метода у модуля // @@ -639,7 +641,7 @@ Возврат ЮТПовторногоИспользования.МетодМодуляСуществует(ИмяМодуля, ИмяМетода, КоличествоПараметров); КонецЕсли; - ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяМетода);; + ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяМетода); Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)"; Ошибка = ВыполнитьМетод(Алгоритм); @@ -664,14 +666,10 @@ #Иначе ЮТПроверкиСлужебный.ПроверитьТипПараметра(ИмяМетода, Тип("Строка"), "ЮТОбщий.МетодМодуляСуществует", "ИмяМетода"); - ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода);; + ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода); Алгоритм = ПолноеИмяМетода + "(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)"; - Попытка - Выполнить(Алгоритм); - Исключение - Ошибка = ИнформацияОбОшибке(); - КонецПопытки; + Ошибка = ВыполнитьМетод(Алгоритм, , Объект); ТипОшибки = ЮТРегистрацияОшибок.ТипОшибки(Ошибка, ПолноеИмяМетода); Возврат ТипОшибки = ЮТФабрика.ТипыОшибок().МногоПараметров; @@ -679,7 +677,11 @@ КонецФункции -Функция ВыполнитьМетод(ПолноеИмяМетода, Параметры = Неопределено) Экспорт +#КонецОбласти + +#Область ВызовМетодов + +Функция ВыполнитьМетод(ПолноеИмяМетода, Параметры = Неопределено, Объект = Неопределено) Экспорт #Если ВебКлиент Тогда ВызватьИсключение МетодНеДоступен("ЮТОбщий.ВыполнитьМетод"); @@ -692,16 +694,13 @@ Алгоритм = ПолноеИмяМетода + "()"; - Иначе + ИначеЕсли ТипЗнч(Параметры) = Тип("Массив") Тогда - Алгоритм = ""; - Для Инд = 0 По Параметры.ВГраница() Цикл - - Алгоритм = ДобавитьСтроку(Алгоритм, СтрШаблон("Параметры[%1]", Инд), ", "); - - КонецЦикла; + Алгоритм = СтрШаблон("%1(%2)", ПолноеИмяМетода, СтрокаПараметровМетода(Параметры, "Параметры")); + + Иначе - Алгоритм = СтрШаблон("%1(%2)", ПолноеИмяМетода, Алгоритм); + ВызватьИсключение СтрШаблон("Не верный тип параметров `%1` для вызова метода, должен быть массив", ТипЗнч(Параметры)); КонецЕсли; @@ -717,6 +716,28 @@ КонецФункции +Функция ВычислитьБезопасно(Выражение) Экспорт + +#Если НЕ ВебКлиент И НЕ ТонкийКлиент Тогда + УстановитьБезопасныйРежим(Истина); + Попытка + Значение = Вычислить(Выражение); + Исключение + УстановитьБезопасныйРежим(Ложь); + ВызватьИсключение; + КонецПопытки; + + УстановитьБезопасныйРежим(Ложь); +#Иначе + Значение = Вычислить(Выражение); +#КонецЕсли + + Возврат Значение; + +КонецФункции + +#КонецОбласти + // ПеременнаяСодержитСвойство // функция проверяет наличие свойства у значения любого типа данных. Если передано НЕОПРЕДЕЛЕНО, то ф-ия всегда вернет Ложь // @@ -797,26 +818,6 @@ КонецФункции -Функция ВычислитьБезопасно(Выражение) Экспорт - -#Если НЕ ВебКлиент И НЕ ТонкийКлиент Тогда - УстановитьБезопасныйРежим(Истина); - Попытка - Значение = Вычислить(Выражение); - Исключение - УстановитьБезопасныйРежим(Ложь); - ВызватьИсключение; - КонецПопытки; - - УстановитьБезопасныйРежим(Ложь); -#Иначе - Значение = Вычислить(Выражение); -#КонецЕсли - - Возврат Значение; - -КонецФункции - // Параметры записи объекта // // Возвращаемое значение: @@ -1056,7 +1057,7 @@ КонецФункции -Функция ЧастиПути(Цепочка) +Функция ЧастиПути(Цепочка) Экспорт ПутьКСвойству = Новый Массив(); @@ -1117,4 +1118,22 @@ КонецПроцедуры +Функция СтрокаПараметровМетода(Параметры, ИмяПеременнойСПараметрами) + + СписокПараметров = Новый Массив(); + + Для Инд = 0 По Параметры.ВГраница() Цикл + + Если Параметры[Инд] = Мокито.ПараметрПоУмолчанию() Тогда + СписокПараметров.Добавить(""); + Иначе + СписокПараметров.Добавить(СтрШаблон("%1[%2]", ИмяПеременнойСПараметрами, Инд)); + КонецЕсли; + + КонецЦикла; + + Возврат СтрСоединить(СписокПараметров, ", "); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" index 16e7e418f..d49893e55 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -16,8 +16,6 @@ // //©///////////////////////////////////////////////////////////////////////////©// -// @strict-types - #Область ПрограммныйИнтерфейс // Локализация. diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" index 82baa8bea..ffdcc80c8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" @@ -16,9 +16,6 @@ // //©///////////////////////////////////////////////////////////////////////////©// -// @strict-types - - #Область СлужебныйПрограммныйИнтерфейс // Получает список из словаря с учетом установленной локализации diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" index 7bff225f9..7de12ce53 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\276\320\261\321\200\320\260\320\267\320\276\320\262\320\260\320\275\320\270\321\217/Module.bsl" @@ -99,9 +99,9 @@ ЧасДоп = ?(ДатаМассив[ВГр] = "PM", Полдень, 0); ДатаМассив.Удалить(ВГр); - ЧасовВСутка = 24; + ЧасовВСутках = 24; // если все-таки решили вписать не существующий формат попробуем его воспринять адекватно. - ДатаМассив[ПозЧас] = Строка(?(Число(ДатаМассив[ПозЧас]) + ЧасДоп >= ЧасовВСутка, ДатаМассив[ПозЧас], Число(ДатаМассив[ПозЧас]) + ЧасДоп)); + ДатаМассив[ПозЧас] = Строка(?(Число(ДатаМассив[ПозЧас]) + ЧасДоп >= ЧасовВСутках, ДатаМассив[ПозЧас], Число(ДатаМассив[ПозЧас]) + ЧасДоп)); КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 31c5a5601..12bcc295d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -312,14 +312,6 @@ КонецФункции -Процедура Реверс(Значение, ПараметрыПроверки) - - Если ПараметрыПроверки.Реверс Тогда - Значение = НЕ Значение; - КонецЕсли; - -КонецПроцедуры - Функция ДлинаЗначения(ПроверяемоеЗначение) ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); @@ -484,7 +476,7 @@ ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Заполнено Тогда - Результат = ЗначениеЗаполнено(ПроверяемоеЗначение) + Результат = ЗначениеЗаполнено(ПроверяемоеЗначение); ИначеЕсли ВидСравненияВыражения = ВидыСравнения.Больше Тогда @@ -580,7 +572,7 @@ Значение = ПроверяемоеЗначение; - ПутьКСвойству = ЧастиПути(ОжидаемоеЗначение); + ПутьКСвойству = ЮТОбщий.ЧастиПути(ОжидаемоеЗначение); ПройденныйПуть = Новый Массив(); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 45205ed7b..9953d3fde 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -287,7 +287,7 @@ // Булево - Случайное булево Функция СлучайноеБулево() Экспорт - Возврат СлучайноеЧисло() %2 = 0; + Возврат СлучайноеЧисло() % 2 = 0; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 5a0b956b4..89bbbaebb 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -48,7 +48,7 @@ СериализаторXDTO.ЗаписатьJSON(Запись, Тип); Возврат Запись.Закрыть(); Исключение - ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить идетификатор типа для `%1`", Тип)); + ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить идентификатор типа для `%1`", Тип)); ВызватьИсключение; КонецПопытки; #КонецЕсли diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 71164c22c..d0e331ed0 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1549,26 +1549,11 @@ ВызватьИсключение "Использование транзакции доступно только на сервере (толстом клиенте)"; КонецЕсли; #КонецЕсли - СтрокаПараметры = ""; - - Если ЭтоТипМассива(ТипЗнч(ПараметрыМетода)) Тогда - СписокПараметров = Новый Массив(); - Для Сч = 0 По ПараметрыМетода.ВГраница() Цикл - Если ПараметрыМетода[Сч] = Мокито.ПараметрПоУмолчанию() Тогда - СписокПараметров.Добавить(""); - Иначе - СписокПараметров.Добавить(СтрШаблон("ПараметрыМетода[%1]", Сч)); - КонецЕсли; - КонецЦикла; - СтрокаПараметры = СтрСоединить(СписокПараметров, ", "); - ИначеЕсли ЗначениеЗаполнено(ПараметрыМетода) Тогда - ВызватьИсключение СтрШаблон("Не верный тип параметров `%1`, должен быть массив", ТипЗнч(ПараметрыМетода)); - КонецЕсли; Если Модуль <> Неопределено Тогда - СтрокаДляВыполнения = СтрШаблон("Модуль.%1(%2)", ИмяМетода, СтрокаПараметры); + ПолноеИмяМетода = СтрШаблон("Объект.%1", ИмяМетода); Иначе - СтрокаДляВыполнения = СтрШаблон("%1(%2)", ИмяМетода, СтрокаПараметры); + ПолноеИмяМетода = СтрШаблон("%1", ИмяМетода); КонецЕсли; Результат = Новый Структура("ИсключениеВозникло, ТекстИсключения", Ложь); @@ -1580,27 +1565,19 @@ КонецЕсли; НачатьТранзакцию(); - Попытка - //@skip-check server-execution-safe-mode - Выполнить(СтрокаДляВыполнения); - ОтменитьТранзакцию(); - Исключение - ОтменитьТранзакцию(); - Результат.ИсключениеВозникло = Истина; - Результат.ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; - - Возврат Результат; + Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыМетода, Модуль); + ОтменитьТранзакцию(); + Иначе + Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыМетода, Модуль); КонецЕсли; +#Иначе + Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыМетода, Модуль); #КонецЕсли - Попытка - //@skip-check server-execution-safe-mode - Выполнить(СтрокаДляВыполнения); - Исключение + Если Ошибка <> Неопределено Тогда + Результат.ТекстИсключения = КраткоеПредставлениеОшибки(Ошибка); Результат.ИсключениеВозникло = Истина; - Результат.ТекстИсключения = ОписаниеОшибки(); - КонецПопытки; + КонецЕсли; Возврат Результат; #КонецЕсли @@ -1765,7 +1742,7 @@ КонецЕсли; КонецПроцедуры -Процедура ОбъектыРавны(Объект, ОбъектЭталон) Экспорт +Процедура ОбъектыРавны(Объект, ОбъектЭталон) Ключи = ЮТОбщий.ВыгрузитьЗначения(ОбъектЭталон, "Ключ"); @@ -1866,11 +1843,11 @@ ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки); Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); - ОбработатьРезультаПроверки(Результат); + ОбработатьРезультатПроверкиПредиката(Результат); КонецПроцедуры -Процедура ОбработатьРезультаПроверки(Результат) +Процедура ОбработатьРезультатПроверкиПредиката(Результат) Если НЕ Результат.Успешно Тогда diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 9073fa7cb..e5f7de340 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -170,7 +170,8 @@ .Добавить(Массив, "[0]", 1) .Добавить(Массив, 1, 2) .Добавить(Структура, "Число", 1) - .Добавить(Структура, "Массив[0]", 1); + .Добавить(Структура, "Массив[0]", 1) + ; КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 6cea3bbe0..e0e2f6a43 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1588,7 +1588,7 @@ .ВыбрасываетИсключение(МалоПараметров); ЮТУтверждения.Что(ОМ_ЮТУтверждения) .Метод("ПроверитьОшибкуУтверждения") - .ВыбрасываетИсключение("1"); + .ВыбрасываетИсключение("ПроверитьОшибкуУтверждения"); Попытка Ошибка = Неопределено; From 95dd87c125d496be1feda9ea27e6fbfea76aa6d3 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 02:58:40 +0300 Subject: [PATCH 47/65] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=87=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" | 4 ++-- .../Module.bsl" | 4 ++-- .../Module.bsl" | 2 +- .../Module.bsl" | 19 ++----------------- .../Module.bsl" | 4 ++-- .../Module.bsl" | 2 ++ .../Module.bsl" | 7 ++++--- .../Module.bsl" | 14 ++++---------- .../Module.bsl" | 4 ++-- .../Module.bsl" | 4 ++-- .../Module.bsl" | 4 +++- .../Module.bsl" | 14 ++++---------- 12 files changed, 30 insertions(+), 52 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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 ae3ff79e2..5da6a37cd 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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" @@ -69,9 +69,9 @@ Функция НовыйПустойОбработчик(КоличествоПараметров = 1) Экспорт - МаксимальноеДопустивоеЧислоПараметров = 3; + МаксимальноеДопустимоеЧислоПараметров = 3; - Если КоличествоПараметров >= 1 И КоличествоПараметров <= МаксимальноеДопустивоеЧислоПараметров Тогда + Если КоличествоПараметров >= 1 И КоличествоПараметров <= МаксимальноеДопустимоеЧислоПараметров Тогда Возврат Новый ОписаниеОповещения("ПустойОбработчик" + КоличествоПараметров, ЭтотОбъект); Иначе ВызватьИсключение СтрШаблон("Пустой обработчик с %1 параметрами не реализован", КоличествоПараметров); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" index e0b5089f6..c7b85639b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -179,8 +179,8 @@ // // Возвращаемое значение: // Структура - Описание запроса: -// * ИмяТаблицы - Строка - -// * ВыбираемыеПоля - Массив из Строка +// * ИмяТаблицы - Строка - Имя таблицы, из которой нужно получить данные +// * ВыбираемыеПоля - Массив из Строка - Выражения выбираемых полей // * КоличествоЗаписей - Число, Неопределено - Ограничение количества выбираемых записей // * Условия - Массив из Строка - Коллекция выражений условий, которые будут объединены через `И` // * ЗначенияПараметров - Структура - Набор параметров запроса diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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 48c486a78..489b23354 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\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\227\320\260\320\277\321\200\320\276\321\201\321\213\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" @@ -45,7 +45,7 @@ ТипПараметра = ТипЗнч(ВыбираемыеПоля); Если ТипПараметра = Тип("Строка") Тогда - ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ",", Истина); + ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ","); ТипПараметра = Тип("Массив"); КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index a7d1c724a..00801828d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -277,13 +277,14 @@ КонтекстИсполнения = ЮТФабрика.КонтекстИсполнения(Набор.Режим); - ОшибкаКонтекста = Неопределено; Если КонтекстыПриложения.Найти(Набор.Режим) = Неопределено Тогда ОшибкаКонтекста = "Неподдерживаемый режим запуска"; ИначеЕсли КонтекстыМодуля.Найти(Набор.Режим) = Неопределено Тогда ОшибкаКонтекста = "Модуль не доступен в этом контексте"; ИначеЕсли КонтекстИсполнения <> КонтекстыИсполнения.Сервер И КонтекстИсполнения <> КонтекстыИсполнения.Клиент Тогда ОшибкаКонтекста = "Неизвестный контекст/режим исполнения"; + Иначе + ОшибкаКонтекста = Неопределено; КонецЕсли; Если ОшибкаКонтекста <> Неопределено Тогда @@ -405,20 +406,4 @@ КонецПроцедуры -Функция НаборыТестовРежима(ТестовыйМодуль, ОжидаемыйРежимИсполнения) - - Результат = Новый Массив(); - - Для Каждого Набор Из ТестовыйМодуль.НаборыТестов Цикл - - Если Набор.Выполнять И ЮТФабрика.КонтекстИсполнения(Набор.Режим) = ОжидаемыйРежимИсполнения Тогда - Результат.Добавить(Набор); - КонецЕсли; - - КонецЦикла; - - Возврат Результат; - -КонецФункции - #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\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\275\321\202\320\265\320\272\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 416a8eead..7ff8718bc 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\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\275\321\202\320\265\320\272\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -20,7 +20,7 @@ Процедура ИнициализироватьКонтекст() Экспорт - ЮТДанныеКонтекста = ЮТКонтекст.ОписаниеКонтекста(); + ЮТДанныеКонтекста = ЮТКонтекст.ОписаниеКонтекста(); // BSLLS:UnusedLocalVariable-off КонецПроцедуры @@ -32,7 +32,7 @@ Процедура УдалитьКонтекст() Экспорт - ЮТДанныеКонтекста = Неопределено; + ЮТДанныеКонтекста = Неопределено; // BSLLS:UnusedLocalVariable-off КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Module.bsl" index ad386ced4..e69106b23 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Module.bsl" @@ -410,11 +410,13 @@ ВызватьИсключение "Метод записи лога не доступен в web-клиенте"; #Иначе + //@skip-check empty-except-statement Попытка Для Каждого Сообщение Из Сообщения Цикл ЮТОбщий.ВывестиВКонсоль(Сообщение); КонецЦикла; Исключение + // Игнорируем ошибку КонецПопытки; #КонецЕсли diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 56cb0e301..e5894438e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -55,6 +55,7 @@ Возврат Значение; КонецЕсли; + ТипТип = Тип("Тип"); #Если Сервер Тогда Если ТипЗначения = Тип("ОбъектМетаданных") Тогда Значение = Значение.ПолноеИмя(); @@ -62,12 +63,12 @@ КонецЕсли; #КонецЕсли - Если ТипЗначения <> Тип("Тип") И ТипЗначения <> Тип("Строка") Тогда + Если ТипЗначения <> ТипТип И ТипЗначения <> Тип("Строка") Тогда Значение = ТипЗнч(Значение); - ТипЗначения = Тип("Тип"); + ТипЗначения = ТипТип; КонецЕсли; - Если ТипЗначения = Тип("Тип") Тогда + Если ТипЗначения = ТипТип Тогда ИдентификаторТипа = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Значение); // Для работы кэширования Возврат ЮТМетаданныеПовтИсп.ОписаниеОбъектаМетаданныхПоИдентификаторуТипа(ИдентификаторТипа); Иначе diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index b49188799..91260e970 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -94,13 +94,11 @@ // Параметры: // Значение - Строка - преобразуемая строка // Разделитель - Строка - строка-разделитель -// УдалятьКонцевыеПробелы - Булево - удалять или нет концевые пробелы между элементами в строке -// Фиксированный - Булево - возвращать фиксированный или обычный массив // // Возвращаемое значение: // Массив Из Строка - массив строк // -Функция РазложитьСтрокуВМассивПодстрок(Знач Значение, Разделитель = ";", УдалятьКонцевыеПробелы = Ложь) Экспорт +Функция РазложитьСтрокуВМассивПодстрок(Знач Значение, Разделитель = ";") Экспорт КодУниверсальногоРазделителя = 5855; УниверсальныйРазделитель = Символ(КодУниверсальногоРазделителя); @@ -109,15 +107,11 @@ МассивСтрок = ?(МодифицированнаяСтрока = "", Новый Массив, СтрРазделить(МодифицированнаяСтрока, УниверсальныйРазделитель)); - Если УдалятьКонцевыеПробелы Тогда + Для Индекс = 0 По МассивСтрок.ВГраница() Цикл - Для Индекс = 0 По МассивСтрок.ВГраница() Цикл - - МассивСтрок[Индекс] = СокрЛП(МассивСтрок[Индекс]); - - КонецЦикла; + МассивСтрок[Индекс] = СокрЛП(МассивСтрок[Индекс]); - КонецЕсли; + КонецЦикла; Возврат МассивСтрок; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" index 1c2fbb084..65aa8e3eb 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" @@ -73,13 +73,13 @@ Возврат Параметры; КонецЕсли; - ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";", Истина); + ПарыКлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ПараметрыЗапускаСтрокой, ";"); ПараметрыЗапуска = Новый Структура; Для Каждого Пара Из ПарыКлючЗначение Цикл - КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "=", Истина); + КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "="); Если КлючЗначение.Количество() = 1 Тогда ПараметрыЗапуска.Вставить(КлючЗначение[0], Истина); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" index 002682fb0..33ce89eff 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265_\320\242\320\260\320\261\320\273\320\270\321\206\321\213\320\227\320\275\320\260\321\207\320\265\320\275\320\270\320\271/Module.bsl" @@ -92,7 +92,7 @@ Продолжить; КонецЕсли; - КолонкиМакета = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель, Истина); + КолонкиМакета = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель); СледующаяСтрока(ПараметрыИтератора); Прервать; @@ -112,7 +112,7 @@ КонецЕсли; СтрокаДанных = ПараметрыЗагрузки.Таблица.Добавить(); - Блоки = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель, Истина); + Блоки = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель); Для Каждого ОписаниеКолонки Из ПараметрыЗагрузки.ОписаниеКолонок Цикл diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 60019a164..051a7e3c5 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -52,7 +52,9 @@ ИначеЕсли Тип = Тип("Дата") Тогда - Значение = ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - 315360000, ТекущаяДата() + 315360000); // +/- 10 лет + //@skip-check use-non-recommended-method + Значение = ЮТТестовыеДанные.СлучайнаяДата(ТекущаяДата() - 315360000, ТекущаяДата() + 315360000); // BSLLS:DeprecatedCurrentDate-off + // +/- 10 лет ИначеЕсли Тип = Тип("Булево") Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index d0e331ed0..7448ea77c 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -584,7 +584,7 @@ // // Параметры: // ОжидаемоеЗначение - Произвольный - Ожидается, что значение Контекста (или его свойство) содержит указанное значение -// - см. ЮТест.Предикат - Модуль настройки предикатов, см. ЮТест.Предикат +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат // ОписаниеПроверки - Строка - Описание конкретной проверки // // Возвращаемое значение: @@ -619,7 +619,7 @@ // // Параметры: // ОжидаемоеЗначение - Произвольный - Ожидается, что значение Контекста (или его свойство) НЕ содержит указанное -// - см. ЮТест.Предикат - Модуль настройки предикатов, см. ЮТест.Предикат +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат // ОписаниеПроверки - Строка - Описание конкретной проверки // // Возвращаемое значение: @@ -1564,9 +1564,9 @@ ВызватьИсключение "Использование транзакции внутри транзакции при проверке метода недопустимо"; КонецЕсли; - НачатьТранзакцию(); + НачатьТранзакцию(); // BSLLS:PairingBrokenTransaction-off BSLLS:BeginTransactionBeforeTryCatch-off Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыМетода, Модуль); - ОтменитьТранзакцию(); + ОтменитьТранзакцию(); // BSLLS:WrongUseOfRollbackTransactionMethod-off Иначе Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыМетода, Модуль); КонецЕсли; @@ -1610,12 +1610,6 @@ КонецПроцедуры -Функция ЭтоТипМассива(Тип) - - Возврат Тип = Тип("Массив") Или Тип = Тип("ФиксированныйМассив"); - -КонецФункции - #КонецОбласти Функция СравнитьПоЗначению(Значение1, Значение2) From 3dcd1e2250a9b2d76cf0902cf12967572e172ad4 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 10 Dec 2023 05:36:28 +0300 Subject: [PATCH 48/65] #231 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Получение статистики вызовов объекта через ссылку Исправлена ошибка формирования сообщения об ошибке Добавлена возможность указывать описание проверки --- .../Module.bsl" | 6 +- .../Module.bsl" | 20 ++-- .../Module.bsl" | 98 ++++++++++++------- .../Module.bsl" | 13 ++- .../Module.bsl" | 3 +- .../Module.bsl" | 8 ++ .../Module.bsl" | 4 +- .../ManagerModule.bsl" | 27 ++--- .../ManagerModule.bsl" | 14 +++ .../ObjectModule.bsl" | 14 +++ .../Module.bsl" | 27 +++++ 11 files changed, 164 insertions(+), 70 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 67235c4cd..8443d6c7c 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -87,15 +87,15 @@ // // Параметры: // Объект - Произвольный - Устанавливает проверяемый объект, вызовы методов которого будем проверять. -// +// Описание - Строка - Описание проверки, которое будет выведено при возникновении ошибки // Возвращаемое значение: // ОбщийМодуль - см. МокитоПроверки -Функция Проверить(Объект) Экспорт +Функция Проверить(Объект, Описание = Неопределено) Экспорт Режимы = МокитоСлужебный.РежимыРаботы(); МокитоСлужебный.УстановитьРежим(Режимы.Проверка); - Возврат МокитоПроверки.Проверить(Объект); + Возврат МокитоПроверки.Проверить(Объект, Описание); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" index 87b5f5023..27939c034 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" @@ -19,9 +19,9 @@ #Область ПрограммныйИнтерфейс // см. Мокито.Проверить -Функция Проверить(Объект) Экспорт +Функция Проверить(Объект, Описание) Экспорт - УстановитьПараметрыПроверки(Объект); + УстановитьПараметрыПроверки(Объект, Описание); Возврат МокитоПроверки; КонецФункции @@ -70,11 +70,13 @@ // ОбщийМодуль - Этот же модуль, для замыкания Функция Равно(Количество, Знач Описание = Неопределено) Экспорт + Настройки = ПараметрыПроверки(); + Статистика = СтатистикаВызовов(); ЮТУтверждения - .Что(Статистика, Описание) + .Что(Статистика, Настройки.Описание) .ИмеющееПредставление(ОписаниеПроверяемогоОбъекта()) - .ИмеетДлину(Количество); + .ИмеетДлину(Количество, Описание); Возврат МокитоПроверки; @@ -168,17 +170,17 @@ // Структура: // * ПроверяемыйОбъект - Произвольный // * СтруктураВызоваМетода - см. МокитоСлужебный.СтруктураВызоваМетода +// * Описание - Строка Функция ПараметрыПроверки() - Параметры = МокитоСлужебный.Настройки().ПараметрыПроверки; - Возврат Параметры; + Возврат МокитоСлужебный.Настройки().ПараметрыПроверки; КонецФункции -Процедура УстановитьПараметрыПроверки(Объект = Неопределено, СтруктураВызоваМетода = Неопределено) +Процедура УстановитьПараметрыПроверки(Объект, Описание) - ПараметрыОбучения = Новый Структура("ПроверяемыйОбъект, СтруктураВызоваМетода", Объект, СтруктураВызоваМетода); - МокитоСлужебный.Настройки().ПараметрыПроверки = ПараметрыОбучения; + ПараметрыПроверки = Новый Структура("ПроверяемыйОбъект, Описание, СтруктураВызоваМетода", Объект, Описание); + МокитоСлужебный.Настройки().ПараметрыПроверки = ПараметрыПроверки; КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 4d2adc6a4..47d859136 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -298,17 +298,18 @@ Функция СтатистикаВызовов(Знач Объект, ИмяМетода) Экспорт - Если ЭтоОбъект(Объект) Тогда - Объект = Объект.Ссылка; - КонецЕсли; + Вызовы = Настройки().Статистика.Вызовы; - Статистика = Настройки().Статистика.Вызовы[Объект]; + СтатистикаВызововМетода = Новый Массив(); + Статистика = Вызовы[Объект]; - Если Статистика = Неопределено ИЛИ НЕ Статистика.Свойство(ИмяМетода) Тогда - Возврат Неопределено; + Если Статистика <> Неопределено И Статистика.Свойство(ИмяМетода) Тогда + СтатистикаВызововМетода = Статистика[ИмяМетода]; + ИначеЕсли Статистика = Неопределено И ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗнч(Объект)) Тогда + СтатистикаВызововМетода = СтатистикаВызововПоСсылке(Вызовы, Объект, ИмяМетода); КонецЕсли; - Возврат Статистика[ИмяМетода]; + Возврат СтатистикаВызововМетода; КонецФункции @@ -343,35 +344,6 @@ #Область ОбработкаВызовов -// Зарегистрировать вызов метода. -// -// Параметры: -// Настройки - см. ИнициализироватьНастройки -// ПараметрыПерехвата - см. ДанныеПерехвата -// СтруктураВызоваМетода - см. СтруктураВызоваМетода -Процедура ЗарегистрироватьВызовМетода(Настройки, ПараметрыПерехвата, СтруктураВызоваМетода) - - Объект = ПараметрыПерехвата.Объект; - ИмяМетода = СтруктураВызоваМетода.ИмяМетода; - Статистика = Настройки.Статистика.Вызовы[Объект]; - - Если Статистика = Неопределено Тогда - - Статистика = Новый Структура; - Настройки.Статистика.Вызовы.Вставить(Объект, Статистика); - - КонецЕсли; - - Если НЕ Статистика.Свойство(ИмяМетода) Тогда - - Статистика.Вставить(ИмяМетода, Новый Массив); - - КонецЕсли; - - Статистика[ИмяМетода].Добавить(СтруктураВызоваМетода); - -КонецПроцедуры - Функция ПерехватитьВызовМетода(ПараметрыПерехвата, СтруктураВызоваМетода, ПрерватьВыполнение) Если НЕ ПараметрыПерехвата.Методы.Свойство(СтруктураВызоваМетода.ИмяМетода) Тогда @@ -539,7 +511,7 @@ #КонецОбласти -Функция ЭтоСсылка(Значение) Экспорт +Функция ЭтоСсылка(Значение) Если Значение <> Неопределено Тогда @@ -556,7 +528,7 @@ КонецФункции -Функция ЭтоОбъект(Значение) Экспорт +Функция ЭтоОбъект(Значение) Если Значение <> Неопределено И ЮТОбщий.ПеременнаяСодержитСвойство(Значение, "Ссылка") Тогда @@ -608,4 +580,54 @@ КонецФункции +#Область Статистика + +// Зарегистрировать вызов метода. +// +// Параметры: +// Настройки - см. ИнициализироватьНастройки +// ПараметрыПерехвата - см. ДанныеПерехвата +// СтруктураВызоваМетода - см. СтруктураВызоваМетода +Процедура ЗарегистрироватьВызовМетода(Настройки, ПараметрыПерехвата, СтруктураВызоваМетода) + + Объект = СтруктураВызоваМетода.Объект; + ИмяМетода = СтруктураВызоваМетода.ИмяМетода; + Статистика = Настройки.Статистика.Вызовы[Объект]; + + Если Статистика = Неопределено Тогда + + Статистика = Новый Структура; + Настройки.Статистика.Вызовы.Вставить(Объект, Статистика); + + КонецЕсли; + + Если НЕ Статистика.Свойство(ИмяМетода) Тогда + + Статистика.Вставить(ИмяМетода, Новый Массив); + + КонецЕсли; + + Статистика[ИмяМетода].Добавить(СтруктураВызоваМетода); + +КонецПроцедуры + +Функция СтатистикаВызововПоСсылке(Вызовы, Ссылка, ИмяМетода) + + СтатистикаВызововМетода = Новый Массив(); + + Для Каждого Элемент Из Вызовы Цикл + ПодходящийЭлемент = ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗнч(Элемент.Ключ)) + И Элемент.Ключ.Ссылка = Ссылка + И Элемент.Значение.Свойство(ИмяМетода); + Если ПодходящийЭлемент Тогда + ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]); + КонецЕсли; + КонецЦикла; + + Возврат СтатистикаВызововМетода; + +КонецФункции + +#КонецОбласти + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 91260e970..ebdf0fbee 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -361,12 +361,15 @@ // Функция СкопироватьМассив(МассивИсточник) Экспорт - МассивРезультат = Новый Массив; + Если НЕ ЗначениеЗаполнено(МассивИсточник) Тогда + Возврат Новый Массив; + КонецЕсли; - Для Каждого Элемент Из МассивИсточник Цикл - - МассивРезультат.Добавить(СкопироватьРекурсивно(Элемент)); - + Размер = МассивИсточник.Количество(); + МассивРезультат = Новый Массив(Размер); + + Для Инд = 0 По Размер - 1 Цикл + МассивРезультат[Инд] = СкопироватьРекурсивно(МассивИсточник[Инд]); КонецЦикла; Возврат МассивРезультат; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 cab603e72..0c5b8ec8b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -328,9 +328,8 @@ Функция КлючЗаписи(Объект) ТипЗначения = ТипЗнч(Объект); - ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗначения); - Если СтрНайти(ПредставлениеТипа, "Object.") Тогда + Если ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда Возврат Объект.Ссылка; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 89bbbaebb..897e400fa 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -102,6 +102,14 @@ КонецФункции +Функция ЭтоТипОбъекта(ТипЗначения) Экспорт + + ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗначения); + + Возврат СтрНайти(ПредставлениеТипа, "Object."); + +КонецФункции + #Область СистемныеПеречисления Функция ЭтоСистемноеПеречисление(Тип) Экспорт diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 7448ea77c..030e872b4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1828,13 +1828,13 @@ #Область Предикаты Процедура ПроверитьПредикат(Выражение, ОжидаемоеЗначение, ОписаниеПроверки, ПараметрыСравнения = Неопределено) - + Контекст = Контекст(); Предикат = ЮТФабрика.ВыражениеПредиката(Выражение, Контекст.ОбъектПроверки.ИмяСвойства, ОжидаемоеЗначение); ПолноеОписаниеПроверки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, ОписаниеПроверки, " "); - ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки); + ПараметрыСообщенийОбОшибке = ЮТПредикатыКлиентСервер.ПараметрыСообщенийОбОшибке(ПолноеОписаниеПроверки, , Контекст.ОбъектПроверки.Представление); Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Контекст.ОбъектПроверки.Значение, Предикат, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); ОбработатьРезультатПроверкиПредиката(Результат); diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" index 0ca240b25..333e9633f 100644 --- "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" @@ -13,17 +13,7 @@ Продолжить; КонецЕсли; - ВстречаОбъект.Начало = ОбрабатываемыйЭлемент.Начало; - ВстречаОбъект.Окончание = ОбрабатываемыйЭлемент.Конец; - - Пользователь = ОбрабатываемыйЭлемент.Владелец; - Если Пользователь = Неопределено Тогда - Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); - КонецЕсли; - - Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь); - ВстречаОбъект.Владелец = Владелец; - + ЗаполнитьОбъект(ВстречаОбъект, ОбрабатываемыйЭлемент); ВстречаОбъект.Записать(); КонецЦикла; @@ -41,3 +31,18 @@ Возврат Успешно; КонецФункции + +Процедура ЗаполнитьОбъект(Объект, ОбрабатываемыйЭлемент) + + Объект.Начало = ОбрабатываемыйЭлемент.Начало; + Объект.Окончание = ОбрабатываемыйЭлемент.Конец; + + Пользователь = ОбрабатываемыйЭлемент.Владелец; + Если Пользователь = Неопределено Тогда + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + КонецЕсли; + + Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь.Имя); + Объект.Владелец = Владелец; + +КонецПроцедуры diff --git "a/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" "b/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" index a588ac46c..4643d85fe 100644 --- "a/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" +++ "b/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" @@ -31,3 +31,17 @@ КонецЕсли; КонецФункции + +&Вместо("ЗаполнитьОбъект") +Процедура Расш1_ЗаполнитьОбъект(Объект, ОбрабатываемыйЭлемент) Экспорт + + ПараметрыМетода = Мокито.МассивПараметров(Объект, ОбрабатываемыйЭлемент); + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(Справочники.Встречи, "ЗаполнитьОбъект", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(Объект, ОбрабатываемыйЭлемент); + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" "b/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" index a9d714631..f56f56e71 100644 --- "a/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" +++ "b/tests/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" @@ -31,3 +31,17 @@ КонецЕсли; КонецФункции + +&Вместо("ПередЗаписью") +Процедура Расш1_ПередЗаписью(Отказ) + + ПараметрыМетода = Мокито.МассивПараметров(Отказ); + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(ЭтотОбъект, "ПередЗаписью", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(Отказ); + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 5cec2fe3b..078a2a37a 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -28,6 +28,7 @@ .ДобавитьСерверныйТест("МокированиеМетодовСсылочныхОбъектов").ВТранзакции() .ДобавитьТест("ОшибкаПодбораРеакции") .ДобавитьТест("ИспользованиеПредикатов") + .ДобавитьСерверныйТест("МокированиеЧерезМенеджер") ; КонецПроцедуры @@ -197,6 +198,32 @@ .Равно(Результат); КонецПроцедуры + +Процедура МокированиеЧерезМенеджер() Экспорт + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; + + Запись = Новый Структура("Встреча, Начало, Конец, Владелец"); + Запись.Встреча = ЮТест.Данные().СоздатьЭлемент(Справочники.Встречи, , , ПараметрыЗаписи); + + Мокито.Обучение(Справочники.Встречи) + .Наблюдать("СохранитьИзменения") + .Наблюдать("ЗаполнитьОбъект") + .Наблюдать("ПередЗаписью") + .Прогон(); + + Справочники.Встречи.СохранитьИзменения(ЮТОбщий.ЗначениеВМассиве(Запись)); + + Мокито.Проверить(Справочники.Встречи, "Проверка через менеджер") + .КоличествоВызовов("ЗаполнитьОбъект").Равно(1) + ; + Мокито.Проверить(Запись.Встреча, "Проверка через ссылку") + .КоличествоВызовов("ПередЗаписью").Равно(1) + ; + +КонецПроцедуры + #КонецЕсли Процедура Прогон_НакоплениеСтатистики(НакоплениеСтатистики) Экспорт From 374528eee1b153c98d2a99d31b6ea199fded92c0 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Dec 2023 00:12:27 +0300 Subject: [PATCH 49/65] #231 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit При регистрации настроек не приводить объект к ссылке --- .../Module.bsl" | 2 +- .../Module.bsl" | 47 ++++++++----- .../Module.bsl" | 17 ++++- .../Module.bsl" | 67 ++++++++++++++++++- 4 files changed, 112 insertions(+), 21 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index 8bbd95e70..cac448c13 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -36,7 +36,7 @@ Функция Обучение(Объект, СброситьСтарыеНастройки = Истина) Экспорт УстановитьПараметрыОбучения(Объект); - МокитоСлужебный.ЗарегистрироватьПерехватОбъекта(Объект, СброситьСтарыеНастройки); + МокитоСлужебный.ДобавитьНастройкуПерехватаВызововОбъекта(Объект, СброситьСтарыеНастройки); Возврат МокитоОбучение; diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 47d859136..5384d3d1d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -38,8 +38,7 @@ // Структура - Настройки: // * Метод - Строка // * Реакция - Строка -// * Настройки - Строка -// * Перехват - Строка +// * Перехват - Соответствие // * Режим - Строка - см. РежимыРаботы // * Статистика - Структура - Статистика вызовов: // * Вызовы - Соответствие из Структура @@ -94,7 +93,7 @@ Настройки = Настройки(); - ПараметрыПерехвата = ДанныеПерехвата(Объект); + ПараметрыПерехвата = ДанныеПерехвата(Объект, Настройки); Если ПараметрыПерехвата = Неопределено Тогда Возврат Неопределено; @@ -239,12 +238,21 @@ // // Параметры: // Объект - Произвольный +// Настройки - см. Настройки // // Возвращаемое значение: -// см. МокитоСлужебный.ОписаниеПараметровПерехватаОбъекта -Функция ДанныеПерехвата(Объект) Экспорт +// см. ОписаниеПараметровПерехватаОбъекта +Функция ДанныеПерехвата(Объект, Настройки = Неопределено) Экспорт - ПараметрыПерехвата = ПараметрыПерехвата(); + Если Настройки = Неопределено Тогда + ПараметрыПерехвата = ПараметрыПерехвата(); + Иначе + ПараметрыПерехвата = Настройки.Перехват; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ПараметрыПерехвата) Тогда + Возврат Неопределено; + КонецЕсли; Если ТипЗнч(Объект) = Тип("Структура") Тогда Ключ = Объект.Объект; @@ -253,15 +261,15 @@ КонецЕсли; ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ]; + ТипЗначения = ТипЗнч(Ключ); - Если ПараметрыПерехватаОбъекта = Неопределено И ЭтоОбъект(Ключ) Тогда + Если ПараметрыПерехватаОбъекта = Неопределено И ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда + ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка]; Если ПараметрыПерехватаОбъекта = Неопределено Тогда - ПолноеИмя = СтрРазделить(Ключ.Метаданные().ПолноеИмя(), "."); - - Менеджер = Новый(СтрШаблон("%1Менеджер.%2", ПолноеИмя[0], ПолноеИмя[1])); + Менеджер = ЮТОбщий.Менеджер(ТипЗначения); ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; КонецЕсли; @@ -272,11 +280,7 @@ КонецФункции -Процедура ЗарегистрироватьПерехватОбъекта(Знач Объект, СброситьСтарыеНастройки = Истина) Экспорт - - Если ЭтоОбъект(Объект) Тогда - Объект = Объект.Ссылка; - КонецЕсли; +Процедура ДобавитьНастройкуПерехватаВызововОбъекта(Знач Объект, СброситьСтарыеНастройки = Истина) Экспорт ПараметрыПерехвата = ПараметрыПерехвата(); @@ -286,6 +290,15 @@ КонецПроцедуры +// Описание параметров перехвата объекта. +// +// Параметры: +// * Объект - Произвольный - Объект +// +// Возвращаемое значение: +// Структура - Описание параметров перехвата объекта: +// * Объект - Произвольный +// * Методы - Структура - Функция ОписаниеПараметровПерехватаОбъекта(Объект) Экспорт Возврат Новый Структура("Объект, Методы", Объект, Новый Структура); @@ -470,7 +483,6 @@ Настройки = Новый Структура; Настройки.Вставить("Метод"); Настройки.Вставить("Реакция"); - Настройки.Вставить("Настройки"); Настройки.Вставить("Перехват", Новый Соответствие); Настройки.Вставить("Режим", "НеУстановлен"); Настройки.Вставить("Статистика", Новый Структура("Вызовы", Новый Соответствие)); @@ -614,9 +626,10 @@ Функция СтатистикаВызововПоСсылке(Вызовы, Ссылка, ИмяМетода) СтатистикаВызововМетода = Новый Массив(); + ТипОбъекта = ЮТТипыДанныхСлужебный.ТипОбъектаСсылки(ТипЗнч(Ссылка)); Для Каждого Элемент Из Вызовы Цикл - ПодходящийЭлемент = ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗнч(Элемент.Ключ)) + ПодходящийЭлемент = ТипЗнч(Элемент.Ключ) = ТипОбъекта И Элемент.Ключ.Ссылка = Ссылка И Элемент.Значение.Свойство(ИмяМетода); Если ПодходящийЭлемент Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 897e400fa..0eb451997 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -95,7 +95,7 @@ Функция ЭтоМенеджерЗаписи(Тип) Экспорт - ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(Тип); + ПредставлениеТипа = ПредставлениеТипа(Тип); СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "менеджер записи:"); Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска); @@ -104,12 +104,25 @@ Функция ЭтоТипОбъекта(ТипЗначения) Экспорт - ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗначения); + ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); Возврат СтрНайти(ПредставлениеТипа, "Object."); КонецФункции +Функция ТипОбъектаСсылки(ТипСсылки) Экспорт + +#Если ВебКлиент Тогда + ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ТипОбъектаСсылки"); +#Иначе + ТипXML = СериализаторXDTO.XMLТип(ТипСсылки); + ИмяТипа = СтрЗаменить(ТипXML.ИмяТипа, "Ref.", "Object."); + + Возврат СериализаторXDTO.ИзXMLТипа(ИмяТипа, ТипXML.URIПространстваИмен); +#КонецЕсли + +КонецФункции + #Область СистемныеПеречисления Функция ЭтоСистемноеПеречисление(Тип) Экспорт diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 078a2a37a..18002bf35 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -29,6 +29,8 @@ .ДобавитьТест("ОшибкаПодбораРеакции") .ДобавитьТест("ИспользованиеПредикатов") .ДобавитьСерверныйТест("МокированиеЧерезМенеджер") + .ДобавитьСерверныйТест("МокированиеЧерезСсылку") + .ДобавитьСерверныйТест("МокированиеЧерезОбъект") ; КонецПроцедуры @@ -162,7 +164,7 @@ .Когда(СправочникОбъект.ПечатнаяФормаШтрихкода(Неопределено)).Вернуть(Результат) .Прогон(); - ЮТест.ОжидаетЧто(Справочник.ПолучитьОбъект().ПечатнаяФормаШтрихкода(Неопределено), Описание) + ЮТест.ОжидаетЧто(СправочникОбъект.ПечатнаяФормаШтрихкода(Неопределено), Описание) .Равно(Результат); Мокито.Проверить(Справочник).КоличествоВызовов("ПечатнаяФормаШтрихкода").Заполнено(Описание); @@ -224,6 +226,69 @@ КонецПроцедуры +Процедура МокированиеЧерезСсылку() Экспорт + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; + Встреча = ЮТест.Данные().КонструкторОбъекта(Справочники.Встречи) + .ФикцияОбязательныхПолей() + .Записать(); + + Мокито.Обучение(Встреча) + .Когда("УказанКорректныйПериод") + .Вернуть(Истина) + .Когда("УказанКорректныйПериод") + .Вернуть(Ложь) + .Прогон(); + + Объект = Встреча.ПолучитьОбъект(); + + ЮТест.ОжидаетЧто(Объект.ПроверитьЗаполнение(), "Первая проверка") + .ЭтоИстина() + .Что(Объект.ПроверитьЗаполнение(), "Вторая проверка") + .ЭтоЛожь() + ; + + Мокито.Проверить(Встреча) + .КоличествоВызовов("УказанКорректныйПериод").Равно(2) + ; +КонецПроцедуры + +Процедура МокированиеЧерезОбъект() Экспорт + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; + Встреча = ЮТест.Данные().КонструкторОбъекта(Справочники.Встречи) + .ФикцияОбязательныхПолей() + .Записать(); + + Объект1 = Встреча.ПолучитьОбъект(); + Объект2 = Встреча.ПолучитьОбъект(); + + Мокито.Обучение(Объект1) + .Когда("УказанКорректныйПериод") + .Вернуть(Истина) + .Когда("УказанКорректныйПериод") + .Вернуть(Ложь) + .Обучение(Объект2) + .Когда("УказанКорректныйПериод") + .Вернуть(Ложь) + .Прогон(); + + ЮТест.ОжидаетЧто(Объект1.ПроверитьЗаполнение(), "Первая проверка") + .ЭтоИстина() + .Что(Объект1.ПроверитьЗаполнение(), "Вторая проверка") + .ЭтоЛожь() + .Что(Объект2.ПроверитьЗаполнение(), "Проверка второго объекта") + .ЭтоЛожь() + ; + + Мокито.Проверить(Объект1) + .КоличествоВызовов("УказанКорректныйПериод").Равно(2); + Мокито.Проверить(Объект2) + .КоличествоВызовов("УказанКорректныйПериод").Равно(1); +КонецПроцедуры + #КонецЕсли Процедура Прогон_НакоплениеСтатистики(НакоплениеСтатистики) Экспорт From 4a9a5ab96ec27c4f711baf1387e059414509cf7e Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Dec 2023 01:39:21 +0300 Subject: [PATCH 50/65] #231 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Оптимизация работы мокито Возможность получать статистику вызова методов объектов через менеджер --- .../Module.bsl" | 13 +- .../Module.bsl" | 112 +++++++++++++++--- .../Module.bsl" | 10 ++ .../Module.bsl" | 6 + 4 files changed, 122 insertions(+), 19 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index cac448c13..da9635d66 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -164,15 +164,22 @@ Процедура ЗарегистрироватьПерехватВыражения(ИмяМетода, ПараметрыВызова) - Объект = ОбучаемыйОбъект(); - ДанныеПерехвата = МокитоСлужебный.ДанныеПерехвата(Объект); + ПереданаСтруктураВызоваМетода = МокитоСлужебный.ЭтоСтруктураВызоваМетода(ИмяМетода); + + Если ПереданаСтруктураВызоваМетода Тогда + Объект = ИмяМетода.Объект; + Иначе + Объект = ОбучаемыйОбъект(); + КонецЕсли; + + ДанныеПерехвата = МокитоСлужебный.НастройкиПерехватаОбъекта(Объект); Если ДанныеПерехвата = Неопределено Тогда Сообщение = СтрШаблон("Не найдены настройки перехвата для %1. Необходимо предварительно вызвать метод Мокито.Обучение(Объект)", Объект); ВызватьИсключение Сообщение; КонецЕсли; - Если МокитоСлужебный.ЭтоСтруктураВызоваМетода(ИмяМетода) Тогда + Если ПереданаСтруктураВызоваМетода Тогда СтруктураВызоваМетода = ИмяМетода; Иначе СтруктураВызоваМетода = МокитоСлужебный.СтруктураВызоваМетода(Объект, ИмяМетода, ПараметрыВызова); diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 5384d3d1d..1c7539ae4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -35,15 +35,7 @@ // Настройки. // // Возвращаемое значение: -// Структура - Настройки: -// * Метод - Строка -// * Реакция - Строка -// * Перехват - Соответствие -// * Режим - Строка - см. РежимыРаботы -// * Статистика - Структура - Статистика вызовов: -// * Вызовы - Соответствие из Структура -// * ПараметрыОбучения - Структура -// * ПараметрыПроверки - Структура +// см. НовыеНастройки Функция Настройки() Экспорт Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек()); @@ -93,6 +85,10 @@ Настройки = Настройки(); + Если НЕ ЗначениеЗаполнено(Настройки.Перехват) Или Настройки.ТипыПерехватываемыхОбъектов[ТипЗнч(Объект)] = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + ПараметрыПерехвата = ДанныеПерехвата(Объект, Настройки); Если ПараметрыПерехвата = Неопределено Тогда @@ -234,11 +230,18 @@ КонецФункции +Функция НастройкиПерехватаОбъекта(Объект) Экспорт + + ПараметрыПерехвата = ПараметрыПерехвата(); + Возврат ПараметрыПерехвата[Объект]; + +КонецФункции + // Данные перехвата. // // Параметры: // Объект - Произвольный -// Настройки - см. Настройки +// Настройки - см. НовыеНастройки // // Возвращаемое значение: // см. ОписаниеПараметровПерехватаОбъекта @@ -282,12 +285,35 @@ Процедура ДобавитьНастройкуПерехватаВызововОбъекта(Знач Объект, СброситьСтарыеНастройки = Истина) Экспорт - ПараметрыПерехвата = ПараметрыПерехвата(); + Настройки = Настройки(); - Если СброситьСтарыеНастройки ИЛИ ПараметрыПерехвата[Объект] = Неопределено Тогда - ПараметрыПерехвата.Вставить(Объект, ОписаниеПараметровПерехватаОбъекта(Объект)); + Если СброситьСтарыеНастройки ИЛИ Настройки.Перехват[Объект] = Неопределено Тогда + Настройки.Перехват.Вставить(Объект, ОписаниеПараметровПерехватаОбъекта(Объект)); КонецЕсли; + ТипОбъекта = ТипЗнч(Объект); + + Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); + + Если ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипОбъекта) Тогда + ТипОбъекта = ЮТТипыДанныхСлужебный.ТипОбъектаСсылки(ТипОбъекта); + Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипМенеджера(ТипОбъекта) Тогда +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда + Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(ТипОбъекта); + + Если Описание <> Неопределено Тогда + Если Описание.ОписаниеТипа.Ссылочный Тогда + ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + Иначе + ТипОбъекта = Тип(СтрШаблон("%НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + КонецЕсли; + + Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); + КонецЕсли; +#КонецЕсли + КонецЕсли; + КонецПроцедуры // Описание параметров перехвата объекта. @@ -315,11 +341,16 @@ СтатистикаВызововМетода = Новый Массив(); Статистика = Вызовы[Объект]; + ТипОбъекта = ТипЗнч(Объект); Если Статистика <> Неопределено И Статистика.Свойство(ИмяМетода) Тогда СтатистикаВызововМетода = Статистика[ИмяМетода]; - ИначеЕсли Статистика = Неопределено И ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипЗнч(Объект)) Тогда + ИначеЕсли Статистика = Неопределено И ЮТТипыДанныхСлужебный.ЭтоСсылочныйТип(ТипОбъекта) Тогда СтатистикаВызововМетода = СтатистикаВызововПоСсылке(Вызовы, Объект, ИмяМетода); + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипМенеджера(ТипОбъекта) Тогда +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда + СтатистикаВызововМетода = СтатистикаВызововПоМенеджеру(Вызовы, Объект, ИмяМетода); +#КонецЕсли КонецЕсли; Возврат СтатистикаВызововМетода; @@ -480,19 +511,39 @@ Процедура ИнициализироватьНастройки() Экспорт + ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), НовыеНастройки(), Истина); + +КонецПроцедуры + +// Новые настройки. +// +// Возвращаемое значение: +// Структура - Настройки: +// * Метод - Строка +// * Реакция - Строка +// * Перехват - Соответствие Из Произвольный +// * ТипыПерехватываемыхОбъектов - Соответствие Из Тип +// * Режим - Строка - см. РежимыРаботы +// * Статистика - Структура - Статистика вызовов: +// * Вызовы - Соответствие из Структура +// * ПараметрыОбучения - Структура +// * ПараметрыПроверки - Структура +Функция НовыеНастройки() + Настройки = Новый Структура; Настройки.Вставить("Метод"); Настройки.Вставить("Реакция"); Настройки.Вставить("Перехват", Новый Соответствие); + Настройки.Вставить("ТипыПерехватываемыхОбъектов", Новый Соответствие); Настройки.Вставить("Режим", "НеУстановлен"); Настройки.Вставить("Статистика", Новый Структура("Вызовы", Новый Соответствие)); Настройки.Вставить("ПараметрыОбучения", Неопределено); Настройки.Вставить("ПараметрыПроверки", Неопределено); - ЮТКонтекст.УстановитьЗначениеКонтекста(КлючНастроек(), Настройки, Истина); + Возврат Настройки; -КонецПроцедуры +КонецФункции Процедура ОчиститьНастройки() Экспорт @@ -641,6 +692,35 @@ КонецФункции +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ТолстыйКлиентУправляемоеПриложение Тогда +Функция СтатистикаВызововПоМенеджеру(Вызовы, Менеджер, ИмяМетода) + + СтатистикаВызововМетода = Новый Массив(); + Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(Менеджер); + + Если Описание = Неопределено Тогда + Возврат СтатистикаВызововМетода; + КонецЕсли; + + Если Описание.ОписаниеТипа.Ссылочный Тогда + ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + Иначе + ТипОбъекта = Тип(СтрШаблон("%НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + КонецЕсли; + + Для Каждого Элемент Из Вызовы Цикл + ПодходящийЭлемент = ТипЗнч(Элемент.Ключ) = ТипОбъекта + И Элемент.Значение.Свойство(ИмяМетода); + Если ПодходящийЭлемент Тогда + ЮТОбщий.ДополнитьМассив(СтатистикаВызововМетода, Элемент.Значение[ИмяМетода]); + КонецЕсли; + КонецЦикла; + + Возврат СтатистикаВызововМетода; + +КонецФункции +#КонецЕсли + #КонецОбласти #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 0eb451997..3026b48a3 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -110,6 +110,16 @@ КонецФункции +Функция ЭтоТипМенеджера(ТипЗначения) Экспорт + + // TODO придумать другой способ определения типа + ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); + + СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), " manager:", " менеджер:"); + Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска) > 0; + +КонецФункции + Функция ТипОбъектаСсылки(ТипСсылки) Экспорт #Если ВебКлиент Тогда diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 18002bf35..051651b23 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -215,10 +215,16 @@ .Наблюдать("ПередЗаписью") .Прогон(); + ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки()) // Проверка сформированных настроек + .Свойство("Перехват").ИмеетСвойство(Справочники.Встречи) + .Свойство("ТипыПерехватываемыхОбъектов") + .ИмеетДлину(2); + Справочники.Встречи.СохранитьИзменения(ЮТОбщий.ЗначениеВМассиве(Запись)); Мокито.Проверить(Справочники.Встречи, "Проверка через менеджер") .КоличествоВызовов("ЗаполнитьОбъект").Равно(1) + .КоличествоВызовов("ПередЗаписью").Равно(1) ; Мокито.Проверить(Запись.Встреча, "Проверка через ссылку") .КоличествоВызовов("ПередЗаписью").Равно(1) From 17f4acb9096a351b3437de89472c373983301657 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Dec 2023 01:56:36 +0300 Subject: [PATCH 51/65] #231 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Поддержка мокирования методов регистров (набор записей и менеджер) --- .../Module.bsl" | 21 +++++--- .../Module.bsl" | 8 +++ .../ManagerModule.bsl" | 9 ++++ .../RecordSetModule.bsl" | 19 +++++++ .../Module.bsl" | 50 ++++++++++++++++++- tests/src/Configuration/Configuration.mdo | 1 + .../ManagerModule.bsl" | 14 ++++++ .../RecordSetModule.bsl" | 29 +++++++++++ ...0\262\320\260\321\200\320\276\320\262.mdo" | 21 ++++++++ 9 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 "fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" create mode 100644 "fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" create mode 100644 "tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" create mode 100644 "tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" create mode 100644 "tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 1c7539ae4..3fb74ceca 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -266,11 +266,20 @@ ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ]; ТипЗначения = ТипЗнч(Ключ); - Если ПараметрыПерехватаОбъекта = Неопределено И ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда + Если ПараметрыПерехватаОбъекта = Неопределено Тогда - ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка]; - - Если ПараметрыПерехватаОбъекта = Неопределено Тогда + Если ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда + + ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка]; + + Если ПараметрыПерехватаОбъекта = Неопределено Тогда + + Менеджер = ЮТОбщий.Менеджер(ТипЗначения); + ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; + + КонецЕсли; + + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипНабораЗаписей(ТипЗначения) Тогда Менеджер = ЮТОбщий.Менеджер(ТипЗначения); ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; @@ -306,7 +315,7 @@ Если Описание.ОписаниеТипа.Ссылочный Тогда ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); Иначе - ТипОбъекта = Тип(СтрШаблон("%НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + ТипОбъекта = Тип(СтрШаблон("%1НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); КонецЕсли; Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); @@ -705,7 +714,7 @@ Если Описание.ОписаниеТипа.Ссылочный Тогда ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); Иначе - ТипОбъекта = Тип(СтрШаблон("%НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + ТипОбъекта = Тип(СтрШаблон("%1НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); КонецЕсли; Для Каждого Элемент Из Вызовы Цикл diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 3026b48a3..7032d9d4d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -110,6 +110,14 @@ КонецФункции +Функция ЭтоТипНабораЗаписей(ТипЗначения) Экспорт + + ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); + + Возврат СтрНайти(ПредставлениеТипа, "RecordSet."); + +КонецФункции + Функция ЭтоТипМенеджера(ТипЗначения) Экспорт // TODO придумать другой способ определения типа diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" new file mode 100644 index 000000000..8be4825f4 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" @@ -0,0 +1,9 @@ +Процедура ЗаполненоКорректно(НаборЗаписей) Экспорт + + Для Каждого Строка Из НаборЗаписей Цикл + Если Строка.Цена < 0 Тогда + ВызватьИсключение "Цена товара не может быть отрицательной"; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" new file mode 100644 index 000000000..05af581fb --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ, Замещение) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + РегистрыСведений.ЦеныТоваров.ЗаполненоКорректно(ЭтотОбъект); + +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + РегистрыСведений.ЦеныТоваров.ЗаполненоКорректно(ЭтотОбъект); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 051651b23..98dfc6118 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -20,17 +20,18 @@ Процедура ИсполняемыеСценарии() Экспорт - ЮТТесты + ЮТТесты.ВТранзакции() .ДобавитьТест("Обучение") .ДобавитьТест("Обучение_ЦепочкаВызовов") .ДобавитьТест("Проверить") .ДобавитьТест("Прогон_НакоплениеСтатистики").СПараметрами(Истина).СПараметрами(Ложь) - .ДобавитьСерверныйТест("МокированиеМетодовСсылочныхОбъектов").ВТранзакции() .ДобавитьТест("ОшибкаПодбораРеакции") .ДобавитьТест("ИспользованиеПредикатов") + .ДобавитьСерверныйТест("МокированиеМетодовСсылочныхОбъектов") .ДобавитьСерверныйТест("МокированиеЧерезМенеджер") .ДобавитьСерверныйТест("МокированиеЧерезСсылку") .ДобавитьСерверныйТест("МокированиеЧерезОбъект") + .ДобавитьСерверныйТест("МокированиеМетодовРегистра") ; КонецПроцедуры @@ -295,6 +296,51 @@ .КоличествоВызовов("УказанКорректныйПериод").Равно(1); КонецПроцедуры +Процедура МокированиеМетодовРегистра() Экспорт + + Мокито.Обучение(РегистрыСведений.ЦеныТоваров) + .Наблюдать("ОбработкаПроверкиЗаполнения") + .Когда("ЗаполненоКорректно") + .Пропустить() + .Когда("ЗаполненоКорректно") + .ВыброситьИсключение("Цена товара не может быть отрицательной") + .Прогон() + ; + + НаборЗаписей = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей(); + ЮТест.ОжидаетЧто(НаборЗаписей) + .Метод("ПроверитьЗаполнение") + .НеВыбрасываетИсключение() + .ВыбрасываетИсключение("Цена товара не может быть отрицательной"); + + Мокито.Проверить(РегистрыСведений.ЦеныТоваров, "Через менеджер") + .КоличествоВызовов("ЗаполненоКорректно").Равно(2) + .КоличествоВызовов("ОбработкаПроверкиЗаполнения").Равно(2); + + Мокито.Проверить(НаборЗаписей, "Через набор") + .КоличествоВызовов("ЗаполненоКорректно").Равно(0) + .КоличествоВызовов("ОбработкаПроверкиЗаполнения").Равно(2); + + // Через набор записей + Мокито.Сбросить(); + НаборЗаписей2 = РегистрыСведений.ЦеныТоваров.СоздатьНаборЗаписей(); + + Мокито.Обучение(НаборЗаписей) + .Наблюдать("ПередЗаписью") + .Прогон(); + + НаборЗаписей.Записать(); + НаборЗаписей2.Записать(); + + Мокито.Проверить(НаборЗаписей, "Обучение через набор, проверка первого набора") + .КоличествоВызовов("ПередЗаписью").Равно(1); + Мокито.Проверить(НаборЗаписей2, "Обучение через набор, проверка второго набора") + .КоличествоВызовов("ПередЗаписью").Равно(0); + Мокито.Проверить(РегистрыСведений.ЦеныТоваров, "Обучение через набор, проверка через менеджер") + .КоличествоВызовов("ПередЗаписью").Равно(1); + +КонецПроцедуры + #КонецЕсли Процедура Прогон_НакоплениеСтатистики(НакоплениеСтатистики) Экспорт diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index 68aa40d1f..caaa29992 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -54,4 +54,5 @@ Catalog.Встречи Catalog.Товары Document.ПриходТовара + InformationRegister.ЦеныТоваров diff --git "a/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" new file mode 100644 index 000000000..1377c3499 --- /dev/null +++ "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ManagerModule.bsl" @@ -0,0 +1,14 @@ + +&Вместо("ЗаполненоКорректно") +Процедура Расш1_ЗаполненоКорректно(НаборЗаписей) Экспорт + + ПараметрыМетода = Мокито.МассивПараметров(НаборЗаписей); + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(РегистрыСведений.ЦеныТоваров, "ЗаполненоКорректно", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(НаборЗаписей); + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" new file mode 100644 index 000000000..1da418081 --- /dev/null +++ "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/RecordSetModule.bsl" @@ -0,0 +1,29 @@ + +&Вместо("ПередЗаписью") +Процедура Расш1_ПередЗаписью(Отказ, Замещение) + + ПараметрыМетода = Мокито.МассивПараметров(Отказ, Замещение); + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(ЭтотОбъект, "ПередЗаписью", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(Отказ, Замещение); + КонецЕсли; + +КонецПроцедуры + +&Вместо("ОбработкаПроверкиЗаполнения") +Процедура Расш1_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + ПараметрыМетода = Мокито.МассивПараметров(Отказ, ПроверяемыеРеквизиты); + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(ЭтотОбъект, "ОбработкаПроверкиЗаполнения", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(Отказ, ПроверяемыеРеквизиты); + КонецЕсли; + +КонецПроцедуры + diff --git "a/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..140570f24 --- /dev/null +++ "b/tests/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,21 @@ + + + + + + + + + + + + ЦеныТоваров + Adopted + + Checked + Checked + Extended + Extended + + Day + From 533d51d81b512a23a73231353cd584fd860ab038 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Dec 2023 03:10:23 +0300 Subject: [PATCH 52/65] #217 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Мокирование методов отчета/обработки при обучении через менеджер --- .../Module.bsl" | 13 ++++++-- .../Module.bsl" | 17 ++++++++-- .../Module.bsl" | 10 ++++++ .../Template.txt" | 32 ++++++++++--------- .../Module.bsl" | 25 +++++++++++++++ tests/src/Configuration/Configuration.mdo | 1 + .../ObjectModule.bsl" | 14 ++++++++ ...0\265\320\275\321\202\320\276\320\262.mdo" | 12 +++++++ 8 files changed, 104 insertions(+), 20 deletions(-) create mode 100644 "tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" create mode 100644 "tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 3fb74ceca..0618ebe10 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -284,6 +284,11 @@ Менеджер = ЮТОбщий.Менеджер(ТипЗначения); ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипОбработкиОтчета(ТипЗначения) Тогда + + Менеджер = ЮТОбщий.Менеджер(ТипЗначения); + ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; + КонецЕсли; КонецЕсли; @@ -314,8 +319,10 @@ Если Описание <> Неопределено Тогда Если Описание.ОписаниеТипа.Ссылочный Тогда ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); - Иначе + ИначеЕсли Описание.ОписаниеТипа.Регистр Тогда ТипОбъекта = Тип(СтрШаблон("%1НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); + ИначеЕсли Описание.ОписаниеТипа.ОбработкаОтчет Тогда + ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); КонецЕсли; Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); @@ -711,9 +718,9 @@ Возврат СтатистикаВызововМетода; КонецЕсли; - Если Описание.ОписаниеТипа.Ссылочный Тогда + Если Описание.ОписаниеТипа.Ссылочный Или Описание.ОписаниеТипа.ОбработкаОтчет Тогда ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); - Иначе + ИначеЕсли Описание.ОписаниеТипа.Регистр Тогда ТипОбъекта = Тип(СтрШаблон("%1НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 8662905b2..41590d315 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -128,7 +128,9 @@ Возврат ОписаниеОбъект; КонецЕсли; - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, ОписаниеОбъект.Реквизиты, "Ссылка, Период"); + Если ОписаниеТипа.СтандартныеРеквизиты Тогда + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, ОписаниеОбъект.Реквизиты, "Ссылка, Период"); + КонецЕсли; Если ОписаниеТипа.Измерения Тогда ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Измерения, ОписаниеОбъект.Реквизиты, Истина); @@ -173,6 +175,9 @@ // * Конструктор - Строка // * Группы - Булево // * Ссылочный - Булево +// * Регистр - Булево +// * ОбработкаОтчет - Булево +// * СтандартныеРеквизиты - Булево // * Реквизиты - Булево // * Измерения - Булево // * Ресурсы - Булево @@ -188,7 +193,12 @@ ЧастиИмени = СтрРазделить(ПолноеИмя, "."); Типы = ЮТМетаданные.ТипыМетаданных(); - Возврат Типы[ЧастиИмени[0]]; + Если Типы.Свойство(ЧастиИмени[0]) Тогда + Возврат Типы[ЧастиИмени[0]]; + Иначе + Сообщение = СтрШаблон("Получение описания для '%1' не поддреживается, либо не реализовано", ЧастиИмени[0]); + ВызватьИсключение Сообщение; + КонецЕсли; КонецФункции @@ -212,6 +222,9 @@ Описание.Вставить("Ресурсы", Запись.Ресурсы = "+"); Описание.Вставить("РеквизитыАдресации", Запись.РеквизитыАдресации = "+"); Описание.Вставить("ТабличныеЧасти", Запись.ТабличныеЧасти = "+"); + Описание.Вставить("СтандартныеРеквизиты", Запись.СтандартныеРеквизиты = "+"); + Описание.Вставить("ОбработкаОтчет", Запись.Имя = "Обработка" ИЛИ Запись.Имя = "Отчет"); + Описание.Вставить("Регистр", СтрНачинаетсяС(Запись.Имя, "Регистр")); ТипыМетаданных.Вставить(Описание.Имя, Описание); ТипыМетаданных.Вставить(Описание.ИмяКоллекции, Описание); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 7032d9d4d..553494435 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -118,6 +118,16 @@ КонецФункции +Функция ЭтоТипОбработкиОтчета(ТипЗначения) Экспорт + + ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); + СтрокаОбработка = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Обработка объект:"); + СтрокаОтчет = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Отчет объект:"); + + Возврат СтрНайти(ПредставлениеТипа, СтрокаОбработка) > 0 ИЛИ СтрНайти(ПредставлениеТипа, СтрокаОтчет) > 0; + +КонецФункции + Функция ЭтоТипМенеджера(ТипЗначения) Экспорт // TODO придумать другой способ определения типа diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" index b8c822dd0..a8b33dbb4 100644 --- "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" @@ -1,17 +1,19 @@ # Описание свойств метаданных -| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | -|------------------------|-------------------------|-----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------| -| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | -| Документ | Документы | СоздатьДокумент | | + | + | | | | + | -| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | -| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | -| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | -| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | -| РегистрСведений | РегистрыСведений | СоздатьМенеджерЗаписи | | | + | + | + | | | -| РегистрНакопления | РегистрыНакопления | | | | + | + | + | | | -| РегистрБухгалтерии | РегистрыБухгалтерии | | | | + | + | + | | | -| РегистрРасчета | РегистрыРасчета | | | | + | + | + | | | -| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | -| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | -| Перечисление | Перечисления | | | + | | | | | | +| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | СтандартныеРеквизиты | +|------------------------|-------------------------|-----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------|----------------------| +| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | + | +| Документ | Документы | СоздатьДокумент | | + | + | | | | + | + | +| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | + | +| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | + | +| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | + | +| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | + | +| РегистрСведений | РегистрыСведений | СоздатьМенеджерЗаписи | | | + | + | + | | | + | +| РегистрНакопления | РегистрыНакопления | | | | + | + | + | | | + | +| РегистрБухгалтерии | РегистрыБухгалтерии | | | | + | + | + | | | + | +| РегистрРасчета | РегистрыРасчета | | | | + | + | + | | | + | +| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | + | +| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | + | +| Перечисление | Перечисления | | | + | | | | | | + | +| Отчет | Отчеты | | | | + | | | | + | | +| Обработка | Обработки | | | | + | | | | + | | diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 98dfc6118..f919347a4 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -32,6 +32,7 @@ .ДобавитьСерверныйТест("МокированиеЧерезСсылку") .ДобавитьСерверныйТест("МокированиеЧерезОбъект") .ДобавитьСерверныйТест("МокированиеМетодовРегистра") + .ДобавитьСерверныйТест("МокированиеМетодовОбработки") ; КонецПроцедуры @@ -341,6 +342,30 @@ КонецПроцедуры +Процедура МокированиеМетодовОбработки() Экспорт + + Обработка = Обработки.ПроведениеДокументов.Создать(); + Обработка.ЗаполнитьСписок(); + ЮТест.ОжидаетЧто(Обработка.СписокДокументов) + .Заполнено(); + + Мокито.Обучение(Обработки.ПроведениеДокументов) + .Когда("ЗаполнитьСписок").Пропустить() + .Прогон(); + + Обработка = Обработки.ПроведениеДокументов.Создать(); + + Обработка.ЗаполнитьСписок(); + + ЮТест.ОжидаетЧто(Обработка.СписокДокументов) + .НеЗаполнено("Не сработал перехват события настроенного через менеджер"); + + Мокито.Проверить(Обработка) + .КоличествоВызовов("ЗаполнитьСписок").Равно(1); + Мокито.Проверить(Обработки.ПроведениеДокументов) + .КоличествоВызовов("ЗаполнитьСписок").Равно(1); +КонецПроцедуры + #КонецЕсли Процедура Прогон_НакоплениеСтатистики(НакоплениеСтатистики) Экспорт diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index caaa29992..dc9fefa6e 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -54,5 +54,6 @@ Catalog.Встречи Catalog.Товары Document.ПриходТовара + DataProcessor.ПроведениеДокументов InformationRegister.ЦеныТоваров diff --git "a/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" "b/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" new file mode 100644 index 000000000..3336a3f0f --- /dev/null +++ "b/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" @@ -0,0 +1,14 @@ + +&Вместо("ЗаполнитьСписок") +Процедура Расш1_ЗаполнитьСписок() Экспорт + + ПараметрыМетода = Новый Массив();; + + ПрерватьВыполнение = Ложь; + Мокито.АнализВызова(ЭтотОбъект, "ЗаполнитьСписок", ПараметрыМетода, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(); + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" "b/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..d43c0ffe6 --- /dev/null +++ "b/tests/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" @@ -0,0 +1,12 @@ + + + + + + + ПроведениеДокументов + Adopted + + Extended + + From e19943052a08d58d7d41862863d2887723486511 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 02:21:17 +0300 Subject: [PATCH 53/65] #231 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправлена ошибка использования мокируемых методов в обработчиках событий Оптимизация работы с типами --- .../Module.bsl" | 25 +++--- .../Module.bsl" | 83 +++++-------------- .../ManagerModule.bsl" | 5 ++ ...0\260\321\202\320\265\320\273\320\270.mdo" | 29 ++++--- .../Module.bsl" | 36 ++++++++ .../Module.bsl" | 15 ++++ .../Module.bsl" | 33 +++++++- ...0\265\320\261\320\275\321\213\320\271.mdo" | 2 + 8 files changed, 142 insertions(+), 86 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 0618ebe10..dc2dec5b0 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -20,7 +20,9 @@ Функция Включен() Экспорт - Возврат ЮТКонтекст.ДанныеКонтекста() <> Неопределено; + ДанныеКонтекста = ЮТКонтекст.ДанныеКонтекста(); + Настройки = Неопределено; + Возврат ДанныеКонтекста <> Неопределено И ДанныеКонтекста.Свойство(КлючНастроек(), Настройки) И Настройки <> Неопределено; КонецФункции @@ -38,7 +40,7 @@ // см. НовыеНастройки Функция Настройки() Экспорт - Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек()); + Настройки = ЮТКонтекст.ЗначениеКонтекста(КлючНастроек()); Если Настройки = Неопределено Тогда ВызватьИсключение "Что-то пошло не так, настройки Мокито не инициализированы"; @@ -268,7 +270,12 @@ Если ПараметрыПерехватаОбъекта = Неопределено Тогда - Если ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда + Если ЮТТипыДанныхСлужебный.ЭтоТипОбъектаОбработкиОтчета(ТипЗначения) Или ЮТТипыДанныхСлужебный.ЭтоТипНабораЗаписей(ТипЗначения) Тогда + + Менеджер = ЮТОбщий.Менеджер(ТипЗначения); + ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; + + ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипОбъекта(ТипЗначения) Тогда ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Ключ.Ссылка]; @@ -279,16 +286,6 @@ КонецЕсли; - ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипНабораЗаписей(ТипЗначения) Тогда - - Менеджер = ЮТОбщий.Менеджер(ТипЗначения); - ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; - - ИначеЕсли ЮТТипыДанныхСлужебный.ЭтоТипОбработкиОтчета(ТипЗначения) Тогда - - Менеджер = ЮТОбщий.Менеджер(ТипЗначения); - ПараметрыПерехватаОбъекта = ПараметрыПерехвата[Менеджер]; - КонецЕсли; КонецЕсли; @@ -338,7 +335,7 @@ // * Объект - Произвольный - Объект // // Возвращаемое значение: -// Структура - Описание параметров перехвата объекта: +// Структура - Описание параметров перехвата объекта: // * Объект - Произвольный // * Методы - Структура - Функция ОписаниеПараметровПерехватаОбъекта(Объект) Экспорт diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 553494435..85b51e3e6 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -23,14 +23,7 @@ #Если ВебКлиент Тогда ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа"); #Иначе - //@skip-check Undefined variable - ТипXML = СериализаторXDTO.XMLТип(Тип); - - Если ТипXML = Неопределено Тогда - Возврат Строка(Тип); - Иначе - Возврат ТипXML.ИмяТипа; - КонецЕсли; + Возврат ИдентификаторТипа(Тип); #КонецЕсли КонецФункции @@ -39,50 +32,30 @@ #Если ВебКлиент Тогда ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа"); -#ИначеЕсли Сервер Тогда - Возврат ЗначениеВСтрокуВнутр(Тип); // Не все серверные типы сериализуются через СериализаторXDTO #Иначе - Попытка - Запись = Новый ЗаписьJSON(); - Запись.УстановитьСтроку(); - СериализаторXDTO.ЗаписатьJSON(Запись, Тип); - Возврат Запись.Закрыть(); - Исключение - ЮТРегистрацияОшибок.ДобавитьПояснениеОшибки(СтрШаблон("Не удалось определить идентификатор типа для `%1`", Тип)); - ВызватьИсключение; - КонецПопытки; -#КонецЕсли - -КонецФункции - -Функция ТипПоИдентификатору(ИдентификаторТипа) Экспорт + ЮТПроверкиСлужебный.ПроверитьТипПараметра(Тип, Тип("Тип"), "ЮТТипыДанныхСлужебный.ИдентификаторТипа", "Тип"); -#Если ВебКлиент Тогда - ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа"); -#ИначеЕсли Сервер Тогда - Если СтрНачинаетсяС(ИдентификаторТипа, "{") Тогда - Возврат ЗначениеИзСтрокиВнутр(ИдентификаторТипа); + Если Тип = Тип("Дата") Тогда + ИдентификаторТипа = "date"; + ИначеЕсли Тип = Тип("Число") Тогда + ИдентификаторТипа = "number"; + Иначе + //@skip-check Undefined variable + ИмяТипаСПространствомИмен = СериализаторXDTO.ЗаписатьXDTO(Тип).ЛексическоеЗначение; + ИдентификаторТипа = СтрРазделить(ИмяТипаСПространствомИмен, "}")[1]; КонецЕсли; -#КонецЕсли - Возврат ТипПоПредставлению(ИдентификаторТипа); + Возврат ИдентификаторТипа; +#КонецЕсли КонецФункции -Функция ТипПоПредставлению(ПредставлениеТипа) Экспорт +Функция ТипПоИдентификатору(ИдентификаторТипа) Экспорт #Если ВебКлиент Тогда - ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ТипПоПредставлению"); + ВызватьИсключение ЮТОбщий.МетодНеДоступен("ЮТТипыДанныхСлужебный.ПредставлениеТипа"); #Иначе - Чтение = Новый ЧтениеJSON(); - Чтение.УстановитьСтроку(ПредставлениеТипа); - Результат = СериализаторXDTO.ПрочитатьJSON(Чтение, Тип("Тип")); - - Если Результат = Неопределено Тогда - ВызватьИсключение СтрШаблон("Не удалось определить тип по представлению `%1`", ПредставлениеТипа); - КонецЕсли; - - Возврат Результат; + Возврат Тип(ИдентификаторТипа); #КонецЕсли КонецФункции @@ -93,48 +66,38 @@ КонецФункции -Функция ЭтоМенеджерЗаписи(Тип) Экспорт +Функция ЭтоМенеджерЗаписи(ТипЗначения) Экспорт - ПредставлениеТипа = ПредставлениеТипа(Тип); - СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "менеджер записи:"); - - Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска); + ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); + Возврат СтрНайти(ПредставлениеТипа, "RecordManager.") > 0; КонецФункции Функция ЭтоТипОбъекта(ТипЗначения) Экспорт ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); - - Возврат СтрНайти(ПредставлениеТипа, "Object."); + Возврат СтрНайти(ПредставлениеТипа, "Object.") > 0; КонецФункции Функция ЭтоТипНабораЗаписей(ТипЗначения) Экспорт ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); - - Возврат СтрНайти(ПредставлениеТипа, "RecordSet."); + Возврат СтрНайти(ПредставлениеТипа, "RecordSet.") > 0; КонецФункции -Функция ЭтоТипОбработкиОтчета(ТипЗначения) Экспорт +Функция ЭтоТипОбъектаОбработкиОтчета(ТипЗначения) Экспорт ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); - СтрокаОбработка = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Обработка объект:"); - СтрокаОтчет = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), "Record manager:", "Отчет объект:"); - - Возврат СтрНайти(ПредставлениеТипа, СтрокаОбработка) > 0 ИЛИ СтрНайти(ПредставлениеТипа, СтрокаОтчет) > 0; + Возврат СтрНачинаетсяС(ПредставлениеТипа, "DataProcessorObject") Или СтрНачинаетсяС(ПредставлениеТипа, "ReportObject"); КонецФункции Функция ЭтоТипМенеджера(ТипЗначения) Экспорт - // TODO придумать другой способ определения типа ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); - - СтрокаПоиска = ?(ЮТЛокальСлужебный.ЭтоАнглийскаяЛокальПлатформы(), " manager:", " менеджер:"); - Возврат СтрНайти(ПредставлениеТипа, СтрокаПоиска) > 0; + Возврат СтрНайти(ПредставлениеТипа, "Manager.") > 0; КонецФункции diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" index 333e9633f..c436def2d 100644 --- "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" @@ -43,6 +43,11 @@ КонецЕсли; Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь.Имя); + + Если Владелец.Пустая() Тогда + Владелец = Справочники.Пользователи.ПустойПользователь; + КонецЕсли; + Объект.Владелец = Владелец; КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" index c159995d8..a4ecf94c4 100644 --- "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" +++ "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" @@ -23,7 +23,7 @@ PredefinedDataName - Use + DontUse @@ -33,7 +33,7 @@ Predefined - Use + DontUse @@ -43,7 +43,7 @@ Ref - Use + DontUse @@ -53,7 +53,7 @@ DeletionMark - Use + DontUse @@ -63,7 +63,7 @@ IsFolder - Use + DontUse @@ -75,7 +75,7 @@ true ShowError - Use + DontUse @@ -86,7 +86,7 @@ true - Use + DontUse @@ -101,7 +101,7 @@ ShowError - Use + DontUse @@ -111,14 +111,14 @@ Code - Use + DontUse Use Managed - Use + DontUse Use 2 true @@ -129,6 +129,15 @@ true true AsDescription + + + ПустойПользователь + Пустой пользователь + + 0000000000000000000000001 + + + InDialog BothWays Catalog.Пользователи.Form.ФормаЭлемента diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index b68ed09ce..ec3b4477b 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -22,6 +22,7 @@ ЮТТесты .ДобавитьТест("ВыброситьИсключение") + .ДобавитьСерверныйТест("ФормированиеТипыПерехватываемыхОбъектов") ; КонецПроцедуры @@ -45,4 +46,39 @@ КонецПроцедуры +#Если Сервер Тогда +Процедура ФормированиеТипыПерехватываемыхОбъектов() Экспорт + + Мокито.Обучение(Обработки.АдминистративныйСервис); + + ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Обработка менеджер") // Проверка сформированных настроек + .Свойство("Перехват").ИмеетСвойство(Обработки.АдминистративныйСервис) + .Свойство("ТипыПерехватываемыхОбъектов") + .ИмеетДлину(2) + .ИмеетСвойство(Тип("ОбработкаМенеджер.АдминистративныйСервис")) + .ИмеетСвойство(Тип("ОбработкаОбъект.АдминистративныйСервис")); + + Мокито.Сбросить(); + Мокито.Обучение(Справочники.Банки.ПустаяСсылка()); + + ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Ссылка") // Проверка сформированных настроек + .Свойство("Перехват").ИмеетСвойство(Справочники.Банки.ПустаяСсылка()) + .Свойство("ТипыПерехватываемыхОбъектов") + .ИмеетДлину(2) + .ИмеетСвойство(Тип("СправочникСсылка.Банки")) + .ИмеетСвойство(Тип("СправочникОбъект.Банки")); + + Мокито.Сбросить(); + Мокито.Обучение(РегистрыНакопления.Взаиморасчеты); + + ЮТест.ОжидаетЧто(МокитоСлужебный.Настройки(), "Регистр") // Проверка сформированных настроек + .Свойство("Перехват").ИмеетСвойство(РегистрыНакопления.Взаиморасчеты) + .Свойство("ТипыПерехватываемыхОбъектов") + .ИмеетДлину(2) + .ИмеетСвойство(Тип("РегистрНакопленияНаборЗаписей.Взаиморасчеты")) + .ИмеетСвойство(Тип("РегистрНакопленияМенеджер.Взаиморасчеты")); + +КонецПроцедуры +#КонецЕсли + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" index cfd26b5e3..b06a342ed 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" @@ -23,6 +23,7 @@ ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() .ДобавитьТест("ЗаполнитьСправочник") .ДобавитьТест("ЗаполнитьДокумент") + .ДобавитьТест("СоздатьЗаписьРегистраСведений") .ДобавитьТест("Фикция") .ДобавитьТест("Фикция_Типизированная") .ДобавитьТест("ФикцияОбязательныхПолей") @@ -122,6 +123,20 @@ КонецПроцедуры +Процедура СоздатьЗаписьРегистраСведений() Экспорт + + Результат = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют") + .Фикция("Валюта") + .Фикция("Курс") + .Установить("Период", ТекущаяДата()) + .Записать(); + + ЮТест.ОжидаетЧто(Результат) + .ИмеетТип(Тип("РегистрСведенийКлючЗаписи.КурсыВалют")) + .Заполнено(); + +КонецПроцедуры + Процедура Фикция() Экспорт Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты"); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 0fd8bf4cd..33cd91d17 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -39,7 +39,25 @@ .ДобавитьТест("ЭтоКоллекцияПримитивныхТипов") .СПараметрами(ЮТОбщий.ЗначениеВМассиве(Тип("Строка"), Тип("Дата")), Истина) .СПараметрами(ЮТОбщий.ЗначениеВМассиве(Тип("Строка"), Тип("Дата"), Тип("ПеречислениеСсылка.PushУведомления")), Ложь) - + .ДобавитьТест("ИдентификаторТипа") + .СПараметрами("Дата") + .СПараметрами("Строка") + .СПараметрами("Число") + .СПараметрами("Булево") + .СПараметрами("Неопределено") + .СПараметрами("Null") + .СПараметрами("УникальныйИдентификатор") + .СПараметрами("ВидДвиженияБухгалтерии") + .СПараметрами("HTTPЗапрос") + .СПараметрами("ТабличныйДокумент") + .СПараметрами("ХранилищеЗначения") + .СПараметрами("ПеречислениеСсылка.PushУведомления") + .ДобавитьСерверныйТест("ИдентификаторТипа") + .СПараметрами("СправочникМенеджер.Банки") + .СПараметрами("СхемаКомпоновкиДанных") + .СПараметрами("HTTPСервисЗапрос") + .СПараметрами("ОбъектXDTO") + .СПараметрами("ОбъектМетаданных") ; КонецПроцедуры @@ -48,7 +66,6 @@ ЮТест.ОжидаетЧто(ЮТТипыДанныхСлужебный.ЭтоСистемноеПеречисление(Тип)) .Равно(ОжидаемыйРезультат); - КонецПроцедуры Процедура ТипыСистемныхПеречислений() Экспорт @@ -82,6 +99,18 @@ КонецПроцедуры +Процедура ИдентификаторТипа(ИмяТипа) Экспорт + + Тип = Тип(ИмяТипа); + Результат = ЮТТипыДанныхСлужебный.ИдентификаторТипа(Тип(ИмяТипа)); + ЮТест.ОжидаетЧто(Результат) + .Заполнено(); + + ЮТест.ОжидаетЧто(Тип(Результат)) + .Равно(Тип); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" index cacbdb5e1..21f68dc78 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -5,5 +5,7 @@ ru Типы данных служебный + true true + true From 6341f850e49f55852e2d67c67761dfd04551e4af Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 02:38:58 +0300 Subject: [PATCH 54/65] #223 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Упрощение настройки мокирования цепочки вызовов --- .../Module.bsl" | 40 +++++++++++++------ .../Module.bsl" | 21 ++++++++++ 2 files changed, 49 insertions(+), 12 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index da9635d66..0d60355be 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -193,9 +193,12 @@ Реакция = СоздатьОписаниеУсловнойРеакции(СтруктураВызоваМетода); - Методы[СтруктураВызоваМетода.ИмяМетода].Реакции.Добавить(Реакция); + РеакцииМетода = Методы[СтруктураВызоваМетода.ИмяМетода].Реакции; + РеакцииМетода.Добавить(Реакция); - ПараметрыОбучения().РеакцияТекущегоВыражения = Реакция; + ПараметрыОбучения = ПараметрыОбучения(); + ПараметрыОбучения.РеакцияТекущегоВыражения = Реакция; + ПараметрыОбучения.Реакции = РеакцииМетода КонецПроцедуры @@ -207,10 +210,18 @@ #Область Реакции +Функция ОписаниеУсловнойРеакции() + + Возврат Новый Структура("УсловиеРеакции, Действие"); + +КонецФункции + Функция СоздатьОписаниеУсловнойРеакции(СтруктураВызоваМетода) Условия = МокитоСлужебный.УсловиеИзПараметров(СтруктураВызоваМетода.Параметры); - Возврат Новый Структура("УсловиеРеакции, Действие", Условия, Неопределено); + ОписаниеУсловнойРеакции = ОписаниеУсловнойРеакции(); + ОписаниеУсловнойРеакции.УсловиеРеакции = Условия; + Возврат ОписаниеУсловнойРеакции; КонецФункции @@ -220,33 +231,38 @@ Функция ОбучаемыйОбъект() - ПараметрыОбучения = ПараметрыОбучения(); - - Возврат ПараметрыОбучения.ОбучаемыйОбъект; + Возврат ПараметрыОбучения().ОбучаемыйОбъект; КонецФункции Функция ПараметрыОбучения() - Параметры = МокитоСлужебный.Настройки().ПараметрыОбучения; - - Возврат Параметры; + Возврат МокитоСлужебный.Настройки().ПараметрыОбучения; КонецФункции Процедура УстановитьПараметрыОбучения(Объект) - ПараметрыОбучения = Новый Структура("ОбучаемыйОбъект, РеакцияТекущегоВыражения", Объект, Неопределено); - + ПараметрыОбучения = Новый Структура("ОбучаемыйОбъект, РеакцияТекущегоВыражения, Реакции", Объект, Неопределено); МокитоСлужебный.Настройки().ПараметрыОбучения = ПараметрыОбучения; КонецПроцедуры Процедура ЗарегистрироватьРеакцию(Действие) + Параметры = ПараметрыОбучения(); + Действие.Вставить("Обработано", Ложь); - ПараметрыОбучения().РеакцияТекущегоВыражения.Действие = Действие; + Если Параметры.РеакцияТекущегоВыражения.Действие = Неопределено Тогда + Параметры.РеакцияТекущегоВыражения.Действие = Действие; + Иначе + НоваяРеакция = ОписаниеУсловнойРеакции(); + ЗаполнитьЗначенияСвойств(НоваяРеакция, Параметры.РеакцияТекущегоВыражения); + НоваяРеакция.Действие = Действие; + Параметры.РеакцияТекущегоВыражения = НоваяРеакция; + Параметры.Реакции.Добавить(НоваяРеакция); + КонецЕсли; КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index f919347a4..7972c39f1 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -33,6 +33,7 @@ .ДобавитьСерверныйТест("МокированиеЧерезОбъект") .ДобавитьСерверныйТест("МокированиеМетодовРегистра") .ДобавитьСерверныйТест("МокированиеМетодовОбработки") + .ДобавитьТест("МокированиеЦепочкиВызовов") ; КонецПроцедуры @@ -260,6 +261,7 @@ Мокито.Проверить(Встреча) .КоличествоВызовов("УказанКорректныйПериод").Равно(2) ; + КонецПроцедуры Процедура МокированиеЧерезОбъект() Экспорт @@ -472,6 +474,25 @@ .КоличествоВызовов("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, Новый Структура("Флаг", 2))).Равно(1) КонецПроцедуры +Процедура МокированиеЦепочкиВызовов() Экспорт + + Мокито.Обучение(Интеграция) + .Когда("ВыполнитьЗапрос") + .Вернуть(1) + .Вернуть(2) + .Вернуть(3) + .Прогон(); + + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("")) + .Равно(1); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("")) + .Равно(2); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("")) + .Равно(3); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("")) + .Равно(3); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции From dbc15e43d0898420ee8ad2c801bcad5cca6518e8 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 03:06:37 +0300 Subject: [PATCH 55/65] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BE=D0=BD=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 2 +- .../Module.bsl" | 39 ++----------------- .../Module.bsl" | 2 +- 3 files changed, 5 insertions(+), 38 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index 0d60355be..40376e580 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -198,7 +198,7 @@ ПараметрыОбучения = ПараметрыОбучения(); ПараметрыОбучения.РеакцияТекущегоВыражения = Реакция; - ПараметрыОбучения.Реакции = РеакцииМетода + ПараметрыОбучения.Реакции = РеакцииМетода; КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index dc2dec5b0..1d642ff2e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -314,15 +314,15 @@ Описание = ЮТМетаданные.ОписаниеОбъектаМетаданных(ТипОбъекта); Если Описание <> Неопределено Тогда - Если Описание.ОписаниеТипа.Ссылочный Тогда + + Если Описание.ОписаниеТипа.Ссылочный Или Описание.ОписаниеТипа.ОбработкаОтчет Тогда ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); ИначеЕсли Описание.ОписаниеТипа.Регистр Тогда ТипОбъекта = Тип(СтрШаблон("%1НаборЗаписей.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); - ИначеЕсли Описание.ОписаниеТипа.ОбработкаОтчет Тогда - ТипОбъекта = Тип(СтрШаблон("%1Объект.%2", Описание.ОписаниеТипа.Имя, Описание.Имя)); КонецЕсли; Настройки.ТипыПерехватываемыхОбъектов.Вставить(ТипОбъекта, Истина); + КонецЕсли; #КонецЕсли КонецЕсли; @@ -587,39 +587,6 @@ #КонецОбласти -Функция ЭтоСсылка(Значение) - - Если Значение <> Неопределено Тогда - - ТипыСсылок = ЮТОбщий.ОписаниеТиповЛюбаяСсылка(); - Результат = ТипыСсылок.СодержитТип(ТипЗнч(Значение)); - - Иначе - - Результат = Ложь; - - КонецЕсли; - - Возврат Результат; - -КонецФункции - -Функция ЭтоОбъект(Значение) - - Если Значение <> Неопределено И ЮТОбщий.ПеременнаяСодержитСвойство(Значение, "Ссылка") Тогда - - Возврат ЭтоСсылка(Значение.Ссылка); - - Иначе - - Результат = Ложь; - - КонецЕсли; - - Возврат Результат; - -КонецФункции - Функция УсловиеИзПараметров(Параметры) Экспорт Если Параметры = Неопределено Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 41590d315..c91b841cb 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -196,7 +196,7 @@ Если Типы.Свойство(ЧастиИмени[0]) Тогда Возврат Типы[ЧастиИмени[0]]; Иначе - Сообщение = СтрШаблон("Получение описания для '%1' не поддреживается, либо не реализовано", ЧастиИмени[0]); + Сообщение = СтрШаблон("Получение описания для '%1' не поддерживается, либо не реализовано", ЧастиИмени[0]); ВызватьИсключение Сообщение; КонецЕсли; From 644fda78aba931f436d19c74b61e094fb9d8861e Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 03:33:52 +0300 Subject: [PATCH 56/65] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 2 +- .../Module.bsl" | 8 ++-- .../Module.bsl" | 48 +++++++++++++++++++ ...0\265\320\261\320\275\321\213\320\271.mdo" | 9 ++++ .../Module.bsl" | 2 +- tests/src/Configuration/Configuration.mdo | 1 + 6 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 "tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" create mode 100644 "tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 85b51e3e6..d09116c6a 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -90,7 +90,7 @@ Функция ЭтоТипОбъектаОбработкиОтчета(ТипЗначения) Экспорт ПредставлениеТипа = ПредставлениеТипа(ТипЗначения); - Возврат СтрНачинаетсяС(ПредставлениеТипа, "DataProcessorObject") Или СтрНачинаетсяС(ПредставлениеТипа, "ReportObject"); + Возврат СтрНачинаетсяС(ПредставлениеТипа, "DataProcessorObject.") Или СтрНачинаетсяС(ПредставлениеТипа, "ReportObject."); КонецФункции diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 7972c39f1..af5ca7c03 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -225,14 +225,14 @@ Справочники.Встречи.СохранитьИзменения(ЮТОбщий.ЗначениеВМассиве(Запись)); - Мокито.Проверить(Справочники.Встречи, "Проверка через менеджер") - .КоличествоВызовов("ЗаполнитьОбъект").Равно(1) - .КоличествоВызовов("ПередЗаписью").Равно(1) - ; Мокито.Проверить(Запись.Встреча, "Проверка через ссылку") .КоличествоВызовов("ПередЗаписью").Равно(1) ; + Мокито.Проверить(Справочники.Встречи, "Проверка через менеджер") + .КоличествоВызовов("ЗаполнитьОбъект").Равно(1) + .КоличествоВызовов("ПередЗаписью").Равно(1) + ; КонецПроцедуры Процедура МокированиеЧерезСсылку() Экспорт diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..3cd44a130 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,48 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТест("ДанныеПерехвата") + ; + +КонецПроцедуры + +Процедура ДанныеПерехвата() Экспорт + + Мокито.Обучение(Справочники.Встречи) + .Наблюдать("ПередЗаписью"); + + ДанныеПерехвата = МокитоСлужебный.ДанныеПерехвата(Справочники.Встречи.СоздатьЭлемент()); + + ЮТест.ОжидаетЧто(ДанныеПерехвата) + .Заполнено() + .Свойство("Объект").Равно(Справочники.Встречи) + .Свойство("Методы").ИмеетСвойство("ПередЗаписью") + ; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..52786c60e --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -0,0 +1,9 @@ + + + ОМ_МокитоСлужебный + + ru + О м мокито служебный + + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" index 3062ad3ce..73bc9e913 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -93,7 +93,7 @@ Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска); ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests") - .ИмеетДлину(23); + .ИмеетДлину(24); КонецПроцедуры diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index dc9fefa6e..706b8ce6f 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -28,6 +28,7 @@ CommonModule.Обр_ЮТHTTPСервисЗапрос CommonModule.ОМ_Мокито CommonModule.ОМ_МокитоОбучение + CommonModule.ОМ_МокитоСлужебный CommonModule.ОМ_Общий CommonModule.ОМ_ОшибкаЗагрузкиСценариев CommonModule.ОМ_ЮТест From 37f193e8619b4d6108167c5f89298bd13f849e17 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Tue, 12 Dec 2023 04:58:02 +0300 Subject: [PATCH 57/65] =?UTF-8?q?=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=D1=82=D0=B5=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ManagerModule.bsl" | 6 +----- ...0\260\321\202\320\265\320\273\320\270.mdo" | 20 +------------------ .../Module.bsl" | 10 +++++++++- .../Module.bsl" | 6 ++++++ 4 files changed, 17 insertions(+), 25 deletions(-) diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" index c436def2d..a5452c327 100644 --- "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" @@ -24,7 +24,7 @@ Исключение ОтменитьТранзакцию(); - Успешно = Ложь; + ВызватьИсключение; КонецПопытки; @@ -44,10 +44,6 @@ Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь.Имя); - Если Владелец.Пустая() Тогда - Владелец = Справочники.Пользователи.ПустойПользователь; - КонецЕсли; - Объект.Владелец = Владелец; КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" index a4ecf94c4..da09704b9 100644 --- "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" +++ "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" @@ -23,7 +23,6 @@ PredefinedDataName - DontUse @@ -33,7 +32,6 @@ Predefined - DontUse @@ -43,7 +41,6 @@ Ref - DontUse @@ -53,7 +50,6 @@ DeletionMark - DontUse @@ -63,7 +59,6 @@ IsFolder - DontUse @@ -75,7 +70,6 @@ true ShowError - DontUse @@ -86,7 +80,6 @@ true - DontUse @@ -101,7 +94,6 @@ ShowError - DontUse @@ -111,14 +103,12 @@ Code - DontUse Use Managed - DontUse Use 2 true @@ -129,15 +119,7 @@ true true AsDescription - - - ПустойПользователь - Пустой пользователь - - 0000000000000000000000001 - - - + InDialog BothWays Catalog.Пользователи.Form.ФормаЭлемента diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index af5ca7c03..f21c3728f 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -209,8 +209,14 @@ ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина; + Владелец = Новый Структура("Имя", ЮТест.Данные().СлучайнаяСтрока()); + ЮТест.Данные().КонструкторОбъекта(Справочники.Пользователи) + .Установить("Код", Владелец.Имя) + .Записать(); + Запись = Новый Структура("Встреча, Начало, Конец, Владелец"); Запись.Встреча = ЮТест.Данные().СоздатьЭлемент(Справочники.Встречи, , , ПараметрыЗаписи); + Запись.Владелец = Владелец; Мокито.Обучение(Справочники.Встречи) .Наблюдать("СохранитьИзменения") @@ -223,7 +229,9 @@ .Свойство("ТипыПерехватываемыхОбъектов") .ИмеетДлину(2); - Справочники.Встречи.СохранитьИзменения(ЮТОбщий.ЗначениеВМассиве(Запись)); + Успешно = Справочники.Встречи.СохранитьИзменения(ЮТОбщий.ЗначениеВМассиве(Запись)); + + ЮТест.ОжидаетЧто(Успешно).ЭтоИстина(); Мокито.Проверить(Запись.Встреча, "Проверка через ссылку") .КоличествоВызовов("ПередЗаписью").Равно(1) diff --git "a/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\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/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\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 5181d8616..5484f2ee3 100644 --- "a/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\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/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\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" @@ -104,4 +104,10 @@ КонецФункции +Процедура ИнициализироватьПредопределенные() Экспорт + + ИнициализироватьПредопределенныеДанные(); + +КонецПроцедуры + #КонецОбласти From b9df861204d80ff83d7b6e85c2a095c8088b83a3 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Fri, 15 Dec 2023 02:50:50 +0300 Subject: [PATCH 58/65] #234 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Реанимация работы движка после поломки контекста --- .../Module.bsl" | 54 ++++++++++++++++--- .../Module.bsl" | 18 ------- .../Module.bsl" | 48 +++++++++++++++++ ...0\265\321\200\320\262\320\265\321\200.mdo" | 9 ++++ .../Module.bsl" | 2 +- tests/src/Configuration/Configuration.mdo | 1 + 6 files changed, 106 insertions(+), 26 deletions(-) create mode 100644 "tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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 "tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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 5ca0daa8d..40488c705 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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" @@ -76,15 +76,17 @@ Результаты = Новый Массив(); Для Каждого Тест Из Набор.Тесты Цикл + + ВТранзакции = Ложь; + ПередКаждымТестом(ТестовыйМодуль, Набор, Тест, ВТранзакции); Тест.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах(); - - ЮТСобытия.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест); ВыполнитьТестовыйМетод(Тест); - ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест); + Тест.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Тест.ДатаСтарта; - ОбработатьЗавершениеТеста(Тест); + ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции); + Тест.Статус = ЮТРегистрацияОшибок.СтатусВыполненияТеста(Тест); Результаты.Добавить(Тест); КонецЦикла; @@ -97,10 +99,48 @@ КонецФункции -Процедура ОбработатьЗавершениеТеста(Тест) +Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест, ВТранзакции) + +#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда + ВТранзакции = ЮТНастройкиВыполнения.ВТранзакции(); + Если ВТранзакции Тогда + НачатьТранзакцию(); + КонецЕсли; +#КонецЕсли + + ЮТСобытия.ПередКаждымТестом(ТестовыйМодуль, Набор, Тест); + +КонецПроцедуры + +Процедура ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест, ВТранзакции) - Тест.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Тест.ДатаСтарта; - Тест.Статус = ЮТРегистрацияОшибок.СтатусВыполненияТеста(Тест); + Если ЮТКонтекст.ДанныеКонтекста() = Неопределено Тогда // Сломан контекст + ОбновитьПовторноИспользуемыеЗначения(); + ОтменитьТранзакциюТеста(Тест, ВТранзакции); + ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест); + Иначе + ЮТСобытия.ПослеКаждогоТеста(ТестовыйМодуль, Набор, Тест); + ОтменитьТранзакциюТеста(Тест, ВТранзакции); + КонецЕсли; + +КонецПроцедуры + +Процедура ОтменитьТранзакциюТеста(Тест, ВТранзакции) + +#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда + Если ВТранзакции Тогда + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + Иначе + ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружено лишне закрытие транзакции"); + КонецЕсли; + КонецЕсли; + + Пока ТранзакцияАктивна() Цикл + ОтменитьТранзакцию(); + ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция"); + КонецЦикла; +#КонецЕсли КонецПроцедуры 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/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/Module.bsl" index f307c4223..9fe259458 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/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/Module.bsl" @@ -84,12 +84,6 @@ ПолучитьСообщенияПользователю(Истина); #КонецЕсли -#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - Если ЮТНастройкиВыполнения.ВТранзакции() Тогда - НачатьТранзакцию(); - КонецЕсли; -#КонецЕсли - ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПередКаждымТестом", "ПередТестом"), ОписаниеСобытия); КонецПроцедуры @@ -106,18 +100,6 @@ ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПослеТеста", "ПослеКаждогоТеста"), ОписаниеСобытия); -#Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - Если ЮТНастройкиВыполнения.ВТранзакции() Тогда - ОтменитьТранзакцию(); - КонецЕсли; - - Пока ТранзакцияАктивна() Цикл - ОтменитьТранзакцию(); - ЮТРегистрацияОшибок.ЗарегистрироватьПростуюОшибкуВыполнения(Тест, "Обнаружена незакрытая транзакция"); - КонецЦикла; - -#КонецЕсли - Уровни = ЮТФабрика.УровниИсполнения(); КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); КонтекстИсполнения.Уровень = Уровни.НаборТестов; diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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..8faae6bdb --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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,48 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТест("ЛомающийКонтекстТест").ВТранзакции() + ; + +КонецПроцедуры + +Процедура ЛомающийКонтекстТест() Экспорт + + ЮТест.ОжидаетЧто(ЮТКонтекст.ДанныеКонтекста()) + .ЭтоНеНеопределено(); + + НачатьТранзакцию(); + Попытка + Справочники.Встречи.СоздатьЭлемент().Записать(); + ЗафиксироватьТранзакцию(); + Исключение + ОбновитьПовторноИспользуемыеЗначения(); + Если ЮТКонтекст.ДанныеКонтекста() <> Неопределено Тогда + ВызватьИсключение "Контекст не сломан"; + КонецЕсли; + ОтменитьТранзакцию(); + КонецПопытки; + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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..3d91f1e88 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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\236\320\234_\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\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,9 @@ + + + ОМ_ЮТИсполнительКлиентСервер + + ru + ЮТИсполнитель клиент сервер + + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" index 73bc9e913..890de37dc 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -93,7 +93,7 @@ Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска); ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests") - .ИмеетДлину(24); + .ИмеетДлину(25); КонецПроцедуры diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index 706b8ce6f..aa00694ed 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -34,6 +34,7 @@ CommonModule.ОМ_ЮТест CommonModule.ОМ_ЮТестПереопределяемый CommonModule.ОМ_ЮТЗапросы + CommonModule.ОМ_ЮТИсполнительКлиентСервер CommonModule.ОМ_ЮТКонструкторТестовыхДанных CommonModule.ОМ_ЮТМетаданные CommonModule.ОМ_ЮТПодражатель_Банки From 55201cb3c6be8280702a8817a31fe8d30f516f1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=D0=BE=D0=B2=20=D0=92?= =?UTF-8?q?=D0=B0=D0=BB=D0=B5=D1=80=D0=B8=D0=B9=20=D0=92=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=D0=B5=D0=B2=D0=B8=D1=87=20=28000044217=29?= Date: Fri, 15 Dec 2023 15:03:49 +0300 Subject: [PATCH 59/65] =?UTF-8?q?=D0=A0=D0=B5=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BA=D1=82=D1=83=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=20=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 13 ++- ...\320\272\320\270\321\202\320\276.suppress" | 4 + ...\320\265\320\275\320\270\320\265.suppress" | 4 + .../Module.bsl" | 55 +++++----- ...\320\265\321\200\320\272\320\270.suppress" | 4 + .../Module.bsl" | 14 ++- ...\320\261\320\275\321\213\320\271.suppress" | 4 + .../Module.bsl" | 6 ++ .../Module.bsl" | 6 +- .../Module.bsl" | 4 +- ...\321\200\320\262\320\265\321\200.suppress" | 4 + .../Module.bsl" | 2 + .../Module.bsl" | 1 + .../Module.bsl" | 3 + .../Module.bsl" | 4 +- ...\321\200\320\262\320\265\321\200.suppress" | 4 + .../Module.bsl" | 4 + .../Module.bsl" | 3 - .../Module.bsl" | 2 +- .../Module.bsl" | 4 +- .../Module.bsl" | 90 +++++++++------- .../Module.bsl" | 4 + ...\321\202\321\207\320\265\321\202.suppress" | 4 + ...\202\321\207\320\265\321\202JSON.suppress" | 4 + ...\321\203\321\201\320\272\320\260.suppress" | 4 + .../Module.bsl" | 12 +++ .../Module.bsl" | 4 - .../Module.bsl" | 6 ++ .../Module.bsl" | 4 - .../Module.bsl" | 8 +- .../Module.bsl" | 4 +- .../Module.bsl" | 4 - .../Module.bsl" | 10 +- ...\321\200\320\262\320\265\321\200.suppress" | 4 + .../Module.bsl" | 20 ++++ .../Module.bsl" | 10 +- .../Module.bsl" | 4 + .../Module.bsl" | 1 + .../Module.bsl" | 4 - .../Module.bsl" | 4 + .../Module.bsl" | 41 ++++--- .../Module.bsl" | 2 +- .../Module.bsl" | 3 + .../Module.bsl" | 23 +--- .../Module.bsl" | 4 +- ...\321\200\320\262\320\265\321\200.suppress" | 4 + .../Module.bsl" | 10 +- .../src/Configuration/Configuration.mdo | 8 +- .../ManagedApplicationModule.bsl | 1 + .../OrdinaryApplicationModule.bsl | 1 + .../Module.bsl" | 6 +- .../ObjectModule.bsl" | 4 +- .../Form.suppress" | 4 + .../CommandInterface.cmi" | 0 ...0\270\321\202\320\265\320\273\321\214.mdo" | 22 ++++ .../CommandInterface.cmi" | 0 ...1\202\320\265\320\272\321\201\321\202.mdo" | 18 ++++ .../CommandInterface.cmi" | 0 ...0\262\320\260\320\275\320\270\320\265.mdo" | 18 ++++ .../CommandInterface.cmi" | 0 ...0\265\321\200\320\262\320\270\321\201.mdo" | 44 ++++++++ .../CommandInterface.cmi" | 0 .../CommandInterface.cmi" | 0 ...0\260\321\202\320\265\320\273\321\214.mdo" | 20 ++-- ...0\260\320\275\320\275\321\213\320\265.mdo" | 24 +++++ .../CommandInterface.cmi" | 0 ...0\264\320\265\320\275\320\270\321\217.mdo" | 22 ++++ ...0\262\320\270\320\266\320\276\320\272.mdo" | 100 ++---------------- .../CommandInterface.cmi" | 0 .../CommandInterface.cmi" | 2 + ...0\261\321\213\321\202\320\270\320\271.mdo" | 5 +- .../CommandInterface.cmi" | 2 + ...1\202\321\207\320\265\321\202\320\260.mdo" | 7 +- ...0\260\320\265\320\274\321\213\320\265.mdo" | 8 +- ...0\221\320\260\320\275\320\272\320\270.mdo" | 11 -- ...0\277\320\260\320\275\320\270\320\270.mdo" | 13 --- ...0\267\320\260\321\206\320\270\320\270.mdo" | 13 --- ...0\260\321\202\320\265\320\273\321\214.mdo" | 14 --- .../CommandInterface.cmi" | 2 + ...0\270\321\207\320\275\321\213\320\271.mdo" | 26 +++++ .../Module.bsl" | 8 +- .../Module.bsl" | 10 +- .../Module.bsl" | 12 +-- .../Module.bsl" | 30 +++--- .../Module.bsl" | 2 +- .../Module.bsl" | 2 +- 86 files changed, 548 insertions(+), 348 deletions(-) create mode 100644 "exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/\320\234\320\276\320\272\320\270\321\202\320\276.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202/\320\256\320\242\320\236\321\202\321\207\320\265\321\202.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.suppress" create mode 100644 "exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" create mode 100644 "exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Form.suppress" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" => "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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/CommandInterface.cmi" (100%) create mode 100644 "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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214.mdo" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" => "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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/CommandInterface.cmi" (100%) create mode 100644 "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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.mdo" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" => "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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommandInterface.cmi" (100%) create mode 100644 "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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/\320\256\320\242\320\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.mdo" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" => "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/CommandInterface.cmi" (100%) create mode 100644 "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" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" => "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/CommandInterface.cmi" (100%) rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/CommandInterface.cmi" => "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" (100%) rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.mdo" => "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" (51%) create mode 100644 "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mdo" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/CommandInterface.cmi" => "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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/CommandInterface.cmi" (100%) create mode 100644 "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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.mdo" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" => "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/CommandInterface.cmi" (100%) create mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/CommandInterface.cmi" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" => "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" (76%) create mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" => "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" (67%) rename "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214.mdo" => "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\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\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265.mdo" (53%) delete mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" delete mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" delete mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" delete mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" create mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/CommandInterface.cmi" create mode 100644 "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 8443d6c7c..563f9cfa4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -16,6 +16,8 @@ // //©///////////////////////////////////////////////////////////////////////////©// +// BSLLS:CommentedCode-off + /////////////////////////////////////////////////////////////////// // Расширяет возможности тестирования, позволяет легко менять логику работы системы: // @@ -44,6 +46,9 @@ // КонецФункции // ``` /////////////////////////////////////////////////////////////////// + +// BSLLS:CommentedCode-on + #Область ПрограммныйИнтерфейс // Начинает обучение (настройку) Мокито. @@ -179,6 +184,9 @@ // // Возвращаемое значение: // Массив из Произвольный - Массив параметров +//@skip-check method-too-many-params +// BSLLS:NumberOfOptionalParams-off +// BSLLS:NumberOfParams-off Функция МассивПараметров(Параметр1 = "_!%*", Параметр2 = "_!%*", Параметр3 = "_!%*", @@ -189,7 +197,7 @@ Параметр8 = "_!%*", Параметр9 = "_!%*", Параметр10 = "_!%*") Экспорт - + Возврат ЮТОбщий.ЗначениеВМассиве(Параметр1, Параметр2, Параметр3, @@ -203,6 +211,9 @@ КонецФункции +// BSLLS:NumberOfParams-on +// BSLLS:NumberOfOptionalParams-on + // Возврщает идентификатор значения входного параметра по умолчанию. // // Возвращаемое значение: diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/\320\234\320\276\320\272\320\270\321\202\320\276.suppress" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/\320\234\320\276\320\272\320\270\321\202\320\276.suppress" new file mode 100644 index 000000000..0491407cf --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/\320\234\320\276\320\272\320\270\321\202\320\276.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265.suppress" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265.suppress" new file mode 100644 index 000000000..6ef77900c --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" index 27939c034..0aa8cfc40 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" @@ -173,6 +173,7 @@ // * Описание - Строка Функция ПараметрыПроверки() + //@skip-check constructor-function-return-section Возврат МокитоСлужебный.Настройки().ПараметрыПроверки; КонецФункции @@ -197,47 +198,45 @@ Возврат Новый Массив(); КонецЕсли; - Если ЗначениеЗаполнено(СтруктураВызоваМетода.Параметры) Тогда + Если НЕ ЗначениеЗаполнено(СтруктураВызоваМетода.Параметры) Тогда + Возврат ВызовыМетода; + КонецЕсли; - УсловияПроверки = МокитоСлужебный.УсловиеИзПараметров(СтруктураВызоваМетода.Параметры); - Результат = Новый Массив(); + УсловияПроверки = МокитоСлужебный.УсловиеИзПараметров(СтруктураВызоваМетода.Параметры); + Результат = Новый Массив(); - Для Каждого ВызовМетода Из ВызовыМетода Цикл + Для Каждого ВызовМетода Из ВызовыМетода Цикл - Если ВызовМетода.Параметры.Количество() < СтруктураВызоваМетода.Параметры.Количество() Тогда - ВызватьИсключение "Сигнатура метода содержит меньше параметров"; - КонецЕсли; + Если ВызовМетода.Параметры.Количество() < СтруктураВызоваМетода.Параметры.Количество() Тогда + ВызватьИсключение "Сигнатура метода содержит меньше параметров"; + КонецЕсли; - КоличествоУсловий = УсловияПроверки.Количество(); - Успешно = Истина; + КоличествоУсловий = УсловияПроверки.Количество(); + Успешно = Истина; - Для Инд = 0 По КоличествоУсловий - 1 Цикл + Для Инд = 0 По КоличествоУсловий - 1 Цикл - Параметр = ВызовМетода.Параметры[Инд]; - Условие = УсловияПроверки[Инд]; + Параметр = ВызовМетода.Параметры[Инд]; + Условие = УсловияПроверки[Инд]; - Успешно = МокитоСлужебный.ПроверитьПараметр(Параметр, Условие); + Успешно = МокитоСлужебный.ПроверитьПараметр(Параметр, Условие); - Если НЕ Успешно Тогда - Прервать; - КонецЕсли; + Если НЕ Успешно Тогда + Прервать; + КонецЕсли; - КонецЦикла; + КонецЦикла; - Если Успешно Тогда - Результат.Добавить(ВызовМетода); - Если Первый Тогда - Прервать; - КонецЕсли; + Если Успешно Тогда + Результат.Добавить(ВызовМетода); + Если Первый Тогда + Прервать; КонецЕсли; + КонецЕсли; - КонецЦикла; - - ВызовыМетода = Результат; + КонецЦикла; - КонецЕсли; - - Возврат ВызовыМетода; + Возврат Результат; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270.suppress" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270.suppress" new file mode 100644 index 000000000..20316abcb --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 1d642ff2e..2beb4238f 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\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\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -46,6 +46,7 @@ ВызватьИсключение "Что-то пошло не так, настройки Мокито не инициализированы"; КонецЕсли; + //@skip-check constructor-function-return-section Возврат Настройки; КонецФункции @@ -113,12 +114,15 @@ КонецЕсли; + Возврат Неопределено; + КонецФункции // Структура вызова метода. // // Параметры: -// Объект - Произвольный - Объект, которому принадлежит метод +// Объект - Произвольный - Объект, которому принадлежит метод +// - Структура - см. СтруктураВызоваМетода // ИмяМетода - Строка - Имя вызванного метода // ПараметрыМетода - Массив из Произвольный - Набор параметров, с которыми был вызван метод // @@ -137,6 +141,7 @@ СтруктураВызоваМетода = Новый Структура("Объект, ИмяМетода, Параметры", Объект, ИмяМетода, ПараметрыМетода); СтруктураВызоваМетода.Вставить("Контекст"); + //@skip-check constructor-function-return-section Возврат СтруктураВызоваМетода; КонецФункции @@ -290,6 +295,7 @@ КонецЕсли; + //@skip-check constructor-function-return-section Возврат ПараметрыПерехватаОбъекта; КонецФункции @@ -332,12 +338,12 @@ // Описание параметров перехвата объекта. // // Параметры: -// * Объект - Произвольный - Объект +// Объект - Произвольный - Объект // // Возвращаемое значение: // Структура - Описание параметров перехвата объекта: // * Объект - Произвольный -// * Методы - Структура - +// * Методы - Структура Функция ОписаниеПараметровПерехватаОбъекта(Объект) Экспорт Возврат Новый Структура("Объект, Методы", Объект, Новый Структура); @@ -445,6 +451,7 @@ КонецЕсли; + Возврат Неопределено; КонецФункции #КонецОбласти @@ -554,6 +561,7 @@ Настройки.Вставить("ПараметрыОбучения", Неопределено); Настройки.Вставить("ПараметрыПроверки", Неопределено); + //@skip-check constructor-function-return-section Возврат Настройки; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.suppress" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.suppress" new file mode 100644 index 000000000..3f3f0462d --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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 5da6a37cd..2bbf24e9d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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\220\321\201\320\270\320\275\321\205\321\200\320\276\320\275\320\275\320\260\321\217\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\260\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" @@ -79,14 +79,20 @@ КонецФункции +//@skip-check module-empty-method +//@skip-check doc-comment-parameter-section Процедура ПустойОбработчик1(Параметр1) Экспорт КонецПроцедуры +//@skip-check module-empty-method +//@skip-check doc-comment-parameter-section Процедура ПустойОбработчик2(Параметр1, Параметр2) Экспорт КонецПроцедуры +//@skip-check module-empty-method +//@skip-check doc-comment-parameter-section Процедура ПустойОбработчик3(Параметр1, Параметр2, Параметр3) Экспорт КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 00801828d..e11487c87 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -113,13 +113,17 @@ КонецФункции +Процедура ОбработкаОшибки(ТекстОшибки) Экспорт + ВызватьИсключение ТекстОшибки; +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции #Область ОбработчикиЦепочкиДействий -Процедура ОбработчикОшибки(ИнформацияОбОшибки, СтандартнаяОбработка, ДополнительныеПараметры) Экспорт +Процедура ОбработчикОшибки(ИнформацияОбОшибке, СтандартнаяОбработка, ДополнительныеПараметры) Экспорт // TODO Подумать надо ли и как реализовать нормально diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index e7bfc65eb..83ad8d2e7 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -22,11 +22,11 @@ // Выполняет тесты наборов модуля. Возвращает результат прогона // Это обертка для прогона на сервере // Параметры: -// Наборы - Массив - Наборы исполняемых тестов, структуру набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов +// Наборы - Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Наборы исполняемых тестов, структуру набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов // ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля // // Возвращаемое значение: -// Массив - Результат прогона наборов тестов, структура набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов +// Массив из см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов - Результат прогона наборов тестов, структура набора см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов Функция ВыполнитьГруппуНаборовТестов(Знач Наборы, Знач ТестовыйМодуль) Экспорт Возврат ЮТИсполнительКлиентСервер.ВыполнитьГруппуНаборовТестов(Наборы, ТестовыйМодуль); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" new file mode 100644 index 000000000..71114e427 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" @@ -0,0 +1,4 @@ + + + + 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" index 3892a2341..5b99ced1a 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\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\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -80,7 +80,9 @@ Windows = "Windows"; MacOS = "MacOS"; + //@skip-check bsl-variable-name-invalid x86 = "i386"; + //@skip-check bsl-variable-name-invalid x64 = "x86_64"; ТипКлиентскойПлатформы = Информация.ТипПлатформы; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" index e7140744f..9877c8097 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" @@ -50,6 +50,7 @@ // // Возвращаемое значение: // ОбщийМодуль - Этот же модуль, для замыкания +//@skip-check method-too-many-params Функция Добавить(Параметр1, Параметр2 = Неопределено, Параметр3 = Неопределено, diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 5b46e0b3b..488135cfb 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\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\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -165,9 +165,11 @@ #Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда Конструктор = Обработки.ЮТКонструкторТестовыхДанных.Создать(); #Иначе + //@skip-check use-non-recommended-method Конструктор = ПолучитьФорму("Обработка.ЮТКонструкторТестовыхДанных.Форма.КлиентскийКонструктор"); // BSLLS:GetFormMethod-off #КонецЕсли + //@skip-check unknown-method-property Конструктор.Инициализировать(Менеджер); Возврат Конструктор; @@ -199,6 +201,7 @@ Контекст.Вставить("ТекущаяТабличнаяЧасть", ""); Контекст.Вставить("ДополнительныеСвойства", Новый Структура()); + //@skip-check constructor-function-return-section Возврат Контекст; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" index 6611f55fa..fac42bb52 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" @@ -42,6 +42,7 @@ #Если Клиент Тогда Возврат ЮТКонтекстКлиент.ДанныеКонтекста(); #Иначе + //@skip-check constructor-function-return-section Возврат ЮТКонтекстСервер.ДанныеКонтекста(); #КонецЕсли @@ -53,7 +54,8 @@ // ИмяРеквизита - Строка - Имя реквизита/вложенного контекста // ПолучитьССервера - Булево - Получить значение из серверного контекста // Возвращаемое значение: -// Структура, Неопределено - Значение реквизита/вложенного контекста +// - Структура - Значение реквизита/вложенного контекста +// - Неопределено Функция ЗначениеКонтекста(ИмяРеквизита, ПолучитьССервера = Ложь) Экспорт #Если Клиент Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200.suppress" new file mode 100644 index 000000000..f1965587b --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" index e852d7cb1..16487d70d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" @@ -92,6 +92,10 @@ КонецПроцедуры +// Текущий контекст исполнения теста +// +// Возвращаемое значение: +// Неопределено, Структура, Произвольный - Текущий контекст Функция ТекущийКонтекст() Экспорт Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\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\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index dd79144ac..fe30562ee 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\233\320\276\320\272\320\260\320\273\321\214\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\233\320\276\320\272\320\260\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -48,6 +48,3 @@ #КонецОбласти -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" index e5894438e..30cda169b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -20,7 +20,7 @@ // Модули подсистемы. // Возвращает список модулей подсистемы -// Подсистема должна находится в подсистеме "ЮТФункциональность" +// Подсистема должна находится в подсистеме "ЮТДинамическиПодключаемые" // Параметры: // ИмяПодсистемы - Строка - Имя подсистемы // Серверные - Булево - Возвращять модули доступные на сервере diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index c91b841cb..9e957a2a3 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -46,7 +46,7 @@ // Модули подсистемы. // Возвращает список модулей подсистемы -// Подсистема должна находится в подсистеме "ЮТФункциональность" +// Подсистема должна находится в подсистеме "ЮТДинамическиПодключаемые" // Параметры: // ИмяПодсистемы - Строка - Имя подсистемы // Серверные - Булево - Возвращять модули доступные на сервере @@ -56,7 +56,7 @@ // Массив из Строка - Имена модулей входящих в подсистему Функция МодулиПодсистемы(Знач ИмяПодсистемы, Знач Серверные, Знач Клиентские) Экспорт - Подсистема = Метаданные.Подсистемы.ЮТФункциональность.Подсистемы.Найти(ИмяПодсистемы); + Подсистема = Метаданные.Подсистемы.ЮТДинамическиПодключаемые.Подсистемы.Найти(ИмяПодсистемы); Если Подсистема = Неопределено Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index ebdf0fbee..9bd14ccd6 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -36,7 +36,11 @@ Для Каждого Часть Из Путь Цикл Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда +#Если ВебКлиент Или ТонкийКлиент Тогда + Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение); +#Иначе Значение = Значение.Получить(); +#КонецЕсли КонецЕсли; Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда @@ -243,6 +247,7 @@ Коллекция1 = СкопироватьСтруктуру(Коллекция1); КонецЕсли; + //@skip-check constructor-function-return-section Возврат ДобавитьКлючИЗначениеВКоллекцию(Коллекция1, Коллекция2); КонецФункции @@ -432,6 +437,23 @@ КонецФункции +// Создает массив с переданными значениями +// +// Параметры: +// Значение - Произвольный +// Значение2 - Произвольный +// Значение3 - Произвольный +// Значение4 - Произвольный +// Значение5 - Произвольный +// Значение6 - Произвольный +// Значение7 - Произвольный +// Значение8 - Произвольный +// Значение9 - Произвольный +// Значение10 - Произвольный +// +// Возвращаемое значение: +// Массив из Произвольный +//@skip-check method-too-many-params Функция ЗначениеВМассиве(Значение, Значение2 = "_!%*", Значение3 = "_!%*", @@ -443,70 +465,45 @@ Значение9 = "_!%*", Значение10 = "_!%*") Экспорт - Массив = Новый Массив; - Массив.Добавить(Значение); - - ФлагОкончания = "_!%*"; - Значения = Новый Массив; - Если Значение <> ФлагОкончания Тогда - Значения.Добавить(Значение); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение) Тогда Возврат Значения; КонецЕсли; - Если Значение2 <> ФлагОкончания Тогда - Значения.Добавить(Значение2); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение2) Тогда Возврат Значения; КонецЕсли; - Если Значение3 <> ФлагОкончания Тогда - Значения.Добавить(Значение3); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение3) Тогда Возврат Значения; КонецЕсли; - Если Значение4 <> ФлагОкончания Тогда - Значения.Добавить(Значение4); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение4) Тогда Возврат Значения; КонецЕсли; - Если Значение5 <> ФлагОкончания Тогда - Значения.Добавить(Значение5); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение5) Тогда Возврат Значения; КонецЕсли; - Если Значение6 <> ФлагОкончания Тогда - Значения.Добавить(Значение6); - Иначе + Если Не ДобавитьНеПоследнее(Значения, Значение6) Тогда Возврат Значения; КонецЕсли; - - Если Значение7 <> ФлагОкончания Тогда - Значения.Добавить(Значение7); - Иначе + + Если Не ДобавитьНеПоследнее(Значения, Значение7) Тогда Возврат Значения; КонецЕсли; - - Если Значение8 <> ФлагОкончания Тогда - Значения.Добавить(Значение8); - Иначе + + Если Не ДобавитьНеПоследнее(Значения, Значение8) Тогда Возврат Значения; КонецЕсли; - - Если Значение9 <> ФлагОкончания Тогда - Значения.Добавить(Значение9); - Иначе + + Если Не ДобавитьНеПоследнее(Значения, Значение9) Тогда Возврат Значения; КонецЕсли; - - Если Значение10 <> ФлагОкончания Тогда - Значения.Добавить(Значение10); - Иначе + + Если Не ДобавитьНеПоследнее(Значения, Значение10) Тогда Возврат Значения; КонецЕсли; @@ -573,7 +570,9 @@ КонецФункции // см. ЮТСравнениеКлиентСервер.ЗначенияРавны -// Deprecate +// Устарела. +//@skip-check doc-comment-export-function-return-section +//@skip-check doc-comment-parameter-section Функция ДанныеСовпадают(Данные1, Данные2) Экспорт ВызовУстаревшегоМетода("ЮТОбщий.ДанныеСовпадают", "ЮТСравнениеКлиентСервер.ЗначенияРавны"); @@ -822,12 +821,13 @@ // * ОбменДаннымиЗагрузка - Булево // * ДополнительныеСвойства - Структура // * РежимЗаписи - РежимЗаписиДокумента +// - Неопределено Функция ПараметрыЗаписи() Экспорт ПараметрыЗаписи = Новый Структура(); ПараметрыЗаписи.Вставить("ОбменДаннымиЗагрузка", Ложь); ПараметрыЗаписи.Вставить("ДополнительныеСвойства", Новый Структура); - ПараметрыЗаписи.Вставить("РежимЗаписи"); + ПараметрыЗаписи.Вставить("РежимЗаписи", Неопределено); Возврат ПараметрыЗаписи; @@ -1133,4 +1133,12 @@ КонецФункции +Функция ДобавитьНеПоследнее(Значения, Значение, ФлагОкончания = "_!%*") + Если Значение <> ФлагОкончания Тогда + Значения.Добавить(Значение); + Возврат Истина; + КонецЕсли; + Возврат Ложь; +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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 900479665..6db791da9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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" @@ -94,6 +94,10 @@ КонецФункции +Функция ИзХранилищаЗначений(Знач ХранилищеЗначений) Экспорт + Возврат ХранилищеЗначений.Получить(); +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202/\320\256\320\242\320\236\321\202\321\207\320\265\321\202.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202/\320\256\320\242\320\236\321\202\321\207\320\265\321\202.suppress" new file mode 100644 index 000000000..59c6e1d27 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202/\320\256\320\242\320\236\321\202\321\207\320\265\321\202.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON.suppress" new file mode 100644 index 000000000..9346e2632 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON/\320\256\320\242\320\236\321\202\321\207\320\265\321\202JSON.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260.suppress" new file mode 100644 index 000000000..8a6cb292f --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" index d49893e55..3f0358a23 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -36,14 +36,26 @@ #Область Реализации +// Подражатель для людей +// +// Возвращаемое значение: +// CommonModule.ЮТПодражатель_Люди - Люди Функция Люди() Экспорт Возврат ЮТПодражатель_Люди; КонецФункции +// Подражатель для компаний +// +// Возвращаемое значение: +// CommonModule.ЮТПодражатель_Компании - Компании Функция Компании() Экспорт Возврат ЮТПодражатель_Компании; КонецФункции +// Подражатель для банков +// +// Возвращаемое значение: +// CommonModule.ЮТПодражатель_Банки - Банки Функция Банки() Экспорт Возврат ЮТПодражатель_Банки; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" index ba3497283..94f81be79 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" @@ -78,10 +78,6 @@ #Область СлужебныеПроцедурыИФункции -Функция ИмяРеализации() - Возврат "Банки"; -КонецФункции - Функция ВесовыеКоэффициентаДляРасчетаКонтрольнойСуммыСчета() Возврат СтрРазделить("7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1", ","); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" index 935d73e6c..81934935d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" @@ -141,6 +141,12 @@ #Область ФабрикаПеречислений +// Варианты биологического пола человека (не путать с гендером) +// +// Возвращаемое значение: +// ФиксированнаяСтруктура - Пол человека: +// * Мужской - Строка - +// * Женский - Строка - Функция ПолЧеловека() Экспорт Результат = Новый Структура(); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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 60df19d86..4f451296b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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" @@ -36,7 +36,3 @@ КонецФункции #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 07dc622b4..233a83712 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\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\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -27,9 +27,9 @@ // // Возвращаемое значение: // ФиксированныйМассив из Строка -Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации = Неопределено) Экспорт - _КодЛокализации = ?(КодЛокализации = Неопределено, ЮТПодражатель.Локализация(), КодЛокализации); - Возврат ЮТПодражательПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, _КодЛокализации); +Функция Словарь(ИмяРеализации, ИмяСловаря, Знач КодЛокализации = Неопределено) Экспорт + КодЛокализации = ?(КодЛокализации = Неопределено, ЮТПодражатель.Локализация(), КодЛокализации); + Возврат ЮТПодражательПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации); КонецФункции // Случайное значение из словаря. @@ -75,7 +75,7 @@ // // Возвращаемое значение: // Структура - Новый контекст: -// * Локализация - Строка - Установленная локализация +// * Локализация - см. ЮТЛокальСлужебный.ЛокальИнтерфейса Функция НовыйКонтекст() Описание = Новый Структура; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 177d075a4..eff5fbba1 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -54,9 +54,9 @@ // Набор предикатов. // // Параметры: -// Предикаты - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор утверждений. см. ЮТПредикаты.Получить, см. ЮТест.Предикат +// Предикаты - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор утверждений. см. ЮТест.Предикат // - см. ЮТФабрика.ВыражениеПредиката -// - ОбщийМодуль.ЮТПредикаты - Модуль настройки предикатов, см. ЮТест.Предикат +// - CommonModule.ЮТПредикаты - Модуль настройки предикатов, см. ЮТест.Предикат // // Возвращаемое значение: // Массив из см. ЮТФабрика.ВыражениеПредиката - Набор предикатов diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\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\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index ad10454b9..6f97c454f 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\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\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -66,8 +66,4 @@ КонецФункции - #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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 12bcc295d..e7742d650 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\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" @@ -131,7 +131,7 @@ // * ПрефиксОшибки - Строка, Неопределено - // * ОписаниеПроверки - Строка, Неопределено - // * ВидСравнения - Строка -// * ОжидаемоеЗначение - Произвольный +// * ОжидаемоеЗначение - Произвольный, Неопределено - // * Реверс - Булево // * ТекстПроверяемоеЗначение - Строка Функция ПараметрыПроверки(ВидСравнения, ПроверяемоеЗначение, ИмяСвойства, ОжидаемоеЗначение, Реверс = Ложь) Экспорт @@ -579,11 +579,15 @@ Для Каждого Часть Из ПутьКСвойству Цикл ПройденныйПуть.Добавить(Часть); - + Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда +#Если ВебКлиент Или ТонкийКлиент Тогда + Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение); +#Иначе Значение = Значение.Получить(); +#КонецЕсли КонецЕсли; - + Попытка ЕстьСвойство = ЗначениеИмеетСвойство(Значение, Часть); Исключение diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.suppress" new file mode 100644 index 000000000..0102ef970 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.suppress" @@ -0,0 +1,4 @@ + + + + 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 e05741f15..b99dede19 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" @@ -18,18 +18,38 @@ #Область ПрограммныйИнтерфейс +// Строка с символами русского алфавита +// +// Параметры: +// НижнийРегистр - Булево - добавить символы в нижнем регистре +// ВерхнийРегистр - Булево - добавить символы в верхнем регистре +// +// Возвращаемое значение: +// Строка Функция РусскиеБуквы(НижнийРегистр = Истина, ВерхнийРегистр = Ложь) Экспорт Возврат Буквы("абвгдеёжзийклмнопрстуфхцчшщъыьэюя", НижнийРегистр, ВерхнийРегистр); КонецФункции +// Строка с символами английского алфавита +// +// Параметры: +// НижнийРегистр - Булево - добавить символы в нижнем регистре +// ВерхнийРегистр - Булево - добавить символы в верхнем регистре +// +// Возвращаемое значение: +// Строка Функция АнглийскиеБуквы(НижнийРегистр = Истина, ВерхнийРегистр = Ложь) Экспорт Возврат Буквы("abcdefghijklmnopqrstuvwxyz", НижнийРегистр, ВерхнийРегистр); КонецФункции +// Строка с числами +// +// Возвращаемое значение: +// Строка Функция Цифры() Экспорт Возврат "1234567890"; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 9953d3fde..884a05d35 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -320,6 +320,8 @@ КонецФункции +#Если Не ВебКлиент Тогда + // Создает новый файл, который будет удален после теста // // Параметры: @@ -349,7 +351,7 @@ Возврат Результат; КонецФункции - + // Возвращает имя нового файла. // По окончании выполнения теста этот файл будет удален. // @@ -456,6 +458,8 @@ КонецФункции +#КонецЕсли + // Формирует массив различных комбиначий параметров // // Предназначено для формирования таблицы возможных значений параметров для краш теста метода. @@ -541,8 +545,8 @@ // * ФикцияОбязательныхПолей - Булево - По умолчанию, Ложь // * ОбменДаннымиЗагрузка - Булево - По умолчанию, Истина // Возвращаемое значение: -// ТаблицаЗначений - Для сервера, данные загруженные из макета -// Массив из Структура - Для клиента, данные загруженные из макета +// - ТаблицаЗначений - Для сервера, данные загруженные из макета +// - Массив из Структура - Для клиента, данные загруженные из макета Функция ЗагрузитьИзМакета(Макет, ОписанияТипов, КэшЗначений = Неопределено, diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 051a7e3c5..20a3ea105 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -79,6 +79,8 @@ КонецФункции +#Если Не ВебКлиент Тогда + // см. ЮТТестовыеДанные.НовоеИмяВременногоФайла Функция НовоеИмяВременногоФайла(Расширение = Неопределено) Экспорт @@ -89,6 +91,8 @@ КонецФункции +#КонецЕсли + Процедура ДобавитьВременныйФайл(Файл) Экспорт БуферВременныеФайлы().Добавить(Файл); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" index 66ce2a362..cf4d239c8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" @@ -241,6 +241,7 @@ // .СПараметрами(1) // .СПараметрами(2); // Будет зарегистрировано два теста, первый с параметром 1 и второй с параметром 2 // +//@skip-check method-too-many-params Функция СПараметрами(Параметр1 = "_!%*", Параметр2 = "_!%*", Параметр3 = "_!%*", diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index d09116c6a..778f193b7 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\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\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -186,7 +186,3 @@ #КонецОбласти #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index 030e872b4..c6bbe1fba 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -1368,7 +1368,11 @@ Для Каждого Часть Из НормализованныйПутьКСвойству Цикл Если ТипЗнч(Значение) = Тип("ХранилищеЗначения") Тогда +#Если ВебКлиент Или ТонкийКлиент Тогда + Значение = ЮТОбщийВызовСервера.ИзХранилищаЗначений(Значение); +#Иначе Значение = Значение.Получить(); +#КонецЕсли КонецЕсли; Если ТипЗнч(Часть) = Тип("Число") И Часть < 0 И ТипЗнч(Значение) <> Тип("Соответствие") Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" index 6688db3d3..ff3503db9 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" @@ -82,9 +82,12 @@ #Область Перечисления // КонтекстыИсполнения -// Возвращает перечисление возможных контекстов исполнения тестов +// Возвращает перечисление возможных контекстов исполнения тестов +// // Возвращаемое значение: -// ФиксированнаяСтруктура - Контексты исполнения +// ФиксированнаяСтруктура - Контексты исполнения: +// * Клиент - Строка +// * Сервер - Строка Функция КонтекстыИсполнения() Экспорт Контексты = Новый Структура(); @@ -321,7 +324,8 @@ // * Выполнять - Булево - Признак, что можно выполнить прогон набора (нет ошибок блокирующих запуск) // * ДатаСтарта - Число - Дата запуска набора // * Длительность - Число - Продолжительность выполнения набора -// * НастройкиВыполнения- Структура - Настройки исполнения теста +// * НастройкиВыполнения - Структура - Настройки исполнения теста +// * ТестовыйМодуль - См. ОписаниеТестовогоМодуля Функция ОписаниеИсполняемогоНабораТестов(НаборТестов, ТестовыйМодуль) Экспорт Описание = Новый Структура(); @@ -364,6 +368,7 @@ // * Статус - Строка - Статус выполнения теста, см. СтатусыИсполненияТеста // * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки - Описания ошибок выполнения теста, см. ЮТФабрика.ОписаниеВозникшейОшибки // * НастройкиВыполнения- Структура - Настройки исполнения теста +// * Параметры - см. ПредставлениеТеста Функция ОписаниеИсполняемогоТеста(Тест, Режим, ТестовыйМодуль) Экспорт ПолноеИмяМетода = СтрШаблон("%1.%2", ТестовыйМодуль.МетаданныеМодуля.Имя, Тест.Имя); @@ -382,6 +387,7 @@ ОписаниеТеста.Вставить("НастройкиВыполнения", Тест.НастройкиВыполнения); ОписаниеТеста.Вставить("Параметры", Тест.Параметры); + //@skip-check constructor-function-return-section Возврат ОписаниеТеста; КонецФункции @@ -440,6 +446,7 @@ Описание.Вставить("ОшибкаУтверждения", Ложь); Описание.Вставить("Сообщение", ""); + //@skip-check constructor-function-return-section Возврат Описание; КонецФункции @@ -485,7 +492,7 @@ // * ТипОшибки - Строка - Тип возникшей ошибки. Доступные значения см. ЮТФабрика.ТипыОшибок Функция ОписаниеВозникшейОшибки(Сообщение) Экспорт - Возврат Новый Структура("Сообщение, Стек, ТипОшибки", Сообщение); + Возврат Новый Структура("Сообщение, Стек, ТипОшибки", Сообщение, "", ""); КонецФункции @@ -508,6 +515,7 @@ Описание.Вставить("ПроверяемоеЗначение"); Описание.Вставить("ОжидаемоеЗначение"); + //@skip-check constructor-function-return-section Возврат Описание; КонецФункции @@ -536,14 +544,14 @@ // // Параметры: // Модуль - см. ЮТФабрика.ОписаниеТестовогоМодуля -// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов -// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста +// Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов +// Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста // // Возвращаемое значение: // Структура - Описание события исполнения тестов: // * Модуль - см. ЮТФабрика.ОписаниеТестовогоМодуля -// * Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов -// * Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста +// * Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов +// * Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста Функция ОписаниеСобытияИсполненияТестов(Модуль, Набор = Неопределено, Тест = Неопределено) Экспорт Описание = Новый Структура(); @@ -551,7 +559,8 @@ Описание.Вставить("Набор", Набор); Описание.Вставить("Тест", Тест); - Возврат Описание; + //@skip-check constructor-function-return-section + Возврат Описание; КонецФункции @@ -883,13 +892,13 @@ Функция ПараметрыФильтрации() Экспорт Параметры = Новый Структура; - Параметры.Вставить("extensions"); - Параметры.Вставить("modules"); - Параметры.Вставить("suites"); - Параметры.Вставить("tags"); - Параметры.Вставить("contexts"); - Параметры.Вставить("paths"); - Параметры.Вставить("tests"); + Параметры.Вставить("extensions", Неопределено); + Параметры.Вставить("modules", Неопределено); + Параметры.Вставить("suites", Неопределено); + Параметры.Вставить("tags", Неопределено); + Параметры.Вставить("contexts", Неопределено); + Параметры.Вставить("paths", Неопределено); + Параметры.Вставить("tests", Неопределено); Возврат Параметры; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" index 528c0fe52..1daedbb4d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" @@ -158,7 +158,7 @@ Параметры = Новый Структура("Файл, ИмяАтрибута, Обработчик", Файл, ИмяАтрибута, Обработчик); Параметры.Вставить("ЗначениеПоУмолчанию", ЗначениеПоУмолчанию); - Возврат Новый ОписаниеОповещения("ПолучитьАтрибутФайла", ЮТФайлы, Параметры); + Возврат Новый ОписаниеОповещения("ПолучитьАтрибутФайла", ЭтотОбъект, Параметры); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\270\320\273\321\214\321\202\321\200\320\260\321\206\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\270\320\273\321\214\321\202\321\200\320\260\321\206\320\270\321\217/Module.bsl" index 19fddb0af..e9ee85d40 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\270\320\273\321\214\321\202\321\200\320\260\321\206\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\270\320\273\321\214\321\202\321\200\320\260\321\206\320\270\321\217/Module.bsl" @@ -146,8 +146,10 @@ // * Теги - Массив из Строка // * Контексты - Массив из Строка - Контексты вызова тестовых методов // * Тесты - Массив из см. ОписаниеИмениТеста - Список путей к тестовым методам +// * Пути - Массив из Строка Функция Фильтр() Экспорт + //@skip-check structure-consructor-too-many-keys Фильтр = Новый Структура("Расширения, Модули, Наборы, Теги, Контексты, Пути, Тесты"); Фильтр.Расширения = Новый Структура(); @@ -158,6 +160,7 @@ Фильтр.Пути = Новый Массив(); Фильтр.Тесты = Новый Массив(); + //@skip-check constructor-function-return-section Возврат Фильтр; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" index 1710a2124..5a1d74f7e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -55,7 +55,7 @@ // Возвращаемое значение: // - Неопределено - Если это не тестовый модуль // - см. ЮТФабрика.ОписаниеТестовогоМодуля -Функция ИсполняемыеСценарииМодуля(МетаданныеМодуля) Экспорт +Функция ИсполняемыеСценарииМодуля(Знач МетаданныеМодуля) Экспорт ЭтоТестовыйМодуль = Истина; ОписаниеТестовогоМодуля = ЮТФабрика.ОписаниеТестовогоМодуля(МетаданныеМодуля, Новый Массив); @@ -136,6 +136,7 @@ #КонецЕсли Если МетаданныеМодуля.Сервер Тогда + //@skip-check unknown-method-property Возврат ЮТЧитательСервер.ЭтоТестовыйМодуль(МетаданныеМодуля); Иначе Возврат Ложь; @@ -161,6 +162,7 @@ ТестовыеМодули = Новый Массив; + //@skip-check unknown-method-property МодулиРасширения = ЮТМетаданныеСервер.МодулиРасширений(); Для Каждого ОписаниеМодуля Из МодулиРасширения Цикл @@ -220,25 +222,6 @@ КонецФункции -Функция Фильтр(ПараметрыЗапуска) - - Фильтр = Новый Структура("Расширения, Модули, Наборы, Теги, Контексты, Пути"); - - Фильтр.Расширения = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "extensions"); - Фильтр.Модули = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "modules"); - Фильтр.Теги = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "tags"); - Фильтр.Контексты = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "contexts"); - // TODO: Подумать в каком формате задать наборы - ИмяМодуля.Набор, Набор или другой вариант - Фильтр.Наборы = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "suites"); - - // TODO: Обработка путей в формате: Модуль.ИмяТеста, ИмяТеста - метод, параметры, контекст - // ОМ_ЮТУтверждения.Что[0: 1].Сервер, ОМ_ЮТУтверждения.Что[1: Структура].Сервер - Фильтр.Пути = ЮТОбщий.ЗначениеСтруктуры(ПараметрыЗапуска.filter, "paths"); - - Возврат Фильтр; - -КонецФункции - Процедура УдалитьНастройкиМодуляИзПервогоНабора(СценарииМодуля) НастройкиВыполнения = ЮТОбщий.СкопироватьРекурсивно(СценарииМодуля.НастройкиВыполнения); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 8743cf980..adc856ce0 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -19,9 +19,9 @@ #Область СлужебныйПрограммныйИнтерфейс // См. ЮТЧитатель.ИсполняемыеСценарииМодуля -Функция ИсполняемыеСценарииМодуля(Знач ОписаниеМодуля) Экспорт +Функция ИсполняемыеСценарииМодуля(Знач МетаданныеМодуля) Экспорт - Возврат ЮТЧитатель.ИсполняемыеСценарииМодуля(ОписаниеМодуля); + Возврат ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" new file mode 100644 index 000000000..2fab39597 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214\320\241\320\265\321\200\320\262\320\265\321\200.suppress" @@ -0,0 +1,4 @@ + + + + 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 5def9d1bd..9d191f04a 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" @@ -113,10 +113,11 @@ // // Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`. // Возвращаемое значение: -// Структура - Контекст теста -// Неопределено - Если метод вызывается за рамками теста +// - Структура - Контекст теста +// - Неопределено - Если метод вызывается за рамками теста Функция КонтекстТеста() Экспорт + //@skip-check constructor-function-return-section Возврат ЮТКонтекст.КонтекстТеста(); КонецФункции @@ -132,8 +133,8 @@ // // Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеКаждогоТеста`. // Возвращаемое значение: -// Структура - Контекст набора тестов -// Неопределено - Если метод вызывается за рамками тестового набора +// - Структура - Контекст набора тестов +// - Неопределено - Если метод вызывается за рамками тестового набора Функция КонтекстТестовогоНабора() Экспорт //@skip-check constructor-function-return-section @@ -152,6 +153,7 @@ // - Неопределено - Если метод вызывается за рамками тестового модуля Функция КонтекстМодуля() Экспорт + //@skip-check constructor-function-return-section Возврат ЮТКонтекст.КонтекстМодуля(); КонецФункции diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index c5e7d3d10..6eb91e821 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -1,6 +1,10 @@ YAXUNIT + + ru + YAxUnit + Adopted Extended @@ -26,8 +30,8 @@ ru Subsystem.ЮТДвижок - Subsystem.ЮТПодражатель - Subsystem.ЮТФункциональность + Subsystem.ЮТДинамическиПодключаемые + Subsystem.ЮТПубличный CommonPicture.ЮТНеизвестный CommonPicture.ЮТОшибка CommonPicture.ЮТПодсистема diff --git a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl index 7e8be6169..5bed2fd85 100644 --- a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl +++ b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl @@ -32,6 +32,7 @@ ///////////////////////////////////////////////////////////////////////////////// // Используется для перехвата управления расширением после отработки запуска приложения +//@skip-check not-allowed-pragma &После("ПриНачалеРаботыСистемы") Процедура ЮТПриНачалеРаботыСистемы() diff --git a/exts/yaxunit/src/Configuration/OrdinaryApplicationModule.bsl b/exts/yaxunit/src/Configuration/OrdinaryApplicationModule.bsl index 49dfc4279..612644921 100644 --- a/exts/yaxunit/src/Configuration/OrdinaryApplicationModule.bsl +++ b/exts/yaxunit/src/Configuration/OrdinaryApplicationModule.bsl @@ -32,6 +32,7 @@ ///////////////////////////////////////////////////////////////////////////////// // Используется для перехвата управления расширением после отработки запуска приложения +//@skip-check not-allowed-pragma &После("ПриНачалеРаботыСистемы") Процедура ЮТПриНачалеРаботыСистемы() diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" index 616499b2f..1d324aec4 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" @@ -25,6 +25,7 @@ #КонецОбласти +//@skip-check module-structure-top-region #Область ПрограммныйИнтерфейс // Устанавливает значение реквизита создаваемого объекта. @@ -200,8 +201,8 @@ // Возвращает данные текущей строки табличной части объекта. // // Возвращаемое значение: -// Структура - Данные строки -// Неопределено - Если заполняется объект +// - Структура - Данные строки +// - Неопределено - Если заполняется объект &НаКлиенте Функция ДанныеСтроки() Экспорт @@ -222,6 +223,7 @@ #КонецОбласти +//@skip-check module-structure-top-region #Область СлужебныйПрограммныйИнтерфейс &НаКлиенте diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" index 2b8637f1f..80052cbfd 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" @@ -189,8 +189,8 @@ // Возвращает данные текущей строки табличной части объекта. // // Возвращаемое значение: -// Структура - Данные строки -// Неопределено - Если заполняется объект +// - Структура - Данные строки +// - Неопределено - Если заполняется объект Функция ДанныеСтроки() Экспорт Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтроки(Контекст); diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Form.suppress" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Form.suppress" new file mode 100644 index 000000000..4ec4b2b7c --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\256\320\275\320\270\321\202\320\242\320\265\321\201\321\202\321\213/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217/Form.suppress" @@ -0,0 +1,4 @@ + + + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" "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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" rename to "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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/CommandInterface.cmi" 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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214.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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214.mdo" new file mode 100644 index 000000000..6b30b5377 --- /dev/null +++ "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\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214.mdo" @@ -0,0 +1,22 @@ + + + ЮТИсполнитель + + ru + Исполнитель + + true + + ru + Функциональность запуска тестирования + + CommonModule.ЮТИсполнительГлобальный + CommonModule.ЮТИсполнительКлиент + CommonModule.ЮТИсполнительКлиентСервер + CommonModule.ЮТИсполнительСервер + CommonModule.ЮТЧитатель + CommonModule.ЮТЧитательСервер + CommonModule.ЮТФильтрация + CommonModule.ЮТПараметрыЗапуска + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" "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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" rename to "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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/CommandInterface.cmi" 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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.mdo" new file mode 100644 index 000000000..59fbb6222 --- /dev/null +++ "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\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202.mdo" @@ -0,0 +1,18 @@ + + + ЮТКонтекст + + ru + Контекст + + true + + ru + Функциональность работы с контекстами + + CommonModule.ЮТКонтекст + CommonModule.ЮТКонтекстКлиент + CommonModule.ЮТКонтекстТеста + CommonModule.ЮТКонтекстСервер + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" "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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" rename to "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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommandInterface.cmi" 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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/\320\256\320\242\320\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/\320\256\320\242\320\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.mdo" new file mode 100644 index 000000000..e2853a67e --- /dev/null +++ "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\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/\320\256\320\242\320\234\320\276\320\272\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.mdo" @@ -0,0 +1,18 @@ + + + ЮТМокирование + + ru + Мокирование + + true + + ru + Содержит функциональности мокирования данных + + CommonModule.МокитоОбучение + CommonModule.МокитоПроверки + CommonModule.МокитоСлужебный + DataProcessor.ЮТHTTPСервисЗапрос + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" "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/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" rename to "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/CommandInterface.cmi" 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" new file mode 100644 index 000000000..377ee3c6f --- /dev/null +++ "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" @@ -0,0 +1,44 @@ + + + ЮТСервис + + ru + Сервис + + true + + ru + Сервисная функциональность работы движка + + CommonModule.ЮТЛогированиеВызовСервера + CommonModule.ЮТАсинхроннаяОбработкаСлужебныйКлиент + CommonModule.ЮТФабрика + CommonModule.ЮТФайлы + CommonModule.ЮТТипыДанныхСлужебный + CommonModule.ЮТСообщенияСлужебный + CommonModule.ЮТСобытия + CommonModule.ЮТРегистрацияОшибок + CommonModule.ЮТРасширения + CommonModule.ЮТПроверкиСлужебный + CommonTemplate.ЮТRegEx1CAddin + CommonTemplate.ЮТYaxUnitAddIn + CommonPicture.ЮТНеизвестный + CommonPicture.ЮТОшибка + CommonPicture.ЮТПодсистема + CommonPicture.ЮТПропущен + CommonPicture.ЮТУпал + CommonPicture.ЮТУспешно + CommonPicture.ЮТЭлементыТестов + CommonModule.ЮТКомпоненты + CommonModule.ЮТКомпонентыВызовСервера + CommonModule.ЮТКомпонентыКлиент + CommonModule.ЮТЛокальСлужебный + CommonModule.ЮТМетаданныеПовтИсп + CommonModule.ЮТМетаданныеСервер + CommonModule.ЮТОбщийВызовСервера + CommonModule.ЮТПовторногоИспользования + CommonTemplate.ЮТОписаниеМетаданных + CommonModule.ЮТНастройкиВыполнения + CommonModule.ЮТОтчет + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" rename to "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/CommandInterface.cmi" diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/CommandInterface.cmi" "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/CommandInterface.cmi" rename to "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" similarity index 51% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.mdo" rename to "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" index 9df724a51..493a7a04b 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" @@ -1,17 +1,25 @@ - - ЮТПодражатель_Реализация_Люди + + ЮТПодражатель ru - ЮТПодражатель реализация люди + Подражатель true + CommonModule.ЮТПодражатель + CommonModule.ЮТПодражатель_Банки + CommonModule.ЮТПодражатель_Компании + CommonModule.ЮТПодражатель_Люди + CommonModule.ЮТПодражательВызовСервера + CommonModule.ЮТПодражательПовтИсп + CommonModule.ЮТПодражательСлужебный + CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru + CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru - CommonModule.ЮТПодражатель_Люди + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru - Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации + Subsystem.ЮТДвижок.Subsystem.ЮТТестовыеДанные 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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mdo" new file mode 100644 index 000000000..65cbcd3f4 --- /dev/null +++ "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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265.mdo" @@ -0,0 +1,24 @@ + + + ЮТТестовыеДанные + + ru + Тестовые данные + + true + + ru + Реализация генерации и работы с тестовыми данными + + CommonModule.ЮТКонструкторТестовыхДанныхСлужебный + CommonModule.ЮТТестовыеДанные + CommonModule.ЮТТестовыеДанные_ТаблицыЗначений + CommonModule.ЮТТестовыеДанныеВызовСервера + CommonModule.ЮТТестовыеДанныеСлужебный + DataProcessor.ЮТКонструкторТестовыхДанных + CommonModule.ЮТСтроки + CommonModule.ЮТПреобразования + CommonModule.ЮТКонструкторВариантов + ЮТПодражатель + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/CommandInterface.cmi" "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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/CommandInterface.cmi" rename to "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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/CommandInterface.cmi" 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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..6d5974624 --- /dev/null +++ "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\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,22 @@ + + + ЮТУтверждения + + ru + Утверждения + + true + + ru + Реализация утверждений для проверки результатов при тестировании + + CommonModule.ЮТУтверждения + CommonModule.ЮТУтвержденияИБ + CommonModule.ЮТПредикаты + CommonModule.ЮТПредикатыКлиентСервер + CommonModule.ЮТЗапросыВызовСервера + CommonModule.ЮТЗапросыКлиентСервер + CommonModule.ЮТСравнениеСервер + CommonModule.ЮТСравнениеКлиентСервер + Subsystem.ЮТДвижок + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 5d0b0eed6..5f3257163 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -1,99 +1,15 @@ - + ЮТДвижок ru Юнит тесты - true - - CommonPicture.ЮТПодсистема - - CommonModule.Мокито - CommonModule.МокитоОбучение - CommonModule.МокитоПроверки - CommonModule.МокитоСлужебный - CommonModule.ЮТАсинхроннаяОбработкаСлужебныйКлиент - CommonModule.ЮТест - CommonModule.ЮТЗапросы - CommonModule.ЮТЗапросыВызовСервера - CommonModule.ЮТЗапросыКлиентСервер - CommonModule.ЮТИсполнительКлиент - CommonModule.ЮТИсполнительКлиентСервер - CommonModule.ЮТИсполнительСервер - CommonModule.ЮТКомпоненты - CommonModule.ЮТКомпонентыВызовСервера - CommonModule.ЮТКомпонентыКлиент - CommonModule.ЮТКонструкторВариантов - CommonModule.ЮТКонструкторТестовыхДанныхСлужебный - CommonModule.ЮТКонтекст - CommonModule.ЮТКонтекстКлиент - CommonModule.ЮТКонтекстСервер - CommonModule.ЮТКонтекстТеста - CommonModule.ЮТЛогирование - CommonModule.ЮТЛогированиеВызовСервера - CommonModule.ЮТЛокальСлужебный - CommonModule.ЮТМетаданные - CommonModule.ЮТМетаданныеПовтИсп - CommonModule.ЮТМетаданныеСервер - CommonModule.ЮТНастройкиВыполнения - CommonModule.ЮТОбщий - CommonModule.ЮТОбщийВызовСервера - CommonModule.ЮТОтчет - CommonModule.ЮТОтчетJSON - CommonModule.ЮТОтчетJUnit - CommonModule.ЮТПараметрыЗапуска - CommonModule.ЮТПовторногоИспользования - CommonModule.ЮТПодражатель - CommonModule.ЮТПодражатель_Банки - CommonModule.ЮТПодражатель_Компании - CommonModule.ЮТПодражатель_Люди - CommonModule.ЮТПодражательВызовСервера - CommonModule.ЮТПодражательПовтИсп - CommonModule.ЮТПодражательСлужебный - CommonModule.ЮТПредикаты - CommonModule.ЮТПредикатыКлиентСервер - CommonModule.ЮТПреобразования - CommonModule.ЮТПроверкиСлужебный - CommonModule.ЮТРасширения - CommonModule.ЮТРегистрацияОшибок - CommonModule.ЮТСобытия - CommonModule.ЮТСообщенияСлужебный - CommonModule.ЮТСравнениеКлиентСервер - CommonModule.ЮТСравнениеСервер - CommonModule.ЮТСтроки - CommonModule.ЮТТестовыеДанные - CommonModule.ЮТТестовыеДанные_ТаблицыЗначений - CommonModule.ЮТТестовыеДанныеВызовСервера - CommonModule.ЮТТестовыеДанныеСлужебный - CommonModule.ЮТТесты - CommonModule.ЮТТипыДанныхСлужебный - CommonModule.ЮТУтверждения - CommonModule.ЮТУтвержденияИБ - CommonModule.ЮТФабрика - CommonModule.ЮТФайлы - CommonModule.ЮТФильтрация - CommonModule.ЮТЧитатель - CommonModule.ЮТЧитательСервер - CommonPicture.ЮТНеизвестный - CommonPicture.ЮТОшибка - CommonPicture.ЮТПодсистема - CommonPicture.ЮТПропущен - CommonPicture.ЮТУпал - CommonPicture.ЮТУспешно - CommonPicture.ЮТЭлементыТестов - CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru - CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru - CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru - CommonTemplate.ЮТRegEx1CAddin - CommonTemplate.ЮТYaxUnitAddIn - CommonTemplate.ЮТОписаниеМетаданных - DataProcessor.ЮТHTTPСервисЗапрос - DataProcessor.ЮТКонструкторТестовыхДанных - DataProcessor.ЮТЮнитТесты + true + ЮТИсполнитель + ЮТКонтекст + ЮТМокирование + ЮТСервис + ЮТТестовыеДанные + ЮТУтверждения diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/CommandInterface.cmi" similarity index 100% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" rename to "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/CommandInterface.cmi" diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" similarity index 76% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" rename to "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" index 8d6ab383c..d4985f814 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" @@ -3,14 +3,13 @@ ЮТОбработчикиСобытий ru - ЮТОбработчики событий + Обработчики событий true - true CommonModule.МокитоСлужебный CommonModule.ЮТИсполнительКлиент CommonModule.ЮТЛогирование CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТУтверждения - Subsystem.ЮТФункциональность + Subsystem.ЮТДинамическиПодключаемые diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" similarity index 67% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" rename to "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" index a3a35495f..7be2a4e5a 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260/\320\256\320\242\320\244\320\276\321\200\320\274\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\236\321\202\321\207\320\265\321\202\320\260.mdo" @@ -6,8 +6,11 @@ Формирование отчета true - true + + ru + Функциональность формирования отчетов + CommonModule.ЮТОтчетJSON CommonModule.ЮТОтчетJUnit - Subsystem.ЮТФункциональность + Subsystem.ЮТДинамическиПодключаемые diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\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\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265.mdo" similarity index 53% rename from "exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214.mdo" rename to "exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\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\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265.mdo" index fc229002d..6ec3f85f0 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\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\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265.mdo" @@ -1,11 +1,15 @@ - ЮТФункциональность + ЮТДинамическиПодключаемые ru - Функциональность + Динамически подключаемые true + + ru + Содержит подсистемы с динамически подключаемой (загружаемой) функциональностью + ЮТОбработчикиСобытий ЮТФормированиеОтчета diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" deleted file mode 100644 index 86fa80391..000000000 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" +++ /dev/null @@ -1,11 +0,0 @@ - - - ЮТПодражатель_Реализация_Банки - - ru - ЮТПодражатель реализация банки - - true - CommonModule.ЮТПодражатель_Банки - Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации - diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" deleted file mode 100644 index 90dd7745e..000000000 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" +++ /dev/null @@ -1,13 +0,0 @@ - - - ЮТПодражатель_Реализация_Компании - - ru - ЮТПодражатель реализация компании - - true - CommonModule.ЮТПодражатель_Компании - CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru - CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru - Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации - diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" deleted file mode 100644 index 1e60caa58..000000000 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" +++ /dev/null @@ -1,13 +0,0 @@ - - - ЮТПодражательРеализации - - ru - ЮТПодражатель реализации - - true - ЮТПодражатель_Реализация_Банки - ЮТПодражатель_Реализация_Компании - ЮТПодражатель_Реализация_Люди - Subsystem.ЮТПодражатель - diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" deleted file mode 100644 index 001c7b5d2..000000000 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" +++ /dev/null @@ -1,14 +0,0 @@ - - - ЮТПодражатель - - ru - Подражатель - - true - CommonModule.ЮТПодражатель - CommonModule.ЮТПодражательПовтИсп - CommonModule.ЮТПодражательВызовСервера - CommonModule.ЮТПодражательСлужебный - ЮТПодражательРеализации - diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..a898a25a8 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271/\320\256\320\242\320\237\321\203\320\261\320\273\320\270\321\207\320\275\321\213\320\271.mdo" @@ -0,0 +1,26 @@ + + + ЮТПубличный + + ru + YAxUnit + + true + true + + ru + Публичные API и инструменты, применяемые при написании тестов и самом тестировании. Остальные использовать напрямую не рекомендуется + + + CommonPicture.ЮТПодсистема + + CommonModule.ЮТест + CommonModule.ЮТОбщий + CommonModule.ЮТТесты + CommonModule.Мокито + CommonModule.ЮТЗапросы + CommonModule.ЮТМетаданные + CommonModule.ЮТЛогирование + DataProcessor.ЮТЮнитТесты + CommonModule.ЮТУтверждения + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index af5ca7c03..caaa5ee52 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -415,16 +415,16 @@ .Вернуть(200) .Прогон(); - ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); - ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("sessions")).Равно(200); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("sessions")).Равно(200); Мокито.Обучение(Интеграция, Ложь) .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров("sessions")) .Вернуть(403) .Прогон(); - ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); - ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("sessions")).Равно(403); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("sessions")).Равно(403); КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" index 734f1f503..455bd130b 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" @@ -49,8 +49,8 @@ #КонецОбласти Процедура БИК() Экспорт - БИК = ЮТТестовыеДанные.Подражатель().Банки().БИК(); - Ютест.ОжидаетЧто(БИК) + БИК = ЮТест.Данные().Подражатель().Банки().БИК(); + ЮТест.ОжидаетЧто(БИК) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(9) @@ -58,11 +58,11 @@ КонецПроцедуры Процедура НомерСчета() Экспорт - БИК = ЮТТестовыеДанные.Подражатель().Банки().БИК(); + БИК = ЮТест.Данные().Подражатель().Банки().БИК(); КодВалюты = "978"; - НомерСчета = ЮТТестовыеДанные.Подражатель().Банки().НомерСчета(БИК, КодВалюты); + НомерСчета = ЮТест.Данные().Подражатель().Банки().НомерСчета(БИК, КодВалюты); - Ютест.ОжидаетЧто(НомерСчета) + ЮТест.ОжидаетЧто(НомерСчета) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(20) diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" index 960de25b0..fe3ccd688 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" @@ -50,8 +50,8 @@ #КонецОбласти Процедура Наименование() Экспорт - Имя = ЮТТестовыеДанные.Подражатель().Компании().Наименование(); - Ютест.ОжидаетЧто(Имя) + Имя = ЮТест.Данные().Подражатель().Компании().Наименование(); + ЮТест.ОжидаетЧто(Имя) .ИмеетТип("Строка") .Заполнено() ; @@ -62,8 +62,8 @@ КонецПроцедуры Процедура ИНН() Экспорт - ИНН = ЮТТестовыеДанные.Подражатель().Компании().ИНН("77"); - Ютест.ОжидаетЧто(ИНН) + ИНН = ЮТест.Данные().Подражатель().Компании().ИНН("77"); + ЮТест.ОжидаетЧто(ИНН) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(10) @@ -73,8 +73,8 @@ КонецПроцедуры Процедура КПП() Экспорт - ИНН = ЮТТестовыеДанные.Подражатель().Компании().КПП("7701"); - Ютест.ОжидаетЧто(ИНН) + ИНН = ЮТест.Данные().Подражатель().Компании().КПП("7701"); + ЮТест.ОжидаетЧто(ИНН) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(9) diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" index 2a1750729..1ce8676a3 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" @@ -58,8 +58,8 @@ #КонецОбласти Процедура Имя() Экспорт - Имя = ЮТТестовыеДанные.Подражатель().Люди().Имя(); - Ютест.ОжидаетЧто(Имя) + Имя = ЮТест.Данные().Подражатель().Люди().Имя(); + ЮТест.ОжидаетЧто(Имя) .ИмеетТип("Строка") .Заполнено() ; @@ -70,8 +70,8 @@ КонецПроцедуры Процедура Фамилия() Экспорт - Фамилия = ЮТТестовыеДанные.Подражатель().Люди().Фамилия(); - Ютест.ОжидаетЧто(Фамилия) + Фамилия = ЮТест.Данные().Подражатель().Люди().Фамилия(); + ЮТест.ОжидаетЧто(Фамилия) .ИмеетТип("Строка") .Заполнено() ; @@ -82,8 +82,8 @@ КонецПроцедуры Процедура Отчество() Экспорт - Отчество = ЮТТестовыеДанные.Подражатель().Люди().Отчество(); - Ютест.ОжидаетЧто(Отчество) + Отчество = ЮТест.Данные().Подражатель().Люди().Отчество(); + ЮТест.ОжидаетЧто(Отчество) .ИмеетТип("Строка") .Заполнено() ; @@ -94,8 +94,8 @@ КонецПроцедуры Процедура ФИО() Экспорт - ФИО = ЮТТестовыеДанные.Подражатель().Люди().ФИО(); - Ютест.ОжидаетЧто(ФИО) + ФИО = ЮТест.Данные().Подражатель().Люди().ФИО(); + ЮТест.ОжидаетЧто(ФИО) .ИмеетТип("Строка") .Заполнено() ; @@ -106,8 +106,8 @@ КонецПроцедуры Процедура ИНН() Экспорт - ИНН = ЮТТестовыеДанные.Подражатель().Люди().ИНН(); - Ютест.ОжидаетЧто(ИНН) + ИНН = ЮТест.Данные().Подражатель().Люди().ИНН(); + ЮТест.ОжидаетЧто(ИНН) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(12) @@ -115,8 +115,8 @@ КонецПроцедуры Процедура СНИЛС() Экспорт - СНИЛС = ЮТТестовыеДанные.Подражатель().Люди().СНИЛС(); - Ютест.ОжидаетЧто(СНИЛС) + СНИЛС = ЮТест.Данные().Подражатель().Люди().СНИЛС(); + ЮТест.ОжидаетЧто(СНИЛС) .ИмеетТип("Строка") .Заполнено() .ИмеетДлину(14) @@ -125,7 +125,7 @@ Процедура УстановкаЛокализации() Экспорт - Подражатель = ЮТТестовыеДанные.Подражатель(); + Подражатель = ЮТест.Данные().Подражатель(); ЮТест.ОжидаетЧто(Подражатель.Локализация()) .Равно("ru") ; @@ -138,7 +138,7 @@ КонецПроцедуры Процедура НесуществующийСловарьПоЛокализации() Экспорт - Подражатель = ЮТТестовыеДанные.Подражатель(); + Подражатель = ЮТест.Данные().Подражатель(); Подражатель.УстановитьЛокализацию("en"); Ютест.ОжидаетЧто(ЮТПодражатель_Люди) .Метод("Имя") @@ -147,7 +147,7 @@ КонецПроцедуры Процедура НереализованныйПолЧеловека() Экспорт - Подражатель = ЮТТестовыеДанные.Подражатель(); + Подражатель = ЮТест.Данные().Подражатель(); Ютест.ОжидаетЧто(ЮТПодражатель_Люди) .Метод("Имя", ЮТОбщий.ЗначениеВМассиве("ТрансгендернаяДевушкаОлень")) .ВыбрасываетИсключение("Отсутствует реализация словаря") diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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 e6525c48b..f87023ada 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\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" @@ -62,7 +62,7 @@ Объект = Новый Структура("Число, Пусто, Строка", 3, Неопределено, "123"); Объект.Вставить("ВложенныйОбъект", Новый Структура("Число", 2)); - Выражения = ЮТПредикаты.Выражения(); + Выражения = ЮТест.Предикат().Выражения(); Варианты = ЮТест.Варианты("ВидСравнения, Значение, Сообщение, ИмяСвойства") .Добавить(Выражения.Равно, 2, "равно `2`") diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 55fa3d58c..516134eb5 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -60,7 +60,7 @@ КонецЦикла; - ЮТТестовыеДанные.Удалить(Ссылки); + ЮТест.Данные().Удалить(Ссылки); Для Каждого Ссылка Из Ссылки Цикл From 5ddeb107fce68bfb89de23504f3695b7c1f2364a Mon Sep 17 00:00:00 2001 From: Maximov Valery Date: Fri, 15 Dec 2023 16:16:47 +0300 Subject: [PATCH 60/65] =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=B4=D1=81=D0=B8=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" | 4 ++++ ...0\241\320\276\320\261\321\213\321\202\320\270\320\271.mdo" | 4 ++++ 2 files changed, 8 insertions(+) diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index 5f3257163..49572ea41 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -6,6 +6,10 @@ Юнит тесты true + + ru + Внутренняя реализация инструмента + ЮТИсполнитель ЮТКонтекст ЮТМокирование diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" index d4985f814..cf120167b 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\237\320\276\320\264\320\272\320\273\321\216\321\207\320\260\320\265\320\274\321\213\320\265/Subsystems/\320\256\320\242\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/\320\256\320\242\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.mdo" @@ -6,6 +6,10 @@ Обработчики событий true + + ru + Подключаемые обработчики событий тестов + CommonModule.МокитоСлужебный CommonModule.ЮТИсполнительКлиент CommonModule.ЮТЛогирование From 8357d89d897b877118df0255520eb10967e1d91d Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 19 Dec 2023 10:36:40 +1000 Subject: [PATCH 61/65] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B4=D0=B5=D1=80?= =?UTF-8?q?=D0=B6=D0=BA=D0=B0=20=D0=B0=D0=BD=D0=B3=D0=BB=D0=BE=D1=8F=D0=B7?= =?UTF-8?q?=D1=8B=D1=87=D0=BD=D1=8B=D1=85=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=B0=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 25 +- .../Module.bsl" | 12 +- .../Module.bsl" | 21 +- .../Template.txt" | 49 ++-- .../src/Configuration/Configuration.mdo | 1 + .../ManagedApplicationModule.bsl | 7 + .../ObjectModule.bsl" | 252 ++++++++++++++++++ .../\320\256\320\242HTTPServiceRequest.mdo" | 13 + 8 files changed, 354 insertions(+), 26 deletions(-) create mode 100644 "exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/ObjectModule.bsl" create mode 100644 "exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/\320\256\320\242HTTPServiceRequest.mdo" diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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 6db791da9..e66089009 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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" @@ -44,7 +44,12 @@ ВызватьИсключение "Несуществующий объект метаданных, либо " + ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТОбщийВызовСервера.Менеджер", Менеджер); КонецЕсли; - ИмяТипа = СтрШаблон("%1Менеджер.%2", Описание.ОписаниеТипа.Имя, Описание.Имя); + ИмяТипа = ""; + Если ЭтоАнглийскийВстроенныйЯзык() Тогда + ИмяТипа = СтрШаблон("%1Manager.%2", Описание.ОписаниеТипа.Имя, Описание.Имя); + Иначе + ИмяТипа = СтрШаблон("%1Менеджер.%2", Описание.ОписаниеТипа.Имя, Описание.Имя); + КонецЕсли; Возврат Новый(ИмяТипа); @@ -98,6 +103,18 @@ Возврат ХранилищеЗначений.Получить(); КонецФункции +Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт + + Возврат ВариантВстроенногоЯзыка() = "English"; + +КонецФункции + +Функция ЭтоРусскийВстроенныйЯзык() Экспорт + + Возврат ВариантВстроенногоЯзыка() = "Русский"; + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -118,4 +135,10 @@ КонецФункции +Функция ВариантВстроенногоЯзыка() + + Возврат String(Metadata.ScriptVariant); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 884a05d35..4d33fabfc 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -37,7 +37,11 @@ КонецЕсли; Если ЗначениеЗаполнено(Наименование) Тогда - Данные.Вставить("Наименование", Наименование); + Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда + Данные.Вставить("Description", Наименование); + Иначе + Данные.Вставить("Наименование", Наименование); + КонецЕсли; КонецЕсли; Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь); @@ -585,7 +589,11 @@ // ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок Функция HTTPСервисЗапрос() Экспорт - Возврат Обработки.ЮТHTTPСервисЗапрос.Создать(); + Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда + Возврат Обработки.ЮТHTTPServiceRequest.Создать(); + Иначе + Возврат Обработки.ЮТHTTPСервисЗапрос.Создать(); + КонецЕсли; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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 0c5b8ec8b..6f62f4641 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\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" @@ -143,7 +143,11 @@ ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ОбъектМетаданных); ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа; - ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); + Если ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык() Тогда + ИмяТипаМенеджера = СтрШаблон("%1Manager.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); + Иначе + ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); + КонецЕсли; Менеджер = Новый (ИмяТипаМенеджера); Объект = СоздатьОбъект(Менеджер, ОписаниеТипа, РеквизитыЗаполнения); @@ -301,8 +305,13 @@ Процедура ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных) + АнглийскийЯзык = ЮТОбщийВызовСервера.ЭтоАнглийскийВстроенныйЯзык(); + ИмяТипаДокумент = ?(АнглийскийЯзык,"Document","Документ"); + ИмяРеквизитаКод = ?(АнглийскийЯзык,"Code","Код"); + ИмяРеквизитаНаименование = ?(АнглийскийЯзык,"Description","Наименование"); + ОписаниеТипа = ОписаниеОбъектаМетаданных.ОписаниеТипа; - Если ОписаниеТипа.Имя = "Документ" Тогда + Если ОписаниеТипа.Имя = ИмяТипаДокумент Тогда Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда Объект.Дата = ТекущаяДатаСеанса(); КонецЕсли; @@ -311,14 +320,14 @@ КонецЕсли; КонецЕсли; - Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство("Код") - И ОписаниеОбъектаМетаданных.Реквизиты.Код.Обязательный + Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаКод) + И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаКод].Обязательный И Не ЗначениеЗаполнено(Объект.Код) Тогда Объект.УстановитьНовыйКод(); КонецЕсли; - Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство("Наименование") - И ОписаниеОбъектаМетаданных.Реквизиты.Наименование.Обязательный + Если ОписаниеОбъектаМетаданных.Реквизиты.Свойство(ИмяРеквизитаНаименование) + И ОписаниеОбъектаМетаданных.Реквизиты[ИмяРеквизитаНаименование].Обязательный И Не ЗначениеЗаполнено(Объект.Наименование) Тогда Объект.Наименование = ЮТТестовыеДанные.СлучайнаяСтрока(); КонецЕсли; diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" index a8b33dbb4..1d5d426c7 100644 --- "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" @@ -1,19 +1,34 @@ # Описание свойств метаданных -| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | СтандартныеРеквизиты | -|------------------------|-------------------------|-----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------|----------------------| -| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | + | -| Документ | Документы | СоздатьДокумент | | + | + | | | | + | + | -| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | + | -| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | + | -| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | + | -| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | + | -| РегистрСведений | РегистрыСведений | СоздатьМенеджерЗаписи | | | + | + | + | | | + | -| РегистрНакопления | РегистрыНакопления | | | | + | + | + | | | + | -| РегистрБухгалтерии | РегистрыБухгалтерии | | | | + | + | + | | | + | -| РегистрРасчета | РегистрыРасчета | | | | + | + | + | | | + | -| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | + | -| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | + | -| Перечисление | Перечисления | | | + | | | | | | + | -| Отчет | Отчеты | | | | + | | | | + | | -| Обработка | Обработки | | | | + | | | | + | | +| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | СтандартныеРеквизиты | +|----------------------------|-----------------------------|-----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------|----------------------| +| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | + | +| Документ | Документы | СоздатьДокумент | | + | + | | | | + | + | +| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | + | +| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | + | +| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | + | +| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | + | +| РегистрСведений | РегистрыСведений | СоздатьМенеджерЗаписи | | | + | + | + | | | + | +| РегистрНакопления | РегистрыНакопления | | | | + | + | + | | | + | +| РегистрБухгалтерии | РегистрыБухгалтерии | | | | + | + | + | | | + | +| РегистрРасчета | РегистрыРасчета | | | | + | + | + | | | + | +| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | + | +| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | + | +| Перечисление | Перечисления | | | + | | | | | | + | +| Отчет | Отчеты | | | | + | | | | + | | +| Обработка | Обработки | | | | + | | | | + | | +| Catalog | Catalogs | СоздатьЭлемент | + | + | + | | | | + | + | +| Document | Documents | СоздатьДокумент | | + | + | | | | + | + | +| ChartOfCharacteristicTypes | ChartsOfCharacteristicTypes | СоздатьЭлемент | + | + | + | | | | + | + | +| ChartOfAccounts | ChartsOfAccounts | СоздатьСчет | | + | + | | | | + | + | +| ChartOfCalculationTypes | ChartsOfCalculationTypes | СоздатьВидРасчета | | + | + | | | | + | + | +| ExchangePlan | ExchangePlans | СоздатьУзел | | + | + | | | | + | + | +| InformationRegister | InformationRegisters | СоздатьМенеджерЗаписи | | | + | + | + | | | + | +| AccumulationRegister | AccumulationRegisters | | | | + | + | + | | | + | +| AccountingRegister | AccountingRegisters | | | | + | + | + | | | + | +| CalculationRegister | CalculationRegisters | | | | + | + | + | | | + | +| BusinessProcess | BusinessProcesses | СоздатьБизнесПроцесс | | + | + | | | | + | + | +| Task | Tasks | СоздатьЗадачу | | + | + | | | + | + | + | +| Enum | Enums | | | + | | | | | | + | +| Report | Reports | | | | + | | | | + | | +| DataProcessor | DataProcessors | | | | + | | | | + | | diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 6eb91e821..bf6367e4a 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -117,6 +117,7 @@ CommonModule.ЮТФильтрация CommonModule.ЮТЧитатель CommonModule.ЮТЧитательСервер + DataProcessor.ЮТHTTPServiceRequest DataProcessor.ЮТHTTPСервисЗапрос DataProcessor.ЮТКонструкторТестовыхДанных DataProcessor.ЮТЮнитТесты diff --git a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl index 5bed2fd85..d58d435c5 100644 --- a/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl +++ b/exts/yaxunit/src/Configuration/ManagedApplicationModule.bsl @@ -40,4 +40,11 @@ КонецПроцедуры +&After("OnStart") +Procedure ЮТOnStart() + + ЮТИсполнительКлиент.ВыполнитьМодульноеТестирование(); + +EndProcedure + #КонецОбласти diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/ObjectModule.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/ObjectModule.bsl" new file mode 100644 index 000000000..f371f2d92 --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/ObjectModule.bsl" @@ -0,0 +1,252 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 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. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Если Сервер Тогда + +#Область ОписаниеПеременных + +//@skip-check object-module-export-variable +Var HTTPMethod Export; +//@skip-check object-module-export-variable +Var BaseURL Export; +//@skip-check object-module-export-variable +Var Headers Export; +//@skip-check object-module-export-variable +Var RelativeURL Export; +//@skip-check object-module-export-variable +Var URLParameters Export; +//@skip-check object-module-export-variable +Var QueryOptions Export; + +Var Body; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +// Возвращает тело как двоичные данные. +// +// Возвращаемое значение: +// ДвоичныеДанные - Тело +Function GetBodyAsBinaryData() Export + + BodyType = TypeOf(Body); + + If Body = Undefined Then + Return GetBinaryDataFromBase64String(""); + ElsIf BodyType = Type("BinaryData") Then + Return Body; + ElsIf BodyType = Type("String") Then + Return GetBinaryDataFromString(Body); + EndIf; + +EndFunction + +// Возвращает тело как поток. +// +// Возвращаемое значение: +// Поток - Тело +Function GetBodyAsStream() Export + + Return GetBodyAsBinaryData().OpenStreamForRead(); + +EndFunction + +// Возвращает тело как строку. +// +// Параметры: +// Кодировка - КодировкаТекста, Строка - Кодировка +// +// Возвращаемое значение: +// Строка - Тело +Function GetBodyAsString(Encoding = Undefined) Export + + BodyType = TypeOf(Body); + + If Body = Undefined Then + Return ""; + ElsIf BodyType = Тип("BinaryData") Then + Return GetStringFromBinaryData(Body, Encoding); + ElsIf BodyType = Тип("String") Then + Return Body; + EndIf; + +EndFunction + +// Устанавливает тело как двоичные данные. +// При получении тела в другом формате происходит конвертация +// +// Параметры: +// Данные - ДвоичныеДанные +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function УстановитьТелоКакДвоичныеДанные(Data) Export + + Body = Data; + Return ThisObject; + +EndFunction + +// Устанавливает тело как строку. +// При получении тела в другом формате происходит конвертация +// +// Параметры: +// Строка - Строка +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function УстановитьТелоКакСтроку(String) Export + + Body = String; + Return ThisObject; + +EndFunction + +// Устанавливает тело как строку JSON. +// Сериализует переданный объект в строку JSON и сохраняет в тело +// При получении тела в другом формате происходит конвертация +// +// Параметры: +// Данные - Произвольный +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function УстановитьТелоКакСтрокуJSON(Data) Export + + JSONWriter = Новый JSONWriter(); + JSONWriter.SetString(); + WriteJSON(JSONWriter, Data); + + Body = JSONWriter.Close(); + + Return ThisObject; + +EndFunction + +// Добавляет заголовок. +// +// Параметры: +// ИмяЗаголовка - Строка +// Значение - Строка +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function ДобавитьЗаголовок(HeaderName, Value) Export + + Headers.Insert(HeaderName, Value); + Return ThisObject; + +EndFunction + +// Добавляет параметр запроса. +// +// Параметры: +// ИмяПараметра - Строка +// Значение - Строка +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function ДобавитьПараметрЗапроса(ParameterName, Value) Export + + QueryOptions.Insert(ParameterName, Value); + Return ThisObject; + +EndFunction + +// Добавляет параметр URL. +// +// Параметры: +// ИмяПараметра - Строка +// Значение - Строка +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function ДобавитьПараметрURL(ParameterName, Value) Export + + URLParameters.Insert(ParameterName, Value); + Return ThisObject; + +EndFunction + +// Устанавливает HTTP метод +// +// Параметры: +// Значение - Строка - Имя http метода +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function Метод(Value) Export + + HTTPMethod = Value; + Return ThisObject; + +EndFunction + +// Устанавливает базовый URL. +// +// Параметры: +// Значение - Строка - базовый URL +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function БазовыйURL(Value) Export + + BaseURL = Value; + Return ThisObject; + +EndFunction + +// Устанавливает относительный URL. +// +// Параметры: +// Значение - Строка - относительный URL +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТHTTPСервисЗапрос - Мок +Function ОтносительныйURL(Value) Export + + RelativeURL = Value; + Return ThisObject; + +EndFunction + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура Initialize() + + HTTPMethod = "GET"; + BaseURL = ""; + Headers = New Map(); + RelativeURL = ""; + URLParameters = New Map(); + QueryOptions = New Map(); + +КонецПроцедуры + +#КонецОбласти + +#Область Инициализация + +Initialize(); + +#КонецОбласти + +#КонецЕсли \ No newline at end of file diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/\320\256\320\242HTTPServiceRequest.mdo" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/\320\256\320\242HTTPServiceRequest.mdo" new file mode 100644 index 000000000..578e8072c --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242HTTPServiceRequest/\320\256\320\242HTTPServiceRequest.mdo" @@ -0,0 +1,13 @@ + + + + + + + ЮТHTTPServiceRequest + + ru + Мок для HTTP Service request + + true + From c7ec755b3788472b0a4486889e413216a42cabed Mon Sep 17 00:00:00 2001 From: Richard Date: Tue, 9 Jan 2024 08:29:31 +1000 Subject: [PATCH 62/65] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B0=20=D0=92=D0=B0?= =?UTF-8?q?=D1=80=D0=B8=D0=B0=D0=BD=D1=82=D0=92=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=D0=AF=D0=B7=D1=8B=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B2=20=D0=AE=D0=A2=D0=9C=D0=B5=D1=82=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=D0=9F=D0=BE=D0=B2=D1=82=D0=98?= =?UTF-8?q?=D1=81=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 6 ++++++ .../Module.bsl" | 6 ++++++ .../Module.bsl" | 10 ++-------- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" index a9b8f99b5..f0c3b700d 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" @@ -55,4 +55,10 @@ КонецФункции +Функция ВариантВстроенногоЯзыка() Экспорт + + Возврат ЮТМетаданныеСервер.ВариантВстроенногоЯзыка(); + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 9e957a2a3..fd3127b96 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -262,6 +262,12 @@ КонецФункции +Функция ВариантВстроенногоЯзыка() Экспорт + + Возврат String(Metadata.ScriptVariant); + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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 e66089009..502197800 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\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\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" @@ -105,13 +105,13 @@ Функция ЭтоАнглийскийВстроенныйЯзык() Экспорт - Возврат ВариантВстроенногоЯзыка() = "English"; + Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "English"; КонецФункции Функция ЭтоРусскийВстроенныйЯзык() Экспорт - Возврат ВариантВстроенногоЯзыка() = "Русский"; + Возврат ЮТМетаданныеПовтИсп.ВариантВстроенногоЯзыка() = "Русский"; КонецФункции @@ -135,10 +135,4 @@ КонецФункции -Функция ВариантВстроенногоЯзыка() - - Возврат String(Metadata.ScriptVariant); - -КонецФункции - #КонецОбласти From bc124a9cb1772a90ec3edb176aa0db7ff3475f96 Mon Sep 17 00:00:00 2001 From: Nenashev Anatoliy Date: Thu, 11 Jan 2024 16:46:45 +0300 Subject: [PATCH 63/65] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D1=82=D1=8B=D1=85=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" index 65aa8e3eb..b857c7dcd 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\227\320\260\320\277\321\203\321\201\320\272\320\260/Module.bsl" @@ -79,6 +79,10 @@ Для Каждого Пара Из ПарыКлючЗначение Цикл + Если ПустаяСтрока(Пара) Тогда + Продолжить; + КонецЕсли; + КлючЗначение = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(Пара, "="); Если КлючЗначение.Количество() = 1 Тогда From ec6e4542e30e0d55d18618f6ce68725818c554ea Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 15 Jan 2024 19:17:12 +0300 Subject: [PATCH 64/65] #243 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Метод добавления нового объекта --- .../Module.bsl" | 19 +++++++++++++++++++ .../ObjectModule.bsl" | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" index 1d324aec4..adec115e8 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" @@ -167,6 +167,25 @@ КонецФункции +// Создает новый объект. +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Параметры: +// ОбменДаннымиЗагрузка - Булево - Записать объект с признаком `ОбменДанными.Загрузка = Истина` +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция ДобавитьЗапись(ОбменДаннымиЗагрузка = Ложь) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.Записать(Контекст, Ложь, ОбменДаннымиЗагрузка); + + Возврат ЭтотОбъект; + +КонецФункции + // Создает и возвращяет новый объект (не записывая его). // // Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" index 80052cbfd..8f338cd26 100644 --- "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" @@ -158,6 +158,24 @@ КонецФункции +// Создает новый объект. +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Параметры: +// ОбменДаннымиЗагрузка - Булево - Записать объект с признаком `ОбменДанными.Загрузка = Истина` +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +Функция ДобавитьЗапись(ОбменДаннымиЗагрузка = Ложь) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.Записать(Контекст, Ложь, ОбменДаннымиЗагрузка); + + Возврат ЭтотОбъект; + +КонецФункции + // Создает и возвращяет новый объект (не записывая его). // // Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. @@ -170,6 +188,7 @@ Возврат ЮТКонструкторТестовыхДанныхСлужебный.НовыйОбъект(Контекст); КонецФункции + // Создает и проводит новый документ. Возвращает объект или или ссылку на него. // // Важно, после создания данные не очищаются, поэтому многократный вызов метода создать множество объектов. From 43e68b9db85b72e2ddcdc63af3d064dae41b46b3 Mon Sep 17 00:00:00 2001 From: Aleksey Ko Date: Mon, 15 Jan 2024 19:42:04 +0300 Subject: [PATCH 65/65] Release note & bump version --- .../blog/2024/01/15-engine-release.md | 67 +++++++++++++++++++ .../src/Configuration/Configuration.mdo | 2 +- 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 documentation/blog/2024/01/15-engine-release.md diff --git a/documentation/blog/2024/01/15-engine-release.md b/documentation/blog/2024/01/15-engine-release.md new file mode 100644 index 000000000..419e58b8b --- /dev/null +++ b/documentation/blog/2024/01/15-engine-release.md @@ -0,0 +1,67 @@ +--- +title: YaxUnit. Версия 24.01 +authors: alkoleft +tags: [releases, yaxunit] +--- + +[Release 24.01](https://github.com/bia-technologies/edt-test-runner/releases/tag/24.01) + +## Новое в версии + +### Тестовые данные + +* Добавить возможность передать дополнительные свойства и режим загрузки в методы СоздатьЭлемент и СоздатьДокумент [#181](https://github.com/bia-technologies/yaxunit/issues/181) Спасибо [@SeiOkami](https://github.com/SeiOkami) +* Конструктор тестовых данных. Добавить метод перехода с заполнения табличной части на объект [#167](https://github.com/bia-technologies/yaxunit/issues/167) +* Конструктор тестовых данных, добавить метод создания записи, который возвращает сам конструктор. [#243](https://github.com/bia-technologies/yaxunit/issues/243) + +### Утверждения + +* Новое утверждение `ОжидаетЧто(Объект).ИмеетМетод(ИмяМетода)` [#224](https://github.com/bia-technologies/yaxunit/issues/224) +* Добавить поддержку передачи значения по умолчанию [#207](https://github.com/bia-technologies/yaxunit/issues/207) Спасибо [@stolya](https://github.com/stolya) +* Утверждения. Добавить поддержку проверки форматированных строк [#199](https://github.com/bia-technologies/yaxunit/issues/199) +* Доработать утверждения ИБ для проверки строк неограниченной длины [#187](https://github.com/bia-technologies/yaxunit/issues/187) +* Добавить поддержку предикатов в Утверждения.Содержит И Утверждения.НеСодержит [#179](https://github.com/bia-technologies/yaxunit/issues/179) +* Утверждения для проверки исключений методов выполнять в транзакции [#172](https://github.com/bia-technologies/yaxunit/issues/172) +* Перевод утверждений на использование предикатов [#162](https://github.com/bia-technologies/yaxunit/issues/162) +* Сравнение табличных документов по содержимому [#36](https://github.com/bia-technologies/yaxunit/issues/36) + +### Мокирование + +* Мокито. Навести порядок с мокированием ссылочных объектов. [#231](https://github.com/bia-technologies/yaxunit/issues/231) +* Настройка мокирования. Сократить настройку мокирования цепочки вызовов одного метода. [#223](https://github.com/bia-technologies/yaxunit/issues/223) + + +### Прочее + +* Поддержка англоязычных конфигураций [#238](https://github.com/bia-technologies/yaxunit/issues/238) Спасибо [@RichardTheLionJokes](https://github.com/RichardTheLionJokes) +* Вынести в ППИ метод получения свойства по по пути [#214](https://github.com/bia-technologies/yaxunit/issues/214) +* Добавить метод получения движений документа [#170](https://github.com/bia-technologies/yaxunit/issues/170) +* Сократить сообщение для сломанных тестов [#169](https://github.com/bia-technologies/yaxunit/issues/169) +* Небольшые правки [#165](https://github.com/bia-technologies/yaxunit/issues/165) +* Метод установки реквизита ссылки [#158](https://github.com/bia-technologies/yaxunit/issues/158) +* Проверка зависших транзакций [#143](https://github.com/bia-technologies/yaxunit/issues/143) + +## Исправленные ошибки + +### Запуск + +* Ошибка при чтении параметров запуска [#241](https://github.com/bia-technologies/yaxunit/issues/241) Спасибо [@1cgh](https://github.com/1cgh) +* Добавить поддержку работу инструмента под не полноправным пользователем [#212](https://github.com/bia-technologies/yaxunit/issues/212) Спасибо [@stolya](https://github.com/stolya) +* Добавить возможность внутри тестов создавать внешнюю обработку по имени [#193](https://github.com/bia-technologies/yaxunit/issues/193) Спасибо [@SeiOkami](https://github.com/SeiOkami) +* Ошибка запуска тестов из файла настроек при запрещенных синхронных вызовах [#188](https://github.com/bia-technologies/yaxunit/issues/188) + +### Мокирование + +* Не работает мокирование методов обработки, при обучении через менеджер [#217](https://github.com/bia-technologies/yaxunit/issues/217) + +### Тестовые данные + +* Ошибка генерации случайного отрицательного числа без параметров [#211](https://github.com/bia-technologies/yaxunit/issues/211) + +### CI + +* Починить тесты движка для английской локали [#160](https://github.com/bia-technologies/yaxunit/issues/160) + +### Прочее + +* При поломке контекста движка в рамках теста возникает необработаная ошибка [#234](https://github.com/bia-technologies/yaxunit/issues/234) diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index bf6367e4a..dd65555ce 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -20,7 +20,7 @@ 8.3.10 AddOn Russian - 23.08.0 + 24.01.1 Русский Adopted