From 8b0b15bd25f6a0a74b311dd7cf7d72799db25c8d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 7 May 2020 17:41:11 +0300 Subject: [PATCH 001/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=20=D0=BF=D0=BE=20=D0=B2=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=D1=83=20=D0=B4=D0=B0=D1=82=D1=8B=20=D0=B2=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ВПолеСИменемЯВвожуНачалоТекущегоМесяца - ВПолеСИменемЯВвожуКонецТекущегоМесяца - ВПолеСИменемЯВвожуНачалоСледующегоМесяца - ВПолеСИменемЯВвожуКонецСледующегоМесяца --- .../Ext/Form/Module.bsl" | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6bb017b92..93f42eb57 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -99,6 +99,11 @@ Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеЯВвожуНачалоСледующегоМесяца(Парам01)","ВПолеЯВвожуНачалоСледующегоМесяца","И в поле ""ИмяПоля"" я ввожу начало следующего месяца","Вводит в поле текстовое представление значения даты равной началу следующего месяца. Например ""01.01.2018"".","UI.Формы.Поля.Ввод даты"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеЯВвожуКонецСледующегоМесяца(Парам01)","ВПолеЯВвожуКонецСледующегоМесяца","И в поле ""ИмяПоля"" я ввожу конец следующего месяца","Вводит в поле текстовое представление значения даты равной концу следующего месяца. Например ""31.01.2018"".","UI.Формы.Поля.Ввод даты"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуНачалоТекущегоМесяца(Парам01)","ВПолеСИменемЯВвожуНачалоТекущегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу начало текущего месяца","Вводит в поле текстовое представление значения даты равной началу текущего месяца. Например ""01.01.2018"".","UI.Формы.Поля.Ввод даты"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуКонецТекущегоМесяца(Парам01)","ВПолеСИменемЯВвожуКонецТекущегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу конец текущего месяца","Вводит в поле текстовое представление значения даты равной концу текущего месяца. Например ""31.01.2018"".","UI.Формы.Поля.Ввод даты"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуНачалоСледующегоМесяца(Парам01)","ВПолеСИменемЯВвожуНачалоСледующегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу начало следующего месяца","Вводит в поле текстовое представление значения даты равной началу следующего месяца. Например ""01.01.2018"".","UI.Формы.Поля.Ввод даты"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуКонецСледующегоМесяца(Парам01)","ВПолеСИменемЯВвожуКонецСледующегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу конец следующего месяца","Вводит в поле текстовое представление значения даты равной концу следующего месяца. Например ""31.01.2018"".","UI.Формы.Поля.Ввод даты"); + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеЯВвожуТекущуюДатуИТекущееВремя(Парам01)","ВПолеЯВвожуТекущуюДатуИТекущееВремя","И в поле ""ИмяПоля"" я ввожу текущую дату и текущее время","Вводит текстовое представление значения текущей даты и времени в поле. Например ""01.01.2018 12:00:00"".","UI.Формы.Поля.Ввод даты"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуТекущуюДатуИТекущееВремя(Парам01)","ВПолеСИменемЯВвожуТекущуюДатуИТекущееВремя","И в поле с именем ""ИмяПоля"" я ввожу текущую дату и текущее время","Вводит текстовое представление значения текущей даты и времени в поле. Например ""01.01.2018 12:00:00"".","UI.Формы.Поля.Ввод даты"); @@ -5736,6 +5741,38 @@ ВПолеЯВвожуТекущуюДату(ИмяПоля,Истина); КонецПроцедуры +&НаКлиенте +//И в поле с именем "ИмяПоля" я ввожу начало текущего месяца +//@ВПолеСИменемЯВвожуНачалоТекущегоМесяца(Парам01) +Процедура ВПолеСИменемЯВвожуНачалоТекущегоМесяца(ИмяПоля) Экспорт + Текст = Формат(НачалоМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); +КонецПроцедуры + +&НаКлиенте +//И в поле с именем "ИмяПоля" я ввожу конец текущего месяца +//@ВПолеСИменемЯВвожуКонецТекущегоМесяца(Парам01) +Процедура ВПолеСИменемЯВвожуКонецТекущегоМесяца(ИмяПоля) Экспорт + Текст = Формат(КонецМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); +КонецПроцедуры + +&НаКлиенте +//И в поле с именем "ИмяПоля" я ввожу начало следующего месяца +//@ВПолеСИменемЯВвожуНачалоСледующегоМесяца(Парам01) +Процедура ВПолеСИменемЯВвожуНачалоСледующегоМесяца(ИмяПоля) Экспорт + Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); +КонецПроцедуры + +&НаКлиенте +//И в поле с именем "ИмяПоля" я ввожу конец следующего месяца +//@ВПолеСИменемЯВвожуКонецСледующегоМесяца(Парам01) +Процедура ВПолеСИменемЯВвожуКонецСледующегоМесяца(ИмяПоля) Экспорт + Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); +КонецПроцедуры + &НаКлиенте //И в поле "ИмяПоля" я ввожу начало текущего месяца //@ВПолеЯВвожуНачалоТекущегоМесяца(Парам01) From 0b6044eed87f91c4c2976cfaca87faa60dc12321 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 7 May 2020 17:53:11 +0300 Subject: [PATCH 002/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=20=D0=9F=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 40af0fb28..75562c9ad 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,4 +5,4 @@ - - -@silverbulleters/Collaborators - просьба прокомментировать и проверить +@vanessa-opensource/Collaborators - просьба прокомментировать и проверить From 57b8e2a04f88caf83aaa5d811dcea7b9510d6742 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 8 May 2020 13:46:50 +0300 Subject: [PATCH 003/421] =?UTF-8?q?=D0=92=D0=BE=D0=BF=D1=80=D0=BE=D1=81-?= =?UTF-8?q?=D0=BE=D1=82=D0=B2=D0=B5=D1=82=20=D0=9A=D0=B0=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8E=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BD=D1=8F=D1=82=D1=8C,=20=D1=87=D1=82=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=BF=D1=83=D1=89=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=20=D0=B2=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=20=D1=87?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8E=20/TE?= =?UTF-8?q?STCLIENT?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- F.A.Q.MD | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/F.A.Q.MD b/F.A.Q.MD index 1b115141c..c3a00a9de 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -37,6 +37,9 @@ 2. [Как работать с файлами внутри тестов/шагов? Как получить путь к текущему файлу или к файлу рядом с ним?](#2-как-работать-с-файлами-внутри-тестовшагов-как-получить-путь-к-текущему-файлу-или-к-файлу-рядом-с-ним) 3. [Описание плагинов](#3-описание-плагинов) +* **[Клиенты тестирования](#клиенты-тестирования)** + 1. [Как приложению понять, что оно запущено в режиме тест-клиент через опцию /TESTCLIENT?](#1-как-приложению-понять-что-оно-запущено-в-режиме-тест-клиент-через-опцию-testclient) + * **[Скриншоты](#скриншоты)** 1. [Как сохранять скриншоты при ошибках сценариев?](#1-как-сохранять-скриншоты-при-ошибках-сценариев) 2. [На CI сервере скриншот формируется, но вместо изображения чёрный экран. Как настроить сервер CI?](#2-на-ci-сервере-скриншот-формируется-но-вместо-изображения-чёрный-экран-как-настроить-сервер-ci) @@ -397,6 +400,25 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу // каждое слово с новой строки ``` +## Клиенты тестирования + +### 1. Как приложению понять, что оно запущено в режиме тест-клиент через опцию /TESTCLIENT? + +Платформа 1С не предоставляет такой возможности. + +Вообще приложение лучше бы не понимать, что он работает в тестовом окружении. + +Надежнее юзать режим установки нужных настроек перед\при запуске приложения. +Например, json-файлы настройки или другой формат устанавливают нужные тест-настройки. +В БСП используется механизм расширений, которые переустанавливают адреса сервисов на тестовые. + +Также в Ванесса-АДД можно при запуске клиента тестирования указать спец. параметр через `/C`. +например, передавать путь к json-файлу настройки или еще что-то + +А затем приложение прочитает этот параметр\файл +- и выставит нужные настройки. +- или определит, что работает в режиме тестирования, если без этого все-таки никак ) + ## Скриншоты ### 1. Как сохранять скриншоты при ошибках сценариев? From b6d4259af2d9d6e6b1f8239e6703096b2de07acc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 12 May 2020 16:34:57 +0300 Subject: [PATCH 004/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8E=20=D0=BD=D0=B0=20json-=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/README.md | 111 +++++++++++++++++++++++++++++-------------- 1 file changed, 75 insertions(+), 36 deletions(-) diff --git a/tools/JSON/README.md b/tools/JSON/README.md index df4f1c415..1916daf2f 100644 --- a/tools/JSON/README.md +++ b/tools/JSON/README.md @@ -1,72 +1,111 @@ -### Описание передачи параметров +# Файлы настройки пакетного запуска из командной строки + +В текущем каталоге указаны файлы настройки запуска + +* [vrunner.json](vrunner.json) - пример настройки пакетного запуска тестов для Vanessa-Runner +* [xUnitParams.json](xUnitParams.json) - пример настройки запуска дымовых тестов для xddTestRunner +* [tools\JSON\VBParams8310UF.json](VBParams8310UF.json) - пример настройки проверки поведения для bddRunner + +## Описание передачи параметров для bddRunner Пути к внутренним файлам задаются относительно каталога tools Например: + ``` - ./JSON/VBParams82OF.json + ./JSON/VBParams8310UF.json ``` -#### Пример json файла для одного Сборки +### Пример json-файла для одной сборки + ```json { - "ИмяСборки":"Сборка 8.2", - "ВерсияПлатформы":"8.2", - "КаталогПоискаВерсииПлатформы":"C:\\Program Files (x86)\\1cv82", - "СтрокаПодключенияКБазе":"ENTERPRISE /F.\\Distr\\v82ServiceBase /RunModeOrdinaryApplication", + "ИмяСборки":"Сборка 8.3", + "КаталогПоискаВерсииПлатформы":"C:\\Program Files (x86)\\1cv8", "ПутьКVanessaADD": "./bddRunner.epf", - "КаталогФич": "./features", - "КаталогиБиблиотек":[ - "./features/libraries" + + "КаталогПроекта": "$workspaceRoot", + "КаталогФич": "$workspaceRoot/features", + "КаталогиБиблиотек": [ + "$instrumentsRoot/features/libraries" ], - "EpfДляИнициализацияБазы": "./epf/init.epf", - "ПараметрыДляИнициализацияБазы": "./epf/init.json", - "ВыполнитьСценарии": "Истина", - "ДелатьОтчетВФорматеАллюр": "Истина", + "КаталогВнешнихОбработокEDT": "$workspaceRoot/features/Drafts/step_definitions/bin", + + "ВыполнитьСценарии": true, + "ЗавершитьРаботуСистемы": true, + "ЗакрытьTestClientПослеЗапускаСценариев": true, + "ПриравниватьPendingКFailed": false, + "ВыводитьВЛогВыполнениеШагов": true, + + "ВыгружатьСтатусВыполненияСценариевВФайл": true, + "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "$workspaceRoot/./ServiceBases/BuildStatus.log", + + "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/./ServiceBases/log.txt", + "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "./distr/BuildStatus.log", + + "ДелатьЛогВыполненияСценариевВЖР": true, + + "ДелатьОтчетВФорматеjUnit": true, + "КаталогOutputjUnit": "$workspaceRoot/./ServiceBases/junitreport", + + "ДелатьОтчетВФорматеАллюр": true, "КаталогOutputAllureБазовый": "./distr/allurereport", - "ЗавершитьРаботуСистемы": "Истина", - "ЗакрытьTestClientПослеЗапускаСценариев": "Истина", - "ДелатьЛогВыполненияСценариевВЖР": "Истина", - "ДелатьСкриншотПриВозникновенииОшибки": "Истина", + "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": true, + "ДобавлятьКИмениСценарияУсловияВыгрузки": true, + + "ДелатьСкриншотПриВозникновенииОшибки": true, "КаталогOutputСкриншоты": "./ServiceBases/ScreenShots", "КомандаСделатьСкриншот": "\"C:\\Program Files (x86)\\IrfanView\\i_view32.exe\" /capture=1 /convert=", - "ВыгружатьСтатусВыполненияСценариевВФайл": "Истина", - "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "./distr/BuildStatus.log", - "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": "Истина", - "ДобавлятьКИмениСценарияУсловияВыгрузки": "Истина", + + "ДополнительныеПараметры": { + "КаталогФичДляVBManager": "$workspaceRoot/./features" + }, + "СписокТеговИсключение":[ - "IgnoreOnCIMainBuild", - "IgnoreOn82Builds", - "IgnoreOnOFBuilds" - ] + "IgnoreOnCIMainBuild", + "IgnoreOn82Builds", + "IgnoreOnOFBuilds" + ], + + "EpfДляИнициализацияБазы": "./epf/init.epf", + "ПараметрыДляИнициализацияБазы": "./epf/init.json" } ``` -#### Значения параметров +### Значения параметров + +* КаталогФич - каталог, откуда будут загружены фичи +* КаталогиБиблиотек - массив строк. Каталоги библиотек. + * ИмяСборки - это имя будет использовано для того, чтобы идентифицировать Сборка среди других в отчете Allure и jUnit. Будет создан каталог, поэтому нельзя использовать запрещенные символы файловой системы. * ВерсияПлатформы - может быть в краткой форме, например 8.2 или 8.3 и т.д. или в более точной, например 8.3.6 или 8.3.6.1111. Для краткой формы будет взята самая свежая версия платформы. * КаталогПоискаВерсииПлатформы - каталог, где надо искать версии платформы 1С * ПутьКVanessaADD - путь к bddRunner.epf * СтрокаПодключенияКБазе - Строка подкчлючения к базе -* каталог фич - каталог, откуда будут загружены фичи -* EpfДляИнициализацияБазы - необязательный параметр. Это обработка, которая будет инициализировать БД. -* ПараметрыДляИнициализацияБазы - необязательный параметр. Это json файл, который надо будет прочитать в обработке по инициализации базы. -* ЗапускатьТолстыйКлиент - будет запущен файл 1cv8.exe вместо 1cv8c.exe + * ВыполнитьСценарии - флаг того, что будут выполнены сценарии -* ДелатьОтчетВФорматеАллюр - флаг того, что будут формировться xml файлы для отчета Allurе -* КаталогOutputAllureБазовый - в этом каталоге будут формироваться подкаталоги вида <ИмяСборки>, в которых будут лежать результаты прохождения сценариев в формате xml * ЗавершитьРаботуСистемы - флаг того, что после выполнения сценариев будет закрыт сеанс 1С, в котором шел запуск сценариев * ЗакрытьTestClientПослеЗапускаСценариев - закроет сеанс TestClient если он остался незакрытым * ДелатьЛогВыполненияСценариевВЖР - флаг того, что перед каждым сценарием и шагом будет создана запись в ЖР. Помогает при падении платформы с дампом. +* ВыводитьСообщенияВФайл - необязательный. Если указан - то будет выводится окно сообщений в файл, указанный в параметре. * ВыгружатьСтатусВыполненияСценариевВФайл - флаг, что будет создан файл со статусом всего Сборки. 0 - успешно, 1 - не успешно. * ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев - путь к файлу описанному ранее + +* ДелатьОтчетВФорматеАллюр - флаг того, что будут формировться xml файлы для отчета Allurе +* КаталогOutputAllureБазовый - в этом каталоге будут формироваться подкаталоги вида <ИмяСборки>, в которых будут лежать результаты прохождения сценариев в формате xml * СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки - флаг нужен для варианта отчета Allure, когда все сценарии хранятся не иерархически и когда, например, происходит проверка сценариев на разных версиях платформы * ДобавлятьКИмениСценарияУсловияВыгрузки - флаг нужен для того, чтобы в финальном отчете можно было отличать сценарии, если мы проверяем их больше чем в одном Сборкае + * СписокТеговИсключение - массив строк. Если в фиче есть такой тег, то она не будет загружена на выполнение. -* КаталогиБиблиотек - массив строк. Каталоги библиотек. -* ВыводитьСообщенияВФайл - необязательный. Если указан - то будет выводится окно сообщений в файл, указанный в параметре. + * ДелатьСкриншотПриВозникновенииОшибки - флаг того что при возникновении ошибки будут делаться скриншоты * КаталогOutputСкриншоты - каталог, куда будут делаться скриншоты -* Команда, которая будет выполнятся для снятия скриншота +* КомандаСделатьСкриншот - Команда, которая будет выполнятся для снятия скриншота + +* EpfДляИнициализацияБазы - необязательный параметр. Это обработка, которая будет инициализировать БД. +* ПараметрыДляИнициализацияБазы - необязательный параметр. Это json файл, который надо будет прочитать в обработке по инициализации базы. +* ЗапускатьТолстыйКлиент - будет запущен файл 1cv8.exe вместо 1cv8c.exe + * КаталогСкриптовСборкиВидео - каталог, где лежат скрипты сборки видео * СоздаватьИнструкциюВидео - флаг того, что надо делать видео инструкцию * КаталогOutputИнструкцияВидео - каталог, где окажется записанный видеоролик From da3940d6978c30788d8c69b4f4c068abc90d768f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 May 2020 15:18:18 +0300 Subject: [PATCH 005/421] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D1=8B=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #737 --- tests/smoke/readme.md | 41 ++++++++++++++++++++++++++++++++++ tests/smoke/smoke.example.json | 14 +++++++----- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index dd50f76ab..a930b6c9d 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -7,6 +7,7 @@ В настоящий момент поддерживается несколько видов дымовых тестов, реализованных отдельными обработками: * [Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных](#Дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных) +* [Дымовые тесты командного интерфейса](#Дымовые-тесты-командного-интерфейса) * [Дымовое тесты ввода документов на основании](#Дымовое-тестирование-ввода-документов-на-основании) * [Проверка макетов СКД](#Проверка-макетов-СКД) * [Дымовое тестирование настройки общих модулей и наличия подсистем](#Дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) @@ -356,6 +357,46 @@ * `ПоКоличеству` (дополнительно нужно указать свойство `КоличествоВГруппе`) - тестовые случаи объединяются в группы по N штук в каждой, группы именуются по виду метаданных + диапазон порядковых номеров, например "Справочники [1..20]", "Справочники[21..40],..." и т.п. * `НеГруппировать` (это способ по умолчанию) +## Дымовые тесты командного интерфейса + +Данный набор тестов проверяет все формы и команды, доступные пользователю через командный интерфейс. + +Главные отличия этих тестов от [дымовых тестов открытия/закрытия форм объектов метаданных и изменения метаданных](#Дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных): + +* проверяются не только формы, но и команды, в т.ч. и общие команды, и команды метаданных +* проверяются только те формы и команды, которые доступны через командный интерфейс. +* и не проверяются те формы и команды, которых нет в командной интерфейс, но на которые у пользователя есть право просмотра. + +### Настройка исключений + +Настройка исключений выполняется в общем json-файле. +Все настройки задаются в объекте с ключом `CommandInterface`. + +В настоящий момент поддерживаются 5 видов метаданных: `ОбщиеКоманды`, `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. + +Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать вид этого объекта в массиве исключений конкретного метаданного. + +### Пример файла настройки + +```json +{ + "CommandInterface" : { + "СтрогийПорядокВыполнения": true, + "ОбщиеКоманды": + [ + "ЗагрузитьДанныеИзФайла" + ], + "Справочники": + [ + "ПростойСправочник" + ] + } +} +``` + +[Пример файла настройки](./smoke.example.json) + + ## Дымовое тестирование ввода документов на основании Данная обработка может быть использована и в bdd и в tdd/xdd. diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 061e35351..421d9c528 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -49,12 +49,12 @@ ] } }, - + "ПроверкаЧтенияНеАдминистраторами": [ "ПолныеПрава", "Роль1" ], - + "smokeInputBasedOn": { "Исключения": { "ДокументыПроведенные": [ @@ -66,7 +66,7 @@ ] } }, - + "SmokeCommonModules": { "Subsystems": ["FoxyLink", "FoxyLink.GeneralSettings", @@ -79,7 +79,11 @@ "CommandInterface": { "СтрогийПорядокВыполнения": true, - "Справочники": + "ОбщиеКоманды": + [ + "ЗагрузитьДанныеИзФайла" + ], + "Справочники": [ "ПростойСправочник.Форма.ФормаВыбора" ] @@ -97,6 +101,6 @@ "БизнесПроцессы": [ "БизнесПроцесс2" ] - + } } From 2e22e8257e317c980f3657beece65a9e3b4df4eb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 May 2020 15:23:30 +0300 Subject: [PATCH 006/421] =?UTF-8?q?=D0=97=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20?= =?UTF-8?q?=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D1=85=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B8=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #737 --- tests/smoke/readme.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index a930b6c9d..55fdff69b 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -361,6 +361,18 @@ Данный набор тестов проверяет все формы и команды, доступные пользователю через командный интерфейс. +Также есть замечательная возможность перезаписи элементов справочников\документов. +Полезно для того, чтобы: + +* выловить ошибки при записи документов, например, в архивном периоде. +* поймать ошибкизаписи с ограниченными правами. + +Алгоритм записи следующий: + +* открывается список, +* выполняется переход к 1й строке, открывается и записывается элемент +* выполняется переход к последней строке, открывается и записывается элемент + Главные отличия этих тестов от [дымовых тестов открытия/закрытия форм объектов метаданных и изменения метаданных](#Дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных): * проверяются не только формы, но и команды, в т.ч. и общие команды, и команды метаданных From df89ed706fae304140e1bb920175f421fa67de32 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 May 2020 16:16:06 +0300 Subject: [PATCH 007/421] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #737 --- tests/smoke/readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 55fdff69b..fb4e24809 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -377,7 +377,8 @@ * проверяются не только формы, но и команды, в т.ч. и общие команды, и команды метаданных * проверяются только те формы и команды, которые доступны через командный интерфейс. -* и не проверяются те формы и команды, которых нет в командной интерфейс, но на которые у пользователя есть право просмотра. +* и не проверяются те формы и команды, которых нет в командном интерфейсе, но на которые у пользователя есть право просмотра. +* выполняется двойная перезапись элементов вместо одинарной перезаписи. ### Настройка исключений From 077c2888fa7404fbd6a65904ac92dfdc19ea9921 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 May 2020 16:18:12 +0300 Subject: [PATCH 008/421] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B8=20=D1=81=D0=B8=D0=BD=D1=82=D0=B0=D0=BA=D1=81-=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index fb4e24809..a32532558 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -413,7 +413,7 @@ ## Дымовое тестирование ввода документов на основании Данная обработка может быть использована и в bdd и в tdd/xdd. -Запускать данный набора тестов рекомендуется базе данных в которой уже есть заполненные документы. +Запускать данный набора тестов рекомендуется в ИБ, в которой уже есть заполненные документы. ### Дымовое тестирование xdd From 34358a4c194ffb9f32aed09caa73c444e6dca7ee Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 May 2020 17:14:11 +0300 Subject: [PATCH 009/421] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #737 --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index a32532558..62013e286 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -387,7 +387,7 @@ В настоящий момент поддерживаются 5 видов метаданных: `ОбщиеКоманды`, `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. -Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать вид этого объекта в массиве исключений конкретного метаданного. +Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать команду интерфейса в массиве исключений. ### Пример файла настройки From 8bab739767d2275fc6d3400c70f58d6604ebb19f Mon Sep 17 00:00:00 2001 From: Vladislav Moroz Date: Mon, 18 May 2020 17:57:10 +0300 Subject: [PATCH 010/421] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D1=8F=D1=82=D1=8C=20=D0=BF=D1=80=D0=B8=D0=B7=D0=BD=D0=B0=D0=BA?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D0=B8=D1=84=D0=B8=D1=86=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20(#7?= =?UTF-8?q?42)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Проверять признак модифицированности данных формы * Совместимость для версий платформы младше 8.3.6 * Уточнить момент проверки ожидаем, что при открытии окна оно не должно быть модифицировано * Уточнить формулировку ожидания --- .../Ext/Form/Module.bsl" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2f8aeff0b..e1da16ba5 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -401,8 +401,12 @@ Возврат Истина; КонецЕсли; + ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "При открытии"); + НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); + ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "После записи"); + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); КонецЕсли; @@ -439,6 +443,20 @@ КонецФункции +&НаКлиенте +Процедура ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, МоментПроверки) + + ТестируемаяФорма = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяФорма")); + ТекущаяМодифицированность = ТестируемаяФорма.ТекущаяМодифицированность(); + Если ТекущаяМодифицированность Тогда + ТекстИсключения = КонтекстЯдра.СтрШаблон_("%1 - %2 - %3 - %4: + |Ожидали, что форма не модифицирована сразу же после ее открытия или сразу же после записи, а это не так.", + ШагСценария, МоментПроверки, ТестируемаяФорма.ИмяФормы, ТестируемаяФорма.ТекстЗаголовка); + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Процедура НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент) From fca6fadafff4533fc16b009c92cf428e0ba18b64 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 19 May 2020 19:27:33 +0300 Subject: [PATCH 011/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B4=D0=BE=D0=BF=D1=83=D1=81=D1=82=D0=B8=D0=BC=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 62013e286..9aca0ed4d 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -385,7 +385,16 @@ Настройка исключений выполняется в общем json-файле. Все настройки задаются в объекте с ключом `CommandInterface`. -В настоящий момент поддерживаются 5 видов метаданных: `ОбщиеКоманды`, `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. +В настоящий момент поддерживаются несколько видов метаданных: + +- `ОбщиеКоманды` +- `ОбщиеФормы` +- `Справочники` +- `Документы` +- `Отчеты` +- `Обработки` +- `БизнесПроцессы` +- `ВнешниеИсточникиДанных` Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать команду интерфейса в массиве исключений. From 08d693f3ac76a3d1047c0523c205ce5edc815d65 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 19 May 2020 19:29:33 +0300 Subject: [PATCH 012/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B0=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 68 +++++++++++++++++-- .../Ext/Form/Module.bsl" | 10 +++ 2 files changed, 71 insertions(+), 7 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index e63b38d2b..2193ef973 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -5,6 +5,9 @@ &НаКлиенте Перем СтроковыеУтилиты; +&НаКлиенте +Перем Версия8315ИлиВыше Экспорт; + // ------------------------------------------------------- // // МОДАЛЬНЫЕ ВЫЗОВЫ @@ -570,7 +573,14 @@ Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда - НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ОписанияПередаваемыхФайлов>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПомещаемыеФайлы, ВладелецФормы.УникальныйИдентификатор); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор); + //КонецЕсли; Иначе @@ -589,7 +599,15 @@ ИначеЕсли МодальностьЗапрещена Тогда - Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор)"); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, <Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ОписанияПередаваемыхФайлов>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПомещаемыеФайлы, ВладелецФормы.УникальныйИдентификатор)"); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор)"); + //КонецЕсли; ИначеЕсли ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор) Тогда @@ -612,11 +630,25 @@ ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, МножественныйВыбор, ПолноеИмяФайла, Фильтр); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ЗаполнитьЗначенияСвойств(ДиалогОткрытияФайла, ПараметрыДиалога); + + //ПараметрыДиалогаПомещенияФайлов = Неопределено; + //Если Версия8315ИлиВыше Тогда + // ПараметрыДиалогаПомещенияФайлов = Новый ПараметрыДиалогаПомещенияФайлов(); + // ЗаполнитьЗначенияСвойств(ПараметрыДиалогаПомещенияФайлов, ПараметрыДиалога); + //КонецЕсли; + #Если ВебКлиент Тогда Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда - НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ПараметрыДиалога>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПараметрыДиалогаПомещенияФайлов, ВладелецФормы.УникальныйИдентификатор); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор); + //КонецЕсли; Иначе @@ -631,7 +663,14 @@ Если МодальностьЗапрещена Тогда - Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор);"); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ПараметрыДиалога>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПараметрыДиалогаПомещенияФайлов, ВладелецФормы.УникальныйИдентификатор);"); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор);"); + //КонецЕсли; ИначеЕсли ПоместитьФайлы(, ПомещенныеФайлы, ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор) Тогда @@ -651,8 +690,16 @@ Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда - НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, - ВладелецФормы.УникальныйИдентификатор); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, АдресХранения, ПомещаемыйФайл, + // ВладелецФормы.УникальныйИдентификатор); + //Иначе + // //НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <ПомещаемыйФайл>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайла>) + НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + ВладелецФормы.УникальныйИдентификатор); + //КонецЕсли; Иначе @@ -665,7 +712,14 @@ Если МодальностьЗапрещена Тогда - Выполнить("НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, АдресХранения, ПомещаемыйФайл, ВладелецФормы.УникальныйИдентификатор)"); + //Иначе + // //НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <ПомещаемыйФайл>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайла>) + Выполнить("НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); + //КонецЕсли; ИначеЕсли ПоместитьФайл(АдресХранения, ПомещаемыйФайл, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор) Тогда diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cdafe6aa6..d3f000ef8 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,6 +9,9 @@ &НаКлиенте Перем Версия836ИлиВыше Экспорт; +&НаКлиенте +Перем Версия8315ИлиВыше Экспорт; + &НаКлиенте Перем АСинк; @@ -34,9 +37,11 @@ &НаКлиенте Процедура ПриОткрытии() Объект.ИспользоватьПрямыеПутиФайлов = КлиентИСерверРасположеныНаОднойМашине(); + Объект.ИспользоватьПрямыеПутиФайлов = Ложь;//TODO временно, для отладки СистемнаяИнформация = Новый СистемнаяИнформация; Версия836ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.6.0"); + Версия8315ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.15.0"); ЭтоLinux = Ложь; Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда @@ -290,6 +295,8 @@ Если ПомещаемыеФайлы.Количество() Тогда ПараметрыЗавершения = Новый Структура("ИдентификаторыПлагинов", ИдентификаторыПлагинов); + //ПараметрыЗавершения.Вставить("ПомещаемыеФайлы", ПомещаемыеФайлы); + ОписаниеЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения); АСинк().смв_ПоместитьФайлы(ОписаниеЗавершения, ПомещаемыеФайлы); @@ -2487,6 +2494,8 @@ // Возвращаемое значение: // Булево - Истина, если свойство существует // +//&НаКлиентеНаСервереБезКонтекста +&НаКлиенте Функция ЕстьСвойство(Знач Объект, Знач ИмяСвойства) Экспорт НачальноеЗначение = Новый УникальныйИдентификатор(); ЗначениеРеквизита = Новый Структура(ИмяСвойства, НачальноеЗначение); @@ -2513,6 +2522,7 @@ КонецЕсли; АСинк.МодальностьЗапрещена = ЕстьПоддержкаАсинхронныхВызовов; + АСинк.Версия8315ИлиВыше = Версия8315ИлиВыше; КонецЕсли; From 51b9d62d4f821ae3d96006aebba604584529e8a2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 19 May 2020 19:43:49 +0300 Subject: [PATCH 013/421] =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D0=BD=D0=B5=D1=81=D0=BA=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=BA=D0=B8=D1=85=20=D0=BF=D1=83=D1=82=D0=B5=D0=B9=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 28a241a1a..6b8520c0a 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -56,26 +56,28 @@ ДеревоТестов = Неопределено; // TODO: Поддержать цикл по нескольким файлам в Пути - ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, 1)); - - Если ДеревоТестов = Неопределено Тогда - ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); - КонецЕсли; - - ПараметрыОповещения = Новый Структура; - ПараметрыОповещения.Вставить("ФайлОбработки", ФайлОбработки); - ПараметрыОповещения.Вставить("ПостроительДереваТестов", ПостроительДереваТестов); - ПараметрыОповещения.Вставить("ДеревоТестов", ДеревоТестов); - ПараметрыОповещения.Вставить("ОбработчикОповещения", ОбработчикОповещения); - ПараметрыОповещения.Вставить("КонтекстЯдра", КонтекстЯдра); - - Если Объект.ИспользоватьПрямыеПутиФайлов Тогда - ЗагрузкаВнешнейОбработкиЗавершение(, ПараметрыОповещения); - Иначе - Обработчик = Новый ОписаниеОповещения("ЗагрузкаВнешнейОбработкиЗавершение", ЭтаФорма, ПараметрыОповещения); - КонтекстЯдра.НачатьПодключениеВнешнейОбработки(Обработчик, ФайлОбработки); - КонецЕсли; + Для Счетчик = 1 По СтрЧислоСтрок(Путь) Цикл + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, Счетчик)); + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); + КонецЕсли; + + ПараметрыОповещения = Новый Структура; + ПараметрыОповещения.Вставить("ФайлОбработки", ФайлОбработки); + ПараметрыОповещения.Вставить("ПостроительДереваТестов", ПостроительДереваТестов); + ПараметрыОповещения.Вставить("ДеревоТестов", ДеревоТестов); + ПараметрыОповещения.Вставить("ОбработчикОповещения", ОбработчикОповещения); + ПараметрыОповещения.Вставить("КонтекстЯдра", КонтекстЯдра); + Если Объект.ИспользоватьПрямыеПутиФайлов Тогда + ЗагрузкаВнешнейОбработкиЗавершение(, ПараметрыОповещения); + Иначе + Обработчик = Новый ОписаниеОповещения("ЗагрузкаВнешнейОбработкиЗавершение", ЭтаФорма, ПараметрыОповещения); + КонтекстЯдра.НачатьПодключениеВнешнейОбработки(Обработчик, ФайлОбработки); + КонецЕсли; + + КонецЦикла; КонецПроцедуры &НаКлиенте From 53ffdacbe19296628f64bf6a852bde9a002c95ef Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 19 May 2020 19:44:37 +0300 Subject: [PATCH 014/421] =?UTF-8?q?=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D1=8B=20=D1=81=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=BE=D0=B9=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=BE=D0=B2=20-=20=D0=BF=D0=BE=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=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=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=B3=D0=BE=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 69 ++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index e63b38d2b..1211bf1ed 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -651,7 +651,7 @@ Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда - НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + PTG_НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор); Иначе @@ -665,7 +665,7 @@ Если МодальностьЗапрещена Тогда - Выполнить("НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); + Выполнить("PTG_НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); ИначеЕсли ПоместитьФайл(АдресХранения, ПомещаемыйФайл, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор) Тогда @@ -673,7 +673,72 @@ КонецЕсли; #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура PTG_НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + Идентификатор) + + Если ТипЗнч(ПомещаемыйФайл) = Тип("Строка") Тогда + ИмяФайла = ПомещаемыйФайл; + ИначеЕсли ТипЗнч(ПомещаемыйФайл) = Тип("СсылкаНаФайл") Тогда + ИмяФайла = ПомещаемыйФайл.Файл.ПолноеИмя; + Иначе + ИмяФайла = ""; + КонецЕсли; + + //Если ТипЗнч(ПомещаемыйФайл) = Тип("Строка") Тогда + // МассивИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПомещаемыйФайл,"."); + // Если МассивИмени.Количество() >0 Тогда + // ЭтоОтчет = МассивИмени[МассивИмени.Количество()-1] + // Иначе + // ЭтоОтчет = Ложь; + // КонецЕсли; + //Иначе + // ЭтоОтчет = ПомещаемыйФайл.Расширение; + //КонецЕсли; + ПараметрыОповещения = Новый Структура; + + Если ТипЗнч(ОписаниеОповещенияОЗавершении) = Тип("ОписаниеОповещения") Тогда + ПараметрыОповещения = ОписаниеОповещенияОЗавершении.ДополнительныеПараметры; + ПараметрыОповещения.Вставить("PTG_ОбработкаЗавершения", ОписаниеОповещенияОЗавершении); + КонецЕсли; + //ПараметрыОповещения.Вставить("ФайлОбработки", ПомещаемыйФайл); + //ПараметрыОповещения.Вставить("ЭтоОтчет", Ложь); + + //Если ОписаниеОповещенияОЗавершении <> Неопределено Тогда + // ПараметрыОповещения.Вставить("ОбработкаЗавершения", ОписаниеОповещенияОЗавершении); + //КонецЕсли; + + ОписаниеОповещения = Новый ОписаниеОповещения("PTG_ЗавершитьПомещениеФайла", ЭтотОбъект, ПараметрыОповещения); + + ПараметрыПолучения = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла(); + ПараметрыПолучения.Интерактивно = Интерактивно; + ПараметрыПолучения.ИдентификаторФормы = Идентификатор; + + + ФайловаяСистемаКлиент.ЗагрузитьФайл(ОписаниеОповещения, ПараметрыПолучения, ИмяФайла, АдресХранения); + +КонецПроцедуры + +&НаКлиенте +Процедура PTG_ЗавершитьПомещениеФайла(ПомещенныйФайл, ДополнительныеПараметры) Экспорт + + ОбработкаЗавершения = Неопределено; + Если Не ДополнительныеПараметры.Свойство("PTG_ОбработкаЗавершения",ОбработкаЗавершения) Тогда + Возврат; + КонецЕсли; + + Если ОбработкаЗавершения = Неопределено Тогда + Возврат; + КонецЕсли; + + Результат = НЕ ПомещенныйФайл = Неопределено; + Выполнить("ОбработкаЗавершения.Модуль." + ОбработкаЗавершения.ИмяПроцедуры + + "(Результат, ПомещенныйФайл.Хранение, ПомещенныйФайл.Имя, ДополнительныеПараметры)"); + КонецПроцедуры &НаКлиенте From 209805414e2b844ad482f6a957a3ef4c9661bd52 Mon Sep 17 00:00:00 2001 From: GladilovDmitry <49302260+GladilovDmitry@users.noreply.github.com> Date: Tue, 19 May 2020 19:59:20 +0300 Subject: [PATCH 015/421] Update readme.md (#747) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit вставил пропущенные запятые в примерах настроек "## Дымовое тестирование настройки общих модулей и наличия подсистем" --- tests/smoke/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 9aca0ed4d..2ec9334b2 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -556,7 +556,7 @@ { "smoke" : {...}, "SmokeCommonModules": { - "Subsystems" : ["*"] + "Subsystems" : ["*"], "ExcludedCommonModules" : ["SocialNetworks_ExchangeServer"] } } @@ -567,7 +567,7 @@ { "smoke" : {...}, "SmokeCommonModules": { - "Subsystems" : [] + "Subsystems" : [], "ExcludedCommonModules" : [] } } From 6fbbed2dd19a88c292c75b662bae1244b9ed5a58 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 20 May 2020 12:54:20 +0300 Subject: [PATCH 016/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D1=83=D1=8E=D1=82=D1=81=D1=8F=20=D1=88=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=201?= =?UTF-8?q?=D0=A1=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20=D0=BE=D0=B1=D1=89=D0=B8=D1=85?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index 1211bf1ed..efcc5f656 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -688,29 +688,12 @@ ИмяФайла = ""; КонецЕсли; - //Если ТипЗнч(ПомещаемыйФайл) = Тип("Строка") Тогда - // МассивИмени = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ПомещаемыйФайл,"."); - // Если МассивИмени.Количество() >0 Тогда - // ЭтоОтчет = МассивИмени[МассивИмени.Количество()-1] - // Иначе - // ЭтоОтчет = Ложь; - // КонецЕсли; - //Иначе - // ЭтоОтчет = ПомещаемыйФайл.Расширение; - //КонецЕсли; ПараметрыОповещения = Новый Структура; Если ТипЗнч(ОписаниеОповещенияОЗавершении) = Тип("ОписаниеОповещения") Тогда ПараметрыОповещения = ОписаниеОповещенияОЗавершении.ДополнительныеПараметры; ПараметрыОповещения.Вставить("PTG_ОбработкаЗавершения", ОписаниеОповещенияОЗавершении); КонецЕсли; - - //ПараметрыОповещения.Вставить("ФайлОбработки", ПомещаемыйФайл); - //ПараметрыОповещения.Вставить("ЭтоОтчет", Ложь); - - //Если ОписаниеОповещенияОЗавершении <> Неопределено Тогда - // ПараметрыОповещения.Вставить("ОбработкаЗавершения", ОписаниеОповещенияОЗавершении); - //КонецЕсли; ОписаниеОповещения = Новый ОписаниеОповещения("PTG_ЗавершитьПомещениеФайла", ЭтотОбъект, ПараметрыОповещения); @@ -719,13 +702,18 @@ ПараметрыПолучения.ИдентификаторФормы = Идентификатор; - ФайловаяСистемаКлиент.ЗагрузитьФайл(ОписаниеОповещения, ПараметрыПолучения, ИмяФайла, АдресХранения); - + //ФайловаяСистемаКлиент.ЗагрузитьФайл(ОписаниеОповещения, ПараметрыПолучения, ИмяФайла, АдресХранения); + // + НачатьПомещениеФайлаНаСервер(ОписаниеОповещения,,,АдресХранения,ИмяФайла,Идентификатор); КонецПроцедуры &НаКлиенте Процедура PTG_ЗавершитьПомещениеФайла(ПомещенныйФайл, ДополнительныеПараметры) Экспорт + //Если ПомещенныйФайл.ПомещениеФайлаОтменено Тогда + // Возврат; + //КонецЕсли; + ОбработкаЗавершения = Неопределено; Если Не ДополнительныеПараметры.Свойство("PTG_ОбработкаЗавершения",ОбработкаЗавершения) Тогда Возврат; @@ -735,9 +723,9 @@ Возврат; КонецЕсли; - Результат = НЕ ПомещенныйФайл = Неопределено; + Результат = НЕ ПомещенныйФайл.ПомещениеФайлаОтменено; Выполнить("ОбработкаЗавершения.Модуль." + ОбработкаЗавершения.ИмяПроцедуры + - "(Результат, ПомещенныйФайл.Хранение, ПомещенныйФайл.Имя, ДополнительныеПараметры)"); + "(Результат, ПомещенныйФайл.Адрес, ПомещенныйФайл.СсылкаНаФайл.Имя, ДополнительныеПараметры)"); КонецПроцедуры From faecf62ff92ac23f1254b1e712c15ede62cac9b5 Mon Sep 17 00:00:00 2001 From: GladilovDmitry <49302260+GladilovDmitry@users.noreply.github.com> Date: Wed, 20 May 2020 18:33:29 +0300 Subject: [PATCH 017/421] =?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=D0=BE=D0=B3=D0=BB=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20README.md=20(#750)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update README.md * Update Readme.md Исправил заголовок --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0b55d4d85..0e98fbdd7 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,19 @@  # Vanessa Automation Driven Development - -autoauto- [Vanessa Automation Driven Development](#vanessa-automation-driven-development)auto - [Введение](#введение)auto - [Справка и полезные ссылки](#справка-и-полезные-ссылки)auto - [Установка](#установка)auto - [Ночная сборка ветки **develop**:](#ночная-сборка-ветки-develop)auto - [Запросы функциональности, задачи, сообщения об ошибках:](#запросы-функциональности-задачи-сообщения-об-ошибках)auto - [Сравнение с другими инструментами тестирования](#сравнение-с-другими-инструментами-тестирования)auto - [Как помочь проекту](#как-помочь-проекту)auto - [Лицензии и права](#лицензии-и-права)autoauto + + +- [Vanessa Automation Driven Development](#vanessa-automation-driven-development) + - [Введение](#введение) + - [Справка и полезные ссылки](#справка-и-полезные-ссылки) + - [Установка](#установка) + - [Ночная сборка ветки **develop**:](#ночная-сборка-ветки-develop) + - [Запросы функциональности, задачи, сообщения об ошибках:](#запросы-функциональности-задачи-сообщения-об-ошибках) + - [Сравнение с другими инструментами тестирования](#сравнение-с-другими-инструментами-тестирования) + - [Как помочь проекту](#как-помочь-проекту) + - [Лицензии и права](#лицензии-и-права) + + ## Введение From 8d41b939261f28a185d002cbcbd2dab7ebc70158 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 21 May 2020 11:50:56 +0300 Subject: [PATCH 018/421] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=202=20=D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=B0\=D0=BE?= =?UTF-8?q?=D1=82=D0=B2=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 15. Как использовать поиск\проверку содержимого в таблицах\динамических списках? - 16. Как фильтровать\включать отбор в таблицах\динамических списках? --- F.A.Q.MD | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/F.A.Q.MD b/F.A.Q.MD index c3a00a9de..1ceced76e 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -31,6 +31,8 @@ 12. [Как правильно заполнить каталоги библиотечных шагов в json-файле настройки bdd-части Ванесса-АДД?](#12-как-правильно-заполнить-каталоги-библиотечных-шагов-в-json-файле-настройки-bdd-части-ванесса-адд) 13. [Как пропустить сценарий, чтобы он не падал?](#13-как-пропустить-сценарий-чтобы-он-не-падал) 14. [Можно ли использовать быстрый выбор из списков 1С в полях ссылочных реквизитов?](#14-можно-ли-использовать-быстрый-выбор-из-списков-1с-в-полях-ссылочных-реквизитов) + 15. [Как использовать поиск\проверку содержимого в таблицах\динамических списках?](#15-как-использовать-поискпроверку-содержимого-в-таблицахдинамических-списках) + 16. [Как фильтровать\включать отбор в таблицах\динамических списках?](#16-как-фильтроватьвключать-отбор-в-таблицахдинамических-списках) * **[Плагины](#плагины)** 1. [Как вызвать код плагина на сервере при запуске в управляемой форме?](#1-как-вызвать-код-плагина-на-сервере-при-запуске-в-управляемой-форме) @@ -328,6 +330,89 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу * далее искать в форме выбора * и затем выбирать найденный элемент в форме выбора +### 15. Как использовать поиск\проверку содержимого в таблицах\динамических списках? + +При работе с тест-клиенто нужно помнить про особенности его работы с тест-клиентом. +Анализ таблиц на нем часто может выполняться только полным перебором (от первой до последней строки). +Фактически, если активна большая таблица (динамический список), то переход к нужной строке или проверка содержимого могут долго выполняться. + +Для ускорения анализа динамических таблиц и больших таблиц правильнее включить отбор любым из способом (средствами настройки списка через СКД или поиск) и только потом проверять содержимое или выполнять переход к нужной строке. см.ниже п.16 + +Есть несколько вариантов проверки содержимого таблиц на тест-клиенте. + +**Важно** - Все следующие шаги умеют проверять только те колонки, которые указаны в таблице для шага. +Неуказанные колонки будут игнорироваться. + +#### 15.1. Шаги поиска только нужных строк - подходят для большинства сценариев + +Эти шаги проверяют только наличие нужного количества строк в таблице. При этом в таблице могут быть и другие строки. + +Возможно использовать шаблонный символ *(звездочка) для пропуска каких-то значений. + +- шаг `И таблица "ИмяТаблицы" содержит строки:` +- шаг `И таблица "ИмяТаблицы" не содержит строки:` + +Пример: +``` +И таблица "ИмяТаблицы" содержит строки: + | ИмяКолонки1 | ИмяКолонки2 | + | Значение1 | Значение2 | + | Значение * из другой строки | Значение * из строк* | +``` + +#### 15.2. Шаги равенства по шаблону + +- шаг `И таблица "ИмяТаблицы" стала равной по шаблону:` + +Возможно использовать шаблонный символ *(звездочка) для пропуска каких-то значений. + +``` +И таблица "ИмяТаблицы" стала равной по шаблону: + | ИмяКолонки1 | ИмяКолонки2 | + | Значение1 | Значение2 | + | Значение * из другой строки | Значение * из строк* | +``` + +#### 15.3. Шаги точного равенства + +Эти шаги проверяют только таблицу полностью. В таблице должны быть только указанные строки. +Никаких других строк в таблице быть не должно! + +Использование этих шагов требуется крайне редко. Рекомендуется использовать либо шаги из 15.1 либо из 15.2 + +- шаг `И таблица "ИмяТаблицы" стала равной:` +- шаг `И я жду, что таблица "ИмяТаблицы" станет равна данной в течение 20 секунд:` + +``` +И таблица "ИмяТаблицы" стала равной: + | ИмяКолонки1 | ИмяКолонки2 | + | Значение1 | Значение2 | + | Значение1 из другой строки | Значение2 из другой строки | + +И я жду, что таблица "ИмяТаблицы" станет равна данной в течение 20 секунд: + | ИмяКолонки1 | ИмяКолонки2 | + | Значение1 | Значение2 | +``` + +### 16. Как фильтровать\включать отбор в таблицах\динамических списках? + +Для ускорения анализа динамических таблиц и больших таблиц правильнее включить отбор любым из способом (средствами настройки списка через СКД или поиск) и только потом проверять содержимое или выполнять переход к нужной строке. + +Для фильтрации списков существует шаги +- `И Я устанавливаю фильтр на список:` +- `И Я устанавливаю фильтр на список если это возможно:` + +Эти шаги позволяют установить фильтр на список через меню "Ещё/Настроить список". + +Шаг `И Я устанавливаю фильтр на список если это возможно` не выдает исключения, если поля отбора не существует. + +Пример: + +``` +И Я устанавливаю фильтр на список: + | Наименование | Содержит | Товар1 | +``` + ## Плагины ### 1. Как вызвать код плагина на сервере при запуске в управляемой форме? From bc474fe98db3f001d20652929469f0972d1769ca Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 21 May 2020 19:47:29 +0300 Subject: [PATCH 019/421] =?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=BE=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2,=20=D1=87=D1=82=D0=BE=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=B2=D0=BE=D0=B4=D0=B8=D1=82=20=D0=BA=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B8=D0=BE=D0=B4=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D0=BC=20=D0=B1=D0=B0=D0=B3=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d3f000ef8..fe7c1d23f 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -137,7 +137,6 @@ КоличествоТестовыхМетодов = ПолучитьКоличествоТестовыхМетодов(ЭтаФорма.ДеревоОтЗагрузчика, Фильтр); ИнициализироватьИндикаторВыполнения(КоличествоТестовыхМетодов); - СброситьПодключенныеВнешниеОбработки(); РезультатыТестирования = ВыполнитьТесты(Плагин(ИдентификаторЗагрузчика), ЭтаФорма.ДеревоОтЗагрузчика, Фильтр, ЭтаФорма); ОбновитьДеревоТестовНаОснованииРезультатовТестирования(ДеревоТестов.ПолучитьЭлементы()[0], РезультатыТестирования); @@ -1092,6 +1091,8 @@ Перем ПутьТестов; + СброситьПодключенныеВнешниеОбработки(); + ИдентификаторЗагрузчика = ЭлементИстории.ИдентификаторЗагрузчика; ПутьТестов = ЭлементИстории.Путь; Если ЕстьПоддержкаАсинхронныхВызовов Тогда From c280b1f702c2ad2477a04546b3b51160327a1fc3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 13:25:06 +0300 Subject: [PATCH 020/421] =?UTF-8?q?=D0=A3=D1=87=D1=82=D0=B5=D0=BD=D1=8B=20?= =?UTF-8?q?=D0=BF=D1=83=D1=82=D0=B8=20=D1=81=20=D0=BF=D1=80=D0=BE=D0=B1?= =?UTF-8?q?=D0=B5=D0=BB=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/tasks.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e007ad532..659f7f9bc 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,19 +6,19 @@ { "label": "Run current feature in 1C:Enterprise", "type": "shell", - "command": "vrunner vanessa --settings tools/json/vrunner.json --path ${workspaceFolder}\\${relativeFile}", + "command": "vrunner vanessa --settings tools/json/vrunner.json --path \"${workspaceFolder}\\${relativeFile}\"", "problemMatcher": [] }, { "label": "Run current feature in 1C:Enterprise + WAIT", "type": "shell", - "command": "SET VANESSA_VANESSASHUTDOWN=0 && SET VANESSA_CLOSETESTCLIENT=0 && vrunner vanessa --settings tools/json/vrunner.json --path ${workspaceFolder}\\${relativeFile}", + "command": "SET VANESSA_VANESSASHUTDOWN=0 && SET VANESSA_CLOSETESTCLIENT=0 && vrunner vanessa --settings tools/json/vrunner.json --path \"${workspaceFolder}\\${relativeFile}\"", "problemMatcher": [] }, { "label": "Load current feature in 1C:Enterprise + wait", "type": "shell", - "command": "SET VANESSA_VANESSARUN=0 && SET VANESSA_VANESSASHUTDOWN=0 && SET VANESSA_CLOSETESTCLIENT=0 && vrunner vanessa --settings tools/json/vrunner.json --path ${workspaceFolder}\\${relativeFile}", + "command": "SET VANESSA_VANESSARUN=0 && SET VANESSA_VANESSASHUTDOWN=0 && SET VANESSA_CLOSETESTCLIENT=0 && vrunner vanessa --settings tools/json/vrunner.json --path \"${workspaceFolder}\\${relativeFile}\"", "problemMatcher": [] }, { From cb5e88f56d217fa69911937c6f2f59a7f570febc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 18:58:31 +0300 Subject: [PATCH 021/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B0=20=D1=80=D0=B5=D0=BF=D0=BE=D0=B7=D0=B8=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B9=20=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=BA?= =?UTF-8?q?=D1=82=D0=B0=20fix=20#745?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CONTRIBUTING.md | 18 +++---- .github/ISSUE_TEMPLATE/help_request.md | 5 +- F.A.Q.MD | 6 +-- NOTICE.txt | 2 +- README.md | 16 +++---- doc/KNOWN-PROBLEMS.md | 10 ++-- doc/NOTES.md | 6 +-- doc/README.md | 2 +- doc/bdd/README.md | 2 +- ...21\202\320\260\321\206\320\270\320\270.md" | 4 +- doc/history.MD | 48 +++++++++---------- ...21\207\320\265\321\202\320\276\320\262.MD" | 4 +- ...20\262\320\260\320\275\320\270\320\270.MD" | 2 +- ...20\277\321\203\321\201\320\272\320\260.md" | 2 +- ...20\262\320\260\320\275\320\270\321\217.md" | 2 +- epf/bddRunner/bddRunner.xml | 2 +- epf/bddRunner/bddRunner/Ext/Help/ru.html | 6 +-- epf/xddTestRunner/xddTestRunner.xml | 2 +- ...260\321\206\320\270\321\217EPF232.feature" | 2 +- ...1\320\265\320\275\320\270\320\271.feature" | 2 +- ...321\217\320\275\320\270\320\265VB.feature" | 2 +- ...0\320\270\320\261\320\272\320\265.feature" | 2 +- .../Ext/Form/Module.bsl" | 2 +- ...0\277\320\265\321\202\320\260-237.feature" | 11 ++--- ...320\275\320\270\321\217VanessaADD.feature" | 2 +- ...207\320\265\321\202\320\260Allure.feature" | 6 +-- ...\207\320\265\321\202\320\260jUnit.feature" | 11 ++--- .../Ext/Form/Module.bsl" | 8 ++-- features/libraries/VB/Legal.feature | 2 +- .../Ext/Form/Module.bsl" | 4 +- sonarlint.json | 2 +- tests/smoke/readme.md | 2 +- tests/smoke/smoke.example.json | 2 +- tools/JSON/VBParams.json | 2 +- tools/JSON/VBParams82OF.json | 2 +- tools/JSON/VBParams82UF.json | 2 +- tools/JSON/VBParams8310UF.json | 2 +- tools/JSON/VBParams8310UF_FastCheck.json | 2 +- tools/JSON/VBParams8310UFnoSync.json | 2 +- tools/JSON/VBParams8310Web.json | 2 +- tools/JSON/VBParams8310linux.json | 2 +- tools/JSON/VBParams836OF.json | 2 +- tools/JSON/VBParams836UF.json | 2 +- tools/JSON/VBParams836UFCheckDoc.json | 2 +- tools/JSON/VBParams836UFnoSync.json | 2 +- tools/JSON/VBParams837UF.json | 2 +- tools/JSON/VBParams838UF.json | 2 +- tools/JSON/VBParams839UF.json | 2 +- tools/JSON/VBParams839UFnoSync.json | 2 +- tools/JSON/VideoDefault.json | 2 +- tools/JSON/env.json.file.build | 2 +- tools/JSON/env.json.server.build | 2 +- tools/JSON/xUnitParams.json | 8 ++-- 53 files changed, 119 insertions(+), 126 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a0132956f..0c1b1a607 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -12,7 +12,6 @@ * ознакомьтесь с каталогом features для понимания уже существующего и стабильного функционала * будьте в курсе изменений по проекту * нажмите `watch` и `star`, чтобы получать оповещения об изменениях -* зарегистрируйтесь на форуме XDD и подпишитесь на получение новостей из раздела [ADD](https://xdd.silverbulleters.org/c/razrabotka/xdrivendevelopment) ### Старайтесь создавать задачи в формате `BDD` @@ -73,7 +72,7 @@ * склонируйте репозитарий себе на машину ```git clone https://github.com/*ТУТИМЯВАШЕГОПОЛЬЗОВАТЕЛЯ*/add.git ``` * переходим в склонированный каталог через `cd add` и выполняем несколько магических комманд ``` -git remote add upstream https://github.com/silverbulleters/add.git +git remote add upstream https://github.com/vanessa-opensource/add.git git fetch upstream git checkout -b develop upstream/develop git pull upstream develop @@ -183,7 +182,7 @@ git checkout -b feature/issue-9999 * Фиксируем изменения с комментарием `git commit -m "Наш комментарий!"` * Отправляем все изменения своей ветки на github ```git push origin feature/issue-9999``` -* Далее формируем `pull-request` в [интерфейсе github](https://github.com/silverbulleters/add/pulls) +* Далее формируем `pull-request` в [интерфейсе github](https://github.com/vanessa-opensource/add/pulls) ### Участие в архитектурных обсуждениях @@ -191,21 +190,19 @@ git checkout -b feature/issue-9999 если вы методолог или архитектор * сделайте свой первый `pull-request`, в том числе в документацию -* создайте обсуждение https://github.com/silverbulleters/add/issues с описанием противоречия +* создайте обсуждение https://github.com/vanessa-opensource/add/issues с описанием противоречия * участвуйте, обосновывайте, приводите примеры * используйте ТРИЗ для построения непротиворечивых решений # BSD v3 License -Наша лицензия поощряет коллективное участие в разработке всего стэка продуктов `Vanessa Stack`, однако не поощряет использование брендов (с) `SilverBulleters`, `vanessa-stack`, `vanessa-behavior`, `vanessa-add` и остальных для развития своих неофициальных имплементаций. +Наша лицензия поощряет коллективное участие в разработке всего стэка продуктов `Vanessa Stack`. Поэтому: -* используйте, дорабатывайте через концепцию `fork` и `pull-request` официальный продукт `silverbulleters/add` +* используйте, дорабатывайте через концепцию `fork` и `pull-request` официальный продукт `vanessa-opensource/add` * если вы хотите создать свой продукт на основе `vanessa-add`, это разрешено и не противоречит лицензии `BSD v3` -* однако, если вы хотите использовать для рекламирования и продвижения своего продукта бренды ``"SilverBulleters"``, ``"Vanessa ADD"`` или ``"Vanessa ADD"`` или ``"Vanessa"``, вам необходимо получить у нас разрешение на это, написав на адрес `team@silverbulleters.org` или создать `Issue` на `GitHub` - -Поэтому интернет-маркетологов просим быть осторожней при использовании символики `Vanessa` и `SilverBulleters` +* однако, если вы хотите использовать для рекламирования и продвижения своего продукта бренды ``"Vanessa ADD"`` или ``"Vanessa ADD"``, вам необходимо получить у нас разрешение на это, создав `Issue` на `GitHub` # CLA - лицензия на коллективное участие @@ -214,5 +211,4 @@ git checkout -b feature/issue-9999 # Если ничего не понятно -* используйте [форум XDD](https://xdd.silverbulleters.org) для того, чтобы задать вопрос -* запишитесь на практические занятия по правильной разработке 1С +* запишитесь на практические занятия по правильной разработке 1С у Артур Аюханова aka artbear. diff --git a/.github/ISSUE_TEMPLATE/help_request.md b/.github/ISSUE_TEMPLATE/help_request.md index 5317c3c13..cd8fe7cab 100644 --- a/.github/ISSUE_TEMPLATE/help_request.md +++ b/.github/ISSUE_TEMPLATE/help_request.md @@ -1,12 +1,11 @@ --- name: Запрос поддержки -about: если вам нужна помощь по использованию и вы не нашли ответ [на форуме](https://xdd.silverbulleters.org/c/razrabotka/xdrivendevelopment) +about: если вам нужна помощь по использованию --- ## Контекст diff --git a/F.A.Q.MD b/F.A.Q.MD index 1ceced76e..eb24d63ed 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -134,7 +134,7 @@ ### 1. Как решать проблемы при автоматическом запуске тестов\фич\сценариев -Автоматический запуск рекомендуется выполнять с помощью команд инструмента [Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner). +Автоматический запуск рекомендуется выполнять с помощью команд инструмента [Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner). - 'vrunner vanessa' - для запуска фич и сценариев - 'vrunner xunit' - для запуска тестов, в т.ч. и дымовых тестов @@ -155,7 +155,7 @@ ### 2. Как быстро выполнить одну фичу или фичи из одного каталога? -Правильнее запускать фичи из командной строки с помощью инструмента [Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner). +Правильнее запускать фичи из командной строки с помощью инструмента [Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner). Для прогона одной фичи используйте команду @@ -171,7 +171,7 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу * `tools\vrunner.json` - путь к файлу настройки запуска, документированный в * [Настройка запуска тестов или проверки поведения через Vanessa-ADD и Vanessa-Runner](readme.md#файлы-настройкипрофиля-запуска-обработки) - * [Пример запуска проверки поведения через Vanessa-ADD и Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner#2-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-vanessa-add) + * [Пример запуска проверки поведения через Vanessa-ADD и Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner#2-%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B8-%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-vanessa-add) * `ПутьКФиче` или `ПутьККаталогуФич` - прямые или относительные пути к конкретной фиче или каталогу с фичами diff --git a/NOTICE.txt b/NOTICE.txt index 1a9d68a36..387d1c91f 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -32,7 +32,7 @@ testing framework for 1C, which can be obtained at: * LICENSE: * license/LICENSE.vanessa-behavior.txt (BSD-3-Clause) * HOMEPAGE: - * https://github.com/silverbulleters/vanessa-behavior + * https://github.com/vanessa-opensource/vanessa-behavior ------------------------------------------------------------------------------- diff --git a/README.md b/README.md index 0e98fbdd7..d4ef69ec5 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Vanessa-ADD is a set of testing tools for [1C:Enterprise 8 platform](http://v8.1 + проверка поведения (BDD/Gherkin) + формирование автодокументации в формате Html или Markdown или в виде видео-инструкций. -Vanessa-ADD является наследником 2-х продуктов - [xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C) и [Vanessa-Behavior](https://github.com/silverbulleters/vanessa-behavior). Совместимость с VB 1.Х и xUnitFor1C 4.Х гарантирована (за исключением функциональности циклов и условий в Vanessa-ADD) +Vanessa-ADD является наследником 2-х продуктов - [xUnitFor1C](https://github.com/xDrivenDevelopment/xUnitFor1C) и [Vanessa-Behavior](https://github.com/vanessa-opensource/vanessa-behavior). Совместимость с VB 1.Х и xUnitFor1C 4.Х гарантирована (за исключением функциональности циклов и условий в Vanessa-ADD) ## Справка и полезные ссылки @@ -65,8 +65,8 @@ Vanessa-ADD является наследником 2-х продуктов - [x Ручная установка: -+ Перейти в [раздел релизы](https://github.com/silverbulleters/add/releases) -+ Скачать архив `add-x.x.x.zip` с последним стабильным релизом - прямая ссылка [Releases](https://github.com/silverbulleters/add/releases/latest) ++ Перейти в [раздел релизы](https://github.com/vanessa-opensource/add/releases) ++ Скачать архив `add-x.x.x.zip` с последним стабильным релизом - прямая ссылка [Releases](https://github.com/vanessa-opensource/add/releases/latest) + Распаковать указанный архив в нужную папку. @@ -77,13 +77,13 @@ Vanessa-ADD является наследником 2-х продуктов - [x ## Запросы функциональности, задачи, сообщения об ошибках: -Пожелания к использованию можно фиксировать в виде [Github Issues](https://github.com/silverbulleters/add/issues/new/choose) +Пожелания к использованию можно фиксировать в виде [Github Issues](https://github.com/vanessa-opensource/add/issues/new/choose) Обсуждения категоризируются на 3 вида -* [Сообщение об ошибке](https://github.com/silverbulleters/add/issues/new?template=bug_report.md) -* [Запрос новой функциональности](https://github.com/silverbulleters/add/issues/new?template=feature_request.md) -* [Запрос поддержки](https://github.com/silverbulleters/add/issues/new?template=help_request) +* [Сообщение об ошибке](https://github.com/vanessa-opensource/add/issues/new?template=bug_report.md) +* [Запрос новой функциональности](https://github.com/vanessa-opensource/add/issues/new?template=feature_request.md) +* [Запрос поддержки](https://github.com/vanessa-opensource/add/issues/new?template=help_request) Для удобства использования для каждой категории создан специальный шаблон, доступные для редактирования в каталоге [Шаблоны обсуждений](./.github/ISSUE_TEMPLATE/) @@ -105,7 +105,7 @@ Vanessa-ADD является наследником 2-х продуктов - [x * сообществом независимых разработчиков через концепцию краудсорсинга при помощи * [руководства контрибьютора](./.github/CONTRIBUTING.md) - * [технологию ответвления](https://github.com/silverbulleters/add/network/members) и [отправки запросов на слияния](https://github.com/silverbulleters/add/pulls) + * [технологию ответвления](https://github.com/vanessa-opensource/add/network/members) и [отправки запросов на слияния](https://github.com/vanessa-opensource/add/pulls) Поэтому: diff --git a/doc/KNOWN-PROBLEMS.md b/doc/KNOWN-PROBLEMS.md index fb8c77e5c..d604991bf 100644 --- a/doc/KNOWN-PROBLEMS.md +++ b/doc/KNOWN-PROBLEMS.md @@ -50,9 +50,9 @@ 1. Рекомендуется глобальный поиск по ПодключитьОбработчикОповещения и доработку кода всех найденных обработчиков оповещений. - 1. В случае иных ошибок рекомендуется запустить 1С:Предприятие в режиме отладки, попытаться загрузить тесты и поймать место возникновения ошибки. - 1. Если код ошибки находится внутри кода Vanessa.ADD, [создавайте баг для Vanessa.ADD](https://github.com/silverbulleters/add/issues/new) - 1. Если код ошибки находится внутри вашей конфигурации, исправляйте проблему у себя. + 1. В случае иных ошибок рекомендуется запустить 1С:Предприятие в режиме отладки, попытаться загрузить тесты и поймать место возникновения ошибки. + 1. Если код ошибки находится внутри кода Vanessa.ADD, [создавайте баг для Vanessa.ADD](https://github.com/vanessa-opensource/add/issues/new) + 1. Если код ошибки находится внутри вашей конфигурации, исправляйте проблему у себя. 1. Если в пустой конфигурации в упр.приложении запустить xddTestRunner, при открытии внешнего инструмента "Показать ГУИД" и попытке выбора ссылки 1С:Предприятие падает. [Описание бага #304](https://github.com/xDrivenDevelopment/xUnitFor1C/issues/304) @@ -62,9 +62,9 @@ Если не встраивать обработки в конфигурацию и есть желание запустить тесты(например: дымовые) под пользователем с ограниченными правами, возникает ошибка "Установлен безопасный режим. Выполнение операции запрещено". -Для возможности запуска необходимы минимальный набор прав +Для возможности запуска необходимы минимальный набор прав + "Администрирование", - + "Интерактивное открытие внешних обработок". + + "Интерактивное открытие внешних обработок". ## BDD - при запуске через bddRunner diff --git a/doc/NOTES.md b/doc/NOTES.md index 00224a34d..874128427 100644 --- a/doc/NOTES.md +++ b/doc/NOTES.md @@ -6,11 +6,11 @@ + загрузка настроек вынесена в плагин loadsettings + перенесено в плагин и удалено из кода основного модуля bddRunner.epf. -+ Отчет allure вынесен в модуль. Для отчета allure пишем описание теста в markdown (изменена обработка парсера фич для этого). ++ Отчет allure вынесен в модуль. Для отчета allure пишем описание теста в markdown (изменена обработка парсера фич для этого). + перенесено в плагин, но не все удалено из кода основного модуля bddRunner.epf.. Важно для хорошего мерджа. + Выполнено добавление доп инфомрации для шага (метка, фича ) и сохранение в отчете allure + Изменены управляемая форма, модуль формы у основного модуля bddRunner.epf. -+ Добавлен признак ручного выполнения шага, для формирования успешных отчетов. ++ Добавлен признак ручного выполнения шага, для формирования успешных отчетов. + Изменены управляемая форма, модуль формы у основного модуля bddRunner.epf. ## небольшой to-do список @@ -45,7 +45,7 @@ ### 0.7 -* https://github.com/silverbulleters/vanessa-behavoir/milestones/0.7 +* https://github.com/vanessa-opensource/vanessa-behavoir/milestones/0.7 ### 0.8 diff --git a/doc/README.md b/doc/README.md index 386f093f6..0f9b1d88e 100644 --- a/doc/README.md +++ b/doc/README.md @@ -23,7 +23,7 @@ Vanessa.ADD работает с гарантией на платформах 1С ## Разделы справки * [Обширная документация по BDD-части](./bdd/README.md) - * [Подготовка автодокументации - видео-документация и т.п.](https://github.com/silverbulleters/add/blob/develop/doc/bdd/%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8.md) + * [Подготовка автодокументации - видео-документация и т.п.](https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8.md) * Разделы по tdd-тесты кодом diff --git a/doc/bdd/README.md b/doc/bdd/README.md index edf376fbb..b93f3bc30 100644 --- a/doc/bdd/README.md +++ b/doc/bdd/README.md @@ -3,7 +3,7 @@ * [Простое описание языка Gherkin на русском языке](https://wellbehaved.readthedocs.io/Gherkin.html) - Перевод статьи [Writing Features - Gherkin Language - behat.org](https://docs.behat.org/en/v2.5/guides/1.gherkin.html) * Описание использования в режиме BDD и т.д. -* [Подготовка автодокументации - видео-документация и т.п.](https://github.com/silverbulleters/add/blob/develop/doc/bdd/%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8.md) +* [Подготовка автодокументации - видео-документация и т.п.](https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8.md) * Библиотека шагов (известные шаги): * [Файловые операции](./steps/files.md) diff --git "a/doc/bdd/\320\277\320\276\320\264\320\263\320\276\321\202\320\276\320\262\320\272\320\260-\320\260\320\262\321\202\320\276\320\264\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\321\206\320\270\320\270.md" "b/doc/bdd/\320\277\320\276\320\264\320\263\320\276\321\202\320\276\320\262\320\272\320\260-\320\260\320\262\321\202\320\276\320\264\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\321\206\320\270\320\270.md" index 8d3353647..079664923 100644 --- "a/doc/bdd/\320\277\320\276\320\264\320\263\320\276\321\202\320\276\320\262\320\272\320\260-\320\260\320\262\321\202\320\276\320\264\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\321\206\320\270\320\270.md" +++ "b/doc/bdd/\320\277\320\276\320\264\320\263\320\276\321\202\320\276\320\262\320\272\320\260-\320\260\320\262\321\202\320\276\320\264\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260\321\206\320\270\320\270.md" @@ -5,9 +5,9 @@ + Видео инструкции лежат [здесь](https://www.youtube.com/channel/UC2mJ4LlMG-FF4qkc_kqN_iQ) + Прочие инструкции сгруппированы [в этом плейлисте YouTube](https://www.youtube.com/playlist?list=PL2zlgf113YhFG_uRARjDtP1_Obj55UmY4) + Также рекомендуется посмотреть вот [этот вебинар](http://infostart.ru/webinars/537546/) -+ Возможно, вам поможет [этот FAQ](https://github.com/silverbulleters/add/blob/develop/F.A.Q.MD) ++ Возможно, вам поможет [этот FAQ](https://github.com/vanessa-opensource/add/blob/develop/F.A.Q.MD) Чтобы у вас работало создание автовидеоинструкций, необходимо установить дополнительный софт. -Инструкция по настройке окружения для формирования автовидеоинструкций [здесь](https://github.com/silverbulleters/add/blob/develop/doc/bdd/MakeAutoVideo.md). +Инструкция по настройке окружения для формирования автовидеоинструкций [здесь](https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/MakeAutoVideo.md). Также по автовидеоинструкциям есть вот это замечательное [видео](https://www.youtube.com/watch?v=BfXowJH5uP0) diff --git a/doc/history.MD b/doc/history.MD index 0b8cb0de2..32c85fa9c 100644 --- a/doc/history.MD +++ b/doc/history.MD @@ -67,7 +67,7 @@ - добавлена сортировка тестов по алфавиту - добавлен строгий порядок выполнения тестов друг за другом #584 -- Тесты проверки режима блокировки - Исключены общие реквизиты из проверки #583 #590 +- Тесты проверки режима блокировки - Исключены общие реквизиты из проверки #583 #590 - Спасибо @SergeyKud - добавлено понятное сообщение об ошибке для дымовых тестов проверки режима блокировки данных #442 @@ -177,7 +177,7 @@ - или `И я выполняю произвольный шаг с параметром "$$Моя глобальная переменная$$"` - или `И я выполняю произвольный шаг с параметром "$МояПеременная$"` - или `И я выполняю произвольный шаг с параметром "$$МояГлобальнаяПеременная$$"` -- Подробные примеры смотрите [в фиче "ПроверкаВычисленияПеременных.feature"](https://github.com/silverbulleters/add/blob/develop/features/Core/FeatureReader/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85.feature) +- Подробные примеры смотрите [в фиче "ПроверкаВычисленияПеременных.feature"](https://github.com/vanessa-opensource/add/blob/develop/features/Core/FeatureReader/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0%D0%92%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85.feature) - **ВНИМАНИЕ: Добавлена несовместимость с шагами** - в шагах ниже нужно явно заключать переменные контекст внутри знаков доллара ($) в кавычки для правильной обработки @@ -218,7 +218,7 @@ ## Файловые шаги с подробной документацией - 39 шагов !! - Новые шаги работы с файлами/каталогами для файловых операций аналогично шагам из 1bdd #469 - - Смотрите [Файловые операции](https://github.com/silverbulleters/add/blob/master/doc/bdd/steps/files.md) + - Смотрите [Файловые операции](https://github.com/vanessa-opensource/add/blob/master/doc/bdd/steps/files.md) - Также есть шаги, использующие многострочный текст - Например, это шаги создания файлов и проверки текста файла @@ -299,9 +299,9 @@ ## Расширена документация - Документация на новые дымовые тесты #455 - - Смотрите [Дымовые тесты](https://github.com/silverbulleters/add/blob/master/tests/smoke/readme.md) + - Смотрите [Дымовые тесты](https://github.com/vanessa-opensource/add/blob/master/tests/smoke/readme.md) - Документация на шаги работы с файлами/каталогами аналогично шагам из 1bdd #469 - - Смотрите [Файловые операции](https://github.com/silverbulleters/add/blob/master/doc/bdd/steps/files.md) + - Смотрите [Файловые операции](https://github.com/vanessa-opensource/add/blob/master/doc/bdd/steps/files.md) - Подправлена нумерация в FAQ #437 - Исправлены ссылки на документацию bdd #477 #378 - Дополнена документация #453 #470 @@ -513,23 +513,23 @@ ## Дымовые тесты -+ Исправлена ошибка удаления существующих объектов при запуске дымовых https://github.com/silverbulleters/add/issues/293 -+ Дымовые тесты выдают ошибку, если в json-файле отсутствует ключ "ПропускаемыеИсключения" https://github.com/silverbulleters/add/issues/296 ++ Исправлена ошибка удаления существующих объектов при запуске дымовых https://github.com/vanessa-opensource/add/issues/293 ++ Дымовые тесты выдают ошибку, если в json-файле отсутствует ключ "ПропускаемыеИсключения" https://github.com/vanessa-opensource/add/issues/296 ## TDD -+ Исправлено: Не работает простая перегрузка для перегрузки текущего теста, а требуется перезагрузка всего браузера тестов https://github.com/silverbulleters/add/issues/288 -+ Доработана загрузка тестов из истории для случае асинхронного режима https://github.com/silverbulleters/add/issues/303 -+ Удален встроенный в конфигурацию xUnitFor1C https://github.com/silverbulleters/add/issues/304 ++ Исправлено: Не работает простая перегрузка для перегрузки текущего теста, а требуется перезагрузка всего браузера тестов https://github.com/vanessa-opensource/add/issues/288 ++ Доработана загрузка тестов из истории для случае асинхронного режима https://github.com/vanessa-opensource/add/issues/303 ++ Удален встроенный в конфигурацию xUnitFor1C https://github.com/vanessa-opensource/add/issues/304 ## BDD -+ Исправлена проблема неверных файлов шагов после установки релиза silverbulleters/add#291 ++ Исправлена проблема неверных файлов шагов после установки релиза vanessa-opensource/add#291 -[Подробное описание изменений релиза v5.5.5](https://github.com/silverbulleters/add/milestone/8?closed=1) +[Подробное описание изменений релиза v5.5.5](https://github.com/vanessa-opensource/add/milestone/8?closed=1) Изменения/коммиты после последнего релиза 5.5.5: -https://github.com/silverbulleters/add/compare/5.5.0...5.5.5 +https://github.com/vanessa-opensource/add/compare/5.5.0...5.5.5 # v5.5.0 Асинхронность TDD (и дымовых) + Дымовые тесты + Генератор данных + новые возможности и шаги в BDD @@ -601,7 +601,7 @@ https://github.com/silverbulleters/add/compare/5.5.0...5.5.5 * УФ: Добавление автопоказа отчета allure - по отдельной команде или через флаг в настройках #233 #245 * Набор шагов и методов для работы с Fake-SMTP-Server для тестирования отправки почты #278 #280 - * [Документация](https://github.com/silverbulleters/add/blob/master/features/libraries/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D1%8B/step_definitions/README.md) + * [Документация](https://github.com/vanessa-opensource/add/blob/master/features/libraries/%D0%9F%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D1%8B/step_definitions/README.md) * спасибо @KrapivinAndrey * Новые и доработанные шаги работы с БД #251 @@ -694,10 +694,10 @@ https://github.com/silverbulleters/add/compare/5.5.0...5.5.5 - Исправлена ошибка загрузки макетов в режиме совместимости 8.2 #212 #242 -[Подробное описание изменений релиза v5.4.0](https://github.com/silverbulleters/add/milestone/5?closed=1) +[Подробное описание изменений релиза v5.4.0](https://github.com/vanessa-opensource/add/milestone/5?closed=1) Изменения/коммиты после последнего релиза 5.3.1: -https://github.com/silverbulleters/add/compare/5.4.0...5.3.1 +https://github.com/vanessa-opensource/add/compare/5.4.0...5.3.1 # v5.3.1 Внешние инструменты + исправления - Генератор макетов + Английская локализация + Дымовые тесты + браузер фич @@ -727,10 +727,10 @@ https://github.com/silverbulleters/add/compare/5.4.0...5.3.1 + Исправлено: При пакетном запуске не загружаются и не выполняются фичи, открывается только bddRunner #222 + Исправлено: Очищается папка проекта, если не указать --xddExitCodePath #213 -[Подробное описание изменений релиза v5.3.1](https://github.com/silverbulleters/add/milestone/3?closed=1) +[Подробное описание изменений релиза v5.3.1](https://github.com/vanessa-opensource/add/milestone/3?closed=1) Изменения/коммиты после последнего релиза 5.1.1.0: -https://github.com/silverbulleters/add/compare/5.1.1.0...5.3.1 +https://github.com/vanessa-opensource/add/compare/5.1.1.0...5.3.1 # v5.1.1.0 Генератор данных + работа в обычном приложении @@ -745,10 +745,10 @@ https://github.com/silverbulleters/add/compare/5.1.1.0...5.3.1 + Исправлено: ОФ: не формируется отчет Аллюр при запуске в bddRunner, а в VB 1.1.131 формируется при тех же настройках #194 -[Подробное описание изменений релиза v5.1.1.0](https://github.com/silverbulleters/add/milestone/4?closed=1) +[Подробное описание изменений релиза v5.1.1.0](https://github.com/vanessa-opensource/add/milestone/4?closed=1) Изменения/коммиты после последнего релиза 5.1.0.0: -https://github.com/silverbulleters/add/compare/5.1.0.0...5.1.1.0 +https://github.com/vanessa-opensource/add/compare/5.1.0.0...5.1.1.0 # v5.1.0.0 - Отладка + Дымовые + Генерация данных + Настройка @@ -862,15 +862,15 @@ https://github.com/silverbulleters/add/compare/5.1.0.0...5.1.1.0 + Исправлены ошибки параллельной сборки на Jenklins-сервере #135 + Исправление запуска сборки через команды opm #90 -[Подробное описание изменений релиза v5.1.0.0](https://github.com/silverbulleters/add/milestone/2?closed=1) +[Подробное описание изменений релиза v5.1.0.0](https://github.com/vanessa-opensource/add/milestone/2?closed=1) Изменения/коммиты после последнего релиза 5.0.0.124: -https://github.com/silverbulleters/add/compare/5.0.0.124...5.1.0.0 +https://github.com/vanessa-opensource/add/compare/5.0.0.124...5.1.0.0 ### Vanessa-ADD 5.0.XXX -* Начало истории Vanessa-ADD - https://github.com/silverbulleters/add +* Начало истории Vanessa-ADD - https://github.com/vanessa-opensource/add ### Vanessa-Behavior 1.1.131 @@ -899,7 +899,7 @@ https://github.com/silverbulleters/add/compare/5.0.0.124...5.1.0.0 ### 1.1.127 * Добавил параметр - позволяющий указать свой таймаут для асинхронных шагов. ТаймаутДляАсинхронныхШагов. * Исправил ошибку загрузки Структуры сценария на английском языке -* Исправил https://github.com/silverbulleters/vanessa-behavior/issues/695 +* Исправил https://github.com/vanessa-opensource/vanessa-behavior/issues/695 * Доработал механизм сравнения таблиц. * Добавил шаг: И в таблице "ТабличнаяЧасть1" я устанавливаю флаг с именем "ТабличнаяЧасть1РеквизитБулево" * Добавил шаг: И в таблице "ТабличнаяЧасть1" я снимаю флаг с именем "ТабличнаяЧасть1РеквизитБулево" diff --git "a/doc/xdd/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262.MD" "b/doc/xdd/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262.MD" index 5ccd386dc..67a7b4bb4 100644 --- "a/doc/xdd/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262.MD" +++ "b/doc/xdd/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\321\213\320\236\321\202\321\207\320\265\321\202\320\276\320\262.MD" @@ -80,7 +80,7 @@ allure open ### Задание в json-файле настройки (лучший способ) -При использовании запуска тестов через [Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner) в файле vrunner.json нужно указать использование плагинов следующим образом: +При использовании запуска тестов через [Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner) в файле vrunner.json нужно указать использование плагинов следующим образом: ```json "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}; @@ -91,7 +91,7 @@ allure open ### Задание в строке запуска 1С (не рекомендуется) ```cmd -"C:\Program Files\1cv8\8.3.10.2580\bin\1cv8.exe" ENTERPRISE /F"D:\ibService" +"C:\Program Files\1cv8\8.3.10.2580\bin\1cv8.exe" ENTERPRISE /F"D:\ibService" /Nadmin /P1 /RunModeManagedApplication /Execute "C:\Program Files (x86)\OneScript\lib\add\xddTestRunner.epf" /C "xddRun ЗагрузчикКаталога ""D:\Tests""; xddReports ГенераторОтчетаJUnitXML{build/junit.xml}; diff --git "a/doc/xdd/\320\230\320\267\320\262\320\265\321\201\321\202\320\275\321\213\320\265-\320\277\321\200\320\276\320\261\320\273\320\265\320\274\321\213-\320\277\321\200\320\270-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.MD" "b/doc/xdd/\320\230\320\267\320\262\320\265\321\201\321\202\320\275\321\213\320\265-\320\277\321\200\320\276\320\261\320\273\320\265\320\274\321\213-\320\277\321\200\320\270-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.MD" index 538b130e1..c4a165353 100644 --- "a/doc/xdd/\320\230\320\267\320\262\320\265\321\201\321\202\320\275\321\213\320\265-\320\277\321\200\320\276\320\261\320\273\320\265\320\274\321\213-\320\277\321\200\320\270-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.MD" +++ "b/doc/xdd/\320\230\320\267\320\262\320\265\321\201\321\202\320\275\321\213\320\265-\320\277\321\200\320\276\320\261\320\273\320\265\320\274\321\213-\320\277\321\200\320\270-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\270.MD" @@ -21,7 +21,7 @@ 1. Рекомендуется глобальный поиск по ПодключитьОбработчикОповещения и доработку кода всех найденных обработчиков оповещений. 1. В случае иных ошибок рекомендуется запустить 1С:Предприятие в режиме отладки, попытаться загрузить тесты и поймать место возникновения ошибки. - 1. Если код ошибки находится внутри кода xUnit, [создавайте баг для add](https://github.com/silverbulleters/add/issues/new) + 1. Если код ошибки находится внутри кода xUnit, [создавайте баг для add](https://github.com/vanessa-opensource/add/issues/new) 1. Если код ошибки находится внутри вашей конфигурации, исправляйте проблему у себя. 1. Если в пустой конфигурации в упр.приложении запустить xddTestRunner, при открытии внешнего инструмента "Показать ГУИД" и попытке выбора ссылки 1С:Предприятие падает. [Описание бага #304](https://github.com/xDrivenDevelopment/xUnitFor1C/issues/304) diff --git "a/doc/\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270-\320\277\321\200\320\276\321\204\320\270\320\273\321\217-\320\267\320\260\320\277\321\203\321\201\320\272\320\260.md" "b/doc/\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270-\320\277\321\200\320\276\321\204\320\270\320\273\321\217-\320\267\320\260\320\277\321\203\321\201\320\272\320\260.md" index 691476613..99ac12f26 100644 --- "a/doc/\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270-\320\277\321\200\320\276\321\204\320\270\320\273\321\217-\320\267\320\260\320\277\321\203\321\201\320\272\320\260.md" +++ "b/doc/\320\275\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270-\320\277\321\200\320\276\321\204\320\270\320\273\321\217-\320\267\320\260\320\277\321\203\321\201\320\272\320\260.md" @@ -27,7 +27,7 @@ Например, запуск дымовых тестов из поставки Ванесса-АДД с указанием специального файла настройки дымовых тестов - `vrunner xunit $addRoot/tests/smoke --settings tools\vrunner.json --xddConfig ./tools/JSON/xUnitParams.json` -Расширенные примеры запуска можно увидеть в соседнем репозитории [Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner) +Расширенные примеры запуска можно увидеть в соседнем репозитории [Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner) ### Запуск проверки поведения через BDD diff --git "a/doc/\320\275\320\260\321\207\320\260\320\273\320\276-\320\270\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\320\275\320\270\321\217.md" "b/doc/\320\275\320\260\321\207\320\260\320\273\320\276-\320\270\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\320\275\320\270\321\217.md" index 9da2994af..c5a053a05 100644 --- "a/doc/\320\275\320\260\321\207\320\260\320\273\320\276-\320\270\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\320\275\320\270\321\217.md" +++ "b/doc/\320\275\320\260\321\207\320\260\320\273\320\276-\320\270\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\320\275\320\270\321\217.md" @@ -19,7 +19,7 @@ Возможен как ручной интерактивный запуск тестирования в режиме 1С:Предприятие, так и автоматический прогон тестирования через командную строку с помощью json-файлов настройки. -Примеры простого и удобного автоматического запуска через [Vanessa-Runner](https://github.com/silverbulleters/vanessa-runner) +Примеры простого и удобного автоматического запуска через [Vanessa-Runner](https://github.com/vanessa-opensource/vanessa-runner) + `vrunner vanessa --settings tools\vrunner.json` - BDD + `vrunner xunit --settings tools\vrunner.json` - TDD diff --git a/epf/bddRunner/bddRunner.xml b/epf/bddRunner/bddRunner.xml index f7d4d41be..c7fdf8bf5 100644 --- a/epf/bddRunner/bddRunner.xml +++ b/epf/bddRunner/bddRunner.xml @@ -95,7 +95,7 @@ Vanessa ADD - https://github.com/silverbulleters/add + https://github.com/vanessa-opensource/add ExternalDataProcessor.bddRunner.Form.УправляемаяФорма ExternalDataProcessor.bddRunner.Form.Форма diff --git a/epf/bddRunner/bddRunner/Ext/Help/ru.html b/epf/bddRunner/bddRunner/Ext/Help/ru.html index 50d79624a..a3e638e03 100644 --- a/epf/bddRunner/bddRunner/Ext/Help/ru.html +++ b/epf/bddRunner/bddRunner/Ext/Help/ru.html @@ -1,6 +1,6 @@ 

Vanessa-ADD - это фреймворк для разработки в 1С используя методологию BDD.

-

Страница проекта: https://github.com/silverbulleters/add

+

Страница проекта: https://github.com/vanessa-opensource/add

Vanessa-ADD является аналогом Cucumber для разработки на платформе 1С:Предприятие.

Поддерживаются версии платформы:

@@ -243,7 +243,7 @@

Первое что надо сделать:

-

1. Прочитать вот эту инструкцию https://github.com/silverbulleters/add/blob/develop/doc/bdd/MakeAutoVideo.md

+

1. Прочитать вот эту инструкцию https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/MakeAutoVideo.md

2. Посмотреть вот это видео https://www.youtube.com/watch?v=BfXowJH5uP0

Далее изложу основные принципы:

1. Каждый шаг в видеоинструкции будет озвучен и к нему будут добавлены субтитры.

@@ -283,7 +283,7 @@

Для исключения слайда с заголовком фича файла надо перед строкой, где объявляется имя функциональности написать  #[autodoc.ignore.featureslide]

-

7) Исключить финальный слайд, где указана данные по сборке сценария. autodoc.ignore.finalslide +

7) Исключить финальный слайд, где указана данные по сборке сценария. autodoc.ignore.finalslide

Для исключения слайда с заголовком фича файла надо перед строкой, где объявляется имя функциональности написать  #[autodoc.ignore.finalslide]

diff --git a/epf/xddTestRunner/xddTestRunner.xml b/epf/xddTestRunner/xddTestRunner.xml index 6b89fc5b1..e22c9c0bd 100644 --- a/epf/xddTestRunner/xddTestRunner.xml +++ b/epf/xddTestRunner/xddTestRunner.xml @@ -19,7 +19,7 @@ Тестирование для 1С:Предприятия 8, Vanessa-ADD - https://github.com/silverbulleters/add + https://github.com/vanessa-opensource/add ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма ExternalDataProcessor.xddTestRunner.Form.Форма diff --git "a/features/StepsGenerator/\320\237\320\265\321\200\320\265\320\263\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217EPF232.feature" "b/features/StepsGenerator/\320\237\320\265\321\200\320\265\320\263\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217EPF232.feature" index 51c38df0f..2dbc7cb75 100644 --- "a/features/StepsGenerator/\320\237\320\265\321\200\320\265\320\263\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217EPF232.feature" +++ "b/features/StepsGenerator/\320\237\320\265\321\200\320\265\320\263\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217EPF232.feature" @@ -4,7 +4,7 @@ @OneThread @IgnoreOnWeb -#https://github.com/silverbulleters/vanessa-behavior/issues/232 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/232 Функционал: Проверка перегенерации EPF в режиме обычных форм 232 diff --git "a/features/StepsRunner/TestClient/Issue-252-\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\277\320\276\320\262\320\265\321\211\320\265\320\275\320\270\320\271.feature" "b/features/StepsRunner/TestClient/Issue-252-\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\277\320\276\320\262\320\265\321\211\320\265\320\275\320\270\320\271.feature" index a45212933..5ad77b399 100644 --- "a/features/StepsRunner/TestClient/Issue-252-\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\277\320\276\320\262\320\265\321\211\320\265\320\275\320\270\320\271.feature" +++ "b/features/StepsRunner/TestClient/Issue-252-\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\277\320\276\320\262\320\265\321\211\320\265\320\275\320\270\320\271.feature" @@ -1,6 +1,6 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/252 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/252 @IgnoreOn82Builds @IgnoreOnOFBuilds diff --git "a/features/StepsRunner/TestClient/Issue-261\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265VB.feature" "b/features/StepsRunner/TestClient/Issue-261\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265VB.feature" index 72e6e0c1d..7edee2df8 100644 --- "a/features/StepsRunner/TestClient/Issue-261\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265VB.feature" +++ "b/features/StepsRunner/TestClient/Issue-261\320\237\320\276\320\273\321\203\321\207\320\270\321\202\321\214\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265VB.feature" @@ -1,6 +1,6 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/261 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/261 @IgnoreOn82Builds @IgnoreOnOFBuilds diff --git "a/features/StepsRunner/TestClient/Issue-416-\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260 \320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\237\320\276\320\236\321\210\320\270\320\261\320\272\320\265.feature" "b/features/StepsRunner/TestClient/Issue-416-\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260 \320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\237\320\276\320\236\321\210\320\270\320\261\320\272\320\265.feature" index 291c783ad..48dc0f43c 100644 --- "a/features/StepsRunner/TestClient/Issue-416-\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260 \320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\237\320\276\320\236\321\210\320\270\320\261\320\272\320\265.feature" +++ "b/features/StepsRunner/TestClient/Issue-416-\320\236\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260 \320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217\320\241\321\206\320\265\320\275\320\260\321\200\320\270\320\265\320\262\320\237\320\276\320\236\321\210\320\270\320\261\320\272\320\265.feature" @@ -1,6 +1,6 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/416 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/416 @IgnoreOn82Builds @IgnoreOnOFBuilds diff --git "a/features/Support/Instructions/Environment/step_definitions/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Support/Instructions/Environment/step_definitions/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 63268bd36..b53428c08 100644 --- "a/features/Support/Instructions/Environment/step_definitions/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Support/Instructions/Environment/step_definitions/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/\320\241\320\272\320\260\321\207\320\270\320\262\320\260\320\275\320\270\320\265\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -30,7 +30,7 @@ СтрокаКоманды = "TASKKILL /F /IM chrome.exe"; КомандаСистемы(СтрокаКоманды); - ОткрытьСайт("https://github.com/silverbulleters/add"); + ОткрытьСайт("https://github.com/vanessa-opensource/add"); Попытка Оболочка = Новый COMОбъект("Shell.Application"); diff --git "a/features/Support/Templates/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\241\320\275\320\270\320\277\320\265\321\202\320\260-237.feature" "b/features/Support/Templates/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\241\320\275\320\270\320\277\320\265\321\202\320\260-237.feature" index 50886d0ec..0483fc724 100644 --- "a/features/Support/Templates/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\241\320\275\320\270\320\277\320\265\321\202\320\260-237.feature" +++ "b/features/Support/Templates/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\241\320\275\320\270\320\277\320\265\321\202\320\260-237.feature" @@ -1,19 +1,18 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/237 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/237 @IgnoreOnCIMainBuild Функционал: Тестовая фича, проверяющая генерацию снипета по структуре сценария - + Структура сценария: Привязка файлов сканов актов к документам ЭСТИ Допустим к заказу связанному с реализацией товаров и услуг <Номер> от <ДатаДокумента> присоединен файл <ИмяФайла> только один - - Примеры: - | ТомХраненияПервички | МесяцГода | Реализации | АктИсх | ИмяФайла | Номер | ДатаДокумента | - | ПутьКТому | 2015.06 | Реализации | Акт исх | ИмяФайла.pdf | 524 | 2015.06.30 | + Примеры: + | ТомХраненияПервички | МесяцГода | Реализации | АктИсх | ИмяФайла | Номер | ДатаДокумента | + | ПутьКТому | 2015.06 | Реализации | Акт исх | ИмяФайла.pdf | 524 | 2015.06.30 | diff --git "a/features/Support/Templates/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217VanessaADD.feature" "b/features/Support/Templates/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217VanessaADD.feature" index 41ba4e417..134f3131e 100644 --- "a/features/Support/Templates/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217VanessaADD.feature" +++ "b/features/Support/Templates/\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217VanessaADD.feature" @@ -1,6 +1,6 @@ # language: ru -#https://github.com/silverbulleters/vanessa-add/issues/261 +#https://github.com/vanessa-opensource/vanessa-add/issues/261 @IgnoreOnCIMainBuild diff --git "a/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260Allure.feature" "b/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260Allure.feature" index 010f3d328..ae6ede81a 100644 --- "a/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260Allure.feature" +++ "b/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260Allure.feature" @@ -1,18 +1,18 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/34 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/34 @IgnoreOnCIMainBuild Функционал: Тестовая фича, проверяющая генерацию отчета Allure - + Сценарий: Выполнение первого простого сценария Когда я выполняю простой шаг И я выполняю ещё простой шаг - + Сценарий: Выполнение второго простого сценария Когда я выполняю простой шаг И я выполняю ещё простой шаг \ No newline at end of file diff --git "a/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260jUnit.feature" "b/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260jUnit.feature" index 6fd977c3b..a4ec47ab9 100644 --- "a/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260jUnit.feature" +++ "b/features/Support/Templates/\320\244\320\270\321\207\320\260\320\224\320\273\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\236\321\202\321\207\320\265\321\202\320\260jUnit.feature" @@ -1,30 +1,29 @@ # language: ru -#https://github.com/silverbulleters/vanessa-behavior/issues/102 +#https://github.com/vanessa-opensource/vanessa-behavior/issues/102 @IgnoreOnCIMainBuild Функционал: Тестовая фича, проверяющая генерацию отчета jUnit - + Сценарий: Выполнение первого простого сценария Когда я выполняю простой шаг И я выполняю ещё простой шаг - + Сценарий: Падающий сценарий Когда я выполняю простой шаг И я не выполняю простой шаг - + Сценарий: Пропущенный сценарий Когда я выполняю не реализованный простой шаг Структура сценария: Сценарий с таблицей Когда я выполняю шаг в служебной фиче с параметром <Параметр> - + Примеры: | Параметр | | 1 | | 2 | - \ No newline at end of file diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 93f42eb57..f51521167 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -103,7 +103,7 @@ Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуКонецТекущегоМесяца(Парам01)","ВПолеСИменемЯВвожуКонецТекущегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу конец текущего месяца","Вводит в поле текстовое представление значения даты равной концу текущего месяца. Например ""31.01.2018"".","UI.Формы.Поля.Ввод даты"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуНачалоСледующегоМесяца(Парам01)","ВПолеСИменемЯВвожуНачалоСледующегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу начало следующего месяца","Вводит в поле текстовое представление значения даты равной началу следующего месяца. Например ""01.01.2018"".","UI.Формы.Поля.Ввод даты"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуКонецСледующегоМесяца(Парам01)","ВПолеСИменемЯВвожуКонецСледующегоМесяца","И в поле с именем ""ИмяПоля"" я ввожу конец следующего месяца","Вводит в поле текстовое представление значения даты равной концу следующего месяца. Например ""31.01.2018"".","UI.Формы.Поля.Ввод даты"); - + Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеЯВвожуТекущуюДатуИТекущееВремя(Парам01)","ВПолеЯВвожуТекущуюДатуИТекущееВремя","И в поле ""ИмяПоля"" я ввожу текущую дату и текущее время","Вводит текстовое представление значения текущей даты и времени в поле. Например ""01.01.2018 12:00:00"".","UI.Формы.Поля.Ввод даты"); Ванесса.ДобавитьШагВМассивТестов(ВсеТесты,"ВПолеСИменемЯВвожуТекущуюДатуИТекущееВремя(Парам01)","ВПолеСИменемЯВвожуТекущуюДатуИТекущееВремя","И в поле с именем ""ИмяПоля"" я ввожу текущую дату и текущее время","Вводит текстовое представление значения текущей даты и времени в поле. Например ""01.01.2018 12:00:00"".","UI.Формы.Поля.Ввод даты"); @@ -1841,7 +1841,7 @@ ПолучилосьПерейти = СделатьПереход(ТаблицаСписок,ОписаниеСтроки,ОшибкаПереходВниз,ОшибкаПереходВверх); Если НЕ ПолучилосьПерейти Тогда Попытка - //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/silverbulleters/vanessa-behavior/issues/342 + //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/vanessa-opensource/vanessa-behavior/issues/342 //Делаем обход проблемы ТаблицаСписок.ПерейтиКПервойСтроке(); ПолучилосьПерейти = СделатьПереход(ТаблицаСписок,ОписаниеСтроки,ОшибкаПереходВниз,ОшибкаПереходВверх); @@ -1873,7 +1873,7 @@ ПолучилосьПерейти = СделатьПереход(ТаблицаСписок,ОписаниеСтроки,ОшибкаПереходВниз,ОшибкаПереходВверх); Если НЕ ПолучилосьПерейти Тогда Попытка - //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/silverbulleters/vanessa-behavior/issues/342 + //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/vanessa-opensource/vanessa-behavior/issues/342 //Делаем обход проблемы ТаблицаСписок.ПерейтиКПервойСтроке(); ПолучилосьПерейти = СделатьПереход(ТаблицаСписок,ОписаниеСтроки,ОшибкаПереходВниз,ОшибкаПереходВверх); @@ -2010,7 +2010,7 @@ ПолучилосьПерейти = СделатьПереход(ТаблицаСписок, ОписаниеСтроки, ОшибкаПереходВниз, ОшибкаПереходВверх); Если НЕ ПолучилосьПерейти Тогда Попытка - //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/silverbulleters/vanessa-behavior/issues/342 + //Возможно, это ошибка платформы. Такое бывает с таблицами значений в УФ. Смотри https://github.com/vanessa-opensource/vanessa-behavior/issues/342 //Делаем обход проблемы ТаблицаСписок.ПерейтиКПервойСтроке(); ПолучилосьПерейти = СделатьПереход(ТаблицаСписок, ОписаниеСтроки, ОшибкаПереходВниз, ОшибкаПереходВверх); diff --git a/features/libraries/VB/Legal.feature b/features/libraries/VB/Legal.feature index 0ee522a46..3aa4b4972 100644 --- a/features/libraries/VB/Legal.feature +++ b/features/libraries/VB/Legal.feature @@ -7,7 +7,7 @@ #Можно использовать вообще пустую базу. #TestClient должен быть в той базе, которая обновляется. #Параметры TestClient можно передать через json. Вот пример как это можно сделать: -#https://github.com/silverbulleters/add/blob/develop/tools/JSON/VBParams839UF.json +#https://github.com/vanessa-opensource/add/blob/develop/tools/JSON/VBParams839UF.json Функциональность: Закрытие окон обновления конфигурации Как Разработчик diff --git "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f3bcc4e1b..1550fe614 100644 --- "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -690,7 +690,7 @@ ДлинаРасширенияМП4 = 3; Если НРег(Прав(ИмяФайлаВидеоВременный, ДлинаРасширенияМП4)) = "mp4" Тогда - //надо перекодировать в mpg + //надо перекодировать в mpg НовоеИмяФайлВидео = СтрЗаменить(ИмяФайлаВидеоВременный,"mp4","mpg"); Команда = "" + ПараметрыВидео.ЗаписьВидеоКомандаFfmpeg + " -i " + ИмяФайлаВидеоВременный + " -r 29.97 -qscale 1 -ab 192k -acodec libmp3lame " + НовоеИмяФайлВидео; ПараметрыВидео.Ванесса.Отладка(Команда); @@ -1959,7 +1959,7 @@ КонецЕсли; Если БылиОшибки Тогда - Сообщить("Необходимо установить программное обеспечение. Подробности тут: https://github.com/silverbulleters/add/blob/develop/README.md"); + Сообщить("Необходимо установить программное обеспечение. Подробности тут: https://github.com/vanessa-opensource/add/blob/develop/README.md"); Сообщить("Включите флаг <Включить отладочные сообщения> чтобы посмотреть выполняемые команды."); Иначе Сообщить("Все проверки пройдены."); diff --git a/sonarlint.json b/sonarlint.json index 91ccf0d27..0a332c45b 100644 --- a/sonarlint.json +++ b/sonarlint.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/silverbulleters/sonarqube-inject-vsc/master/schemas/sonarlint.json", + "$schema": "https://raw.githubusercontent.com/vanessa-opensource/sonarqube-inject-vsc/master/schemas/sonarlint.json", "serverId": "opensonar.silverbulleters.org", "projectKey": "add" } \ No newline at end of file diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 2ec9334b2..edd316ddd 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -586,7 +586,7 @@ Для справочников, документов и регистров есть хотя бы одна роль на Чтение метаданных, отличная от ролей с администраторскими/полными привилегиями. Есть возможность настройки прав, которые являются администраторскими, с помощью файла конфигурации. -- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 53](https://github.com/silverbulleters/add/blob/develop/tests/smoke/smoke.example.json#L53) +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 53](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L53) ## Проверка режима управления блокировкой данных в транзакции по умолчанию diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 421d9c528..f04cdf24e 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, diff --git a/tools/JSON/VBParams.json b/tools/JSON/VBParams.json index 19d4bd7a3..46f7e6f61 100644 --- a/tools/JSON/VBParams.json +++ b/tools/JSON/VBParams.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки": "Сборка 8.3.10 UF", "ВерсияПлатформы": "8.3.10", "ВыводитьСообщенияВФайл": "$workspaceRoot/build/message.txt", diff --git a/tools/JSON/VBParams82OF.json b/tools/JSON/VBParams82OF.json index 072caa01d..3160a7939 100644 --- a/tools/JSON/VBParams82OF.json +++ b/tools/JSON/VBParams82OF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"82OF", "ВерсияПлатформы":"8.2", "КаталогПоискаВерсииПлатформы":"C:/Program Files (x86)/1cv82", diff --git a/tools/JSON/VBParams82UF.json b/tools/JSON/VBParams82UF.json index 30d040434..55edb5e39 100644 --- a/tools/JSON/VBParams82UF.json +++ b/tools/JSON/VBParams82UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"82UF", "ВерсияПлатформы":"8.2", "КаталогПоискаВерсииПлатформы":"C:/Program Files (x86)/1cv82", diff --git a/tools/JSON/VBParams8310UF.json b/tools/JSON/VBParams8310UF.json index dc2f74f44..719eb2d39 100644 --- a/tools/JSON/VBParams8310UF.json +++ b/tools/JSON/VBParams8310UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки": "8310UF", "ВерсияПлатформы": "8.3.10", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.10 UF no sync.txt", diff --git a/tools/JSON/VBParams8310UF_FastCheck.json b/tools/JSON/VBParams8310UF_FastCheck.json index fc332299a..dd6ad1270 100644 --- a/tools/JSON/VBParams8310UF_FastCheck.json +++ b/tools/JSON/VBParams8310UF_FastCheck.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"8310UFFastCheck", "ВерсияПлатформы":"8.3.10", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.10 UF.txt", diff --git a/tools/JSON/VBParams8310UFnoSync.json b/tools/JSON/VBParams8310UFnoSync.json index 950b71e15..d43aa94f8 100644 --- a/tools/JSON/VBParams8310UFnoSync.json +++ b/tools/JSON/VBParams8310UFnoSync.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"8310UFnosync", "ВерсияПлатформы":"8.3.10", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.10 UF no sync.txt", diff --git a/tools/JSON/VBParams8310Web.json b/tools/JSON/VBParams8310Web.json index 6e58f7acf..539189d87 100644 --- a/tools/JSON/VBParams8310Web.json +++ b/tools/JSON/VBParams8310Web.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"8310web", "ВерсияПлатформы":"8.3.10", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.10 Web.txt", diff --git a/tools/JSON/VBParams8310linux.json b/tools/JSON/VBParams8310linux.json index 186d55959..f057365ad 100644 --- a/tools/JSON/VBParams8310linux.json +++ b/tools/JSON/VBParams8310linux.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки": "8310UF", "ВерсияПлатформы": "8.3.10", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.10 UF no sync.txt", diff --git a/tools/JSON/VBParams836OF.json b/tools/JSON/VBParams836OF.json index 614431faa..4cda9ba70 100644 --- a/tools/JSON/VBParams836OF.json +++ b/tools/JSON/VBParams836OF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"836OF", "ВерсияПлатформы":"8.3.6", "ВыводитьСообщенияВФайл": "./build/ServiceBases/Messages 8.3.6 OF.txt", diff --git a/tools/JSON/VBParams836UF.json b/tools/JSON/VBParams836UF.json index 98372cb07..accce2420 100644 --- a/tools/JSON/VBParams836UF.json +++ b/tools/JSON/VBParams836UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"836UF", "ВерсияПлатформы":"8.3.6", "ВыводитьСообщенияВФайл": "./build/ServiceBases/Messages 8.3.6 UF.txt", diff --git a/tools/JSON/VBParams836UFCheckDoc.json b/tools/JSON/VBParams836UFCheckDoc.json index a9d41da18..cd593578d 100644 --- a/tools/JSON/VBParams836UFCheckDoc.json +++ b/tools/JSON/VBParams836UFCheckDoc.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"Сборка 8.3.6 UF Check Doc", "ВерсияПлатформы":"8.3.6", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.6 UF Check Doc.txt", diff --git a/tools/JSON/VBParams836UFnoSync.json b/tools/JSON/VBParams836UFnoSync.json index bb75259ae..59d45775f 100644 --- a/tools/JSON/VBParams836UFnoSync.json +++ b/tools/JSON/VBParams836UFnoSync.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"Сборка 8.3.6 UF no sync", "ВерсияПлатформы":"8.3.6", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.6 UF no sync.txt", diff --git a/tools/JSON/VBParams837UF.json b/tools/JSON/VBParams837UF.json index e84e8418d..bbf334a88 100644 --- a/tools/JSON/VBParams837UF.json +++ b/tools/JSON/VBParams837UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"837UF", "ВерсияПлатформы":"8.3.7", "ВыводитьСообщенияВФайл": "./build/ServiceBases/Messages 8.3.7 UF.txt", diff --git a/tools/JSON/VBParams838UF.json b/tools/JSON/VBParams838UF.json index 21d3c7d6e..6fe77fd8b 100644 --- a/tools/JSON/VBParams838UF.json +++ b/tools/JSON/VBParams838UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"838UF", "ВерсияПлатформы":"8.3.8", "ВыводитьСообщенияВФайл": "./build/ServiceBases/Messages 8.3.8 UF.txt", diff --git a/tools/JSON/VBParams839UF.json b/tools/JSON/VBParams839UF.json index 452deac56..b7ee642d3 100644 --- a/tools/JSON/VBParams839UF.json +++ b/tools/JSON/VBParams839UF.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"839UF", "ВерсияПлатформы":"8.3.9", "ВыводитьСообщенияВФайл": "./ServiceBases/Messages 8.3.9 UF.txt", diff --git a/tools/JSON/VBParams839UFnoSync.json b/tools/JSON/VBParams839UFnoSync.json index a6a028ca7..9be5ce2fa 100644 --- a/tools/JSON/VBParams839UFnoSync.json +++ b/tools/JSON/VBParams839UFnoSync.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"Сборка 8.3.9 UF no sync", "ВерсияПлатформы":"8.3.9", "ВыводитьСообщенияВФайл": "./ServiceBases\Messages 8.3.9 UF no sync.txt", diff --git a/tools/JSON/VideoDefault.json b/tools/JSON/VideoDefault.json index 98372cb07..accce2420 100644 --- a/tools/JSON/VideoDefault.json +++ b/tools/JSON/VideoDefault.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/behavior-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/behavior-schema.json", "ИмяСборки":"836UF", "ВерсияПлатформы":"8.3.6", "ВыводитьСообщенияВФайл": "./build/ServiceBases/Messages 8.3.6 UF.txt", diff --git a/tools/JSON/env.json.file.build b/tools/JSON/env.json.file.build index bbceb47c9..d5f822485 100644 --- a/tools/JSON/env.json.file.build +++ b/tools/JSON/env.json.file.build @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/vanessa-runner-schema.json", + "$schema": "https://github.com/vanessa-opensource/vanessa-runner/blob/develop/vanessa-runner-schema.json", "default": { "--ibconnection": "/F./build/ib", "--db-user": "", diff --git a/tools/JSON/env.json.server.build b/tools/JSON/env.json.server.build index fd089d8e8..c81b9a23f 100644 --- a/tools/JSON/env.json.server.build +++ b/tools/JSON/env.json.server.build @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/vanessa-runner-schema.json", + "$schema": "https://github.com/vanessa-opensource/vanessa-runner/blob/develop/vanessa-runner-schema.json", "default": { "--ibconnection":"/Sserveronec.service.consul/trade", "--db-user":"", diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 514c330ea..beaeb7e4d 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, @@ -74,7 +74,7 @@ "ОбщиеФормы":[ "ОбщаяФорма1" ], - "Справочники": + "Справочники": [ "ПростойСправочник.Форма.ФормаВыбора" ], @@ -101,7 +101,7 @@ "ПолныеПрава", "АдминистраторСистемы" ], - + "smokeInputBasedOn": { "Исключения": { "ДокументыПроведенные": [ @@ -113,7 +113,7 @@ ] } }, - + "SmokeCommonModules": { "Subsystems": [ ], From 372a90f5d1005faf78f275634a88d49e5de15f3d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 19:49:55 +0300 Subject: [PATCH 022/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B2?= =?UTF-8?q?=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index fe7c1d23f..9fcf254f6 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -37,7 +37,6 @@ &НаКлиенте Процедура ПриОткрытии() Объект.ИспользоватьПрямыеПутиФайлов = КлиентИСерверРасположеныНаОднойМашине(); - Объект.ИспользоватьПрямыеПутиФайлов = Ложь;//TODO временно, для отладки СистемнаяИнформация = Новый СистемнаяИнформация; Версия836ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.6.0"); @@ -295,7 +294,7 @@ ПараметрыЗавершения = Новый Структура("ИдентификаторыПлагинов", ИдентификаторыПлагинов); //ПараметрыЗавершения.Вставить("ПомещаемыеФайлы", ПомещаемыеФайлы); - + ОписаниеЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения); АСинк().смв_ПоместитьФайлы(ОписаниеЗавершения, ПомещаемыеФайлы); From 84b21d929b9fa37208d77bac708e8f26cc341787 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 20:08:23 +0300 Subject: [PATCH 023/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=83=D1=81=D0=BA=D0=BE=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c7e08b6f0..68b38e1dc 100644 --- "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -19,22 +19,35 @@ &НаКлиенте Функция СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла = Неопределено) Экспорт - Возврат СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла); -КонецФункции - -&НаСервере -Функция СоздатьКонтейнерНаСервере(ИмяКонтейнера, ИконкаУзла) - Возврат ЭтотОбъектНаСервере().СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла); + Контейнер = Новый Структура; + Контейнер.Вставить("Ключ", Новый УникальныйИдентификатор); + Контейнер.Вставить("Тип", ТипыУзловДереваТестов.Контейнер); + Контейнер.Вставить("Имя", ИмяКонтейнера); + Контейнер.Вставить("Путь", ""); + Контейнер.Вставить("Строки", Новый Массив); + Контейнер.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Папка, ИконкаУзла)); + Контейнер.Вставить("СлучайныйПорядокВыполнения", Истина); + Контейнер.Вставить("ПродолжитьВыполнениеПослеПаденияТеста", Истина); + Контейнер.Вставить("Контекст", Неопределено); + Контейнер.Вставить("ЭлементДеструктор", Неопределено); + + Возврат Контейнер; КонецФункции &НаКлиенте Функция СоздатьЭлемент(Путь, ИмяМетода, Представление = "", ИконкаУзла = Неопределено) Экспорт - Возврат СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла); -КонецФункции - -&НаСервере -Функция СоздатьЭлементНаСервере(Путь, ИмяМетода, Представление, ИконкаУзла) - Возврат ЭтотОбъектНаСервере().СоздатьЭлемент(Путь, ИмяМетода, Представление, ИконкаУзла); + Элемент = Новый Структура; + Элемент.Вставить("Ключ", Новый УникальныйИдентификатор); + Элемент.Вставить("Тип", ТипыУзловДереваТестов.Элемент); + Элемент.Вставить("Путь", Путь); + Элемент.Вставить("ИмяМетода", ИмяМетода); + Элемент.Вставить("Представление", ?(ПустаяСтрока(Представление), ИмяМетода, Представление)); + Элемент.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Функция, ИконкаУзла)); + Элемент.Вставить("Параметры", Новый Массив); + Элемент.Вставить("ПередЗапускомТеста", "ПередЗапускомТеста"); + Элемент.Вставить("ПослеЗапускаТеста", "ПослеЗапускаТеста"); + + Возврат Элемент; КонецФункции // { Helpers From 25f9ad670fbc6486b7965f39b5f9d8db2fc1863b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 20:13:19 +0300 Subject: [PATCH 024/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B4=D1=83=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D1=83=D1=81=D0=BA=D0=BE=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Forms/Form/Ext/Form/Module.bsl | 41 ++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl index 69ef1a9fb..07bffa432 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl @@ -777,7 +777,30 @@ EndProcedure // RecursivelyLoadSmokeCommonModuleTestsFromSubsystem() // * ArrayItem - String - part of string. // Function _StrSplit(Val String, Val Separator, IncludeBlank = True) - Return Object()._StrSplit(String, Separator, IncludeBlank); + SplitResult = New Array; + + If IsBlankString(String) Then + If IncludeBlank Then + SplitResult.Add(String); + EndIf; + Return SplitResult; + EndIf; + + Position = Find(String, Separator); + While Position > 0 Do + Substring = Left(String, Position - 1); + If IncludeBlank Or Not IsBlankString(Substring) Then + SplitResult.Add(Substring); + EndIf; + String = Mid(String, Position + StrLen(Separator)); + Position = Find(String, Separator); + EndDo; + + If IncludeBlank Or Not IsBlankString(String) Then + SplitResult.Add(String); + EndIf; + + Return SplitResult; EndFunction // _StrSplit() &AtServer @@ -797,10 +820,18 @@ Function _StrTemplate(Val Template, Val Value1, Val Value2 = Undefined, Val Value6 = Undefined, Val Value7 = Undefined, Val Value8 = Undefined, Val Value9 = Undefined, Val Value10 = Undefined) - Return Object()._StrTemplate(Template, Value1, Value2, - Value3, Value4, Value5, - Value6, Value7, Value8, - Value9, Value10); + Template = StrReplace(Template, "%1", String(Value1)); + Template = StrReplace(Template, "%2", String(Value2)); + Template = StrReplace(Template, "%3", String(Value3)); + Template = StrReplace(Template, "%4", String(Value4)); + Template = StrReplace(Template, "%5", String(Value5)); + Template = StrReplace(Template, "%6", String(Value6)); + Template = StrReplace(Template, "%7", String(Value7)); + Template = StrReplace(Template, "%8", String(Value8)); + Template = StrReplace(Template, "%9", String(Value9)); + Template = StrReplace(Template, "%10", String(Value10)); + + Return Template; EndFunction // _StrTemplate() From c1193594978b1e3d50fc04ecd0f49ba00c8efe5b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 22 May 2020 20:19:18 +0300 Subject: [PATCH 025/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D0=B4=D1=83=D0=B1=D0=BB=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=B4=20=D0=B4=D0=BB=D1=8F=20=D1=83=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 12 +-------- .../Ext/Form/Module.bsl" | 27 +++++++++++++------ 2 files changed, 20 insertions(+), 19 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index 8bdc8beee..4e68d25a6 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -754,22 +754,12 @@ ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершитьПомещениеФайла_8_3_15_и_Выше", ЭтотОбъект, ПараметрыОповещения); - // ПараметрыПолучения = ФайловаяСистемаКлиент.ПараметрыЗагрузкиФайла(); - // ПараметрыПолучения.Интерактивно = Интерактивно; - // ПараметрыПолучения.ИдентификаторФормы = Идентификатор; - - //ФайловаяСистемаКлиент.ЗагрузитьФайл(ОписаниеОповещения, ПараметрыПолучения, ИмяФайла, АдресХранения); - // - НачатьПомещениеФайлаНаСервер(ОписаниеОповещения, , , АдресХранения, ИмяФайла, Идентификатор); + Выполнить("НачатьПомещениеФайлаНаСервер(ОписаниеОповещения, , , АдресХранения, ИмяФайла, Идентификатор);"); КонецПроцедуры &НаКлиенте Процедура ЗавершитьПомещениеФайла_8_3_15_и_Выше(ПомещенныйФайл, ДополнительныеПараметры) Экспорт - //Если ПомещенныйФайл.ПомещениеФайлаОтменено Тогда - // Возврат; - //КонецЕсли; - ОбработкаЗавершения = Неопределено; Если Не ДополнительныеПараметры.Свойство("ОбработкаЗавершения_8_3_15_и_Выше", ОбработкаЗавершения) Тогда Возврат; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9fcf254f6..bd34014d9 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -294,7 +294,7 @@ ПараметрыЗавершения = Новый Структура("ИдентификаторыПлагинов", ИдентификаторыПлагинов); //ПараметрыЗавершения.Вставить("ПомещаемыеФайлы", ПомещаемыеФайлы); - + ОписаниеЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения); АСинк().смв_ПоместитьФайлы(ОписаниеЗавершения, ПомещаемыеФайлы); @@ -516,7 +516,7 @@ КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); - СохранитьВИсториюЗагрузкиТестовНаСервере(ИдентификаторВыбранногоЗагрузчика, Путь); + СохранитьВИсториюЗагрузкиТестов(ИдентификаторВыбранногоЗагрузчика, Путь); ОбновитьКомандыИсторииЗагрузкиТестов(); КонецПроцедуры @@ -1032,11 +1032,22 @@ // } Генерация результатов тестирования // { История загрузки тестов -&НаСервере -Процедура СохранитьВИсториюЗагрузкиТестовНаСервере(Знач ИдентификаторЗагрузчика, Знач Путь) - ЭтотОбъектНаСервере = ЭтотОбъектНаСервере(); - ЭтотОбъектНаСервере.СохранитьВИсториюЗагрузкиТестов(ИдентификаторЗагрузчика, Путь); - ЗначениеВРеквизитФормы(ЭтотОбъектНаСервере, "Объект"); +&НаКлиенте +Процедура СохранитьВИсториюЗагрузкиТестов(Знач ИдентификаторЗагрузчика, Знач Путь) Экспорт + ИсторияЗагрузкиТестов = Объект.Настройки.ИсторияЗагрузкиТестов; + Для Сч = - ИсторияЗагрузкиТестов.Количество() + 1 По 0 Цикл + Индекс = -Сч; + ЭлементИстории = ИсторияЗагрузкиТестов[Индекс]; + Если ЭлементИстории.ИдентификаторЗагрузчика = ИдентификаторЗагрузчика И ЭлементИстории.Путь = Путь Тогда + ИсторияЗагрузкиТестов.Удалить(Индекс); + КонецЕсли; + КонецЦикла; + + ИсторияЗагрузкиТестов.Вставить(0, Новый Структура("ИдентификаторЗагрузчика, Путь", ИдентификаторЗагрузчика, Путь)); + ДлинаИстории = 10; + Пока ИсторияЗагрузкиТестов.Количество() > ДлинаИстории Цикл + ИсторияЗагрузкиТестов.Удалить(ДлинаИстории); + КонецЦикла; КонецПроцедуры &НаСервере @@ -1851,7 +1862,7 @@ КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); - СохранитьВИсториюЗагрузкиТестовНаСервере(ДополнительныеПараметры.ИдентификаторВыбранногоЗагрузчика, ДополнительныеПараметры.Путь); + СохранитьВИсториюЗагрузкиТестов(ДополнительныеПараметры.ИдентификаторВыбранногоЗагрузчика, ДополнительныеПараметры.Путь); ОбновитьКомандыИсторииЗагрузкиТестов(); АСинк().смв_ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаОповещения); From 20e441ab872bc91169773b4235cf9c867037d8af Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 15:18:53 +0300 Subject: [PATCH 026/421] =?UTF-8?q?=D0=92=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B7=D0=B0=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD=20=D0=B2=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B5=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 192 +++++++++++++++++- .../Ext/Form/Module.bsl" | 16 +- tools/JSON/xUnitParams.json | 11 + 3 files changed, 204 insertions(+), 15 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 542d23240..6945a2111 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,6 +7,15 @@ &НаКлиенте Перем ПортПоУмолчанию; +&НаКлиенте +Перем НастройкиМодальныхОкон; + +&НаКлиенте +Перем ЗаголовкиМодальныхОкон; + +&НаКлиенте +Перем ПоляМодальныхОкон; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -21,6 +30,7 @@ &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; + УстановитьНастройкиМодальныхОконПоУмолчанию(); КонецПроцедуры &НаКлиенте @@ -245,9 +255,22 @@ Если ТипЗнч(ПодчиненныйОбъект) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Продолжить; КонецЕсли; - Если ПодчиненныйОбъект.Заголовок = НСтр("ru = '1С:Предприятие'") Тогда + ОписаниеМодальногоОкна = ЗаголовкиМодальныхОкон.Получить(ДляСравнения(ПодчиненныйОбъект.Заголовок)); + Если ОписаниеМодальногоОкна <> Неопределено Тогда ОкноПредупреждение = ПодчиненныйОбъект; + Прервать; КонецЕсли; + + ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); + + Если ТестируемаяФорма = Неопределено Тогда + Продолжить; + КонецЕсли; + + Если ТестируемаяФорма.ИмяФормы = "" Или ТестируемаяФорма.ИмяФормы = "MessageBox" Тогда + ОкноПредупреждение = ПодчиненныйОбъект; + Прервать; + КонецЕсли; КонецЦикла; Возврат ОкноПредупреждение; @@ -293,7 +316,7 @@ Процедура ЗакрытьВсеОткрытыеОкна(ТестКлиент) Экспорт ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); - НажатьПодходящуюКнопку(ОкноПредупреждение); + ЗакрытьОкноПредупреждения(ОкноПредупреждение); ОткрытыеОкна = ТестКлиент.ПолучитьПодчиненныеОбъекты(); Для Каждого ТекОкно Из ОткрытыеОкна Цикл @@ -308,40 +331,80 @@ КонецПопытки; ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); - НажатьПодходящуюКнопку(ОкноПредупреждение); + ЗакрытьОкноПредупреждения(ОкноПредупреждение); КонецЦикла; КонецПроцедуры &НаКлиенте -Процедура НажатьПодходящуюКнопку(ОкноПриложения) Экспорт +Процедура ЗакрытьОкноПредупреждения(ОкноПриложения) Экспорт Если ТипЗнч(ОкноПриложения) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Возврат; КонецЕсли; - Кнопки = ОкноПриложения.НайтиОбъекты(Тип("ТестируемаяКнопкаФормы")); + ТипТестируемаяКнопкаФормы = Тип("ТестируемаяКнопкаФормы"); + + Кнопки = ОкноПриложения.НайтиОбъекты(ТипТестируемаяКнопкаФормы); Если Не ЗначениеЗаполнено(Кнопки) Тогда Возврат; КонецЕсли; Для Каждого ТекПолеФормы Из ОкноПриложения.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл - Если СтрНачинаетсяС_(НРег(ТекПолеФормы.ТекстЗаголовка), "данные были изменены") - Или СтрНачинаетсяС_(НРег(ТекПолеФормы.ТекстЗаголовка), "сохранить данные") Тогда - Кнопки[1].Нажать(); + Если НажатьКнопкуМодальногоДиалога(ТекПолеФормы.ТекстЗаголовка, Кнопки, Истина) Тогда Возврат; КонецЕсли; КонецЦикла; Для Каждого ТекДекорацияФормы Из ОкноПриложения.НайтиОбъекты(Тип("ТестируемаяДекорацияФормы")) Цикл - Если СтрНачинаетсяС_(НРег(ТекДекорацияФормы.ТекстЗаголовка), "данные были изменены") - Или СтрНачинаетсяС_(НРег(ТекДекорацияФормы.ТекстЗаголовка), "сохранить данные") Тогда - Кнопки[1].Нажать(); + Если НажатьКнопкуМодальногоДиалога(ТекДекорацияФормы.ТекстЗаголовка, Кнопки, Истина) Тогда Возврат; КонецЕсли; КонецЦикла; + Если НажатьКнопкуМодальногоДиалога(ОкноПриложения.ТекстЗаголовка, Кнопки) Тогда + Возврат; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьНастройкиМодальныхОкон(ПарамНастройкиМодальныхОкон) Экспорт + Если Не ЗначениеЗаполнено(ПарамНастройкиМодальныхОкон) Тогда + Возврат; + КонецЕсли; + + Если НастройкиМодальныхОкон <> ПарамНастройкиМодальныхОкон Тогда + Для Каждого КлючЗначение Из ПарамНастройкиМодальныхОкон Цикл + НастройкиМодальныхОкон.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЦикла; + КонецЕсли; + + ЗаголовкиМодальныхОкон = Новый Соответствие; + Для Каждого КлючЗначение Из НастройкиМодальныхОкон Цикл + Описание = КлючЗначение.Значение; + Заголовки = Неопределено; + Если Описание.Свойство("Заголовки", Заголовки) Тогда + Для Каждого Заголовок Из Заголовки Цикл + ЗаголовкиМодальныхОкон.Вставить(ДляСравнения(Заголовок), Описание); + КонецЦикла; + КонецЕсли; + + Поля = Неопределено; + Если Описание.Свойство("Поля", Поля) Тогда + Для Каждого ТекстПоля Из Поля Цикл + ПоляМодальныхОкон.Вставить(ДляСравнения(ТекстПоля), Описание); + КонецЦикла; + КонецЕсли; + + КонецЦикла; КонецПроцедуры + +&НаКлиенте +Функция ПолучитьНастройкиМодальныхОкон() Экспорт + Возврат НастройкиМодальныхОкон; +КонецФункции + // } Plugin interface // { Helpers @@ -488,6 +551,48 @@ Возврат Порт; КонецФункции +&НаКлиенте +Функция НажатьКнопкуМодальногоДиалога(Знач ПроверяемыйТекст, Знач Кнопки, Знач ПроверятьПоля = Ложь) + + ПроверяемыйТекст = ДляСравнения(ПроверяемыйТекст); + Если ПроверятьПоля Тогда + ОписаниеМодальногоОкна = ПоляМодальныхОкон.Получить(ПроверяемыйТекст); + Иначе + ОписаниеМодальногоОкна = ЗаголовкиМодальныхОкон.Получить(ПроверяемыйТекст); + КонецЕсли; + Если ОписаниеМодальногоОкна = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + ИндексКнопки = Неопределено; + Если Не ОписаниеМодальногоОкна.Свойство("Кнопка", ИндексКнопки) Тогда + Возврат Истина; + КонецЕсли; + Если ИндексКнопки < 0 Тогда + КонтекстЯдра.ВывестиСообщение("Индекс кнопки не должен быть 0 или меньше 0", СтатусСообщения.ОченьВажное); + Возврат Истина; + КонецЕсли; + Если ИндексКнопки >= Кнопки.Количество() Тогда + КонтекстЯдра.ВывестиСообщение("Индекс кнопки не должен быть количества кнопок в форме " + Кнопки.Количество(), + СтатусСообщения.ОченьВажное); + Возврат Истина; + КонецЕсли; + + Попытка + Кнопки[ИндексКнопки].Нажать(); + Исключение + КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, + СтатусСообщения.ОченьВажное); + КонецПопытки; + + Возврат Истина; +КонецФункции + +&НаКлиенте +Функция ДляСравнения(Знач Строка) + Возврат НРег(Строка); +КонецФункции + &НаКлиенте Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт @@ -578,4 +683,69 @@ Возврат Результат; КонецФункции + +&НаКлиенте +Процедура УстановитьНастройкиМодальныхОконПоУмолчанию() + НастройкиМодальныхОкон = Новый Структура; + ЗаголовкиМодальныхОкон = Новый Соответствие; + ПоляМодальныхОкон = Новый Соответствие; + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("Предприятие", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Заголовки", Заголовки); + Заголовки.Добавить("1С:Предприятие"); + Заголовки.Добавить("1C:Enterprise"); + Описание.Вставить("Кнопка", 0); + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("ПредупреждениеБезопасности", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Заголовки", Заголовки); + Заголовки.Добавить("Предупреждение безопасности"); + Описание.Вставить("Кнопка", 0); + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("ИзменениеДанных", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Поля", Заголовки); + Заголовки.Добавить("данные были изменены"); + Заголовки.Добавить("сохранить данные"); + Описание.Вставить("Кнопка", 0); + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("ВыборТипаДанных", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Заголовки", Заголовки); + Заголовки.Добавить("Выбор типа данных"); + Описание.Вставить("Кнопка", 0); + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("СписокЗначений", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Заголовки", Заголовки); + Заголовки.Добавить("Список значений"); + Описание.Вставить("Кнопка", 0); + + Описание = Новый Структура; + НастройкиМодальныхОкон.Вставить("ДанныеБылиИзменены", Описание); + Заголовки = Новый Массив; + Описание.Вставить("Заголовки", Заголовки); + Заголовки.Добавить("Данные были изменены"); + Описание.Вставить("Кнопка", 0); + + //Описание = Новый Структура; + //НастройкиМодальныхОкон.Вставить("ШаблонПомощника", Описание); + ////Заголовки = Новый Массив; + ////Описание.Вставить("Заголовки", Заголовки); + ////Заголовки.Добавить("Демо: Шаблон помощника"); + //Поля = Новый Массив; + //Описание.Вставить("Поля", Поля); + //Поля.Добавить("Закрыть помощник?"); + //Описание.Вставить("Кнопка", 0); + + УстановитьНастройкиМодальныхОкон(НастройкиМодальныхОкон); + +КонецПроцедуры + // } Helpers \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e1da16ba5..5fe40ca46 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -81,10 +81,13 @@ КонецЕсли; КонтекстЯдра = КонтекстЯдраПараметр; + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + ТестКлиент = Неопределено; Попытка - ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); Исключение ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщить(ИнфоОшибки); @@ -95,7 +98,7 @@ Возврат; КонецЕсли; - ОсновноеОкно = КонтекстЯдра.Плагин("ТестКлиенты").ОсновноеОкно(ТестКлиент); + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); ИсключаемыеОперации = Новый Массив; ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); @@ -170,8 +173,13 @@ &НаКлиенте Процедура ПередЗапускомТеста() Экспорт - ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); - КонтекстЯдра.Плагин("ТестКлиенты").ЗакрытьВсеОткрытыеОкна(ТестКлиент); + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + Если ЕстьНастройка("МодальныеОкна", Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки.МодальныеОкна); + КонецЕсли; + + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); КонецПроцедуры diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index beaeb7e4d..0d168a08c 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -65,6 +65,17 @@ "CommandInterface": { "СтрогийПорядокВыполнения": true, + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?" + ], + "Кнопка": 0 + } + }, "Разделы": [ "Настройки и администрирование" ], From d68cdda6ec95d1efde214c494a964bcf4281e7bd Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 19:30:14 +0300 Subject: [PATCH 027/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=B1=D0=B0=D0=B3=20-=20=D0=BD=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D1=8F=D0=BB=D0=B0=D1=81=D1=8C=20?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D1=8F=20=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bd34014d9..60f48e060 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -30,6 +30,8 @@ // встроена обработка в конфигурацию или нет ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; КонецЕсли; + + ЗначениеВРеквизитФормы(ОбъектНаСервере, "Объект"); //для загрузки настроек ОбновитьКомандыИсторииЗагрузкиТестов(); КонецПроцедуры From 205abf13f417b1fc3e48156d38fb4a345fa1c29c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 19:31:43 +0300 Subject: [PATCH 028/421] =?UTF-8?q?=D1=83=D0=B7=D0=B5=D0=BB=20=D0=9C=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=D0=9E=D0=BA=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4=D0=B8=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D0=B2=20=D0=BA=D0=BE=D1=80=D0=BD=D0=B5=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 31 +++++++++++++------ tools/JSON/xUnitParams.json | 23 +++++++------- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5fe40ca46..147e4bbea 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -5,10 +5,14 @@ &НаКлиенте Перем Утверждения; +&НаКлиенте +Перем ПлагинТестКлиенты; + &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); ПутьНастройки = "CommandInterface"; НачальнаяНастройка(КонтекстЯдра, ПутьНастройки); @@ -22,6 +26,9 @@ КонецЕсли; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + + НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура; @@ -34,6 +41,10 @@ Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) Тогда Объект.СтрогийПорядокВыполнения = Объект.Настройки.СтрогийПорядокВыполнения; КонецЕсли; + + Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда + Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); + КонецЕсли; КонецПроцедуры @@ -174,8 +185,8 @@ Процедура ПередЗапускомТеста() Экспорт ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - Если ЕстьНастройка("МодальныеОкна", Объект.Настройки) Тогда - ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки.МодальныеОкна); + Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); КонецЕсли; ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); @@ -413,7 +424,9 @@ НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); - ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "После записи"); + Если ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно() Тогда + ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "После записи"); + КонецЕсли; Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); @@ -493,9 +506,9 @@ КонецПопытки; КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( - ТестКлиент, - КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), - Ложь); + ТестКлиент, + КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), + Ложь); КонецПроцедуры @@ -508,9 +521,9 @@ ТекКнопка.Нажать(); КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( - ТестКлиент, - КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), - Ложь); + ТестКлиент, + КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), + Ложь); КонецЦикла; diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 0d168a08c..817cf4a0f 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -5,6 +5,18 @@ "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?" + ], + "Кнопка": 0 + } + }, + "smoke": { "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, @@ -65,17 +77,6 @@ "CommandInterface": { "СтрогийПорядокВыполнения": true, - "МодальныеОкна": { - "ШаблонПомощника":{ - "Заголовки" : [ - "Демо: Шаблон помощника" - ], - "Поля" : [ - "Закрыть помощник?" - ], - "Кнопка": 0 - } - }, "Разделы": [ "Настройки и администрирование" ], From 62896dbd3275f2614c32beb9fee25b7c57d5f84f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 19:33:43 +0300 Subject: [PATCH 029/421] =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=BC=20=D0=BE?= =?UTF-8?q?=D0=BA=D0=BD=D0=B5=20=D0=B2=D1=81=D0=B5=D0=B3=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=B4=D0=BD=D0=B0=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0,=20?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=20=D0=B8=20=D0=BD=D0=B0=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit исправлен выбор кнопки в форме изменения данных --- .../Ext/Form/Module.bsl" | 73 +++++++++++++++---- 1 file changed, 57 insertions(+), 16 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6945a2111..bb1e2261f 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -235,11 +235,11 @@ КонецЕсли; ТекстИсключения = СтрШаблон_("Выявлено модальное окно: - |[%1] %2 - |%3", - Пояснение, - ТекстИсключения, - ПодробноеПредставлениеОшибки); + |[%1] %2 + |%3", + Пояснение, + ТекстИсключения, + ПодробноеПредставлениеОшибки); КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); @@ -362,10 +362,12 @@ КонецЕсли; КонецЦикла; - Если НажатьКнопкуМодальногоДиалога(ОкноПриложения.ТекстЗаголовка, Кнопки) Тогда + Если НажатьКнопкуМодальногоДиалога(ОкноПриложения.Заголовок, Кнопки) Тогда Возврат; КонецЕсли; + НажатьКнопкуМодальногоДиалогаЕслиНаФормеВсегоОднаКнопка(Кнопки, ОкноПриложения.Заголовок); + КонецПроцедуры &НаКлиенте @@ -405,6 +407,11 @@ Возврат НастройкиМодальныхОкон; КонецФункции +&НаКлиенте +Функция КлючНастройкиМодальныхОкон() Экспорт + Возврат "МодальныеОкна"; +КонецФункции + // } Plugin interface // { Helpers @@ -573,7 +580,7 @@ Возврат Истина; КонецЕсли; Если ИндексКнопки >= Кнопки.Количество() Тогда - КонтекстЯдра.ВывестиСообщение("Индекс кнопки не должен быть количества кнопок в форме " + Кнопки.Количество(), + КонтекстЯдра.ВывестиСообщение("Индекс кнопки не должен быть больше количества кнопок в форме " + Кнопки.Количество(), СтатусСообщения.ОченьВажное); Возврат Истина; КонецЕсли; @@ -583,11 +590,45 @@ Исключение КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, СтатусСообщения.ОченьВажное); - КонецПопытки; + КонецПопытки; + + Возврат Истина; + +КонецФункции + +&НаКлиенте +Функция НажатьКнопкуМодальногоДиалогаЕслиНаФормеВсегоОднаКнопка(Знач Кнопки, Знач ПроверяемыйТекст) + ПерваяКнопка = НаФормеВсегоОднаКнопка(Кнопки); + Если ПерваяКнопка = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + Попытка + ПерваяКнопка.Нажать(); + Исключение + КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, + СтатусСообщения.ОченьВажное); + КонецПопытки; Возврат Истина; КонецФункции +&НаКлиенте +Функция НаФормеВсегоОднаКнопка(Знач Кнопки) + ПерваяКнопка = Кнопки[0]; + Количество = СтрДлина("Command"); + Для Сч = 1 По Кнопки.Количество() Цикл + Кнопка = Кнопки[Сч]; + Если Лев(Кнопка.ТекстЗаголовка, Количество) = "Command" Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Если Сч = 1 Тогда + Возврат ПерваяКнопка; + КонецЕсли; + Возврат Неопределено; +КонецФункции + &НаКлиенте Функция ДляСравнения(Знач Строка) Возврат НРег(Строка); @@ -711,27 +752,27 @@ Описание.Вставить("Поля", Заголовки); Заголовки.Добавить("данные были изменены"); Заголовки.Добавить("сохранить данные"); - Описание.Вставить("Кнопка", 0); + Описание.Вставить("Кнопка", 1); Описание = Новый Структура; - НастройкиМодальныхОкон.Вставить("ВыборТипаДанных", Описание); + НастройкиМодальныхОкон.Вставить("ДанныеБылиИзменены", Описание); Заголовки = Новый Массив; Описание.Вставить("Заголовки", Заголовки); - Заголовки.Добавить("Выбор типа данных"); - Описание.Вставить("Кнопка", 0); + Заголовки.Добавить("Данные были изменены"); + Описание.Вставить("Кнопка", 1); Описание = Новый Структура; - НастройкиМодальныхОкон.Вставить("СписокЗначений", Описание); + НастройкиМодальныхОкон.Вставить("ВыборТипаДанных", Описание); Заголовки = Новый Массив; Описание.Вставить("Заголовки", Заголовки); - Заголовки.Добавить("Список значений"); + Заголовки.Добавить("Выбор типа данных"); Описание.Вставить("Кнопка", 0); Описание = Новый Структура; - НастройкиМодальныхОкон.Вставить("ДанныеБылиИзменены", Описание); + НастройкиМодальныхОкон.Вставить("СписокЗначений", Описание); Заголовки = Новый Массив; Описание.Вставить("Заголовки", Заголовки); - Заголовки.Добавить("Данные были изменены"); + Заголовки.Добавить("Список значений"); Описание.Вставить("Кнопка", 0); //Описание = Новый Структура; From 4c28a5361110b6689be91a10098db423a52ac140 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 20:36:18 +0300 Subject: [PATCH 030/421] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=BA=D0=BD=D0=BE,=20=D0=BA=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BE=D0=B5=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D0=BA=D1=80?= =?UTF-8?q?=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F,=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20?= =?UTF-8?q?=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BE=D0=B4=D0=B8=D0=BD?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для следующих тестов это модальное окно уже игнорируется рефакторинг кода проверки оставшихся модальных окон --- .../Ext/Form/Module.bsl" | 59 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 27 ++------- 2 files changed, 64 insertions(+), 22 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bb1e2261f..104fb2acb 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -16,6 +16,9 @@ &НаКлиенте Перем ПоляМодальныхОкон; +&НаКлиенте +Перем СписокПропускаемыхФорм; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -160,6 +163,10 @@ КонецЕсли; КонецЕсли; + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда + СписокПропускаемыхФорм = Новый СписокЗначений; + КонецЕсли; + Возврат Результат; КонецФункции @@ -323,11 +330,15 @@ Если ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда Продолжить; КонецЕсли; + Если ПропуститьОкно(ТекОкно) Тогда + Продолжить; + КонецЕсли; Попытка ТекОкно.Закрыть(); Исключение // Необходимо принудительно закрыть все окна, специальная обработка исключений не требуется. + СписокПропускаемыхФорм.Добавить(ТекОкно.Заголовок); КонецПопытки; ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); @@ -336,6 +347,21 @@ КонецПроцедуры +&НаКлиенте +Функция ПропуститьОкно(ТекОкно) + + Если ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда + Возврат Истина; + КонецЕсли; + + // В массив добавляем окна, на которых уже вылезали ошибки + Если СписокПропускаемыхФорм.НайтиПоЗначению(ТекОкно.Заголовок) <> Неопределено Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + &НаКлиенте Процедура ЗакрытьОкноПредупреждения(ОкноПриложения) Экспорт @@ -370,6 +396,39 @@ КонецПроцедуры +&НаКлиенте +Функция ОткрытыеОкна(ТестКлиент) Экспорт + + ОткрытыеОкна = Новый Соответствие; + ВсеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); + Для Каждого ТекОкно Из ВсеОкна Цикл + Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда + Продолжить; + КонецЕсли; + ОткрытыеОкна.Вставить(ТекОкно.Заголовок, ТекОкно); + КонецЦикла; + + Возврат ОткрытыеОкна; +КонецФункции + +&НаКлиенте +Процедура ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо) Экспорт + ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); + Для Каждого ТекОкно Из ОткрытыеОкна Цикл + Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница + Или ОткрытыеОкнаДо.Получить(ТекОкно.Заголовок) <> Неопределено Тогда + Продолжить; + КонецЕсли; + + ТекстИсключения = КонтекстЯдра.СтрШаблон_(" + |Выявлено окно, которое не закрывается! + |Возможно, это модальное окно. + |Заголовок окна <%1>", ТекОкно.Заголовок); + ВызватьИсключение ТекстИсключения; + КонецЦикла; + +КонецПроцедуры + &НаКлиенте Процедура УстановитьНастройкиМодальныхОкон(ПарамНастройкиМодальныхОкон) Экспорт Если Не ЗначениеЗаполнено(ПарамНастройкиМодальныхОкон) Тогда diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 147e4bbea..7d6a3de8d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -344,6 +344,9 @@ ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); ОсновноеОкно = КонтекстЯдра.Плагин("ТестКлиенты").ОсновноеОкно(ТестКлиент); + + ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); + Попытка ОсновноеОкно.ВыполнитьКоманду(ПараметрНавигационнаяСсылка); Исключение @@ -370,19 +373,7 @@ КонтекстЯдра.Плагин("ТестКлиенты").ЗакрытьВсеОткрытыеОкна(ТестКлиент); - ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); - Для Каждого ТекОкно Из ОткрытыеОкна Цикл - Если ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда - Продолжить; - КонецЕсли; - - Если ТекОкно <> Неопределено Тогда - ТекстИсключения = КонтекстЯдра.СтрШаблон_("Выявлено окно, которое не закрывается! - |Возможно, это модальное окно. - |Заголовок окна <%1>", ТекОкно.Заголовок); - ВызватьИсключение ТекстИсключения; - КонецЕсли; - КонецЦикла; + ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); КонецПроцедуры @@ -390,15 +381,7 @@ Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) ТаблицаФормы = ОкноСТаблицейФормы.НайтиОбъект(Тип("ТестируемаяТаблицаФормы")); - Если ТаблицаФормы = Неопределено Тогда - Возврат Ложь; - КонецЕсли; - - Если Не ТаблицаФормы.ТекущаяДоступность() Тогда - Возврат Ложь; - КонецЕсли; - - Если Не ТаблицаФормы.ТекущаяВидимость() Тогда + Если ТаблицаФормы = Неопределено Или Не ТаблицаФормы.ТекущаяДоступность() Или Не ТаблицаФормы.ТекущаяВидимость() Тогда Возврат Ложь; КонецЕсли; From 292dd2f50e98669064c65a1d4904f17f73308f1b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 20:48:29 +0300 Subject: [PATCH 031/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D1=83=D0=BD=D0=B8=D0=B2=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ошибка на модальное окно, которое не закрывается, показывается только один раз для следующих тестов это модальное окно уже игнорируется рефакторинг кода проверки оставшихся модальных окон --- .../Ext/Form/Module.bsl" | 141 ++++-------------- 1 file changed, 28 insertions(+), 113 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 79328737a..3c251767b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -5,6 +5,9 @@ &НаКлиенте Перем Утверждения; +&НаКлиенте +Перем ПлагинТестКлиенты; + &НаКлиенте Перем ТестируемаяФорма; @@ -15,6 +18,7 @@ КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); Объект.ОткрываемФормыНаКлиентеТестирования = Истина; @@ -832,6 +836,10 @@ //Отладка(СтрШаблон("Дымовые ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура; @@ -849,6 +857,10 @@ НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Объект.Настройки, НаборНастроекПоУмолчанию); + + Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда + Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); + КонецЕсли; КонецПроцедуры @@ -938,6 +950,11 @@ НужноИсключениеЕслиНеНайденоДокументов = Ложь; СоздатьИменаОсновныхФорм(); + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); + КонецЕсли; КонецПроцедуры @@ -1200,8 +1217,12 @@ &НаКлиенте Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) Экспорт - ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); ОсновноеОкно = ОсновноеОкно(ТестКлиент); + + ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); + Попытка // Если ссылка задана - открываем просто форму Элемента/Документа СсылкаНаОбъект = Неопределено; @@ -1217,25 +1238,13 @@ ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. |Возможно, сеанс тест-клиента заблокирован модальным окном", ПарамНавигационнаяСсылка); КонецПопытки; + + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); - ИдентифицироватьОкноПредупреждение(ПереходПоКнопкеКомандногоИнтерфейса(), ТестКлиент); - - ЗакрытьВсеОткрытыеОкна(); - - ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); - Для Каждого ТекОкно Из ОткрытыеОкна Цикл - Если ПропуститьОкно(ТекОкно) Тогда - Продолжить; - КонецЕсли; - - Если ТекОкно <> Неопределено Тогда - ТекстИсключения = КонтекстЯдра.СтрШаблон_("Выявлено окно, которое не закрывается! - |Возможно, это модальное окно. - |Заголовок окна <%1>", ТекОкно.Заголовок); - ВызватьИсключение ТекстИсключения; - КонецЕсли; - КонецЦикла; - + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); + + ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); + КонецПроцедуры // TODO исправить дублирование кода с тестами командного интерфейса и плагином ТестКлиент @@ -1261,100 +1270,6 @@ КонецФункции -&НаКлиенте -Процедура ИдентифицироватьОкноПредупреждение(ШагСценария, ТестКлиент) - - ОкноПредупреждение = ТестКлиент.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), "1С:Предприятие"); - Если ТипЗнч(ОкноПредупреждение) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда - Возврат; - КонецЕсли; - - ТекстИсключения = ТекстИсключения(ОкноПредупреждение); - ЗакрытьВсеОткрытыеОкна(); - - ТекстИсключения = КонтекстЯдра.СтрШаблон_("Выявлено модальное окно: - |[%1] %2", ШагСценария, ТекстИсключения); - - КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); - -КонецПроцедуры - -&НаКлиенте -Процедура ЗакрытьВсеОткрытыеОкна() - - ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); - - ОкноПредупреждение = ТестКлиент.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), - НСтр("ru = '1С:Предприятие'")); - НажатьПодходящуюКнопку(ОкноПредупреждение); - - // TODO - // Закрываем окна с предупреждением безопасности // - //ОкнаПредупреждений = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения"), - // НСтр("ru = 'Предупреждение безопасности'")); - //Для Каждого ТекОкно Из ОкнаПредупреждений Цикл - // ТекОкно.Закрыть(); - //КонецЦикла; - - ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); - Для Каждого ТекОкно Из ОткрытыеОкна Цикл - Если ПропуститьОкно(ТекОкно) Тогда - Продолжить; - КонецЕсли; - - Попытка - ТекОкно.Закрыть(); - Исключение - мОшибка = ОписаниеОшибки(); - Объект.СписокПропускаемыхФорм.Добавить(ТекОкно.Заголовок); - КонецПопытки; - - Если ТипЗнч(ТекОкно) = Тип("ТестируемоеОкноКлиентскогоПриложения") - И ТекОкно.Заголовок = НСтр("ru = '1С:Предприятие'") Тогда - НажатьПодходящуюКнопку(ТекОкно); - КонецЕсли; - КонецЦикла; - -КонецПроцедуры - -&НаКлиенте -Функция ПропуститьОкно(ТекОкно) - - Если ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда - Возврат Истина; - КонецЕсли; - - // В массив добавляем окна, на которых уже вылезали ошибки - Если Объект.СписокПропускаемыхФорм.НайтиПоЗначению(ТекОкно.Заголовок) <> Неопределено Тогда - Возврат Истина; - КонецЕсли; - - Возврат Ложь; -КонецФункции - -&НаКлиенте -Процедура НажатьПодходящуюКнопку(ОкноПриложения) - - Если ТипЗнч(ОкноПриложения) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда - Возврат; - КонецЕсли; - - Кнопки = ОкноПриложения.НайтиОбъекты(Тип("ТестируемаяКнопкаФормы")); - Если Не ЗначениеЗаполнено(Кнопки) Тогда - Возврат; - КонецЕсли; - - Для Каждого ПолеФормы Из ОкноПриложения.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл - Если Найти(НРег(ПолеФормы.ТекстЗаголовка), "данные были изменены") > 0 Тогда - Кнопки[1].Нажать(); - Возврат; - КонецЕсли; - КонецЦикла; - - Кнопки[0].Нажать(); - -КонецПроцедуры - &НаКлиенте Функция ТекстИсключения(ОкноПредупреждение) From 8948fec0c431a61f299bd03829e54cf3bf54dc31 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 23 May 2020 20:53:55 +0300 Subject: [PATCH 032/421] =?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=B8=D0=BC=D0=B5=D1=80=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE?= =?UTF-8?q?=D0=BD=20=D0=B2=20json-=D1=84=D0=B0=D0=B9=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 50 ++++++++++++++++++++++++++++++++++ tests/smoke/smoke.example.json | 15 ++++++++++ 2 files changed, 65 insertions(+) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 6bd75942a..ed19f8c56 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -1,4 +1,22 @@ { + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?" + ], + "Кнопка": 0 + } + }, + "smoke": { "Справочники": { "Списки": [ @@ -28,5 +46,37 @@ "РасширенныйВводКонтактнойИнформации", "РекомендацияПоПовышениюСкоростиРаботы" ] + }, + + "CommandInterface": { + "СтрогийПорядокВыполнения": true, + "ОбщиеКоманды": + [ + "ЗагрузитьДанныеИзФайла" + ], + "ОбщиеФормы": + [ + ], + "Справочники": + [ + "ПростойСправочник.Форма.ФормаВыбора" + ] + , + "Документы": false, + "Отчеты": [ + "ПраваДоступа" + ], + "Обработки": [ + "ЗаменаИОбъединениеЭлементов", + "ВводКонтактнойИнформации", + "ПанельАдминистрированияБСП", + "ПанельАдминистрированияЭДО", + "ПереносФайловВТома", + "РасширенныйВводКонтактнойИнформации", + "РекомендацияПоПовышениюСкоростиРаботы" + ], + "БизнесПроцессы": [ + ] + } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index f04cdf24e..425f60b1c 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -5,6 +5,18 @@ "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?" + ], + "Кнопка": 0 + } + }, + "smoke": { "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, @@ -83,6 +95,9 @@ [ "ЗагрузитьДанныеИзФайла" ], + "ОбщиеФормы": + [ + ], "Справочники": [ "ПростойСправочник.Форма.ФормаВыбора" From 55ba7a34fa797ed763461545d66e1982b9b1897e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 13:57:29 +0300 Subject: [PATCH 033/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=B8=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8E=20=D0=BD=D0=B0=20=D0=B4=D1=8B?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - управление модальными окнами - общее оглавление - отдельный раздел по настройке json-файла --- tests/smoke/readme.md | 239 +++++++++++++++++++++++++++++++++--------- 1 file changed, 191 insertions(+), 48 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index edd316ddd..3019484c0 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -1,5 +1,33 @@ + # Дымовые тесты + +- [Настройка дымовых тестов под конкретную конфигурацию](настройка-дымовых-тестов-под-конкретную-конфигурацию) +- [Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных](#дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных) + - [Варианты запуска](#варианты-запуска) + - [Описание возможностей](#описание-возможностей) + - [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) + - [Основные настройки](#основные-настройки) + - [Исключения](#исключения) + - [Исключения по виду метаданных](#исключения-по-виду-метаданных) + - [Исключения по виду объекта метаданных](#исключения-по-виду-объекта-метаданных) + - [Исключения конкретной формы](#исключения-конкретной-формы) + - [Исключение форм, зависящих от отключенных функциональных опций](#исключение-форм-зависящих-от-отключенных-функциональных-опций) + - [Исключения для типовых конфигураций 1С, основанных на БСП](#исключения-для-типовых-конфигураций-1с-основанных-на-бсп) + - [Проверка форм подчиненных справочников](#проверка-форм-подчиненных-справочников) + - [Значения для заполнения реквизитов при создании новых ссылочных объектов](#значения-для-заполнения-реквизитов-при-создании-новых-ссылочных-объектов) + - [Группировка дымовых тестов при запуске в интерактивном режиме](#группировка-дымовых-тестов-при-запуске-в-интерактивном-режиме) +- [Дымовые тесты командного интерфейса](#дымовые-тесты-командного-интерфейса) + - [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса) +- [Дымовое тестирование ввода документов на основании](#дымовое-тестирование-ввода-документов-на-основании) + - [Настройка дымовых тестов для запуска в tddTestRunner](Настройка-дымовых-тестов-для-запуска-в-tddTestRunner) + - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) +- [Тесты макетов СКД](#тесты-макетов-скд) +- [Дымовое тестирование настройки общих модулей и наличия подсистем](#дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) +- [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) +- [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) + + Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. Тесты удобно использовать перед выпуском релиза/обновлений конфигурации и/или перед установкой релиза/обновлений в рабочую базу. @@ -14,8 +42,128 @@ * [Проверка чтения метаданных обычными пользователями, без полных прав](#Проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) * [Проверка режима управления блокировкой данных в транзакции по умолчанию](#Проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) + +## Настройка дымовых тестов под конкретную конфигурацию + +В связи с универсальностью дымовых тестов практически всегда возникает потребность скорректировать запуск дымовых тестов под конкретную конфигурацию. + +Например, в типовых конфигурациях некоторые формы не предназначены для работы в интерактивном режиме и их нужно исключить. Или другой пример: формы подчиненных справочников требуют перед открытием обязательного заполнения стандартного реквизита `Владелец`, или, как например, в случае справочника `СерииНоменклатуры`, у номенклатуры-владельца должен быть установлен флаг `ВестиУчетПоСериям` и т.п. и тесту нужно указать, как нужно заполнить владельца или какие обязательные реквизиты элемента, чьи формы будем тестировать, нужно обязательно заполнить перед открытием форм. + +Возможности настройки тестов: +* [Управление модальными окнами](#Возможности-управления-модальными-окнами) +* [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) +* [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса) +* Настройки прочих тестов даны в описании самих тестов + +Дымовые тесты для Vanessa.ADD поддерживают настройку через файл конфигурации в формате `json`. Этот способ является основным и рекомендуемым. + + +### Файл настроек `smoke.json` + +Файл настроек для дымовых тестов должен иметь формат `json`. + +В корне содержать несколько объектов с ключам, соответствующим нужным дымовым тестам. Например, ключ `smoke` соответствует тестам открытия форм конфигурации. +Также есть базовые ключи, отвечающие за различные параметры запуска. + +Пример содержимого без доп. настроек будет выглядеть следующим образом: + +```json +{ + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "Отладка": false, + "ДобавлятьИмяПользователяВПредставлениеТеста": true, + + "smoke" : { + } +} +``` + +- [Пример файла настройки](./smoke.example.json) +- [Пример файла настройки для БСП-конфигураций](./smoke.bsp.json) + +Для того, чтобы настройки из файла конфигурации были использованы при запуске дымовых тестов, можно: + +* При интерактивном запуске тестов загрузить файл настроек при помощи команды "Загрузить настройки из файла" в меню "Загрузить тесты". Это нужно сделать перед тем, как загрузить сами дымовые тесты. + * Если тесты уже были загружены, то после загрузки настроек из файла их нужно перезагрузить. + +* При запуске тестов из командной строки передать путь к файлу конфигурации в параметре командной строки, как показано в примере ниже (bat/cmd-файл): + + * современный, наиболее удобный вариант запуска и настройки через vanessa-runner + ```bat + @call vrunner xunit tests --settings tools/JSON/vrunner.json + ``` + или + ```bat + @call vrunner xunit --settings tools/JSON/vrunner.json + ``` + * если в каталоге проекта есть подготовленный файл настроек по умолчанию env.json, команда упрощается + ```bat + @call vrunner xunit tests + ``` + или + ```bat + @call vrunner xunit + ``` + + * или устаревший вариант: + ```bat + @echo off + + set XDD_IBaseConn=Srvr="main:2841";Ref="test_ibase"; + set XDD_IBaseUser="Администратор" + set XDD_IBasePass="" + + rem Пути к каталогам с исполняемыми файлами + set XDD_V8Bin=C:\Program Files (x86)\1cv82\8.2.19.130\bin + set ADD_Dir=C:\Program Files (x86)\OneScript\lib\add + + "%XDD_V8Bin%\1cv8.exe" ENTERPRISE /IBConnectionString %XDD_IBaseConn% /N %XDD_IBaseUser% /P %XDD_IBasePass% /RunModeOrdinaryApplication /Execute "%ADD_Dir%\bin\xddTestRunner.epf" /C "xddConfig ""W:\smoke.json""; xddRun ЗагрузчикФайла ""%ADD_Dir%\bin\Tests\Smoke\тесты_ОткрытиеФормКонфигурации.epf"";" + ``` + + +### Возможности управления модальными окнами + +Есть возможность автоматического закрытия модальных окон в режиме тест-клиента. + +Предопределенные модальные окна, которые автоматически закрываются, со следующими заголовками: +- `1С:Предприятие\1C:Enterprise` - ошибки рантайма, вопросы и т.п. +- `Предупреждение безопасности` +- `данные были изменены` +- `сохранить данные` +- `Выбор типа данных` +- `Список значений` + +Для собственного управления модальными окнами в файле настроек необходимо добавить объект с именем `МодальныеОкна`. + +Этот объект является структурой, ключи которой являются идентификаторами, представляющими модальное окно, +а значение - это спец.структура с 3мя необязательными ключами. +- `Заголовки` - массив имен заголовков модальных окон +- `Поля` - массив заголовкой полей внутри внутри модального окна +- `Кнопка` - Число. Индекс кнопки, которую нужно нажать для закрытия модального окна. Нумерация с 0. + +Пример настроек для закрытия модального окна из демо-конфигурации БСП 3.Х + +```json + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?" + ], + "Кнопка": 0 + } + }, +``` + + ## Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных + ### Варианты запуска Существует возможность выбора режима выполнения данных тестов. @@ -48,6 +196,7 @@ Более подробная настройка дымовых тестов документирована в разделе [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#Настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) + ### Описание возможностей Данные дымовые тесты проверяют открытие/закрытие различных форм с учетом прав доступа (права "Использование/Просмотр") для пользователей с различными ролями (полные или ограниченные права). @@ -76,55 +225,19 @@ 2. перенос существующего документа на текущий день и открытие формы этого документа (тип проверки "ПереносНаДату") 3. открытие формы нового документа (тип проверки "Новый") + ### Настройка дымовых тестов форм объектов под конкретную конфигурацию В связи с универсальностью дымовых тестов практически всегда возникает потребность скорректировать запуск дымовых тестов под конкретную конфигурацию. Например, в типовых конфигурациях некоторые формы не предназначены для работы в интерактивном режиме и их нужно исключить. Или другой пример: формы подчиненных справочников требуют перед открытием обязательного заполнения стандартного реквизита `Владелец`, или, как например, в случае справочника `СерииНоменклатуры`, у номенклатуры-владельца должен быть установлен флаг `ВестиУчетПоСериям` и т.п. и тесту нужно указать, как нужно заполнить владельца или какие обязательные реквизиты элемента, чьи формы будем тестировать, нужно обязательно заполнить перед открытием форм. -Дымовые тесты для Vanessa.ADD поддерживают настройку через файл конфигурации в формате `json`. Этот способ является основным и рекомендуемым. +Имя корневого объекта для json-файла - `smoke`. -### Файл настроек `smoke.json` - -Файл настроек для дымовых тестов должен иметь формат `json` и в корне содержать один объект с ключом `smoke`. - -Содержимое файла без настроек будет выглядеть следующим образом: - -```json -{ - "smoke" : { - } -} -``` - -[Пример файла настройки](./smoke.example.json) - -Для того, чтобы настройки из файла конфигурации были использованы при запуске дымовых тестов, можно: - -* При интерактивном запуске тестов загрузить файл настроек при помощи команды "Загрузить настройки из файла" в меню "Загрузить тесты". Это нужно сделать перед тем как загрузить сами дымовые тесты. Если тесты уже были загружены, то после загрузки настроек из файла их нужно перезагрузить. - -* При запуске тестов из командной строки передать путь к файлу конфигурации в параметре командной строки, как показано в примере ниже (bat/cmd-файл): - - * современный, наиболее удобный вариант запуска и настройки через vanessa-runner - ```bat - @call vrunner xunit tests --settings tools/JSON/vrunner.json - ``` - - * или устаревший вариант: - ```bat - @echo off - - set XDD_IBaseConn=Srvr="main:2841";Ref="test_ibase"; - set XDD_IBaseUser="Администратор" - set XDD_IBasePass="" - - rem Пути к каталогам с исполняемыми файлами - set XDD_V8Bin=C:\Program Files (x86)\1cv82\8.2.19.130\bin - set ADD_Dir=C:\Program Files (x86)\OneScript\lib\add - - "%XDD_V8Bin%\1cv8.exe" ENTERPRISE /IBConnectionString %XDD_IBaseConn% /N %XDD_IBaseUser% /P %XDD_IBasePass% /RunModeOrdinaryApplication /Execute "%ADD_Dir%\bin\xddTestRunner.epf" /C "xddConfig ""W:\smoke.json""; xddRun ЗагрузчикФайла ""%ADD_Dir%\bin\Tests\Smoke\тесты_ОткрытиеФормКонфигурации.epf"";" - ``` +- [Пример файла настройки](./smoke.example.json) +- [Пример файла настройки для БСП-конфигураций](./smoke.bsp.json) + ### Основные настройки Корневой объект `smoke` поддерживает следующие свойства (ключи): @@ -139,9 +252,15 @@ * `СпособГруппировки` - для настройки способа группировки тестовых случаев для использования в интерактивном режиме * `КоличествоВГруппе` - для указания количества тестовых случаев в группе при выбранном способе группировки `ПоКоличеству` (см. ниже) * `СтрогийПорядокВыполнения` - Тип: bool (Булево). По умолчанию - false, тесты выполняются в случайном порядке. Если true, то тесты выполняются последовательно и в случае ошибки выполнение набора тестов приостанавливается. +* `ОткрываемФормыНаКлиентеТестирования` - Тип: bool (Булево). Управление вариантом запуска. + * true или Истина или не указан вообще - открываем в режиме 1, с клиентом тестирования. По умолчанию. + * false или Ложь - открываем в режиме 2, без клиента тестирования + +Использование большинства свойств подробно описано ниже. -Использование этих свойств подробно описано ниже. +Возможность управления модальными окнами есть в разделе [Управление модальными окнами](#Возможности-управления-модальными-окнами). + ### Исключения Некоторые формы не могут быть протестированы в автоматическом режиме, например: @@ -157,6 +276,7 @@ **Важно!** Не рекомендуется злоупотреблять исключениями и добавлять в исключения формы по другим причинам – например, если эти формы редко открываются, не работают в выбранном виде клиента и т.п., так как это приводит к ошибкам, которые постоянно существуют, что не всегда верно. + #### Исключения по виду метаданных Для того, чтобы исключить все формы определенного вида метаданных, нужно в настройках дымовых тестов для данного вида метаданных указать значение `false`. Пример: исключаем из проверки все отчеты и обработки: @@ -172,6 +292,7 @@ В настоящий момент поддерживаются 5 видов метаданных: `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. + #### Исключения по виду объекта метаданных Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать вид этого объекта в массиве исключений конкретного метаданного. @@ -206,6 +327,7 @@ } ``` + #### Исключения конкретной формы Для того, чтобы исключить конкретную форму конкретного вида объектов, нужно вместе с именем вида объекта метаданных указать путь к этой форме. Пример: @@ -237,6 +359,7 @@ `"ОбщаяФорма.ВспомогательнаяФормаНастроекОтчета"` + #### Исключение форм, зависящих от отключенных функциональных опций Для исключения форм, зависящих от отключенных функциональных опций реализована отдельная настройка `ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций`, которая должна быть указана в корне элемента `smoke`. Настройка имеет json-тип `bool` (`true` или `false`). @@ -245,10 +368,12 @@ Эта настройка нужна для больших конфигураций, например, "1С:ERP" или "1С:Управление холдингом". + #### Исключения для типовых конфигураций 1С, основанных на БСП -[Пример файла настройки исключений](./smoke.bsp.json) +- [Пример файла настройки исключений](./smoke.bsp.json) + ### Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется Описанный ниже способ хуже, чем вышеуказанный метод указания исключений: @@ -289,6 +414,7 @@ Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода. + ### Проверка форм подчиненных справочников Чтобы иметь возможность полноценно тестировать формы элементов, списков и выбора подчиненных справочников, которые не могут быть открыты без указания владельцев у элемента такого справочника владелец устанавливается автоматически на основе информации из метаданных. @@ -308,6 +434,7 @@ } ``` + ### Значения для заполнения реквизитов при создании новых ссылочных объектов У многих объектов в реальных конфигурациях есть обязательные для заполнения реквизиты или реквизиты, влияющие на поведение самого объекта или подчиненных ему объектов. @@ -344,6 +471,7 @@ * Если реквизит имеет тип СправочникСсылка, то значение будет создано по алгоритму создания нового элемента, а в качестве наименования нового элемента будет использовано значение из настройки (в примере выше для заполнения реквизита `Физлицо` справочника `СотрудникиОрганизаций` будет создан элемент справочника `ФизическиеЛица` с наименованием "Тестовое физлицо"). + ### Группировка дымовых тестов при запуске в интерактивном режиме На этапе отладки дымовых тестов их приходится запускать интерактивно в ручном режиме при помощи обработки `xddTestRunner.epf`, прежде всего, чтобы выявить все формы, которые блокируют автоматическое выполнение тестов (открывают модальные окна, являются фиктивными формами, т.е. сами не открываются, а вместо этого открывают формы других объектов и т.п.). @@ -357,6 +485,7 @@ * `ПоКоличеству` (дополнительно нужно указать свойство `КоличествоВГруппе`) - тестовые случаи объединяются в группы по N штук в каждой, группы именуются по виду метаданных + диапазон порядковых номеров, например "Справочники [1..20]", "Справочники[21..40],..." и т.п. * `НеГруппировать` (это способ по умолчанию) + ## Дымовые тесты командного интерфейса Данный набор тестов проверяет все формы и команды, доступные пользователю через командный интерфейс. @@ -380,7 +509,8 @@ * и не проверяются те формы и команды, которых нет в командном интерфейсе, но на которые у пользователя есть право просмотра. * выполняется двойная перезапись элементов вместо одинарной перезаписи. -### Настройка исключений + +### Настройка исключений тестов командного интерфейса Настройка исключений выполняется в общем json-файле. Все настройки задаются в объекте с ключом `CommandInterface`. @@ -398,6 +528,9 @@ Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать команду интерфейса в массиве исключений. +Возможность управления модальными окнами есть в разделе [Управление модальными окнами](#Возможности-управления-модальными-окнами). + + ### Пример файла настройки ```json @@ -416,15 +549,18 @@ } ``` -[Пример файла настройки](./smoke.example.json) +- [Пример файла настройки](./smoke.example.json) +- [Пример файла настройки для БСП-конфигураций](./smoke.bsp.json) + ## Дымовое тестирование ввода документов на основании Данная обработка может быть использована и в bdd и в tdd/xdd. Запускать данный набора тестов рекомендуется в ИБ, в которой уже есть заполненные документы. -### Дымовое тестирование xdd + +### Настройка дымовых тестов для запуска в tddTestRunner Для заполнения списка исключений документов из проверки их необходимо заполнить в модуле документа обработки в процедуре `ПолучитьСписокИсключений_ДокументыПроведенные` и/или `ПолучитьСписокИсключений_ДокументыНеПроведенные` @@ -446,8 +582,10 @@ } ``` -[Пример файла настройки](./smoke.example.json) +- [Пример файла настройки](./smoke.example.json) +- [Пример файла настройки для БСП-конфигураций](./smoke.bsp.json) + ### Дымовое тестирование в BDD (bddRunner.epf) Для возможностей запуска дымового тестирования можно использовать данную обработку, как пример сниппетов для генерации feature файлов и использования сниппетов. @@ -462,6 +600,7 @@ Данный сниппет получает форму, открывает ее и потом закрывает. В теории проверяем возможность работы процедур "ПриСозданииНаСервере", "ПриОткрытии", "ОбработкаЗаполнения" + ### Быстрый старт для типовых конфигураций через BDD (bddRunner.epf) Для быстрого старта необходимо открыть данную обработку в режиме предприятия и нажать кнопку "Генерация фич", после генерации необходимых feature файлов, предложит выбрать каталог где будут созданы feature файлы в разрезе документов оснований. @@ -472,6 +611,7 @@ Предполагается, что перегенерация для типовых конфигураций будет происходить только для репозитория git вы всегда сможете увидеть только добавленные формы в фича файлах, а те которые исправляли сможете вернуть на правильное поведение. + ## Дымовое тестирование настройки общих модулей и наличия подсистем Данная обработка проверяет: @@ -573,12 +713,14 @@ } ``` -## Проверка макетов СКД + +## Тесты макетов СКД Данный набор дымовых тестов проверяет правильность схемы СКД из любых макетов с типом `СхемаКомпоновкиДанных` Выполняется синтаксический контроль схемы и запроса СКД. + ## Проверка чтения метаданных обычными пользователями, без полных прав Данный набор дымовых тестов проверяет правильность установки прав на метаданные. @@ -588,6 +730,7 @@ Есть возможность настройки прав, которые являются администраторскими, с помощью файла конфигурации. - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 53](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L53) + ## Проверка режима управления блокировкой данных в транзакции по умолчанию Данный набор дымовых тестов проверяет правильность установки "Режим управления блокировкой данных в транзакции по умолчанию" From 3be3152033d13aeeab0cb33737dde9852e150f66 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 14:12:59 +0300 Subject: [PATCH 034/421] =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D1=81=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D1=8B=20=D0=BC=D0=BE=D0=B3=D1=83=D1=82=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B1=D1=80=D0=B0=D1=81=D1=8B=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=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 --- .../Ext/Form/Module.bsl" | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7d6a3de8d..c28bafc9c 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -381,9 +381,16 @@ Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) ТаблицаФормы = ОкноСТаблицейФормы.НайтиОбъект(Тип("ТестируемаяТаблицаФормы")); - Если ТаблицаФормы = Неопределено Или Не ТаблицаФормы.ТекущаяДоступность() Или Не ТаблицаФормы.ТекущаяВидимость() Тогда + Если ТаблицаФормы = Неопределено Тогда Возврат Ложь; КонецЕсли; + Попытка + Если Не ТаблицаФормы.ТекущаяДоступность() Или Не ТаблицаФормы.ТекущаяВидимость() Тогда + Возврат Ложь; + КонецЕсли; + Исключение + //ОписаниеОшибки() + КонецПопытки; ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); @@ -469,11 +476,7 @@ Возврат; КонецЕсли; - Если Не КнопкаЗаписать.ТекущаяВидимость() Тогда - Возврат; - КонецЕсли; - - Если Не КнопкаЗаписать.ТекущаяДоступность() Тогда + Если Не КнопкаЗаписать.ТекущаяВидимость() Или Не КнопкаЗаписать.ТекущаяДоступность() Тогда Возврат; КонецЕсли; From 313f2a87fbfd8d32dd58d792f4a2c65f5099f5b1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 14:13:18 +0300 Subject: [PATCH 035/421] =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D0=BC=D1=8B?= =?UTF-8?q?=D1=85=20=D1=84=D0=BE=D1=80=D0=BC=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=D1=81=D1=8F=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 104fb2acb..a84dd5958 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -87,6 +87,10 @@ Функция ПодключитьТестКлиент(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0) Экспорт Порт = ПолучитьПорт(Порт); + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда + СписокПропускаемыхФорм = Новый СписокЗначений; + КонецЕсли; + Результат = Неопределено; Попытка @@ -163,10 +167,6 @@ КонецЕсли; КонецЕсли; - Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда - СписокПропускаемыхФорм = Новый СписокЗначений; - КонецЕсли; - Возврат Результат; КонецФункции From 2499b8ed28deed79d4bab68ed310d6a641edc027 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 14:39:09 +0300 Subject: [PATCH 036/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 3425d8cbe..340f4779a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -343,7 +343,7 @@ Результат = Новый СписокЗначений; - Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии"); + //Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии"); Возврат Результат; КонецФункции From c1495736e92a5ac2d7e91bb2ebf60a47dc1090bb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 15:30:09 +0300 Subject: [PATCH 037/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=90?= =?UTF-8?q?=D0=9F=D0=98-=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=A1=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D0=B0=D0=A1=D0=BE=D0=BE=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=82=D0=B2=D1=83=D0=B5=D1=82=D0=A8=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 60f48e060..7cd130920 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,6 +15,9 @@ &НаКлиенте Перем АСинк; +&НаКлиенте +Перем РегулярныеВыражения; + // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -2312,6 +2315,21 @@ КонецФункции +//позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" +//при этом подстрока "Шаблон" может содержать символы * +//например СтрокаСоответствуетШаблону("Привет","*вет") +&НаКлиенте +Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт + + Если РегулярныеВыражения = Неопределено Тогда + РегулярныеВыражения = Плагин("РегулярныеВыражения"); + КонецЕсли; + + Нашли = РегулярныеВыражения.СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Шаблон); + Возврат Нашли; + +КонецФункции + // } &НаКлиенте From 0e4471c6325b566afd997fcdcb1994432a7c7fa9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 15:31:38 +0300 Subject: [PATCH 038/421] =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D1=80=D0=BE=D1=81=D1=82=D1=8B=D0=B5=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=8B=20(*)=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B8=20=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a84dd5958..640ae2de0 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -262,7 +262,7 @@ Если ТипЗнч(ПодчиненныйОбъект) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Продолжить; КонецЕсли; - ОписаниеМодальногоОкна = ЗаголовкиМодальныхОкон.Получить(ДляСравнения(ПодчиненныйОбъект.Заголовок)); + ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(ЗаголовкиМодальныхОкон, ПодчиненныйОбъект.Заголовок); Если ОписаниеМодальногоОкна <> Неопределено Тогда ОкноПредупреждение = ПодчиненныйОбъект; Прервать; @@ -620,12 +620,11 @@ &НаКлиенте Функция НажатьКнопкуМодальногоДиалога(Знач ПроверяемыйТекст, Знач Кнопки, Знач ПроверятьПоля = Ложь) - ПроверяемыйТекст = ДляСравнения(ПроверяемыйТекст); + Коллекция = ЗаголовкиМодальныхОкон; Если ПроверятьПоля Тогда - ОписаниеМодальногоОкна = ПоляМодальныхОкон.Получить(ПроверяемыйТекст); - Иначе - ОписаниеМодальногоОкна = ЗаголовкиМодальныхОкон.Получить(ПроверяемыйТекст); + Коллекция = ПоляМодальныхОкон; КонецЕсли; + ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(Коллекция, ПроверяемыйТекст); Если ОписаниеМодальногоОкна = Неопределено Тогда Возврат Ложь; КонецЕсли; @@ -693,6 +692,23 @@ Возврат НРег(Строка); КонецФункции +&НаКлиенте +Функция НайтиПодходящееЗначениеПоКлючуВКоллекции(Знач Соответствие, Знач ПроверяемаяСтрока) + Строка = ДляСравнения(ПроверяемаяСтрока); + Значение = Соответствие.Получить(Строка); + Если Значение <> Неопределено Тогда + Возврат Значение; + КонецЕсли; + + Для каждого КлючЗначение Из Соответствие Цикл + СтрокаИлиШаблон = КлючЗначение.Ключ; + Если КонтекстЯдра.СтрокаСоответствуетШаблону(Строка, СтрокаИлиШаблон) Тогда + Возврат КлючЗначение.Значение; + КонецЕсли; + КонецЦикла; + Возврат Неопределено; +КонецФункции + &НаКлиенте Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт From 2f03b3ecedfc4c9123a699fe6700cb99e054d8b1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 15:35:34 +0300 Subject: [PATCH 039/421] =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B1=D0=BE=D1=80=D0=B0=20=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BE=D0=BA=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6=D0=B8=D0=BC=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D1=8B=D0=B9=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для исключения проблем неверного показа раздела, в котором нави-ссылки не открываются --- .../Ext/Form/Module.bsl" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c28bafc9c..b61c54f38 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -234,6 +234,10 @@ ДобавитьОписаниеТеста(СтруктураГруппы.Тесты, КомандныйИнтерфейс); ТекКнопкаРаздел.Нажать(); КонецЦикла; + + Если КнопкиРазделов.Количество() > 1 Тогда + КнопкиРазделов[0].Нажать(); + КонецЕсли; КонецЕсли; Возврат РезКоллекцияОписаний; From 11d2b9d4e8cde2cbb15c79c57a2398f2bbeae63b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 15:43:50 +0300 Subject: [PATCH 040/421] =?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=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE?= =?UTF-8?q?=D0=B6=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 13 ++++++++----- tests/smoke/smoke.bsp.json | 1 - tests/smoke/smoke.example.json | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 3019484c0..102d8032e 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -139,21 +139,24 @@ Для собственного управления модальными окнами в файле настроек необходимо добавить объект с именем `МодальныеОкна`. Этот объект является структурой, ключи которой являются идентификаторами, представляющими модальное окно, -а значение - это спец.структура с 3мя необязательными ключами. -- `Заголовки` - массив имен заголовков модальных окон -- `Поля` - массив заголовкой полей внутри внутри модального окна +а значение - это спец.структура с 3-мя необязательными ключами. +- `Заголовки` - массив имен заголовков модальных окон. Регистр строк не учитывается. +- `Поля` - массив заголовкой полей внутри внутри модального окна. Регистр строк не учитывается. - `Кнопка` - Число. Индекс кнопки, которую нужно нажать для закрытия модального окна. Нумерация с 0. +**Важно** - В строках массивов `Заголовки` и `Поля` разрешено использование простого шаблона * (звездочка), который означает пропуск любых символов. +Например, "Закрыть *?" + Пример настроек для закрытия модального окна из демо-конфигурации БСП 3.Х ```json "МодальныеОкна": { "ШаблонПомощника":{ "Заголовки" : [ - "Демо: Шаблон помощника" + "* Шаблон *" ], "Поля" : [ - "Закрыть помощник?" + "*Закрыть *?" ], "Кнопка": 0 } diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index ed19f8c56..c73c10d9c 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -59,7 +59,6 @@ ], "Справочники": [ - "ПростойСправочник.Форма.ФормаВыбора" ] , "Документы": false, diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 425f60b1c..f2c609fe2 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -100,7 +100,7 @@ ], "Справочники": [ - "ПростойСправочник.Форма.ФормаВыбора" + "ПростойСправочник" ] , "Документы": false, @@ -111,7 +111,7 @@ "Обработки": [ "xddGuidShow", "ТестОбработка_Форма_ИсключениеПриОткрытии", - "СериализаторMXL.Форма.УправляемаяФорма" + "СериализаторMXL" ], "БизнесПроцессы": [ "БизнесПроцесс2" From 477618ade637ee493efe30f08a2080fa6f328959 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 16:06:20 +0300 Subject: [PATCH 041/421] =?UTF-8?q?=D1=83=D1=87=D1=82=D0=B5=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5,?= =?UTF-8?q?=20=D0=B5=D1=81=D0=BB=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D0=BB=D0=B0=D1=81=D1=8C=20=D0=B8?= =?UTF-8?q?=20=D1=82=D1=83=D1=82=20=D0=B6=D0=B5=20=D0=B7=D0=B0=D0=BA=D1=80?= =?UTF-8?q?=D1=8B=D0=BB=D0=B0=D1=81=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 640ae2de0..2c5116a5b 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -268,11 +268,15 @@ Прервать; КонецЕсли; - ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); - - Если ТестируемаяФорма = Неопределено Тогда - Продолжить; - КонецЕсли; + Попытка + ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); + Если ТестируемаяФорма = Неопределено Тогда + Продолжить; + КонецЕсли; + Исключение + //исключение может быть, если форма открылась и тут же закрылась + Продолжить; + КонецПопытки; Если ТестируемаяФорма.ИмяФормы = "" Или ТестируемаяФорма.ИмяФормы = "MessageBox" Тогда ОкноПредупреждение = ПодчиненныйОбъект; From 188b0603fd78c841fa8f232b7c068c519d69b50d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 17:24:12 +0300 Subject: [PATCH 042/421] =?UTF-8?q?=D1=81=D0=BF=D0=B5=D1=86.=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=20=D0=B4=D0=BB=D1=8F=20=D1=83=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BE=D0=BF.=D0=BF=D0=B0?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82-?= =?UTF-8?q?=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 +++-- .../Ext/ObjectModule.bsl" | 47 ++++++++++--------- tools/JSON/vrunner.json | 6 ++- 3 files changed, 36 insertions(+), 28 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7cd130920..0c1c8e262 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -33,7 +33,7 @@ // встроена обработка в конфигурацию или нет ИспользуемоеИмяФайла = ОбъектНаСервере.ИспользуемоеИмяФайла; КонецЕсли; - + ЗначениеВРеквизитФормы(ОбъектНаСервере, "Объект"); //для загрузки настроек ОбновитьКомандыИсторииЗагрузкиТестов(); @@ -299,7 +299,7 @@ ПараметрыЗавершения = Новый Структура("ИдентификаторыПлагинов", ИдентификаторыПлагинов); //ПараметрыЗавершения.Вставить("ПомещаемыеФайлы", ПомещаемыеФайлы); - + ОписаниеЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения); АСинк().смв_ПоместитьФайлы(ОписаниеЗавершения, ПомещаемыеФайлы); @@ -1169,8 +1169,11 @@ Параметры_xddTestClient = Неопределено; Если ПараметрыЗапуска.Свойство(ВозможныеКлючи.xddTestClient, Параметры_xddTestClient) Тогда + Параметры_xddTestClientAdditional = Неопределено; + ПараметрыЗапуска.Свойство(ВозможныеКлючи.xddTestClientAdditional, Параметры_xddTestClientAdditional); + ТестКлиенты = Плагин("ТестКлиенты"); - ТестКлиенты.ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient); + ТестКлиенты.ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, Параметры_xddTestClientAdditional); КонецЕсли; НастройкиШагов = Новый Структура; @@ -2322,7 +2325,7 @@ Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт Если РегулярныеВыражения = Неопределено Тогда - РегулярныеВыражения = Плагин("РегулярныеВыражения"); + РегулярныеВыражения = Плагин("РегулярныеВыражения"); КонецЕсли; Нашли = РегулярныеВыражения.СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Шаблон); diff --git "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" index 60bf4fbdb..6c7a931d2 100644 --- "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -5,7 +5,7 @@ МетаданныеПлагина = Метаданные(); Результат.Вставить("Идентификатор", МетаданныеПлагина.Имя); Результат.Вставить("Представление", МетаданныеПлагина.Синоним); - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции @@ -20,31 +20,31 @@ Функция Разобрать(СтрокаПараметров) Экспорт Результат = Новый Структура; - + СтруктураДляПовторяющихсяКлючей = Новый Структура; - + МассивСтрокПараметров = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); Для каждого СтрокаПараметра Из МассивСтрокПараметров Цикл КлючИПараметры = РаспознатьКлючИЕгоПараметры(СтрокаПараметра); Если КлючИПараметры <> Неопределено Тогда Ключ = КлючИПараметры.Ключ; Параметры = КлючИПараметры.Параметры; - + МассивПараметров = Неопределено; Если СтруктураДляПовторяющихсяКлючей.Свойство(Ключ, МассивПараметров) Тогда - + МассивПараметров.Добавить(Параметры); - + Иначе МассивПараметров = Новый Массив; МассивПараметров.Добавить(Параметры); СтруктураДляПовторяющихсяКлючей.Вставить(Ключ, МассивПараметров); - + КонецЕсли; КонецЕсли; КонецЦикла; - + Для Каждого КлючЗначение Из СтруктураДляПовторяющихсяКлючей Цикл Ключ = КлючЗначение.Ключ; МассивПараметров = КлючЗначение.Значение; @@ -55,18 +55,18 @@ Результат.Вставить(КлючЗначение.Ключ, МассивПараметров); КонецЕсли; КонецЦикла; - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт - + Результат = Новый Массив; - + // для обеспечения обратной совместимости Если ПропускатьПустыеСтроки = Неопределено Тогда ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда + Если ПустаяСтрока(Строка) Тогда Если Разделитель = " " Тогда Результат.Добавить(""); КонецЕсли; @@ -74,7 +74,7 @@ КонецЕсли; КонецЕсли; // - + Позиция = Найти(Строка, Разделитель); Пока Позиция > 0 Цикл Подстрока = Лев(Строка, Позиция - 1); @@ -84,13 +84,13 @@ Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); Позиция = Найти(Строка, Разделитель); КонецЦикла; - + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда Результат.Добавить(Строка); КонецЕсли; - + Возврат Результат; - + КонецФункции Функция РаспознатьКлючИЕгоПараметры(Знач СтрокаПараметра) @@ -103,14 +103,14 @@ ПараметрыКлюча = ВыделитьПараметрыКлюча(СтрокаПараметра, Разделитель); Результат = Новый Структура("Ключ, Параметры", КлючКоманднойСтроки, ПараметрыКлюча); КонецЕсли; - + Возврат Результат; КонецФункции Функция ПолучитьКлюч(СтрокаПараметра, Разделитель) МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметра, Разделитель); КлючКоманднойСтроки = МассивПодстрок[0]; - + Возврат КлючКоманднойСтроки; КонецФункции @@ -118,7 +118,7 @@ Результат = Новый Массив; Кавычка = """"; ВнутриКавычки = Ложь; - + ИскатьПодстроки = Истина; Пока ИскатьПодстроки Цикл ПозицияРазделителя = Найти(СтрокаПараметра, Разделитель); @@ -139,13 +139,13 @@ Результат.Добавить(Подстрока); КонецЕсли; КонецЦикла; - + Если Не ПустаяСтрока(СтрокаПараметра) Тогда Результат.Добавить(СтрокаПараметра); КонецЕсли; - + Результат.Удалить(0); - + Возврат Новый ФиксированныйМассив(Результат); КонецФункции @@ -157,6 +157,7 @@ ВозможныеКлючиКоманднойСтроки.Вставить("xddExitCodePath", "xddExitCodePath"); ВозможныеКлючиКоманднойСтроки.Вставить("xddConfig", "xddConfig"); ВозможныеКлючиКоманднойСтроки.Вставить("xddTestClient", "xddTestClient"); + ВозможныеКлючиКоманднойСтроки.Вставить("xddTestClientAdditional", "xddTestClientAdditional"); ВозможныеКлючиКоманднойСтроки.Вставить("workspaceRoot", "workspaceRoot"); ВозможныеКлючиКоманднойСтроки.Вставить("debug", "debug"); @@ -171,7 +172,7 @@ Исключение Результат = Ложь; КонецПопытки; - + Возврат Результат; КонецФункции diff --git a/tools/JSON/vrunner.json b/tools/JSON/vrunner.json index f422bf2b1..4979104fd 100644 --- a/tools/JSON/vrunner.json +++ b/tools/JSON/vrunner.json @@ -39,6 +39,10 @@ "testsPath": "./tests", "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure/allure.xml}", "--xddExitCodePath": "./build/xddExitCodePath.txt", - "--pathxunit": "./xddTestRunner.epf" + "--pathxunit": "./xddTestRunner.epf", + "--testclient" : "::47003", + "--testclient-additional" : "/Lru /iTaxi" + // "--testclient-additional" : "/Debug /DebuggerURL tcp://localhost:1561" + // "--testclient-additional" : "/debug -http -attach /debuggerURL http://127.0.0.1:2550" } } \ No newline at end of file From f397edafc6f97920def38294bdc01df7557f407e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 17:25:21 +0300 Subject: [PATCH 043/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20-=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B1=D0=BE=D1=80=D0=B0=20=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BE=D0=BA=20=D0=BD=D0=B0?= =?UTF-8?q?=D0=B6=D0=B8=D0=BC=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B2=D1=8B=D0=B9=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 1 + 1 file changed, 1 insertion(+) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b61c54f38..5ba6fb908 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -237,6 +237,7 @@ Если КнопкиРазделов.Количество() > 1 Тогда КнопкиРазделов[0].Нажать(); + КнопкиРазделов[0].Нажать(); КонецЕсли; КонецЕсли; From 4b2636db68e3ca8169c693c8d620b9517569f648 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 17:44:27 +0300 Subject: [PATCH 044/421] =?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=B4=D0=BE=D0=BF.=D0=BF=D0=B0=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82-=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 294 +++++++++--------- tools/JSON/vrunner.json | 2 +- 2 files changed, 154 insertions(+), 142 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2c5116a5b..2d5f095cf 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -37,7 +37,7 @@ КонецПроцедуры &НаКлиенте -Функция ПортПоУмолчанию() Экспорт +Функция ПортПоУмолчанию() Экспорт Если Не ЗначениеЗаполнено(ПортПоУмолчанию) Тогда УстановитьПортПоУмолчанию(52010); КонецЕсли; @@ -50,60 +50,69 @@ КонецПроцедуры &НаКлиенте -Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient) Экспорт - +Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры) Экспорт + Если Параметры_xddTestClient.Количество() > 0 И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда НовыйМассивПараметров = Новый Массив; НовыйМассивПараметров.Добавить(Параметры_xddTestClient); Параметры_xddTestClient = НовыйМассивПараметров; КонецЕсли; - + + Если ДопПараметры.Количество() > 0 И ТипЗнч(ДопПараметры[0]) <> Тип("ФиксированныйМассив") Тогда + НовыйМассивПараметров = Новый Массив; + НовыйМассивПараметров.Добавить(ДопПараметры); + ДопПараметры = НовыйМассивПараметров; + КонецЕсли; + ДопПараметры = ДопПараметры[0]; + Для Каждого ОчередныеПараметры Из Параметры_xddTestClient Цикл Попытка ПользовательПарольПорт = РазложитьСтрокуВМассивПодстрок(ОчередныеПараметры[0], ":"); Если ПользовательПарольПорт.Количество() = 3 Тогда ТестКлиент = ПодключитьТестКлиент( - ПользовательПарольПорт[0], - ПользовательПарольПорт[1], - ПользовательПарольПорт[2]); - ЗапомнитьДанныеТестКлиента(ТестКлиент, ПользовательПарольПорт[0], ПользовательПарольПорт[2]); + ПользовательПарольПорт[0], + ПользовательПарольПорт[1], + ПользовательПарольПорт[2], + ДопПараметры); + ЗапомнитьДанныеТестКлиента(ТестКлиент, ПользовательПарольПорт[0], ПользовательПарольПорт[2], + ДопПараметры); Иначе - ТестКлиент = ПодключитьТестКлиент(); - ЗапомнитьДанныеТестКлиента(ТестКлиент, "", ""); + ТестКлиент = ПодключитьТестКлиент("", "", "", ДопПараметры); + ЗапомнитьДанныеТестКлиента(ТестКлиент, "", "", ДопПараметры); КонецЕсли; Исключение Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка подключения тест-клиента в пакетном режиме |" + ПодробноеПредставлениеОшибки(Инфо); - - ЗафиксироватьОшибкуВЖурналеРегистрации("xUnitFor1C.ПодключитьТестКлиент", ОписаниеОшибки); + + ЗафиксироватьОшибкуВЖурналеРегистрации("VanessaADD.ПодключитьТестКлиент", ОписаниеОшибки); Сообщить(ОписаниеОшибки, СтатусСообщения.ОченьВажное); КонецПопытки; КонецЦикла; - + КонецПроцедуры &НаКлиенте -Функция ПодключитьТестКлиент(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0) Экспорт +Функция ПодключитьТестКлиент(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0, Знач ДопПараметры = "") Экспорт Порт = ПолучитьПорт(Порт); - + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда СписокПропускаемыхФорм = Новый СписокЗначений; - КонецЕсли; - + КонецЕсли; + Результат = Неопределено; - + Попытка Выполнить "Результат = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение КонецПопытки; - + Если Результат = Неопределено Тогда ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение. |Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER) |При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; КонецЕсли; - + // Попытка подключиться к уже запущенному приложению. Подключен = Ложь; Попытка @@ -111,16 +120,16 @@ Подключен = Истина; Исключение КонецПопытки; - + Если Подключен Тогда Возврат Результат; КонецЕсли; - - СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт); - + + СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт, ДопПараметры); + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл @@ -132,7 +141,7 @@ ОписаниеОшибкиСоединения = ОписаниеОшибки(); КонецПопытки; КонецЦикла; - + Если Не Подключен Тогда Попытка Результат.УстановитьСоединение(); @@ -142,15 +151,15 @@ "Не смогли установить соединение с тестовым приложением для пользователя %1! |%2", ИмяПользователя, - ОписаниеОшибкиСоединения); + ОписаниеОшибкиСоединения); КонецПопытки; КонецЕсли; - + Если Подключен И ОсновноеОкно(Результат) = Неопределено Тогда Таймаут = 5; ДлительностьОжидания = 0; Попытка - Пока ОсновноеОкно(Результат) = Неопределено И ДлительностьОжидания < ТаймаутВСекундах() Цикл + Пока ОсновноеОкно(Результат) = Неопределено И ДлительностьОжидания < ТаймаутВСекундах() Цикл Результат.ПолучитьАктивноеОкно().Активизировать(); ДлительностьОжидания = ДлительностьОжидания + Таймаут; Пауза(Результат, Таймаут); @@ -158,7 +167,7 @@ Исключение ВызватьИсключение КонтекстЯдра.СтрШаблон_( НСтр("ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1!'"), - ИмяПользователя); + ИмяПользователя); КонецПопытки; Если ОсновноеОкно(Результат) = Неопределено Тогда Результат.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); @@ -166,18 +175,18 @@ ВызватьИсключение НСтр("ru = 'Превышено время ожидания ввода пароля.'"); КонецЕсли; КонецЕсли; - + Возврат Результат; - + КонецФункции &НаКлиенте Процедура ЗавершитьВсеТестКлиенты() Экспорт - + Если Не ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда Возврат; КонецЕсли; - + Для Каждого ТекЗначение Из ЗапущенныеТестКлиенты Цикл Если ЭтоLinux() Тогда ЗапуститьПриложение("kill -9 `ps aux | grep -ie TESTCLIENT | grep -ie 1cv8c | awk '{print $2}'`"); @@ -185,71 +194,72 @@ ЗапуститьПриложение(ТекстСкриптаЗавершитьТестКлиент(ТекЗначение.Порт)); КонецЕсли; КонецЦикла; - + КонецПроцедуры &НаКлиенте Функция ТестКлиентПоУмолчанию() Экспорт - + Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда Возврат ЗапущенныеТестКлиенты[0].ТестКлиент; КонецЕсли; - + Результат = ПодключитьТестКлиент(); - ЗапомнитьДанныеТестКлиента(Результат, "", ""); - + ЗапомнитьДанныеТестКлиента(Результат, "", "", ""); + Возврат Результат; - + КонецФункции &НаКлиенте -Функция ТестКлиентПоПараметрам(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0) Экспорт +Функция ТестКлиентПоПараметрам(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0, + Знач ДопПараметры = "") Экспорт Порт = ПолучитьПорт(Порт); Результат = НайтиЗапущенныйКлиент(ИмяПользователя, Порт); Если Результат <> Неопределено Тогда Возврат Результат; КонецЕсли; - - Результат = ПодключитьТестКлиент(ИмяПользователя, Пароль, Порт); - ЗапомнитьДанныеТестКлиента(Результат, ИмяПользователя, Порт); - + + Результат = ПодключитьТестКлиент(ИмяПользователя, Пароль, Порт, ДопПараметры); + ЗапомнитьДанныеТестКлиента(Результат, ИмяПользователя, Порт, ДопПараметры); + Возврат Результат; - + КонецФункции &НаКлиенте Процедура ИдентифицироватьОкноПредупреждение(Знач ТестКлиент, Знач Пояснение = "", Знач ПропускатьПриОтсутствииПрав = Истина) Экспорт - + ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); - + Если ТипЗнч(ОкноПредупреждение) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Возврат; КонецЕсли; - + ТекущаяИнформацияОбОшибке = ТестКлиент.ПолучитьТекущуюИнформациюОбОшибке(); Если ТипЗнч(ТекущаяИнформацияОбОшибке) = Тип("ИнформацияОбОшибке") Тогда ПодробноеПредставлениеОшибки = ПодробноеПредставлениеОшибки(ТекущаяИнформацияОбОшибке); Иначе ПодробноеПредставлениеОшибки = ""; КонецЕсли; - + ТекстИсключения = ТекстИсключения(ОкноПредупреждение); ЗакрытьВсеОткрытыеОкна(ТестКлиент); - + Если ПропускатьПриОтсутствииПрав И ТекстИсключения = "Недостаточно прав для просмотра" Тогда КонтекстЯдра.ПропуститьТест(ТекстИсключения); КонецЕсли; - + ТекстИсключения = СтрШаблон_("Выявлено модальное окно: |[%1] %2 |%3", Пояснение, ТекстИсключения, ПодробноеПредставлениеОшибки); - + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); - + КонецПроцедуры &НаКлиенте @@ -257,7 +267,7 @@ ОкноПредупреждение = Неопределено; ПодчиненныеОбъекты = ТестКлиент.ПолучитьПодчиненныеОбъекты(); - + Для Каждого ПодчиненныйОбъект Из ПодчиненныеОбъекты Цикл Если ТипЗнч(ПодчиненныйОбъект) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Продолжить; @@ -267,23 +277,23 @@ ОкноПредупреждение = ПодчиненныйОбъект; Прервать; КонецЕсли; - + Попытка - ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); + ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); Если ТестируемаяФорма = Неопределено Тогда Продолжить; - КонецЕсли; + КонецЕсли; Исключение //исключение может быть, если форма открылась и тут же закрылась Продолжить; КонецПопытки; - + Если ТестируемаяФорма.ИмяФормы = "" Или ТестируемаяФорма.ИмяФормы = "MessageBox" Тогда ОкноПредупреждение = ПодчиненныйОбъект; Прервать; - КонецЕсли; - КонецЦикла; - + КонецЕсли; + КонецЦикла; + Возврат ОкноПредупреждение; КонецФункции @@ -300,14 +310,14 @@ &НаКлиенте Процедура Пауза(ТестКлиент, КоличествоСекунд) Экспорт - + ТестКлиент.ОжидатьОтображениеОбъекта(Тип("ТестируемаяФорма"), "ЗаведомоОтсутствующийОбъект",, КоличествоСекунд); - + КонецПроцедуры &НаКлиенте Функция ТекстИсключения(ОкноПредупреждение) Экспорт - + ТекстыЗаголовков = Новый Массив; Для Каждого ТекПолеФормы Из ОкноПредупреждение.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл ТекстыЗаголовков.Добавить(ТекПолеФормы.ТекстЗаголовка); @@ -318,17 +328,17 @@ ТекстыЗаголовков.Добавить(ТекДекорацияФормы.ТекстЗаголовка); КонецЕсли; КонецЦикла; - + Возврат СтрСоединить_(ТекстыЗаголовков, " "); - + КонецФункции &НаКлиенте Процедура ЗакрытьВсеОткрытыеОкна(ТестКлиент) Экспорт - + ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); ЗакрытьОкноПредупреждения(ОкноПредупреждение); - + ОткрытыеОкна = ТестКлиент.ПолучитьПодчиненныеОбъекты(); Для Каждого ТекОкно Из ОткрытыеОкна Цикл Если ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Тогда @@ -337,18 +347,18 @@ Если ПропуститьОкно(ТекОкно) Тогда Продолжить; КонецЕсли; - + Попытка ТекОкно.Закрыть(); Исключение // Необходимо принудительно закрыть все окна, специальная обработка исключений не требуется. СписокПропускаемыхФорм.Добавить(ТекОкно.Заголовок); КонецПопытки; - + ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); ЗакрытьОкноПредупреждения(ОкноПредупреждение); КонецЦикла; - + КонецПроцедуры &НаКлиенте @@ -368,18 +378,18 @@ &НаКлиенте Процедура ЗакрытьОкноПредупреждения(ОкноПриложения) Экспорт - + Если ТипЗнч(ОкноПриложения) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Возврат; КонецЕсли; - + ТипТестируемаяКнопкаФормы = Тип("ТестируемаяКнопкаФормы"); - + Кнопки = ОкноПриложения.НайтиОбъекты(ТипТестируемаяКнопкаФормы); Если Не ЗначениеЗаполнено(Кнопки) Тогда Возврат; КонецЕсли; - + Для Каждого ТекПолеФормы Из ОкноПриложения.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл Если НажатьКнопкуМодальногоДиалога(ТекПолеФормы.ТекстЗаголовка, Кнопки, Истина) Тогда Возврат; @@ -391,18 +401,18 @@ Возврат; КонецЕсли; КонецЦикла; - + Если НажатьКнопкуМодальногоДиалога(ОкноПриложения.Заголовок, Кнопки) Тогда Возврат; КонецЕсли; - + НажатьКнопкуМодальногоДиалогаЕслиНаФормеВсегоОднаКнопка(Кнопки, ОкноПриложения.Заголовок); КонецПроцедуры &НаКлиенте Функция ОткрытыеОкна(ТестКлиент) Экспорт - + ОткрытыеОкна = Новый Соответствие; ВсеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); Для Каждого ТекОкно Из ВсеОкна Цикл @@ -411,7 +421,7 @@ КонецЕсли; ОткрытыеОкна.Вставить(ТекОкно.Заголовок, ТекОкно); КонецЦикла; - + Возврат ОткрытыеОкна; КонецФункции @@ -419,32 +429,32 @@ Процедура ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо) Экспорт ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); Для Каждого ТекОкно Из ОткрытыеОкна Цикл - Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница + Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница Или ОткрытыеОкнаДо.Получить(ТекОкно.Заголовок) <> Неопределено Тогда Продолжить; КонецЕсли; - + ТекстИсключения = КонтекстЯдра.СтрШаблон_(" |Выявлено окно, которое не закрывается! |Возможно, это модальное окно. |Заголовок окна <%1>", ТекОкно.Заголовок); ВызватьИсключение ТекстИсключения; КонецЦикла; - + КонецПроцедуры &НаКлиенте Процедура УстановитьНастройкиМодальныхОкон(ПарамНастройкиМодальныхОкон) Экспорт Если Не ЗначениеЗаполнено(ПарамНастройкиМодальныхОкон) Тогда Возврат; - КонецЕсли; + КонецЕсли; Если НастройкиМодальныхОкон <> ПарамНастройкиМодальныхОкон Тогда Для Каждого КлючЗначение Из ПарамНастройкиМодальныхОкон Цикл НастройкиМодальныхОкон.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЦикла; КонецЕсли; - + ЗаголовкиМодальныхОкон = Новый Соответствие; Для Каждого КлючЗначение Из НастройкиМодальныхОкон Цикл Описание = КлючЗначение.Значение; @@ -454,14 +464,14 @@ ЗаголовкиМодальныхОкон.Вставить(ДляСравнения(Заголовок), Описание); КонецЦикла; КонецЕсли; - + Поля = Неопределено; Если Описание.Свойство("Поля", Поля) Тогда Для Каждого ТекстПоля Из Поля Цикл ПоляМодальныхОкон.Вставить(ДляСравнения(ТекстПоля), Описание); КонецЦикла; КонецЕсли; - + КонецЦикла; КонецПроцедуры @@ -484,96 +494,97 @@ КонецФункции &НаКлиенте -Функция СтрокаЗапускаТестКлиента(Знач ИмяПользователя, Знач Пароль, Знач Порт) - +Функция СтрокаЗапускаТестКлиента(Знач ИмяПользователя, Знач Пароль, Знач Порт, Знач ДопПараметры) + Если Не ЗначениеЗаполнено(ИмяПользователя) Тогда ИмяПользователя = ИмяТекущегоПользователя(); КонецЕсли; - + СтрокаЗапуска1с = КаталогПрограммы() + "1cv8c"; - + Если Не ЭтоLinux() Тогда СтрокаЗапуска1с = КонтекстЯдра.СтрШаблон_("%1.exe", СтрокаЗапуска1с); КонецЕсли; - + Результат = КонтекстЯдра.СтрШаблон_( - """%1"" ENTERPRISE /IBConnectionString""%2""%3%4 /TestClient -TPort%5 /L%6", - СтрокаЗапуска1с, - СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """"""), - ?(ПустаяСтрока(ИмяПользователя), "", " /N""" + ИмяПользователя + """"), - ?(ПустаяСтрока(Пароль), ""," /P""" + Пароль + """"), - XMLСтрока(Порт), - ТекущийЯзык()); - + """%1"" ENTERPRISE /IBConnectionString""%2""%3%4 /TestClient -TPort%5 /L%6 %7", + СтрокаЗапуска1с, + СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """"""), + ?(ПустаяСтрока(ИмяПользователя), "", " /N""" + ИмяПользователя + """"), + ?(ПустаяСтрока(Пароль), ""," /P""" + Пароль + """"), + XMLСтрока(Порт), + ТекущийЯзык(), + ДопПараметры); + Возврат Результат; - + КонецФункции &НаСервереБезКонтекста Функция ИмяТекущегоПользователя() - + ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); - + Если ТекущийПользователь.АутентификацияОС Тогда Возврат ""; Иначе Возврат ТекущийПользователь.Имя; КонецЕсли; - + КонецФункции &НаКлиенте Функция ТаймаутВСекундах() - + Возврат 120; - + КонецФункции &НаКлиенте Функция ТекстСкриптаЗавершитьТестКлиент(НомерПорта) - + Результат = "wmic process where (CommandLine Like ""%/TESTCLIENT%"" And ExecutablePath Like ""%1cv8c%"") call terminate"; - + Если Не ЗначениеЗаполнено(НомерПорта) Тогда Возврат Результат; КонецЕсли; - + Возврат СтрЗаменить( Результат, "%/TESTCLIENT%", "%/TESTCLIENT -TPort" + НомерПорта + "%"); - + КонецФункции &НаКлиенте Функция ПолноеИмяИсполняемогоФайла() - + Возврат КонтекстЯдра.СтрШаблон_("%1%2%3", КаталогПрограммы(), "1cv8c", РасширениеИсполняемогоФайла()); - + КонецФункции &НаКлиенте Функция РасширениеИсполняемогоФайла() - + Если ЭтоLinux() Тогда Возврат ""; Иначе Возврат ".exe"; КонецЕсли; - + КонецФункции &НаКлиенте Функция ЭтоLinux() - + СисИнфо = Новый СистемнаяИнформация; ВерсияПриложения = СисИнфо.ВерсияПриложения; - + Возврат Найти(Строка(СисИнфо.ТипПлатформы), "Linux") > 0; - + КонецФункции &НаСервере @@ -582,35 +593,36 @@ КонецПроцедуры &НаКлиенте -Процедура ЗапомнитьДанныеТестКлиента(ТестКлиент, ИмяПользователя, Порт) - +Процедура ЗапомнитьДанныеТестКлиента(ТестКлиент, ИмяПользователя, Порт, ДопПараметры) + ДанныеТестКлиента = Новый Структура; ДанныеТестКлиента.Вставить("ТестКлиент", ТестКлиент); ДанныеТестКлиента.Вставить("ИмяПользователя", ИмяПользователя); ДанныеТестКлиента.Вставить("Порт", Порт); - + ДанныеТестКлиента.Вставить("ДопПараметры", ДопПараметры); + Если ЗапущенныеТестКлиенты = Неопределено Тогда ЗапущенныеТестКлиенты = Новый Массив; КонецЕсли; - + ЗапущенныеТестКлиенты.Добавить(ДанныеТестКлиента); - + КонецПроцедуры &НаКлиенте Функция НайтиЗапущенныйКлиент(ИмяПользователя, Порт) - + Если Не ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда Возврат Неопределено; КонецЕсли; - + Для Каждого ТекЗапущенныйКлиент Из ЗапущенныеТестКлиенты Цикл - Если ТекЗапущенныйКлиент.ИмяПользователя = ИмяПользователя + Если ТекЗапущенныйКлиент.ИмяПользователя = ИмяПользователя И ТекЗапущенныйКлиент.Порт = Порт Тогда Возврат ТекЗапущенныйКлиент.ТестКлиент; КонецЕсли; КонецЦикла; - + КонецФункции &НаКлиенте @@ -623,7 +635,7 @@ &НаКлиенте Функция НажатьКнопкуМодальногоДиалога(Знач ПроверяемыйТекст, Знач Кнопки, Знач ПроверятьПоля = Ложь) - + Коллекция = ЗаголовкиМодальныхОкон; Если ПроверятьПоля Тогда Коллекция = ПоляМодальныхОкон; @@ -632,7 +644,7 @@ Если ОписаниеМодальногоОкна = Неопределено Тогда Возврат Ложь; КонецЕсли; - + ИндексКнопки = Неопределено; Если Не ОписаниеМодальногоОкна.Свойство("Кнопка", ИндексКнопки) Тогда Возврат Истина; @@ -646,16 +658,16 @@ СтатусСообщения.ОченьВажное); Возврат Истина; КонецЕсли; - + Попытка Кнопки[ИндексКнопки].Нажать(); Исключение КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, СтатусСообщения.ОченьВажное); КонецПопытки; - + Возврат Истина; - + КонецФункции &НаКлиенте @@ -670,7 +682,7 @@ КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, СтатусСообщения.ОченьВажное); КонецПопытки; - + Возврат Истина; КонецФункции @@ -684,7 +696,7 @@ Прервать; КонецЕсли; КонецЦикла; - + Если Сч = 1 Тогда Возврат ПерваяКнопка; КонецЕсли; @@ -715,20 +727,20 @@ &НаКлиенте Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт - + Результат = Новый Массив; - + // для обеспечения обратной совместимости Если ПропускатьПустыеСтроки = Неопределено Тогда ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); - Если ПустаяСтрока(Строка) Тогда + Если ПустаяСтрока(Строка) Тогда Если Разделитель = " " Тогда Результат.Добавить(""); КонецЕсли; Возврат Результат; КонецЕсли; КонецЕсли; - + Позиция = Найти(Строка, Разделитель); Пока Позиция > 0 Цикл Подстрока = Лев(Строка, Позиция - 1); @@ -738,13 +750,13 @@ Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); Позиция = Найти(Строка, Разделитель); КонецЦикла; - + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда Результат.Добавить(Строка); КонецЕсли; - + Возврат Результат; - + КонецФункции // Замена функции СтрШаблон на конфигурациях с режимом совместимости < 8.3.6 @@ -863,7 +875,7 @@ //Описание.Вставить("Поля", Поля); //Поля.Добавить("Закрыть помощник?"); //Описание.Вставить("Кнопка", 0); - + УстановитьНастройкиМодальныхОкон(НастройкиМодальныхОкон); КонецПроцедуры diff --git a/tools/JSON/vrunner.json b/tools/JSON/vrunner.json index 4979104fd..d4cc1248d 100644 --- a/tools/JSON/vrunner.json +++ b/tools/JSON/vrunner.json @@ -41,7 +41,7 @@ "--xddExitCodePath": "./build/xddExitCodePath.txt", "--pathxunit": "./xddTestRunner.epf", "--testclient" : "::47003", - "--testclient-additional" : "/Lru /iTaxi" + "--testclient-additional" : "/iTaxi" // "--testclient-additional" : "/Debug /DebuggerURL tcp://localhost:1561" // "--testclient-additional" : "/debug -http -attach /debuggerURL http://127.0.0.1:2550" } From f081cab7cbafb4549afcebcf3f676e8de7ae647e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 18:08:45 +0300 Subject: [PATCH 045/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?,=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D0=BD=D0=B5=D1=82=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BF.=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2d5f095cf..4c3f441ae 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -52,18 +52,20 @@ &НаКлиенте Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры) Экспорт - Если Параметры_xddTestClient.Количество() > 0 И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда + Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда НовыйМассивПараметров = Новый Массив; НовыйМассивПараметров.Добавить(Параметры_xddTestClient); Параметры_xddTestClient = НовыйМассивПараметров; КонецЕсли; - Если ДопПараметры.Количество() > 0 И ТипЗнч(ДопПараметры[0]) <> Тип("ФиксированныйМассив") Тогда + Если Не ЗначениеЗаполнено(ДопПараметры) Тогда + ДопПараметры = ""; + ИначеЕсли ТипЗнч(ДопПараметры[0]) <> Тип("ФиксированныйМассив") Тогда НовыйМассивПараметров = Новый Массив; НовыйМассивПараметров.Добавить(ДопПараметры); ДопПараметры = НовыйМассивПараметров; + ДопПараметры = ДопПараметры[0]; КонецЕсли; - ДопПараметры = ДопПараметры[0]; Для Каждого ОчередныеПараметры Из Параметры_xddTestClient Цикл Попытка From dbbe563a46445732dcf054c9f5751a8cea9c0171 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 May 2020 18:50:55 +0300 Subject: [PATCH 046/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B0=D0=BD=D0=B0=D0=BB=D0=B8=D0=B7=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BF.=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4c3f441ae..1c07f5dbb 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -60,10 +60,7 @@ Если Не ЗначениеЗаполнено(ДопПараметры) Тогда ДопПараметры = ""; - ИначеЕсли ТипЗнч(ДопПараметры[0]) <> Тип("ФиксированныйМассив") Тогда - НовыйМассивПараметров = Новый Массив; - НовыйМассивПараметров.Добавить(ДопПараметры); - ДопПараметры = НовыйМассивПараметров; + Иначе ДопПараметры = ДопПараметры[0]; КонецЕсли; From f2966f9f4c5a4f024a88179ee3d29b89d600eb72 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 25 May 2020 09:07:41 +0300 Subject: [PATCH 047/421] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 240 +++++++++--------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5ba6fb908..d9716a7d2 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,7 @@ КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - + ПутьНастройки = "CommandInterface"; НачальнаяНастройка(КонтекстЯдра, ПутьНастройки); КонецПроцедуры @@ -22,13 +22,13 @@ Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки) Если ЗначениеЗаполнено(Объект.Настройки) Тогда - Возврат; + Возврат; КонецЕсли; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); - + НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); - + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура; @@ -41,7 +41,7 @@ Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) Тогда Объект.СтрогийПорядокВыполнения = Объект.Настройки.СтрогийПорядокВыполнения; КонецЕсли; - + Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); КонецЕсли; @@ -83,20 +83,20 @@ &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - + Инициализация(КонтекстЯдраПараметр); - + Если Объект.СтрогийПорядокВыполнения Тогда НаборТестов.СтрогийПорядокВыполнения(); НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); КонецЕсли; - + КонтекстЯдра = КонтекстЯдраПараметр; - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - + ТестКлиент = Неопределено; - + Попытка ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); Исключение @@ -104,13 +104,13 @@ Сообщить(ИнфоОшибки); Возврат; КонецПопытки; - + Если ТестКлиент = Неопределено Тогда Возврат; КонецЕсли; - + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - + ИсключаемыеОперации = Новый Массив; ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); @@ -120,10 +120,10 @@ ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); - + ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно); Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл - + СписокДляСортировки = Новый СписокЗначений; Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл Если Не ИсключитьИзПроверки(КлючЗначение.Ключ, ИсключаемыеОперации) Тогда @@ -131,41 +131,41 @@ КонецЕсли; КонецЦикла; СписокДляСортировки.СортироватьПоПредставлению(); - + Если СписокДляСортировки.Количество() Тогда НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"),ГруппаТестов.ИмяГруппы)); КонецЕсли; - + Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл - + КлючЗначение = ЭлементСпискаЗначений.Значение; Описание = КлючЗначение.Значение; ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; - + НаборТестов.Добавить( Описание.ИмяТеста, НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); - + КонецЦикла; - + КонецЦикла; - + КонецПроцедуры &НаКлиенте Процедура ДобавитьИсключения(Знач ИсключаемыеОперации, ИмяНастройки, ПрефиксШаблона) - - Если ВидМетаданныхИсключенИзТестирования(ИмяНастройки) Тогда - + + Если ВидМетаданныхИсключенИзТестирования(ИмяНастройки) Тогда + ИсключаемыеОперации.Добавить(ПрефиксШаблона); - + ИначеЕсли ЕстьНастройка(ИмяНастройки) Тогда - + Для Каждого ПараметрНастройки Из Объект.Настройки[ИмяНастройки] Цикл ИсключаемыеОперации.Добавить(ПрефиксШаблона + ПараметрНастройки); КонецЦикла; - + КонецЕсли; КонецПроцедуры @@ -177,38 +177,38 @@ Возврат Истина; КонецЕсли; КонецЦикла; - + Возврат Ложь; КонецФункции &НаКлиенте Процедура ПередЗапускомТеста() Экспорт - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); КонецЕсли; - + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); - + КонецПроцедуры &НаКлиенте Процедура ПослеЗапускаТеста() Экспорт - + //ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); //КонтекстЯдра.Плагин("ТестКлиенты").ЗакрытьВсеОткрытыеОкна(ТестКлиент); - + КонецПроцедуры &НаКлиенте Функция ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно) - + РезКоллекцияОписаний = Новый Массив; ИсключаемыеРазделы = Новый Массив; ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); - + Попытка КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); Исключение @@ -219,7 +219,7 @@ Если ПанельРазделов = Неопределено Тогда ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), "Section panel"); КонецЕсли; - + Если ТипЗнч(ПанельРазделов) = Тип("ТестируемаяГруппаКомандногоИнтерфейса") Тогда КнопкиРазделов = ПанельРазделов.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")); Для Каждого ТекКнопкаРаздел Из КнопкиРазделов Цикл @@ -234,49 +234,49 @@ ДобавитьОписаниеТеста(СтруктураГруппы.Тесты, КомандныйИнтерфейс); ТекКнопкаРаздел.Нажать(); КонецЦикла; - + Если КнопкиРазделов.Количество() > 1 Тогда КнопкиРазделов[0].Нажать(); КнопкиРазделов[0].Нажать(); КонецЕсли; КонецЕсли; - + Возврат РезКоллекцияОписаний; - + КонецФункции &НаКлиенте Процедура ДобавитьОписаниеТеста(КоллекцияОписанийТестов, КомандныйИнтерфейс) - + Разделы = Новый Массив; Разделы.Добавить(КомандныйИнтерфейс); Для Каждого Раздел Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяГруппаКомандногоИнтерфейса")) Цикл - Если ЭтоСлужебныйРаздел(Раздел) Тогда + Если ЭтоСлужебныйРаздел(Раздел) Тогда Продолжить; КонецЕсли; - Разделы.Добавить(Раздел); + Разделы.Добавить(Раздел); КонецЦикла; - + Для Каждого ТекРаздел Из Разделы Цикл - + Для Каждого ТекКнопка Из ТекРаздел.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл - + Если Найти(ТекКнопка.НавигационнаяСсылка, "e1cib/command/Подсистема.") > 0 Или Не ЗначениеЗаполнено(ТекКнопка.НавигационнаяСсылка) - Или ЭтоСлужебныйРазделВерсия82(ТекКнопка) Тогда + Или ЭтоСлужебныйРазделВерсия82(ТекКнопка) Тогда Продолжить; КонецЕсли; - + ПредставлениеТеста = КонтекстЯдра.СтрШаблон_("%1->%2", ТекРаздел.ТекстЗаголовка, ТекКнопка.ТекстЗаголовка); - + ДобавляемоеОписание = Новый Структура; ДобавляемоеОписание.Вставить("ПредставлениеТеста", ПредставлениеТеста); ДобавляемоеОписание.Вставить("НавигационнаяСсылка", ТекКнопка.НавигационнаяСсылка); ДобавляемоеОписание.Вставить("ИмяТеста", ИмяТеста(ТекКнопка.НавигационнаяСсылка)); КоллекцияОписанийТестов.Вставить(ТекКнопка.НавигационнаяСсылка, ДобавляемоеОписание); - + КонецЦикла; - + КонецЦикла; КонецПроцедуры @@ -291,7 +291,7 @@ &НаКлиенте Функция ИмяТеста(ПараметрНавигационнаяСсылка) - + ПропускаемыеНавигационныеСсылки = Новый Массив; ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаAppStore"); ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаGooglePlay"); @@ -299,72 +299,72 @@ ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаЧтоНовогоВВерсииВидео"); ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/Обработка.Ценообразование.Команда.Ценообразование"); ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.Налоги_РегламентированнаяОтчетность"); - + Если ПропускаемыеНавигационныеСсылки.Найти(ПараметрНавигационнаяСсылка) = Неопределено Тогда Возврат "ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса"; Иначе Возврат "ТестДолжен_ПропуститьВыполнение"; КонецЕсли; - + КонецФункции &НаКлиенте Функция ЭтоСлужебныйРаздел(ГруппаКомандногоИнтерфейса) - + ЗаголовкиСлужебныхРазделов = Новый Соответствие; - + // Такси ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель разделов'")) , Истина); ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель инструментов'")) , Истина); ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель открытых'")) , Истина); ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Меню функций'")) , Истина); - + Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; - + КонецФункции &НаКлиенте Функция ЭтоСлужебныйРазделВерсия82(ГруппаКомандногоИнтерфейса) - + ЗаголовкиСлужебныхРазделов = Новый Соответствие; - + // Версия 8.2 ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Отчеты'")) , Истина); ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Сервис'")) , Истина); ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель действий'")), Истина); - + Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; - + КонецФункции &НаКлиенте Процедура ТестДолжен_ПропуститьВыполнение(ПараметрНавигационнаяСсылка) Экспорт - + КонтекстЯдра.ПропуститьТест(); - + КонецПроцедуры &НаКлиенте Процедура ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса(ПараметрНавигационнаяСсылка) Экспорт - - ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); - ОсновноеОкно = КонтекстЯдра.Плагин("ТестКлиенты").ОсновноеОкно(ТестКлиент); - + + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); + ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); - + Попытка ОсновноеОкно.ВыполнитьКоманду(ПараметрНавигационнаяСсылка); Исключение ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. |Возможно, сеанс тест-клиента заблокирован модальным окном", ПараметрНавигационнаяСсылка); КонецПопытки; - - КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); - + + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); + ОписанияШаговСценария = Новый Массив; ОписанияШаговСценария.Добавить(КликПоПервойСтрокеТаблицыФормы()); ОписанияШаговСценария.Добавить(КликПоПоследнейСтрокеТаблицыФормы()); - + Для Каждого ШагСценария Из ОписанияШаговСценария Цикл ОкноСТаблицейФормы = ТестКлиент.ПолучитьАктивноеОкно(); Если ОкноСТаблицейФормы.НачальнаяСтраница Или ОкноСТаблицейФормы.Основное Тогда @@ -372,19 +372,19 @@ КонецЕсли; Обработали = ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент); Если Обработали Тогда - КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); КонецЕсли; КонецЦикла; - - КонтекстЯдра.Плагин("ТестКлиенты").ЗакрытьВсеОткрытыеОкна(ТестКлиент); - + + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); + ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); - + КонецПроцедуры &НаКлиенте Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) - + ТаблицаФормы = ОкноСТаблицейФормы.НайтиОбъект(Тип("ТестируемаяТаблицаФормы")); Если ТаблицаФормы = Неопределено Тогда Возврат Ложь; @@ -396,17 +396,17 @@ Исключение //ОписаниеОшибки() КонецПопытки; - + ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); - + Если Не ЗначениеЗаполнено(ТаблицаФормы.ПолучитьВыделенныеСтроки()) Тогда Возврат Истина; КонецЕсли; - + ТаблицаФормы.Выбрать(); - + КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); - + ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); Если ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) Тогда Если ТаблицаФормы.ТекущийРежимРедактирование() Тогда @@ -414,54 +414,54 @@ КонецЕсли; Возврат Истина; КонецЕсли; - + ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "При открытии"); - + НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); - + Если ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно() Тогда ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "После записи"); КонецЕсли; - + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); КонецЕсли; - + ТекущееОкно.Закрыть(); - + Возврат Истина; - + КонецФункции &НаКлиенте Процедура ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент) - + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда - + ТаблицаФормы.ПерейтиКПервойСтроке(); - + ИначеЕсли ШагСценария = КликПоПоследнейСтрокеТаблицыФормы() Тогда - + ТаблицаФормы.ПерейтиКПоследнейСтроке(); - + Иначе - + ВызватьИсключение КонтекстЯдра.СтрШаблон_("Поведение для шага ""%1"" не определено", ШагСценария); - + КонецЕсли; - + КонецПроцедуры &НаКлиенте Функция ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) - + Возврат ТекущееОкно = ОкноСТаблицейФормы; - + КонецФункции &НаКлиенте Процедура ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, МоментПроверки) - + ТестируемаяФорма = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяФорма")); ТекущаяМодифицированность = ТестируемаяФорма.ТекущаяМодифицированность(); Если ТекущаяМодифицированность Тогда @@ -470,21 +470,21 @@ ШагСценария, МоментПроверки, ТестируемаяФорма.ИмяФормы, ТестируемаяФорма.ТекстЗаголовка); КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); КонецЕсли; - + КонецПроцедуры &НаКлиенте Процедура НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент) - + КнопкаЗаписать = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Записать"); Если КнопкаЗаписать = Неопределено Тогда Возврат; КонецЕсли; - + Если Не КнопкаЗаписать.ТекущаяВидимость() Или Не КнопкаЗаписать.ТекущаяДоступность() Тогда Возврат; КонецЕсли; - + // Платформа не позволяет заранее определить доступность кнопки. // Поэтому нажимаем в попытке, а затем ловим исключение, если нажать кнопку не удалось. Попытка @@ -495,48 +495,48 @@ КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); КонецЕсли; КонецПопытки; - + КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( ТестКлиент, КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), Ложь); - + КонецПроцедуры &НаКлиенте Процедура ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент) - + КомандныйИнтерфейс = ТекущееОкно.ПолучитьКомандныйИнтерфейс(); Для Каждого ТекКнопка Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл - + ТекКнопка.Нажать(); - + КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( ТестКлиент, КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), Ложь); - + КонецЦикла; - + КонецПроцедуры &НаКлиенте Функция ПереходПоКнопкеКомандногоИнтерфейса() - + Возврат "Переход по кнопке командного интерфейса"; - + КонецФункции &НаКлиенте Функция КликПоПервойСтрокеТаблицыФормы() - + Возврат "Клик по первой строке таблицы формы"; - + КонецФункции &НаКлиенте Функция КликПоПоследнейСтрокеТаблицыФормы() - + Возврат "Клик по последней строке таблицы формы"; - + КонецФункции From ed7995be90a6888d3f859d08dcc9e8038c6a3aae Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 25 May 2020 19:47:34 +0300 Subject: [PATCH 048/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=83=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88?= =?UTF-8?q?=D0=B5=D0=B5=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0c1c8e262..a4328e30a 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -214,7 +214,7 @@ ОповещениеВыбора = АСинк().смв_НовыйОписаниеОповещения("ЗагрузитьНастройкиИзФайлаЗавершение", ЭтаФорма); Асинк().смв_ПоказатьДиалогОткрытие(ОповещениеВыбора, "Настройки (*.json)|*.json", - "Выберите файл настройки xUnitFor1C", + "Выберите файл настройки Vanessa-ADD", , ПутьФайлаНастроек()); From dec287fbc60b57b8482c675ddc12caf69227c049 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 25 May 2020 19:50:19 +0300 Subject: [PATCH 049/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D0=B2=D0=BD=D0=B5=D1=88?= =?UTF-8?q?=D0=BD=D0=B8=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Configuration.xml" | 61 + ...0\271\320\244\320\260\320\271\320\273.xml" | 55 + .../Ext/CommandModule.bsl" | 7 + ...0\220\321\201\320\270\320\275\320\272.xml" | 22 + .../Ext/Form.xml" | 15 + .../Ext/Form/Module.bsl" | 1171 +++++++++++++++ ...0\271\320\244\320\260\320\271\320\273.xml" | 22 + .../Ext/Form.xml" | 66 + .../Ext/Form/Module.bsl" | 118 ++ ...0\270\320\273\320\270\321\202\321\213.xml" | 34 + .../Ext/ObjectModule.bsl" | 1244 ++++++++++++++++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 13 + .../Ext/Form/Module.bsl" | 1282 +++++++++++++++++ ...1\201\321\201\320\272\320\270\320\271.xml" | 10 + ...\244\320\260\320\271\320\273\321\2131.xml" | 24 + .../Ext/CommandInterface.xml" | 15 + 17 files changed, 4181 insertions(+) create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/CommandModule.bsl" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form/Module.bsl" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131.xml" create mode 100644 "lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131/Ext/CommandInterface.xml" diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" new file mode 100644 index 000000000..aa8f6b9e2 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" @@ -0,0 +1,61 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + fc0c330d-5ae1-44c9-9660-1ca07bbae45f + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + edfb1fd4-ddd0-462c-8544-bfb58ed86f4b + + + e3687481-0a87-462c-a166-9f34594f9bba + d31feefd-e31f-40c9-8078-0480947edbac + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 099e8b6e-9ce1-4fb7-8cb9-1d487da7e6bb + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 5d255910-44fa-450c-9f6c-d3213f2704c3 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 5fc00bf1-cc59-44f5-8a16-9fbe533c07f2 + + + + ОткрытиеВнешнихФайлов_VanessaADD + + + ru + Открытие внешних файлов (Vanessa-ADD) + + + + AddOn + Adopted + Ванесса + Version8_3_8 + ManagedApplication + + PersonalComputer + + Russian + + + Language.Русский + Taxi + Version8_3_8 + + + Русский + Тестирование_ВнешниеФайлы1 + ОткрытьВнешнийФайл + СтроковыеУтилиты + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" new file mode 100644 index 000000000..47ad9777a --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" @@ -0,0 +1,55 @@ + + + + + + b70a4dd2-392f-4cf2-ae1b-7fa708cfacbe + 1c1b7be2-b1fa-4a47-837e-e5c1c5eca36a + + + fd31ea24-fa0a-4297-b973-352eb6a3dc8e + e4291aca-9d70-4308-ac6c-bbcbb67abe5c + + + + ОткрытьВнешнийФайл + + + ru + Открыть внешний файл + + + + true + DataProcessor.ОткрытьВнешнийФайл.Form.ОткрытьВнешнийФайл + + false + + + + +
ОткрытьВнешнийФайл
+
МодульАсинк
+ + + ОткрытьВнешнийФайл + + + ru + Открыть внешний файл + + + + NavigationPanelImportant + + Single + false + Auto + + + + + +
+
+
\ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/CommandModule.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/CommandModule.bsl" new file mode 100644 index 000000000..941aa1001 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/CommandModule.bsl" @@ -0,0 +1,7 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + //Вставить содержимое обработчика. + ПараметрыФормы = Новый Структура("", ); + ОткрытьФорму("Обработка.ОткрытьВнешнийФайл.Форма.ОткрытьВнешнийФайл", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка); +КонецПроцедуры diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272.xml" new file mode 100644 index 000000000..133268763 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272.xml" @@ -0,0 +1,22 @@ + + +
+ + МодульАсинк + + + ru + Модуль асинк + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form.xml" new file mode 100644 index 000000000..38a2d18e3 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form.xml" @@ -0,0 +1,15 @@ + +
+ + + ПриОткрытии + + + + + cfg:DataProcessorObject.ОткрытьВнешнийФайл + + true + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ea6782247 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -0,0 +1,1171 @@ +//TODO добавить метод ПроверитьРасширениеРаботыСФайламиВебКлиент() + +&НаКлиенте +Перем МодальностьЗапрещена Экспорт; + +// Используемые плагины +&НаКлиенте +Перем СтроковыеУтилиты; + +&НаКлиенте +Перем Версия8315ИлиВыше Экспорт; + +// ------------------------------------------------------- +// +// МОДАЛЬНЫЕ ВЫЗОВЫ +// + +// Правило присвоения имен методам: +// +// 1. смв_<ИмяМетодаВБезмодальномВарианте>. Например, "смв_ПоказатьПредупреждение". +// 2. смв_<ИмяТипаОбъекта>_<ИмяМетодаОбъектаВБезмодальномВарианте>. Например, "смв_Форма_ПоказатьВыборИзМеню". +// В этом случае первым параметром метода должен идти сам объект, метод которого вызывается. +// +// Префикс "смв" - аббревиатура "Синхронные/модальные вызовы". +// +// Веб-клиент не поддерживает "Выполнить", поэтому вариант веб-клиента считаем всегда безмодальным и асинхронным. +// По сути все методы по сигнатуре должны совпадать с исходными методами из самых последних версий платформы 8.3, +// и лишь обеспечивать обратную совместимость с более старыми платформами. +// Т.е. основные модули пишем так, как если бы работали на последней платформе без режима совместимости. +// А модальные/синхронные методы вызываем через данную прослойку. + +#Область Обработчики_оповещений + +&НаКлиенте +Процедура ПустоеОповещение(РезультатВыполнения, ДополнительныеПараметры = Неопределено) Экспорт + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучениеКаталогаВременныхФайловДляСохраненияЗавершение(КаталогВременныхФайлов, ДополнительныеПараметры) Экспорт + + Если ЗначениеЗаполнено(КаталогВременныхФайлов) Тогда + + смв_ПолучитьФайлы(ДополнительныеПараметры.ОповещениеЗавершенияСохранения, + ДополнительныеПараметры.ДанныеДляСохранения, + КаталогВременныхФайлов); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область Вспомогательные_процедуры_функции + +&НаКлиенте +Функция СформироватьСтрокуФильтраДиалогаВыбораФайла(СписокФорматовФайлов) Экспорт + + Результат = ""; + Разделитель = ""; + + Для Каждого ТипФайла Из СтроковыеУтилиты().РазложитьСтрокуВМассивПодстрок(СписокФорматовФайлов) Цикл + + Результат = Результат + Разделитель + СформироватьСтрокуФильтра(ТипФайла); + Разделитель = "|"; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция СформироватьСтрокуФильтра(ФорматФайла) + + Результат = ""; + + Если ВРег(ФорматФайла) = "WORD" Тогда + + Результат = "Документы Word|*.doc?"; + + ИначеЕсли ВРег(ФорматФайла) = "EXCEL" Тогда + + Результат = "Книги Excel|*.xls?"; + + ИначеЕсли ВРег(ФорматФайла) = "PDF" Тогда + + Результат = "Файлы PDF|*.pdf"; + + ИначеЕсли ВРег(ФорматФайла) = "TEXT" Тогда + + Результат = "Текстовые файлы|*.txt"; + + ИначеЕсли ВРег(ФорматФайла) = "XML" Тогда + + Результат = "Файлы XML|*.xml"; + + Иначе + + Результат = "Все файлы|*.*"; + + КонецЕсли; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция СформироватьСтрокуФильтраПоРасширению(Знач РасширениеФайла) + + РасширениеФайла = ВРег(РасширениеФайла); + + Результат = ""; + Если РасширениеФайла = "CF" Тогда + + Результат = "Файл конфигурации (cf) |*.%1"; + + ИначеЕсли РасширениеФайла = "EPF" Тогда + + Результат = "Внешняя обработка (epf)|*.%1"; + + ИначеЕсли РасширениеФайла = "MXL" Тогда + + Результат = "Табличный документ 1с (mxl)|*.%1"; + + Иначе + + Результат = "%1|*.%1"; + + КонецЕсли; + + Возврат СтроковыеУтилиты().ПодставитьПараметрыВСтроку(Результат, РасширениеФайла); + +КонецФункции + +&НаКлиенте +Функция ТиповаяСтруктураДиалогаВыбораФайла(Заголовок = "", Каталог = "", МножественныйВыбор = Ложь, ПолноеИмяФайла = "", Фильтр = "") + + ТиповаяСтруктура = Новый Структура; + + ТиповаяСтруктура.Вставить("Заголовок", ?(ПустаяСтрока(Заголовок), ЗаголовокПоУмолчанию(), Заголовок)); + ТиповаяСтруктура.Вставить("Каталог", ?(ПустаяСтрока(Каталог), "", Каталог)); + ТиповаяСтруктура.Вставить("МножественныйВыбор", МножественныйВыбор); + ТиповаяСтруктура.Вставить("ПолноеИмяФайла", ?(ПустаяСтрока(ПолноеИмяФайла), "", ПолноеИмяФайла)); + ТиповаяСтруктура.Вставить("ПредварительныеПросмотр", Истина); + ТиповаяСтруктура.Вставить("ПроверятьСуществованиеФайла", Истина); + ТиповаяСтруктура.Вставить("Фильтр", ?(ПустаяСтрока(Фильтр), "Все файлы (*.*)|*.*", Фильтр)); + + Возврат ТиповаяСтруктура; + +КонецФункции + +&НаКлиенте +Функция ЗаголовокПоУмолчанию() + + Возврат "Vanessa.ADD"; + +КонецФункции // Контур_ЗаголовокПоУмолчанию() + + +#КонецОбласти + +#Область ОписанияОповещения + +&НаКлиенте +Функция смв_НовыйОписаниеОповещения(ИмяПроцедуры, Модуль, ДополнительныеПараметры = Неопределено, ИмяПроцедурыОбработкиОшибки = "", МодульОбработкиОшибки = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + Возврат Новый ОписаниеОповещения(ИмяПроцедуры, Модуль, ДополнительныеПараметры); + + #Иначе + + Если МодальностьЗапрещена Тогда + Возврат Вычислить("Новый ОписаниеОповещения(ИмяПроцедуры, Модуль, ДополнительныеПараметры)"); + // С ошибками пока не будем бороться, были какие-то сложности с типом параметров + Иначе + Возврат Новый Структура("ИмяПроцедуры, Модуль, ДополнительныеПараметры, ИмяПроцедурыОбработкиОшибки, МодульОбработкиОшибки" + , ИмяПроцедуры, Модуль, ДополнительныеПараметры, ИмяПроцедурыОбработкиОшибки, МодульОбработкиОшибки); + КонецЕсли; + + #КонецЕсли + +КонецФункции + +&НаКлиенте +Процедура смв_ВыполнитьОбработкуОповещения(ОписаниеОповещения, Результат = Неопределено, КоличествоПараметровОбработчика = 2) Экспорт + + Если ОписаниеОповещения = Неопределено Тогда + Возврат; + КонецЕсли; + + #Если ВебКлиент Тогда + + ВыполнитьОбработкуОповещения(ОписаниеОповещения); + + #Иначе + + Если МодальностьЗапрещена Тогда + Если КоличествоПараметровОбработчика = 2 Тогда + Выполнить("ВыполнитьОбработкуОповещения(ОписаниеОповещения, Результат)"); + ИначеЕсли КоличествоПараметровОбработчика = 1 Тогда + Выполнить("ВыполнитьОбработкуОповещения(ОписаниеОповещения)"); + КонецЕсли; + Иначе + // Если модальность не запрещена, то в ОписаниеОповещения у нас будет Структура + Если КоличествоПараметровОбработчика = 2 Тогда + Выполнить("ОписаниеОповещения.Модуль." + ОписаниеОповещения.ИмяПроцедуры + "(Результат, ОписаниеОповещения.ДополнительныеПараметры)"); + ИначеЕсли КоличествоПараметровОбработчика = 1 Тогда + Выполнить("ОписаниеОповещения.Модуль." + ОписаниеОповещения.ИмяПроцедуры + "(ОписаниеОповещения.ДополнительныеПараметры)"); + КонецЕсли; + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +#КонецОбласти + +&НаКлиенте +Процедура смв_ОткрытьФорму(ИмяФормы + , ПараметрыФормы = Неопределено + , Владелец = Неопределено + , Уникальность = Ложь + , Окно = Неопределено + , НавигационнаяСсылка = Неопределено + , ОписаниеОповещенияОЗакрытии = Неопределено + , РежимОткрытияОкна = Неопределено) Экспорт + + + // Синтаксис из 8.2.9 и 8.2.19: + + // ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) + + // Т.е. отсутствуют последние 3 параметра - а в них и РежимОткрытияОкна, и ОписаниеОповещенияОЗакрытии. + // Значит, тут нам надо понять - открывать ли форму модально там, где запрета на модальность еще нет + + + // Теперь варианты РежимОткрытияОкнаФормы в 8.2.9: + // БлокироватьОкноВладельца (LockOwnerWindow) + // Независимый (Independent) + + Если Найти(ИмяФормы, ".") = 0 Тогда + + ИмяФормы = ВладелецФормы.ПутьКФормам + ИмяФормы; + + КонецЕсли; + + Если НЕ МодальностьЗапрещена Тогда + + ОткрыватьМодально = Истина; + + Если РежимОткрытияОкна = Неопределено + Или РежимОткрытияОкна = РежимОткрытияОкнаФормы.Независимый Тогда + + ОткрыватьМодально = Ложь; + + КонецЕсли; + + КонецЕсли; + + #Если ВебКлиент Тогда + + ОткрытьФорму(ИмяФормы, ПараметрыФормы, Владелец, Уникальность, , , ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("ОткрытьФорму(ИмяФормы, ПараметрыФормы, Владелец, Уникальность, Окно, , ОписаниеОповещенияОЗакрытии, РежимОткрытияОкна)"); + + Иначе + + Если ОткрыватьМодально Тогда + РезультатОткрытия = Вычислить("ОткрытьФормуМодально(ИмяФормы, ПараметрыФормы, Владелец)"); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗакрытии, РезультатОткрытия); + Иначе + Выполнить("ОткрытьФорму(ИмяФормы, ПараметрыФормы, Владелец, Уникальность, Окно)"); + КонецЕсли; + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Функция смв_ПустоеОповещение() Экспорт + + Возврат смв_НовыйОписаниеОповещения("ПустоеОповещение", ЭтаФорма); + +КонецФункции + + +#Область Модальные_диалоги + +&НаКлиенте +Процедура смв_ПоказатьПредупреждение(ОписаниеОповещенияОЗавершении = Неопределено, ТекстПредупреждения = Неопределено, Таймаут = 30, Заголовок = "") Экспорт + Если ПустаяСтрока(Заголовок) Тогда + Заголовок = ЗаголовокПоУмолчанию(); + КонецЕсли; + #Если ВебКлиент Тогда + + ПоказатьПредупреждение(ОписаниеОповещенияОЗавершении, ТекстПредупреждения, Таймаут, Заголовок); + + #Иначе + + Если МодальностьЗапрещена Тогда + Выполнить("ПоказатьПредупреждение(ОписаниеОповещенияОЗавершении, ТекстПредупреждения, Таймаут, Заголовок)"); + Иначе + Выполнить("Предупреждение(ТекстПредупреждения, Таймаут, Заголовок)"); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, , 1); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьВопрос(ОписаниеОповещенияОЗавершении, + ТекстВопроса, + Кнопки, + Таймаут = 0, + КнопкаПоУмолчанию = Неопределено, + Заголовок = "", + КнопкаТаймаута = Неопределено) Экспорт + + Если ПустаяСтрока(Заголовок) Тогда + Заголовок = ЗаголовокПоУмолчанию(); + КонецЕсли; + #Если ВебКлиент Тогда + ПоказатьВопрос(ОписаниеОповещенияОЗавершении, ТекстВопроса, Кнопки, Таймаут, КнопкаПоУмолчанию, Заголовок, КнопкаТаймаута); + #Иначе + Если МодальностьЗапрещена Тогда + Выполнить("ПоказатьВопрос(ОписаниеОповещенияОЗавершении, ТекстВопроса, Кнопки, Таймаут, КнопкаПоУмолчанию, Заголовок, КнопкаТаймаута)"); + Иначе + Ответ = Вопрос(ТекстВопроса, Кнопки, Таймаут, КнопкаПоУмолчанию, Заголовок, КнопкаТаймаута); + Выполнить("ОписаниеОповещенияОЗавершении.Модуль." + ОписаниеОповещенияОЗавершении.ИмяПроцедуры + "(Ответ, ОписаниеОповещенияОЗавершении.ДополнительныеПараметры)"); + КонецЕсли; + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение) Экспорт + + #Если ВебКлиент Тогда + + ПоказатьЗначение(ОписаниеОповещенияОЗавершении, Значение); + + #Иначе + + Если МодальностьЗапрещена Тогда + Выполнить("ПоказатьЗначение(ОписаниеОповещенияОЗавершении, Значение)"); + Иначе + Выполнить("ОткрытьЗначение(Значение)"); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьВводСтроки(ОписаниеОповещенияОЗавершении, + Строка = "", + Подсказка = "", + Длина = 0, + Многострочность = Ложь) Экспорт + + #Если ВебКлиент Тогда + ПоказатьВводСтроки(ОписаниеОповещенияОЗавершении, Строка, Подсказка, Длина, Многострочность); + #Иначе + Если МодальностьЗапрещена Тогда + Выполнить("ПоказатьВводСтроки(ОписаниеОповещенияОЗавершении, Строка, Подсказка, Длина, Многострочность)"); + Иначе + Если ВвестиСтроку(Строка, Подсказка, Длина, Многострочность) Тогда + + // Здесь необходимо убедиться, что в строку не был передан вредоносный код + // Поскольку в 8.2.19 она будет направлена в Выполнить() + // UPD кажется, это в данном случае не имеет смысла. + // Если смв_СтрокуДопустимоПередаватьВОбработчикВыполнения(Строка) Тогда + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Строка); + // Иначе + // ВызватьИсключение "Некорректно введена строка"; + // КонецЕсли; + + КонецЕсли; + КонецЕсли; + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьВводДаты(ОписаниеОповещенияОЗавершении, + ВыбраннаяДата = "", + Подсказка = "", + ЧастьДаты = Неопределено) Экспорт + + #Если ВебКлиент Тогда + ПоказатьВводДаты(ОписаниеОповещенияОЗавершении, ВыбраннаяДата, Подсказка, ЧастьДаты); + #Иначе + Если МодальностьЗапрещена Тогда + Выполнить("ПоказатьВводДаты(ОписаниеОповещенияОЗавершении, ВыбраннаяДата, Подсказка, ЧастьДаты)"); + Иначе + Если ВвестиДату(ВыбраннаяДата, Подсказка, ЧастьДаты) Тогда + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ВыбраннаяДата); + КонецЕсли; + КонецЕсли; + #КонецЕсли + +КонецПроцедуры + +#КонецОбласти + +&НаКлиенте +Процедура смв_ПоказатьВыборЭлемента(ОписаниеОповещенияОЗавершении, Список, Заголовок = "", Элемент = Неопределено) Экспорт + + Если ПустаяСтрока(Заголовок) Тогда + Заголовок = ЗаголовокПоУмолчанию(); + КонецЕсли; + + #Если ВебКлиент Тогда + + Список.ПоказатьВыборЭлемента(ОписаниеОповещенияОЗавершении, Заголовок, Элемент); + + #Иначе + + Если МодальностьЗапрещена Тогда + Выполнить("Список.ПоказатьВыборЭлемента(ОписаниеОповещенияОЗавершении, Заголовок, Элемент)"); + Иначе + ВыбранныйЭлемент = Вычислить("Список.ВыбратьЭлемент(Заголовок, Элемент)"); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ВыбранныйЭлемент, 2); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_Форма_ПоказатьВыборИзМеню(Форма, ОписаниеОповещенияОЗавершении, СписокЗначений, ЭлементФормы = Неопределено, НачальноеЗначение = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + Форма.ПоказатьВыборИзМеню(ОписаниеОповещенияОЗавершении, СписокЗначений, ЭлементФормы); + + #Иначе + + Если МодальностьЗапрещена Тогда + Выполнить("Форма.ПоказатьВыборИзМеню(ОписаниеОповещенияОЗавершении, СписокЗначений, ЭлементФормы)"); // вроде бы после 8.3.7, ПоказатьВыборИзМеню глючит - надо бы проверить. + Иначе + ВыбранноеЗначение = Форма.ВыбратьИзМеню(СписокЗначений, ЭлементФормы); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ВыбранноеЗначение); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ДиалогРедактированияСтандартногоПериода_Показать(Диалог, ОписаниеОповещения) Экспорт + + #Если ВебКлиент Тогда + + Диалог.Показать(ОписаниеОповещения); + + #Иначе + + Если МодальностьЗапрещена Тогда + Выполнить("Диалог.Показать(ОписаниеОповещения)"); + Иначе + Если Диалог.Редактировать() Тогда + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещения, Диалог.Период); + КонецЕсли; + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +#Область Диалог_выбора_файла + +&НаКлиенте +Процедура смв_ПоказатьДиалогВыбораКаталога(ОписаниеОповещенияОЗавершении, + Заголовок = "", + Каталог = "", + МножественныйВыбор = Ложь) Экспорт + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, МножественныйВыбор); + + смв_ПоказатьДиалогВыбораФайла(ОписаниеОповещенияОЗавершении, + РежимДиалогаВыбораФайла.ВыборКаталога, + ПараметрыДиалога); +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьДиалогОткрытие(ОписаниеОповещенияОЗавершении, + Фильтр = Неопределено, + Заголовок = Неопределено, + Каталог = Неопределено, + ПолноеИмяФайла = Неопределено, + МножественныйВыбор = Ложь) Экспорт + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, МножественныйВыбор, ПолноеИмяФайла, Фильтр); + + смв_ПоказатьДиалогВыбораФайла(ОписаниеОповещенияОЗавершении, + РежимДиалогаВыбораФайла.Открытие, + ПараметрыДиалога); +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьДиалогСохранение(ОписаниеОповещенияОЗавершении, + Фильтр = Неопределено, + Заголовок = Неопределено, + Каталог = Неопределено, + ПолноеИмяФайла = Неопределено) Экспорт + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, Ложь, ПолноеИмяФайла, Фильтр); + + смв_ПоказатьДиалогВыбораФайла(ОписаниеОповещенияОЗавершении, + РежимДиалогаВыбораФайла.Сохранение, + ПараметрыДиалога); + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоказатьДиалогВыбораФайла(ОписаниеОповещенияОЗавершении, + РежимРаботы, + ПараметрыВыбора) + Диалог = Новый ДиалогВыбораФайла(РежимРаботы); + ЗаполнитьЗначенияСвойств(Диалог, ПараметрыВыбора); + #Если ВебКлиент Тогда + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Диалог.Показать(ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + #Иначе + Если МодальностьЗапрещена Тогда + Выполнить("Диалог.Показать(ОписаниеОповещенияОЗавершении)"); + ИначеЕсли Диалог.Выбрать() Тогда + Результат = Новый Массив; + + Если РежимРаботы = РежимДиалогаВыбораФайла.ВыборКаталога Тогда + Результат.Добавить(Диалог.Каталог); + Иначе + Для Каждого Файл Из Диалог.ВыбранныеФайлы Цикл + Результат.Добавить(Файл); + КонецЦикла; + КонецЕсли; + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Результат); + КонецЕсли; + #КонецЕсли +КонецПроцедуры + +#КонецОбласти + +#Область Получение_Помещение_файлов + +&НаКлиенте +Процедура смв_ПоместитьФайлы(ОписаниеОповещенияОЗавершении, + ПомещаемыеФайлы) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ОписанияПередаваемыхФайлов>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПомещаемыеФайлы, ВладелецФормы.УникальныйИдентификатор); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор); + //КонецЕсли; + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + ПомещенныеФайлы = Новый Массив; + + Если ПомещаемыеФайлы.Количество() = 0 Тогда + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ПомещенныеФайлы); + + ИначеЕсли МодальностьЗапрещена Тогда + + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, <Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ОписанияПередаваемыхФайлов>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПомещаемыеФайлы, ВладелецФормы.УникальныйИдентификатор)"); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, ПомещаемыеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор)"); + //КонецЕсли; + + ИначеЕсли ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, ВладелецФормы.УникальныйИдентификатор) Тогда + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ПомещенныеФайлы); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоместитьФайлыЧерезДиалог(ОписаниеОповещенияОЗавершении, + Фильтр = Неопределено, + Заголовок = Неопределено, + Каталог = Неопределено, + ПолноеИмяФайла = Неопределено, + МножественныйВыбор = Ложь) Экспорт + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, МножественныйВыбор, ПолноеИмяФайла, Фильтр); + ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ЗаполнитьЗначенияСвойств(ДиалогОткрытияФайла, ПараметрыДиалога); + + //ПараметрыДиалогаПомещенияФайлов = Неопределено; + //Если Версия8315ИлиВыше Тогда + // ПараметрыДиалогаПомещенияФайлов = Новый ПараметрыДиалогаПомещенияФайлов(); + // ЗаполнитьЗначенияСвойств(ПараметрыДиалогаПомещенияФайлов, ПараметрыДиалога); + //КонецЕсли; + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ПараметрыДиалога>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПараметрыДиалогаПомещенияФайлов, ВладелецФормы.УникальныйИдентификатор); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор); + //КонецЕсли; + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + ПомещенныеФайлы = Новый Массив; + + Если МодальностьЗапрещена Тогда + + //Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайловНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<ПараметрыДиалога>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайловНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, ПараметрыДиалогаПомещенияФайлов, ВладелецФормы.УникальныйИдентификатор);"); + //Иначе + // //НачатьПомещениеФайлов(<ОписаниеОповещения>, <ПомещаемыеФайлы>, <НаборПомещаемыхФайлов>, <Интерактивно>, <УникальныйИдентификаторФормы>) + Выполнить("НачатьПомещениеФайлов(ОписаниеОповещенияОЗавершении, , ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор);"); + //КонецЕсли; + + ИначеЕсли ПоместитьФайлы(, ПомещенныеФайлы, ДиалогОткрытияФайла, Истина, ВладелецФормы.УникальныйИдентификатор) Тогда + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, ПомещенныеФайлы); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПоместитьФайл(ОписаниеОповещенияОЗавершении, + АдресХранения, Знач ПомещаемыйФайл, Интерактивно = Ложь) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, АдресХранения, ПомещаемыйФайл, + // ВладелецФормы.УникальныйИдентификатор); + НачатьПомещениеФайла_8_3_15_и_Выше(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + ВладелецФормы.УникальныйИдентификатор); + Иначе + //НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <ПомещаемыйФайл>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайла>) + НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + ВладелецФормы.УникальныйИдентификатор); + КонецЕсли; + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Если Версия8315ИлиВыше Тогда + // //НачатьПомещениеФайлаНаСервер(<ОписаниеОповещенияОЗавершении>, <ОписаниеОповещенияОХодеВыполнения>, <ОписаниеОповещенияПередНачалом>, + // //<Адрес>, <ПутьКФайлу>, <УникальныйИдентификаторФормы>) + // Выполнить("НачатьПомещениеФайлаНаСервер(ОписаниеОповещенияОЗавершении, Неопределено, Неопределено, АдресХранения, ПомещаемыйФайл, ВладелецФормы.УникальныйИдентификатор)"); + Выполнить("НачатьПомещениеФайла_8_3_15_и_Выше(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); + Иначе + //НачатьПомещениеФайла(<ОписаниеОповещенияОЗавершении>, <Адрес>, <ПомещаемыйФайл>, <Интерактивно>, <УникальныйИдентификаторФормы>, <ОписаниеОповещенияПередНачаломПомещенияФайла>) + Выполнить("НачатьПомещениеФайла(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор)"); + КонецЕсли; + + ИначеЕсли ПоместитьФайл(АдресХранения, ПомещаемыйФайл, ПомещаемыйФайл, Интерактивно, ВладелецФормы.УникальныйИдентификатор) Тогда + + Выполнить("ОписаниеОповещенияОЗавершении.Модуль." + ОписаниеОповещенияОЗавершении.ИмяПроцедуры + "(Истина, АдресХранения, ПомещаемыйФайл, ОписаниеОповещенияОЗавершении.ДополнительныеПараметры)"); + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьПомещениеФайла_8_3_15_и_Выше(ОписаниеОповещенияОЗавершении, АдресХранения, ПомещаемыйФайл, Интерактивно, + Идентификатор) + + Если ТипЗнч(ПомещаемыйФайл) = Тип("Строка") Тогда + ИмяФайла = ПомещаемыйФайл; + ИначеЕсли ТипЗнч(ПомещаемыйФайл) = Тип("СсылкаНаФайл") Тогда + ИмяФайла = ПомещаемыйФайл.Файл.ПолноеИмя; + Иначе + ИмяФайла = ""; //TODO что делать с пустым именем?? + КонецЕсли; + + ПараметрыОповещения = Новый Структура; + + Если ТипЗнч(ОписаниеОповещенияОЗавершении) = Тип("ОписаниеОповещения") Тогда + ПараметрыОповещения = ОписаниеОповещенияОЗавершении.ДополнительныеПараметры; + ПараметрыОповещения.Вставить("ОбработкаЗавершения_8_3_15_и_Выше", ОписаниеОповещенияОЗавершении); + КонецЕсли; + + ОписаниеОповещения = Новый ОписаниеОповещения("ЗавершитьПомещениеФайла_8_3_15_и_Выше", ЭтотОбъект, ПараметрыОповещения); + + Выполнить("НачатьПомещениеФайлаНаСервер(ОписаниеОповещения, , , АдресХранения, ИмяФайла, Идентификатор);"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗавершитьПомещениеФайла_8_3_15_и_Выше(ПомещенныйФайл, ДополнительныеПараметры) Экспорт + + ОбработкаЗавершения = Неопределено; + Если Не ДополнительныеПараметры.Свойство("ОбработкаЗавершения_8_3_15_и_Выше", ОбработкаЗавершения) Тогда + Возврат; + КонецЕсли; + + Если ОбработкаЗавершения = Неопределено Тогда + Возврат; + КонецЕсли; + + Результат = НЕ ПомещенныйФайл.ПомещениеФайлаОтменено; + Выполнить("ОбработкаЗавершения.Модуль." + ОбработкаЗавершения.ИмяПроцедуры + + "(Результат, ПомещенныйФайл.Адрес, ПомещенныйФайл.СсылкаНаФайл.Имя, ДополнительныеПараметры)"); + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПолучитьФайлы(ОписаниеОповещенияОЗавершении, + СохраняемыеФайлы, + КаталогСохранения) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + НачатьПолучениеФайлов(ОписаниеОповещенияОЗавершении, СохраняемыеФайлы, КаталогСохранения, Ложь); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + СохраненныеФайлы = Новый Массив; + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьПолучениеФайлов(ОписаниеОповещенияОЗавершении, СохраняемыеФайлы, КаталогСохранения, Ложь)"); + + ИначеЕсли ПолучитьФайлы(СохраняемыеФайлы, СохраненныеФайлы, КаталогСохранения, Ложь) Тогда + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, СохраненныеФайлы); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПолучитьФайлыЧерезДиалог(ОписаниеОповещенияОЗавершении, + СохраняемыеФайлы, + Заголовок = "", + Каталог = "" + ) Экспорт + + Если СохраняемыеФайлы.Количество() = 1 Тогда + + ТестФайл = Новый Файл(СохраняемыеФайлы[0].Имя); + Расширение = СтрЗаменить(ВРег(ТестФайл.Расширение), ".", ""); + Фильтр = СформироватьСтрокуФильтраПоРасширению(Расширение); + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог, Ложь, ТестФайл.Имя, Фильтр); + ДиалогВыбораКаталог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); + + Иначе + + ПараметрыДиалога = ТиповаяСтруктураДиалогаВыбораФайла(Заголовок, Каталог); + ДиалогВыбораКаталог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + + КонецЕсли; + + ЗаполнитьЗначенияСвойств(ДиалогВыбораКаталог, ПараметрыДиалога); + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + НачатьПолучениеФайлов(ОписаниеОповещенияОЗавершении, СохраняемыеФайлы, ДиалогВыбораКаталог, Истина); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + СохраненныеФайлы = Новый Массив; + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьПолучениеФайлов(ОписаниеОповещенияОЗавершении, СохраняемыеФайлы, ДиалогВыбораКаталог, Истина)"); + + ИначеЕсли ПолучитьФайлы(СохраняемыеФайлы, СохраненныеФайлы, ДиалогВыбораКаталог, Истина) Тогда + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, СохраненныеФайлы); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПолучитьФайлыВоВременныйКаталог(ОписаниеОповещенияОЗавершении, + СохраняемыеФайлы) Экспорт + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("ДанныеДляСохранения", СохраняемыеФайлы); + ДополнительныеПараметры.Вставить("ОповещениеЗавершенияСохранения", ОписаниеОповещенияОЗавершении); + + ОписаниеОповещения = смв_НовыйОписаниеОповещения("ПолучениеКаталогаВременныхФайловДляСохраненияЗавершение", ЭтаФорма, ДополнительныеПараметры); + + смв_КаталогВременныхФайлов(ОписаниеОповещения); + +КонецПроцедуры + +&НаКлиенте +Функция НовыйОписаниеПередаваемогоФайла(ИмяФайла, ДанныеДляПередачи) Экспорт + + Адрес = ПоместитьВоВременноеХранилище(ДанныеДляПередачи, ВладелецФормы.УникальныйИдентификатор); + + Возврат Новый ОписаниеПередаваемогоФайла(ИмяФайла, Адрес); + +КонецФункции + +#КонецОбласти + +&НаКлиенте +Процедура смв_ЗапуститьПриложение(ОписаниеОповещенияОЗавершении, + СтрокаЗапускаПриложения, + ТекущийКаталог = "", + ДождатьсяЗавершения = Ложь, + КодВозврата = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + НачатьЗапускПриложения(ОписаниеОповещенияОЗавершении, СтрокаЗапускаПриложения, ТекущийКаталог, ДождатьсяЗавершения); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьЗапускПриложения(ОписаниеОповещенияОЗавершении, СтрокаЗапускаПриложения, ТекущийКаталог, ДождатьсяЗавершения)"); + + Иначе + + ЗапуститьПриложение(СтрокаЗапускаПриложения, ТекущийКаталог, ДождатьсяЗавершения, КодВозврата); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, КодВозврата); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_УстановитьРасширениеРаботыСФайлами(ОписаниеОповещенияОЗавершении = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + + НачатьУстановкуРасширенияРаботыСФайлами(ОписаниеОповещенияОЗавершении); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьУстановкуРасширенияРаботыСФайлами(ОписаниеОповещенияОЗавершении)"); + + Иначе + + УстановитьРасширениеРаботыСФайлами(); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_ПодключитьРасширениеРаботыСФайлами(ОписаниеОповещенияОЗавершении = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + + НачатьПодключениеРасширенияРаботыСФайлами(ОписаниеОповещенияОЗавершении); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьПодключениеРасширенияРаботыСФайлами(ОписаниеОповещенияОЗавершении)"); + + Иначе + + ПодключитьРасширениеРаботыСФайлами(); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +#Область Операции_с_файлами + +&НаКлиенте +Процедура смв_НайтиФайлы(ОписаниеОповещенияОЗавершении, Путь, Маска = Неопределено, ИскатьВПодкаталогах = Ложь) Экспорт + + #Если ВебКлиент Тогда + + НачатьПоискФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска, ИскатьВПодкаталогах); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьПоискФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска, ИскатьВПодкаталогах)"); + + Иначе + + Результат = НайтиФайлы(Путь, Маска, ИскатьВПодкаталогах); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Результат); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_КаталогВременныхФайлов(ОписаниеОповещенияОЗавершении) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + НачатьПолучениеКаталогаВременныхФайлов(ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьПолучениеКаталогаВременныхФайлов(ОписаниеОповещенияОЗавершении)"); + + Иначе + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, КаталогВременныхФайлов()); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_Файл_ПолучитьВремяИзменения(Файл, ОписаниеОповещенияОЗавершении) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Файл.НачатьПолучениеВремениИзменения(ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("Файл.НачатьПолучениеВремениИзменения(ОписаниеОповещенияОЗавершении)"); + + Иначе + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Файл.ПолучитьВремяИзменения()); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_Файл_Существует(Файл, ОписаниеОповещенияОЗавершении) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Файл.НачатьПроверкуСуществования (ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("Файл.НачатьПроверкуСуществования (ОписаниеОповещенияОЗавершении)"); + + Иначе + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Файл.Существует()); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_Файл_ЭтоФайл(Файл, ОписаниеОповещенияОЗавершении) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Файл.НачатьПроверкуЭтоФайл(ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("Файл.НачатьПроверкуЭтоФайл(ОписаниеОповещенияОЗавершении)"); + + Иначе + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Файл.ЭтоФайл()); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура смв_Файл_ЭтоКаталог(Файл, ОписаниеОповещенияОЗавершении) Экспорт + + #Если ВебКлиент Тогда + + Если ПроверитьРасширениеРаботыСФайламиВебКлиент() Тогда + + Файл.НачатьПроверкуЭтоКаталог(ОписаниеОповещенияОЗавершении); + + Иначе + + смв_ПоказатьПредупреждение(, "Не подключено Расширения для работы с файлами. Обратитесь к администратору для решения проблемы.", 30); + + КонецЕсли; + + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("Файл.НачатьПроверкуЭтоКаталог(ОписаниеОповещенияОЗавершении)"); + + Иначе + + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, Файл.ЭтоКаталог()); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + +#КонецОбласти + +#Область Инициализация_плагинов + +&НаКлиенте +Функция СтроковыеУтилиты() + + Возврат ПолучитьФорму("Обработка.СтроковыеУтилиты.Форма"); + +КонецФункции + +#КонецОбласти + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + Отказ = Истина; +КонецПроцедуры diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" new file mode 100644 index 000000000..71f76957e --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273.xml" @@ -0,0 +1,22 @@ + + +
+ + ОткрытьВнешнийФайл + + + ru + Открыть внешний файл + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form.xml" new file mode 100644 index 000000000..28482bb63 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form.xml" @@ -0,0 +1,66 @@ + +
+ + + + ПутьФайла + true + + + + ПутьФайлаНачалоВыбора + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Путь файла</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Объект</v8:content> + </v8:item> + + + cfg:DataProcessorObject.ОткрытьВнешнийФайл + + true + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Открыть файл</v8:content> + </v8:item> + + + + ru + Открыть файл + + + ОткрытьФайл + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form/Module.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form/Module.bsl" new file mode 100644 index 000000000..5fae50dea --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Ext/Form/Module.bsl" @@ -0,0 +1,118 @@ +#Область ПеременныеФормы + +&НаКлиенте +Перем АСинк; + +#КонецОбласти + +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОткрытьФайл(Команда) + Перем АдресХранилища, ИмяФормы; + + ИмяФормы = "Форма"; + ФайлИнструмента = Новый Файл(ПутьФайла); + ИмяИнструмента = ФайлИнструмента.ИмяБезРасширения; + + //Если Не Существует Тогда + // Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); + // Возврат; + //КонецЕсли; + + Оповещение = АСинк().смв_НовыйОписаниеОповещения("ОткрытьФайлЗавершение", ЭтаФорма, + Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы)); + АСинк().смв_ПоместитьФайл(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя, Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ПутьФайлаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + ОповещениеВыбора = АСинк().смв_НовыйОписаниеОповещения("ВыборФайлаЗавершение", ЭтаФорма); + Асинк().смв_ПоказатьДиалогОткрытие(ОповещениеВыбора, + "*.epf|*.epf", + "Выберите внешнюю обработку", + , + ПутьФайлаНастроек()); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Процедура ВыборФайлаЗавершение(ВыбранныеФайлы, ДопПараметры) Экспорт + + Если ВыбранныеФайлы = Неопределено или ВыбранныеФайлы.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + ВыбранныйФайл = ВыбранныеФайлы.Получить(0); + ПутьФайла = ВыбранныйФайл; + + //ФайлНастройки = ВыбранныеФайлы.Получить(0); + //Объект.ПутьФайлаНастроек = ФайлНастройки; + + //ПлагинНастроек = Плагин("Настройки"); + //ПлагинНастроек.Обновить(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФайлЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт + + ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; + ИмяФормыИнструмента = ДополнительныеПараметры.ИмяФормыИнструмента; + + ПодключитьФайлОбработкиНаСервере(Адрес, ИмяИнструмента); + + ФормаИнструмента = ПолучитьФорму("ВнешняяОбработка." + ИмяИнструмента + "." + ИмяФормыИнструмента); + Если ФормаИнструмента = Неопределено Тогда + Сообщить("Инструмент <" + ИмяИнструмента + ">: не удалось получить основную форму!"); + Возврат; + КонецЕсли; + + ФормаИнструмента.Открыть(); + ФормаИнструмента = Неопределено; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ПодключитьФайлОбработкиНаСервере(Знач АдресХранилища, Знач ИдентификаторОбработки, ЭтоОтчет = Ложь) + Если ЭтоОтчет = Истина Тогда + ВнешниеОтчеты.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); + Иначе + ВнешниеОбработки.Подключить(АдресХранилища, ИдентификаторОбработки, Ложь); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ПутьФайлаНастроек() + Возврат ""; +КонецФункции + +&НаКлиенте +Функция АСинк() Экспорт + + Если АСинк = Неопределено Тогда + + АСинк = ПолучитьФорму("Обработка.ОткрытьВнешнийФайл.Форма.МодульАсинк", , ЭтаФорма, ЭтаФорма); + + АСинк.МодальностьЗапрещена = Истина; //ЕстьПоддержкаАсинхронныхВызовов; + АСинк.Версия8315ИлиВыше = Ложь; //Версия8315ИлиВыше; + + КонецЕсли; + + Возврат АСинк; + +КонецФункции + +#КонецОбласти diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.xml" new file mode 100644 index 000000000..e98f79114 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213.xml" @@ -0,0 +1,34 @@ + + + + + + 07e83fa4-8041-4c2b-b1ad-ccfd7c676bbe + 78333b86-5ce4-481d-b3c6-0273301d7eb3 + + + 61b6bdb3-6911-4439-88a6-01411893cf5a + 9da08ff3-dd10-4cbb-95bf-e5dd1aa3b08f + + + + СтроковыеУтилиты + + + ru + Строковые утилиты + + + + true + DataProcessor.СтроковыеУтилиты.Form.Форма + + false + + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..46e4fe797 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -0,0 +1,1244 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Строковые утилиты"); + + Возврат Новый ФиксированнаяСтруктура(Результат); +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + +КонецПроцедуры +// } Plugin interface + + +// { Функции работы со строками + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые +// строки; +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +// +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // Для обеспечения обратной совместимости. + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +/// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = ",", СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = ""; + + Для Индекс = 0 По Массив.ВГраница() Цикл + Подстрока = Массив[Индекс]; + + Если СокращатьНепечатаемыеСимволы Тогда + Подстрока = СокрЛП(Подстрока); + КонецЕсли; + + Если ТипЗнч(Подстрока) <> Тип("Строка") Тогда + Подстрока = Строка(Подстрока); + КонецЕсли; + + Если Индекс > 0 Тогда + Результат = Результат + Разделитель; + КонецЕсли; + + Результат = Результат + Подстрока; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Определяет, является ли символ разделителем. +// +// Параметры: +// КодСимвола - Число - код проверяемого символа; +// РазделителиСлов - Строка - символы разделителей. +// +// Возвращаемое значение: +// Булево - истина, если символ является разделителем. +// +Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт + + Если РазделителиСлов <> Неопределено Тогда + Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; + КонецЕсли; + + Диапазоны = Новый Массив; + Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры + Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" + + Для Каждого Диапазон Из Диапазоны Цикл + Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Разбивает строку на несколько строк, используя заданный набор разделителей. +// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +// +// Параметры: +// Строка - Строка - строка, которую необходимо разложить на слова. +// РазделителиСлов - Строка - строка, содержащая символы-разделители. +// +// Возвращаемое значение: +// массив значений, элементы которого - отдельные слова. +// +// Пример: +// РазложитьСтрокуВМассивСлов("один-@#два2_!три") возвратит массив значений: "один", "два2_", "три"; +// РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_") возвратит массив значений: "один-", "два2", "три". +// +Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт + + Слова = Новый Массив; + + РазмерТекста = СтрДлина(Строка); + НачалоСлова = 1; + Для Позиция = 1 По РазмерТекста Цикл + КодСимвола = КодСимвола(Строка, Позиция); + Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + НачалоСлова = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + + Возврат Слова; + +КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра"); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк". +// +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + Найти(Параметр1, "%") + Или Найти(Параметр2, "%") + Или Найти(Параметр3, "%") + Или Найти(Параметр4, "%") + Или Найти(Параметр5, "%") + Или Найти(Параметр6, "%") + Или Найти(Параметр7, "%") + Или Найти(Параметр8, "%") + Или Найти(Параметр9, "%"); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +// Подставляет параметры в строку. Число параметров в строке не ограничено. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +// начинается с единицы. +// +// Параметры +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%1"); +// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +// +// Возвращаемое значение: +// Строка - строка с подставленными параметрами. +// +// Пример: +// МассивПараметров = Новый Массив; +// МассивПараметров = МассивПараметров.Добавить("Вася"); +// МассивПараметров = МассивПараметров.Добавить("Зоопарк"); +// +// Строка = ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), МассивПараметров); +// +Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт + + СтрокаРезультата = СтрокаПодстановки; + + Индекс = МассивПараметров.Количество(); + Пока Индекс > 0 Цикл + Значение = МассивПараметров[Индекс-1]; + Если Не ПустаяСтрока(Значение) Тогда + СтрокаРезультата = СтрЗаменить(СтрокаРезультата, "%" + Формат(Индекс, "ЧГ="), Значение); + КонецЕсли; + Индекс = Индекс - 1; + КонецЦикла; + + Возврат СтрокаРезультата; + +КонецФункции + +// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +// скобками. +// +// Параметры: +// +// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +// значение - вставляемое значение. +// +// Возвращаемое значение: +// Строка - строка со вставленными значениями. +// +// Пример использования: +// ВставитьПараметрыВСтроку("Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); +// Возвращает: "Здравствуй, Вася Пупкин". +Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт + Результат = ШаблонСтроки; + Для Каждого Параметр Из ВставляемыеЗначения Цикл + Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Параметр.Значение); + КонецЦикла; + Возврат Результат; +КонецФункции + +// Получает значения параметров из строки. +// +// Параметры: +// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +// фрагмент вида <Имя параметра>=<Значение>, где: +// Имя параметра - имя параметра; +// Значение - его значение. +// Фрагменты отделяются друг от друга символами ';'. +// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +// кавычки ("). +// Например: +// "File=""c:\InfoBases\Trade""; Usr=""Director"";" +// +// Возвращаемое значение: +// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +// +Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров) Экспорт + + Результат = Новый Структура; + + СимволДвойныеКавычки = Символ(34); // (") + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); + + Для Каждого СтрокаПараметра Из МассивПодстрок Цикл + + ПозицияПервогоЗнакаРавенства = Найти(СтрокаПараметра, "="); + + // Получаем имя параметра + ИмяПараметра = СокрЛП(Лев(СтрокаПараметра, ПозицияПервогоЗнакаРавенства - 1)); + + // Получаем значение параметра + ЗначениеПараметра = СокрЛП(Сред(СтрокаПараметра, ПозицияПервогоЗнакаРавенства + 1)); + + Если Лев(ЗначениеПараметра, 1) = СимволДвойныеКавычки + И Прав(ЗначениеПараметра, 1) = СимволДвойныеКавычки Тогда + + ЗначениеПараметра = Сред(ЗначениеПараметра, 2, СтрДлина(ЗначениеПараметра) - 2); + + КонецЕсли; + + Если Не ПустаяСтрока(ИмяПараметра) Тогда + + Результат.Вставить(ИмяПараметра, ЗначениеПараметра); + + КонецЕсли; + + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", ""); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = "0" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "") + ) = 0; + +КонецФункции + +// Проверяет, содержит ли строка только символы кириллического алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. +// +Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + КодыДопустимыхСимволов.Добавить(1105); // "ё" + КодыДопустимыхСимволов.Добавить(1025); // "Ё" + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Проверяет, содержит ли строка только символы латинского алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. +// +Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Удаляет двойные кавычки с начала и конца строки, если они есть. +// +// Параметры: +// Строка - входная строка; +// +// Возвращаемое значение: +// Строка - строка без двойных кавычек. +// +Функция СократитьДвойныеКавычки(Знач Строка) Экспорт + + Пока Лев(Строка, 1) = """" Цикл + Строка = Сред(Строка, 2); + КонецЦикла; + + Пока Прав(Строка, 1) = """" Цикл + Строка = Лев(Строка, СтрДлина(Строка) - 1); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Удаляет из строки указанное количество символов справа. +// +// Параметры: +// Текст - Строка - строка, в которой необходимо удалить последние символы; +// ЧислоСимволов - Число - количество удаляемых символов. +// +Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт + + Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); + +КонецПроцедуры + +// Осуществляет поиск символа, начиная с конца строки. +// +// Параметры: +// Строка - Строка - строка, в которой осуществляется поиск; +// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +// +// Возвращаемое значение: +// Число - позиция символа в строке. +// Если строка не содержит указанного символа, то возвращается 0. +// +Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт + + Для Позиция = -СтрДлина(Строка) По -1 Цикл + Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда + Возврат -Позиция; + КонецЕсли; + КонецЦикла; + + Возврат 0; + +КонецФункции + +// Проверяет, является ли строка уникальным идентификатором. +// В качестве уникального идентификатора предполагается строка вида +// "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где X = [0..9,a..f]. +// +// Параметры: +// ИдентификаторСтрока - Строка - проверяемая строка. +// +// Возвращаемое значение: +// Булево - Истина, если переданная строка является уникальным идентификатором. +Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт + + Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; + + Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда + Возврат Ложь; + КонецЕсли; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Если КодСимвола(Шаблон, Позиция) = 88 // X + И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 + И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f + И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F + Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Формирует строку повторяющихся символов заданной длины. +// +// Параметры: +// Символ - Строка - символ, из которого будет формироваться строка. +// ДлинаСтроки - Число - требуемая длина результирующей строки. +// +// Возвращаемое значение: +// Строка - строка, состоящая из повторяющихся символов. +// +Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт + + Результат = ""; + Для Счетчик = 1 По ДлинаСтроки Цикл + Результат = Результат + Символ; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами "0" (ноль) слева. +// +// Параметры: +// Строка - Строка - исходная строка, которую необходимо дополнить символами; +// ДлинаСтроки - Число - требуемая результирующая длина строки; +// Символ - Строка - символ, которым необходимо дополнить строку; +// Режим - Строка - "Слева" или "Справа" - режим добавления символов к исходной строке. +// +// Возвращаемое значение: +// Строка - строка, дополненная символами. +// +// Пример 1: +// Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" +// Возврат: "0000001234" +// +// Пример 2: +// Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" +// Возврат: "1234######" +// +Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт + + // Длина символа не должна превышать единицы. + Символ = Лев(Символ, 1); + + // Удаляем крайние пробелы слева и справа строки. + Строка = СокрЛП(Строка); + + КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); + + Если КоличествоСимволовНадоДобавить > 0 Тогда + + СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Строка = СтрокаДляДобавления + Строка; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Строка = Строка + СтрокаДляДобавления; + + КонецЕсли; + + КонецЕсли; + + Возврат Строка; + +КонецФункции + +// Удаляет крайние повторяющиеся символы слева или справа в строке. +// +// Параметры: +// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +// Символ - Строка - искомый символ для удаления; +// Режим - Строка - "Слева" или "Справа" - режим удаления символов в исходной строке. +// +// Возвращаемое значение: +// Строка - обрезанная строка. +// +Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = "Слева") Экспорт + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Пока Лев(Строка, 1)= Символ Цикл + + Строка = Сред(Строка, 2); + + КонецЦикла; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Пока Прав(Строка, 1)= Символ Цикл + + Строка = Лев(Строка, СтрДлина(Строка) - 1); + + КонецЦикла; + + КонецЕсли; + + Возврат Строка; +КонецФункции + +// Выполняет замену символов в строке. +// +// Параметры: +// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +// Строка - Строка - исходная строка, в которой требуется замена символов; +// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +// ЗаменяемыеСимволы. +// +// Возвращаемое значение: +// Строка - строка после замены символов. +// +// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +// символы. +// +Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт + + Результат = Строка; + + Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл + Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Выполняет преобразование арабского числа в римское. +// +// Параметры: +// АрабскоеЧисло - число, целое, от 0 до 999; +// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Строка - число в римской нотации. +// +// Пример: +// ПреобразоватьЧислоВРимскуюНотацию(17) = "ХVII". +// +Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + РимскоеЧисло = ""; + АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); + Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); + Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); + + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); + + Возврат РимскоеЧисло; + +КонецФункции + +// Выполняет преобразование римского числа в арабское. +// +// Параметры: +// РимскоеЧисло - Строка - число, записанное римскими цифрами; +// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Число. +// +// Пример: +// ПреобразоватьЧислоВАрабскуюНотацию("ХVII") = 17. +// +Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + АрабскоеЧисло=0; + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + РимскоеЧисло = СокрЛП(РимскоеЧисло); + ЧислоСимволов = СтрДлина(РимскоеЧисло); + + Для Сч=1 По ЧислоСимволов Цикл + Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда + АрабскоеЧисло = АрабскоеЧисло+1000; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда + АрабскоеЧисло = АрабскоеЧисло+500; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда + АрабскоеЧисло = АрабскоеЧисло-100; + Иначе + АрабскоеЧисло = АрабскоеЧисло+100; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда + АрабскоеЧисло = АрабскоеЧисло+50; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда + АрабскоеЧисло = АрабскоеЧисло-10; + Иначе + АрабскоеЧисло = АрабскоеЧисло+10; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда + АрабскоеЧисло = АрабскоеЧисло+5; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда + АрабскоеЧисло = АрабскоеЧисло-1; + Иначе + АрабскоеЧисло = АрабскоеЧисло+1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат АрабскоеЧисло; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты"; +// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут". +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,"ЧН=0"); + + МассивПредставлений = Новый Массив; + + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + " " + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + " " + МассивПредставлений[1]; + Иначе + Результат = Результат + " " + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +// +// Параметры: +// ИсходныйТекст - Строка - текст в формате HTML. +// +// Возвращаемое значение: +// Строка - текст, очищенный от тегов, скриптов и заголовков. +// +Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт + Результат = ""; + + Текст = НРег(ИсходныйТекст); + + // отрезаем все что не body + Позиция = Найти(Текст, " 0 Тогда + Текст = Сред(Текст, Позиция + 5); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + КонецЕсли; + + Позиция = Найти(Текст, ""); + Если Позиция > 0 Тогда + Текст = Лев(Текст, Позиция - 1); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); + КонецЕсли; + + // вырезаем скрипты + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); + Позиция = Найти(Текст, " 0 Цикл + Результат = Результат + Лев(ИсходныйТекст, Позиция-1); + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + Позиция = Найти(Текст, "<"); + КонецЦикла; + Результат = Результат + ИсходныйТекст; + МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); + Возврат СокрЛП(СтрокаИзМассиваПодстрок(МассивСтрок, Символы.ПС)); +КонецФункции + +// Преобразует исходную строку в транслит. +Функция СтрокаЛатиницей(Знач Строка) Экспорт + + Результат = ""; + + Соответствие = СоответствиеКириллицыИЛатиницы(); + + ПредыдущийСимвол = ""; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Символ = Сред(Строка, Позиция, 1); + СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. + Если СимволЛатиницей = Неопределено Тогда + // Другие символы остаются "как есть". + СимволЛатиницей = Символ; + Иначе + Если Символ = ВРег(Символ) Тогда + СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр + КонецЕсли; + КонецЕсли; + Результат = Результат + СимволЛатиницей; + ПредыдущийСимвол = СимволЛатиницей; + КонецЦикла; + + Возврат Результат; +КонецФункции + +#Если ТолстыйКлиентОбычноеПриложение Тогда +#Иначе + +// Форматирует строку в соответствии с заданным шаблоном. +// Возможные значения тегов выделения: +// Строка - выделяет строку жирным шрифтом +// Строка +// +// Пример: +// Минимальная версия программы 1.1. Обновите программу. +// +// Возвращаемое значение: +// ФорматированнаяСтрока +Функция ФорматированнаяСтрока(Знач Строка) Экспорт + + СтрокиСВыделением = Новый СписокЗначений; + Пока Найти(Строка, "") <> 0 Цикл + НачалоВыделения = Найти(Строка, ""); + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); + КонецВыделения = Найти(СтрокаПослеОткрывающегоТега, ""); + ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); + СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); + СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + КонецЦикла; + СтрокиСВыделением.Добавить(Строка); + + СтрокиСоСсылками = Новый СписокЗначений; + Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл + + Строка = ЧастьСтроки.Значение; + + Если ЧастьСтроки.Пометка Тогда + СтрокиСоСсылками.Добавить(Строка,, Истина); + Продолжить; + КонецЕсли; + + НачалоВыделения = Найти(Строка, ""); + + Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); + Если Лев(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); + КонецЕсли; + Если Прав(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); + КонецЕсли; + + СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); + КонецВыделения = Найти(СтрокаПослеСсылки, ""); + ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); + СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); + + СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + + НачалоВыделения = Найти(Строка, " 0 Тогда + Возврат Неопределено; + КонецЕсли; + ЗнакОтрицательный = Истина; + ИначеЕсли КодСимвола = 41 Тогда // Закрывающая скобка. + Если Не ЗнакОтрицательный Или Результат = 0 Тогда // Не было открывающей скобки или нет числа. + Возврат Неопределено; + КонецЕсли; + // Пропуск (действие не требуется). + ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. + Если ЗнаковПослеЗапятой <> -1 Тогда + Возврат Неопределено; // Разделитель уже был, следовательно это не число. + КонецЕсли; + ЗнаковПослеЗапятой = 0; // Запуск отсчета знаков после запятой. + ИначеЕсли КодСимвола > 47 И КодСимвола < 58 Тогда // Число. + Если ЗнаковПослеЗапятой <> -1 Тогда + ЗнаковПослеЗапятой = ЗнаковПослеЗапятой + 1; + КонецЕсли; + Число = КодСимвола - 48; + Результат = Результат * 10 + Число; + Иначе + Возврат Неопределено; + КонецЕсли; + КонецЦикла; + + Если ЗнаковПослеЗапятой > 0 Тогда + Результат = Результат / Pow(10, ЗнаковПослеЗапятой); + КонецЕсли; + Если ЗнакОтрицательный Тогда + Результат = -Результат; + КонецЕсли; + + Возврат Результат; +КонецФункции + +// Выполняет преобразование цифры в римскую нотацию. +// +// Параметры +// Цифра - Число - цифра от 0 до 9. +// РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка - Строка - символы, соответствующие римским цифрам. +// +// Возвращаемое значение +// Строка - цифра в римской нотации. +// +// Пример: +// ПреобразоватьЦифруВРимскуюНотацию(7,"I","V","X") = "VII". +// +Функция ПреобразоватьЦифруВРимскуюНотацию(Цифра, РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка) + + РимскаяЦифра=""; + Если Цифра = 1 Тогда + РимскаяЦифра = РимскаяЕдиница + ИначеЕсли Цифра = 2 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 3 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 4 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяПятерка; + ИначеЕсли Цифра = 5 Тогда + РимскаяЦифра = РимскаяПятерка; + ИначеЕсли Цифра = 6 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница; + ИначеЕсли Цифра = 7 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 8 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 9 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяДесятка; + КонецЕсли; + Возврат РимскаяЦифра; + +КонецФункции + +// Вставляет параметры в строку, учитывая, что в параметрах могут использоваться подстановочные слова %1, %2 и т.д. +Функция ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) + + Результат = ""; + Позиция = Найти(СтрокаПодстановки, "%"); + Пока Позиция > 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = ""; + Если СимволПослеПроцента = "1" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = "2" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = "3" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = "4" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = "5" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = "6" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = "7" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = "8" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = "9" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = "" Тогда + Результат = Результат + "%"; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = Найти(СтрокаПодстановки, "%"); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +Функция СоответствиеКириллицыИЛатиницы() + // Транслитерация, используемая в загранпаспортах 1997-2010. + Соответствие = Новый Соответствие; + Соответствие.Вставить("а","a"); + Соответствие.Вставить("б","b"); + Соответствие.Вставить("в","v"); + Соответствие.Вставить("г","g"); + Соответствие.Вставить("д","d"); + Соответствие.Вставить("е","e"); + Соответствие.Вставить("ё","e"); + Соответствие.Вставить("ж","zh"); + Соответствие.Вставить("з","z"); + Соответствие.Вставить("и","i"); + Соответствие.Вставить("й","y"); + Соответствие.Вставить("к","k"); + Соответствие.Вставить("л","l"); + Соответствие.Вставить("м","m"); + Соответствие.Вставить("н","n"); + Соответствие.Вставить("о","o"); + Соответствие.Вставить("п","p"); + Соответствие.Вставить("р","r"); + Соответствие.Вставить("с","s"); + Соответствие.Вставить("т","t"); + Соответствие.Вставить("у","u"); + Соответствие.Вставить("ф","f"); + Соответствие.Вставить("х","kh"); + Соответствие.Вставить("ц","ts"); + Соответствие.Вставить("ч","ch"); + Соответствие.Вставить("ш","sh"); + Соответствие.Вставить("щ","shch"); + Соответствие.Вставить("ъ",""""); + Соответствие.Вставить("ы","y"); + Соответствие.Вставить("ь",""); // пропускается + Соответствие.Вставить("э","e"); + Соответствие.Вставить("ю","yu"); + Соответствие.Вставить("я","ya"); + + Возврат Соответствие; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать СтрокаИзМассиваПодстрок. +// +// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = ",") Экспорт + + // Возвращаемое значение функции. + Результат = ""; + + Для Каждого Элемент Из Массив Цикл + + Подстрока = ?(ТипЗнч(Элемент) = Тип("Строка"), Элемент, Строка(Элемент)); + + РазделительПодстрок = ?(ПустаяСтрока(Результат), "", Разделитель); + + Результат = Результат + РазделительПодстрок + Подстрока; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// } Функции работы со строками diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..63082bd9a --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..573bed731 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,13 @@ + +
+ useIfNecessary + + + + + cfg:DataProcessorObject.СтроковыеУтилиты + + true + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..b9bef579f --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,1282 @@ +&НаКлиенте +Перем КонтекстЯдра; + +// { Plugin interface + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; +КонецПроцедуры + +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции +// } Plugin interface + + +// { Функции работы со строками + +// Разбивает строку на несколько строк по разделителю. Разделитель может иметь любую длину. +// +// Параметры: +// Строка - Строка - текст с разделителями; +// Разделитель - Строка - разделитель строк текста, минимум 1 символ; +// ПропускатьПустыеСтроки - Булево - признак необходимости включения в результат пустых строк. +// Если параметр не задан, то функция работает в режиме совместимости со своей предыдущей версией: +// - для разделителя-пробела пустые строки не включаются в результат, для остальных разделителей пустые строки +// включаются в результат. +// Е если параметр Строка не содержит значащих символов или не содержит ни одного символа (пустая строка), то в +// случае разделителя-пробела результатом функции будет массив, содержащий одно значение "" (пустая строка), а +// при других разделителях результатом функции будет пустой массив. +// СокращатьНепечатаемыеСимволы - Булево - сокращать непечатаемые символы по краям каждой из найденных подстрок. +// +// Возвращаемое значение: +// Массив - массив строк. +// +// Примеры: +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",") - возвратит массив из 5 элементов, три из которых - пустые +// строки; +// РазложитьСтрокуВМассивПодстрок(",один,,два,", ",", Истина) - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок(" один два ", " ") - возвратит массив из двух элементов; +// РазложитьСтрокуВМассивПодстрок("") - возвратит пустой массив; +// РазложитьСтрокуВМассивПодстрок("",,Ложь) - возвратит массив с одним элементом "" (пустой строкой); +// РазложитьСтрокуВМассивПодстрок("", " ") - возвратит массив с одним элементом "" (пустой строкой); +// +&НаКлиенте +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = Новый Массив; + + // Для обеспечения обратной совместимости. + Если ПропускатьПустыеСтроки = Неопределено Тогда + ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь); + Если ПустаяСтрока(Строка) Тогда + Если Разделитель = " " Тогда + Результат.Добавить(""); + КонецЕсли; + Возврат Результат; + КонецЕсли; + КонецЕсли; + // + + Позиция = Найти(Строка, Разделитель); + Пока Позиция > 0 Цикл + Подстрока = Лев(Строка, Позиция - 1); + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Подстрока)); + Иначе + Результат.Добавить(Подстрока); + КонецЕсли; + КонецЕсли; + Строка = Сред(Строка, Позиция + СтрДлина(Разделитель)); + Позиция = Найти(Строка, Разделитель); + КонецЦикла; + + Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда + Если СокращатьНепечатаемыеСимволы Тогда + Результат.Добавить(СокрЛП(Строка)); + Иначе + Результат.Добавить(Строка); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +/// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция СтрокаИзМассиваПодстрок(Массив, Разделитель = ",", СокращатьНепечатаемыеСимволы = Ложь) Экспорт + + Результат = ""; + + Для Индекс = 0 По Массив.ВГраница() Цикл + Подстрока = Массив[Индекс]; + + Если СокращатьНепечатаемыеСимволы Тогда + Подстрока = СокрЛП(Подстрока); + КонецЕсли; + + Если ТипЗнч(Подстрока) <> Тип("Строка") Тогда + Подстрока = Строка(Подстрока); + КонецЕсли; + + Если Индекс > 0 Тогда + Результат = Результат + Разделитель; + КонецЕсли; + + Результат = Результат + Подстрока; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Определяет, является ли символ разделителем. +// +// Параметры: +// КодСимвола - Число - код проверяемого символа; +// РазделителиСлов - Строка - символы разделителей. +// +// Возвращаемое значение: +// Булево - истина, если символ является разделителем. +// +&НаКлиенте +Функция ЭтоРазделительСлов(КодСимвола, РазделителиСлов = Неопределено) Экспорт + + Если РазделителиСлов <> Неопределено Тогда + Возврат Найти(РазделителиСлов, Символ(КодСимвола)) > 0; + КонецЕсли; + + Диапазоны = Новый Массив; + Диапазоны.Добавить(Новый Структура("Мин,Макс", 48, 57)); // цифры + Диапазоны.Добавить(Новый Структура("Мин,Макс", 65, 90)); // латиница большие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 97, 122)); // латиница маленькие + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1040, 1103)); // кириллица + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1025, 1025)); // символ "Ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 1105, 1105)); // символ "ё" + Диапазоны.Добавить(Новый Структура("Мин,Макс", 95, 95)); // символ "_" + + Для Каждого Диапазон Из Диапазоны Цикл + Если КодСимвола >= Диапазон.Мин И КодСимвола <= Диапазон.Макс Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Разбивает строку на несколько строк, используя заданный набор разделителей. +// Если параметр РазделителиСлов не задан, то разделителем слов считается любой из символов, +// не относящихся к символам латиницы, кириллицы, цифры, подчеркивания. +// +// Параметры: +// Строка - Строка - строка, которую необходимо разложить на слова. +// РазделителиСлов - Строка - строка, содержащая символы-разделители. +// +// Возвращаемое значение: +// массив значений, элементы которого - отдельные слова. +// +// Пример: +// РазложитьСтрокуВМассивСлов("один-@#два2_!три") возвратит массив значений: "один", "два2_", "три"; +// РазложитьСтрокуВМассивСлов("один-@#два2_!три", "#@!_") возвратит массив значений: "один-", "два2", "три". +// +&НаКлиенте +Функция РазложитьСтрокуВМассивСлов(Знач Строка, РазделителиСлов = Неопределено) Экспорт + + Слова = Новый Массив; + + РазмерТекста = СтрДлина(Строка); + НачалоСлова = 1; + Для Позиция = 1 По РазмерТекста Цикл + КодСимвола = КодСимвола(Строка, Позиция); + Если ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + НачалоСлова = Позиция + 1; + КонецЕсли; + КонецЦикла; + + Если Позиция <> НачалоСлова Тогда + Слова.Добавить(Сред(Строка, НачалоСлова, Позиция - НачалоСлова)); + КонецЕсли; + + Возврат Слова; + +КонецФункции + +// Подставляет параметры в строку. Максимально возможное число параметров - 9. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров начинается с единицы. +// +// Параметры: +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%ИмяПараметра"); +// Параметр - Строка - подставляемый параметр. +// +// Возвращаемое значение: +// Строка - текстовая строка с подставленными параметрами. +// +// Пример: +// ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), "Вася", "Зоопарк") = "Вася пошел в Зоопарк". +// +&НаКлиенте +Функция ПодставитьПараметрыВСтроку(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) Экспорт + + ИспользоватьАльтернативныйАлгоритм = + Найти(Параметр1, "%") + Или Найти(Параметр2, "%") + Или Найти(Параметр3, "%") + Или Найти(Параметр4, "%") + Или Найти(Параметр5, "%") + Или Найти(Параметр6, "%") + Или Найти(Параметр7, "%") + Или Найти(Параметр8, "%") + Или Найти(Параметр9, "%"); + + Если ИспользоватьАльтернативныйАлгоритм Тогда + СтрокаПодстановки = ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(СтрокаПодстановки, Параметр1, + Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9); + Иначе + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%1", Параметр1); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%2", Параметр2); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%3", Параметр3); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%4", Параметр4); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%5", Параметр5); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%6", Параметр6); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%7", Параметр7); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%8", Параметр8); + СтрокаПодстановки = СтрЗаменить(СтрокаПодстановки, "%9", Параметр9); + КонецЕсли; + + Возврат СтрокаПодстановки; +КонецФункции + +// Подставляет параметры в строку. Число параметров в строке не ограничено. +// Параметры в строке задаются как %<номер параметра>. Нумерация параметров +// начинается с единицы. +// +// Параметры +// СтрокаПодстановки - Строка - шаблон строки с параметрами (вхождениями вида "%1"); +// МассивПараметров - Массив - массив строк, которые соответствуют параметрам в строке подстановки. +// +// Возвращаемое значение: +// Строка - строка с подставленными параметрами. +// +// Пример: +// МассивПараметров = Новый Массив; +// МассивПараметров = МассивПараметров.Добавить("Вася"); +// МассивПараметров = МассивПараметров.Добавить("Зоопарк"); +// +// Строка = ПодставитьПараметрыВСтроку(НСтр("ru='%1 пошел в %2'"), МассивПараметров); +// +&НаКлиенте +Функция ПодставитьПараметрыВСтрокуИзМассива(Знач СтрокаПодстановки, Знач МассивПараметров) Экспорт + + СтрокаРезультата = СтрокаПодстановки; + + Индекс = МассивПараметров.Количество(); + Пока Индекс > 0 Цикл + Значение = МассивПараметров[Индекс-1]; + Если Не ПустаяСтрока(Значение) Тогда + СтрокаРезультата = СтрЗаменить(СтрокаРезультата, "%" + Формат(Индекс, "ЧГ="), Значение); + КонецЕсли; + Индекс = Индекс - 1; + КонецЦикла; + + Возврат СтрокаРезультата; + +КонецФункции + +// Заменяет в шаблоне строки имена параметров на их значения. Параметры в строке выделяются с двух сторон квадратными +// скобками. +// +// Параметры: +// +// ШаблонСтроки - Строка - строка, в которую необходимо вставить значения. +// ВставляемыеЗначения - Структура - структура значений, где ключ - имя параметра без спецсимволов, +// значение - вставляемое значение. +// +// Возвращаемое значение: +// Строка - строка со вставленными значениями. +// +// Пример использования: +// ВставитьПараметрыВСтроку("Здравствуй, [Имя] [Фамилия].", Новый Структура("Фамилия,Имя", "Пупкин", "Вася")); +// Возвращает: "Здравствуй, Вася Пупкин". +&НаКлиенте +Функция ВставитьПараметрыВСтроку(Знач ШаблонСтроки, ВставляемыеЗначения) Экспорт + Результат = ШаблонСтроки; + Для Каждого Параметр Из ВставляемыеЗначения Цикл + Результат = СтрЗаменить(Результат, "[" + Параметр.Ключ + "]", Параметр.Значение); + КонецЦикла; + Возврат Результат; +КонецФункции + +// Получает значения параметров из строки. +// +// Параметры: +// СтрокаПараметров - Строка - строка, содержащая параметры, каждый из которых представляет собой +// фрагмент вида <Имя параметра>=<Значение>, где: +// Имя параметра - имя параметра; +// Значение - его значение. +// Фрагменты отделяются друг от друга символами ';'. +// Если значение содержит пробельные символы, то оно должно быть заключено в двойные +// кавычки ("). +// Например: +// "File=""c:\InfoBases\Trade""; Usr=""Director"";" +// +// Возвращаемое значение: +// Структура - структура параметров, где ключ - имя параметра, значение - значение параметра. +// +&НаКлиенте +Функция ПолучитьПараметрыИзСтроки(Знач СтрокаПараметров) Экспорт + + Результат = Новый Структура; + + СимволДвойныеКавычки = Символ(34); // (") + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(СтрокаПараметров, ";"); + + Для Каждого СтрокаПараметра Из МассивПодстрок Цикл + + ПозицияПервогоЗнакаРавенства = Найти(СтрокаПараметра, "="); + + // Получаем имя параметра + ИмяПараметра = СокрЛП(Лев(СтрокаПараметра, ПозицияПервогоЗнакаРавенства - 1)); + + // Получаем значение параметра + ЗначениеПараметра = СокрЛП(Сред(СтрокаПараметра, ПозицияПервогоЗнакаРавенства + 1)); + + Если Лев(ЗначениеПараметра, 1) = СимволДвойныеКавычки + И Прав(ЗначениеПараметра, 1) = СимволДвойныеКавычки Тогда + + ЗначениеПараметра = Сред(ЗначениеПараметра, 2, СтрДлина(ЗначениеПараметра) - 2); + + КонецЕсли; + + Если Не ПустаяСтрока(ИмяПараметра) Тогда + + Результат.Вставить(ИмяПараметра, ЗначениеПараметра); + + КонецЕсли; + + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Проверяет, содержит ли строка только цифры. +// +// Параметры: +// СтрокаПроверки - Строка - Строка для проверки. +// УчитыватьЛидирующиеНули - Булево - Флаг учета лидирующих нулей, если Истина, то ведущие нули пропускаются. +// УчитыватьПробелы - Булево - Флаг учета пробелов, если Истина, то пробелы при проверке игнорируются. +// +// Возвращаемое значение: +// Булево - Истина - строка содержит только цифры или пустая, Ложь - строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЦифрыВСтроке(Знач СтрокаПроверки, Знач УчитыватьЛидирующиеНули = Истина, Знач УчитыватьПробелы = Истина) Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не УчитыватьПробелы Тогда + СтрокаПроверки = СтрЗаменить(СтрокаПроверки, " ", ""); + КонецЕсли; + + Если ПустаяСтрока(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + Если Не УчитыватьЛидирующиеНули Тогда + Позиция = 1; + // Взятие символа за границей строки возвращает пустую строку. + Пока Сред(СтрокаПроверки, Позиция, 1) = "0" Цикл + Позиция = Позиция + 1; + КонецЦикла; + СтрокаПроверки = Сред(СтрокаПроверки, Позиция); + КонецЕсли; + + // Если содержит только цифры, то в результате замен должна быть получена пустая строка. + // Проверять при помощи ПустаяСтрока нельзя, так как в исходной строке могут быть пробельные символы. + Возврат СтрДлина( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( СтрЗаменить( + СтрокаПроверки, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "") + ) = 0; + +КонецФункции + +// Проверяет, содержит ли строка только символы кириллического алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только кириллические (или допустимые) символы или пустая; +// Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоКириллицаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + КодыДопустимыхСимволов.Добавить(1105); // "ё" + КодыДопустимыхСимволов.Добавить(1025); // "Ё" + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 1040) Или (КодСимвола > 1103)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Проверяет, содержит ли строка только символы латинского алфавита. +// +// Параметры: +// УчитыватьРазделителиСлов - Булево - учитывать ли разделители слов или они являются исключением. +// ДопустимыеСимволы - строка для проверки. +// +// Возвращаемое значение: +// Булево - Истина, если строка содержит только латинские (или допустимые) символы; +// - Ложь, если строка содержит иные символы. +// +&НаКлиенте +Функция ТолькоЛатиницаВСтроке(Знач СтрокаПроверки, Знач УчитыватьРазделителиСлов = Истина, ДопустимыеСимволы = "") Экспорт + + Если ТипЗнч(СтрокаПроверки) <> Тип("Строка") Тогда + Возврат Ложь; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(СтрокаПроверки) Тогда + Возврат Истина; + КонецЕсли; + + КодыДопустимыхСимволов = Новый Массив; + + Для а = 1 По СтрДлина(ДопустимыеСимволы) Цикл + КодыДопустимыхСимволов.Добавить(КодСимвола(Сред(ДопустимыеСимволы, а, 1))); + КонецЦикла; + + Для а = 1 По СтрДлина(СтрокаПроверки) Цикл + КодСимвола = КодСимвола(Сред(СтрокаПроверки, а, 1)); + Если ((КодСимвола < 65) Или (КодСимвола > 90 И КодСимвола < 97) Или (КодСимвола > 122)) + И (КодыДопустимыхСимволов.Найти(КодСимвола) = Неопределено) + И Не (Не УчитыватьРазделителиСлов И ЭтоРазделительСлов(КодСимвола)) Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Удаляет двойные кавычки с начала и конца строки, если они есть. +// +// Параметры: +// Строка - входная строка; +// +// Возвращаемое значение: +// Строка - строка без двойных кавычек. +// +&НаКлиенте +Функция СократитьДвойныеКавычки(Знач Строка) Экспорт + + Пока Лев(Строка, 1) = """" Цикл + Строка = Сред(Строка, 2); + КонецЦикла; + + Пока Прав(Строка, 1) = """" Цикл + Строка = Лев(Строка, СтрДлина(Строка) - 1); + КонецЦикла; + + Возврат Строка; + +КонецФункции + +// Удаляет из строки указанное количество символов справа. +// +// Параметры: +// Текст - Строка - строка, в которой необходимо удалить последние символы; +// ЧислоСимволов - Число - количество удаляемых символов. +// +&НаКлиенте +Процедура УдалитьПоследнийСимволВСтроке(Текст, ЧислоСимволов = 1) Экспорт + + Текст = Лев(Текст, СтрДлина(Текст) - ЧислоСимволов); + +КонецПроцедуры + +// Осуществляет поиск символа, начиная с конца строки. +// +// Параметры: +// Строка - Строка - строка, в которой осуществляется поиск; +// Символ - Строка - искомый символ. Допускается искать строку, содержащую более одного символа. +// +// Возвращаемое значение: +// Число - позиция символа в строке. +// Если строка не содержит указанного символа, то возвращается 0. +// +&НаКлиенте +Функция НайтиСимволСКонца(Знач Строка, Знач Символ) Экспорт + + Для Позиция = -СтрДлина(Строка) По -1 Цикл + Если Сред(Строка, -Позиция, СтрДлина(Символ)) = Символ Тогда + Возврат -Позиция; + КонецЕсли; + КонецЦикла; + + Возврат 0; + +КонецФункции + +// Проверяет, является ли строка уникальным идентификатором. +// В качестве уникального идентификатора предполагается строка вида +// "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где X = [0..9,a..f]. +// +// Параметры: +// ИдентификаторСтрока - Строка - проверяемая строка. +// +// Возвращаемое значение: +// Булево - Истина, если переданная строка является уникальным идентификатором. +&НаКлиенте +Функция ЭтоУникальныйИдентификатор(Знач Строка) Экспорт + + Шаблон = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; + + Если СтрДлина(Шаблон) <> СтрДлина(Строка) Тогда + Возврат Ложь; + КонецЕсли; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Если КодСимвола(Шаблон, Позиция) = 88 // X + И ((КодСимвола(Строка, Позиция) < 48 Или КодСимвола(Строка, Позиция) > 57) // 0..9 + И (КодСимвола(Строка, Позиция) < 97 Или КодСимвола(Строка, Позиция) > 102) // a..f + И (КодСимвола(Строка, Позиция) < 65 Или КодСимвола(Строка, Позиция) > 70)) // A..F + Или КодСимвола(Шаблон, Позиция) = 45 И КодСимвола(Строка, Позиция) <> 45 Тогда // - + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +// Формирует строку повторяющихся символов заданной длины. +// +// Параметры: +// Символ - Строка - символ, из которого будет формироваться строка. +// ДлинаСтроки - Число - требуемая длина результирующей строки. +// +// Возвращаемое значение: +// Строка - строка, состоящая из повторяющихся символов. +// +&НаКлиенте +Функция СформироватьСтрокуСимволов(Знач Символ, Знач ДлинаСтроки) Экспорт + + Результат = ""; + Для Счетчик = 1 По ДлинаСтроки Цикл + Результат = Результат + Символ; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Дополняет строку символами слева или справа до заданной длины и возвращает ее. +// Незначащие символы слева и справа удаляются. По умолчанию функция дополняет строку символами "0" (ноль) слева. +// +// Параметры: +// Строка - Строка - исходная строка, которую необходимо дополнить символами; +// ДлинаСтроки - Число - требуемая результирующая длина строки; +// Символ - Строка - символ, которым необходимо дополнить строку; +// Режим - Строка - "Слева" или "Справа" - режим добавления символов к исходной строке. +// +// Возвращаемое значение: +// Строка - строка, дополненная символами. +// +// Пример 1: +// Строка = "1234"; ДлинаСтроки = 10; Символ = "0"; Режим = "Слева" +// Возврат: "0000001234" +// +// Пример 2: +// Строка = " 1234 "; ДлинаСтроки = 10; Символ = "#"; Режим = "Справа" +// Возврат: "1234######" +// +&НаКлиенте +Функция ДополнитьСтроку(Знач Строка, Знач ДлинаСтроки, Знач Символ = "0", Знач Режим = "Слева") Экспорт + + // Длина символа не должна превышать единицы. + Символ = Лев(Символ, 1); + + // Удаляем крайние пробелы слева и справа строки. + Строка = СокрЛП(Строка); + + КоличествоСимволовНадоДобавить = ДлинаСтроки - СтрДлина(Строка); + + Если КоличествоСимволовНадоДобавить > 0 Тогда + + СтрокаДляДобавления = СформироватьСтрокуСимволов(Символ, КоличествоСимволовНадоДобавить); + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Строка = СтрокаДляДобавления + Строка; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Строка = Строка + СтрокаДляДобавления; + + КонецЕсли; + + КонецЕсли; + + Возврат Строка; + +КонецФункции + +// Удаляет крайние повторяющиеся символы слева или справа в строке. +// +// Параметры: +// Строка - Строка - исходная строка, из которой необходимо удалить крайние повторяющиеся символы; +// Символ - Строка - искомый символ для удаления; +// Режим - Строка - "Слева" или "Справа" - режим удаления символов в исходной строке. +// +// Возвращаемое значение: +// Строка - обрезанная строка. +// +&НаКлиенте +Функция УдалитьПовторяющиесяСимволы(Знач Строка, Знач Символ, Знач Режим = "Слева") Экспорт + + Если ВРег(Режим) = "СЛЕВА" Тогда + + Пока Лев(Строка, 1)= Символ Цикл + + Строка = Сред(Строка, 2); + + КонецЦикла; + + ИначеЕсли ВРег(Режим) = "СПРАВА" Тогда + + Пока Прав(Строка, 1)= Символ Цикл + + Строка = Лев(Строка, СтрДлина(Строка) - 1); + + КонецЦикла; + + КонецЕсли; + + Возврат Строка; +КонецФункции + +// Выполняет замену символов в строке. +// +// Параметры: +// ЗаменяемыеСимволы - Строка - строка символов, каждый из которых требует замены; +// Строка - Строка - исходная строка, в которой требуется замена символов; +// СимволыЗамены - Строка - строка символов, на каждый из которых нужно заменить символы параметра +// ЗаменяемыеСимволы. +// +// Возвращаемое значение: +// Строка - строка после замены символов. +// +// Примечание: функция предназначена для простых случаев, например, для замены латиницы на похожие кириллические +// символы. +// +&НаКлиенте +Функция ЗаменитьОдниСимволыДругими(ЗаменяемыеСимволы, Строка, СимволыЗамены) Экспорт + + Результат = Строка; + + Для НомерСимвола = 1 По СтрДлина(ЗаменяемыеСимволы) Цикл + Результат = СтрЗаменить(Результат, Сред(ЗаменяемыеСимволы, НомерСимвола, 1), Сред(СимволыЗамены, НомерСимвола, 1)); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// Выполняет преобразование арабского числа в римское. +// +// Параметры: +// АрабскоеЧисло - число, целое, от 0 до 999; +// ИспользоватьКириллицу - булево, использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Строка - число в римской нотации. +// +// Пример: +// ПреобразоватьЧислоВРимскуюНотацию(17) = "ХVII". +// +&НаКлиенте +Функция ПреобразоватьЧислоВРимскуюНотацию(АрабскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + РимскоеЧисло = ""; + АрабскоеЧисло = ДополнитьСтроку(АрабскоеЧисло, 3); + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + Единицы = Число(Сред(АрабскоеЧисло, 3, 1)); + Десятки = Число(Сред(АрабскоеЧисло, 2, 1)); + Сотни = Число(Сред(АрабскоеЧисло, 1, 1)); + + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Сотни, c100, c500, c1000); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Десятки, c10, c50, c100); + РимскоеЧисло = РимскоеЧисло + ПреобразоватьЦифруВРимскуюНотацию(Единицы, c1, c5, c10); + + Возврат РимскоеЧисло; + +КонецФункции + +// Выполняет преобразование римского числа в арабское. +// +// Параметры: +// РимскоеЧисло - Строка - число, записанное римскими цифрами; +// ИспользоватьКириллицу - Булево - использовать в качестве арабских цифр кириллицу или латиницу. +// +// Возвращаемое значение: +// Число. +// +// Пример: +// ПреобразоватьЧислоВАрабскуюНотацию("ХVII") = 17. +// +&НаКлиенте +Функция ПреобразоватьЧислоВАрабскуюНотацию(РимскоеЧисло, ИспользоватьКириллицу = Истина) Экспорт + + АрабскоеЧисло=0; + + Если ИспользоватьКириллицу Тогда + c1 = "1"; c5 = "У"; c10 = "Х"; c50 = "Л"; c100 ="С"; c500 = "Д"; c1000 = "М"; + + Иначе + c1 = "I"; c5 = "V"; c10 = "X"; c50 = "L"; c100 ="C"; c500 = "D"; c1000 = "M"; + + КонецЕсли; + + РимскоеЧисло = СокрЛП(РимскоеЧисло); + ЧислоСимволов = СтрДлина(РимскоеЧисло); + + Для Сч=1 По ЧислоСимволов Цикл + Если Сред(РимскоеЧисло,Сч,1) = c1000 Тогда + АрабскоеЧисло = АрабскоеЧисло+1000; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c500 Тогда + АрабскоеЧисло = АрабскоеЧисло+500; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c100 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c500) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c1000)) Тогда + АрабскоеЧисло = АрабскоеЧисло-100; + Иначе + АрабскоеЧисло = АрабскоеЧисло+100; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c50 Тогда + АрабскоеЧисло = АрабскоеЧисло+50; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c10 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c50) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c100)) Тогда + АрабскоеЧисло = АрабскоеЧисло-10; + Иначе + АрабскоеЧисло = АрабскоеЧисло+10; + КонецЕсли; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c5 Тогда + АрабскоеЧисло = АрабскоеЧисло+5; + ИначеЕсли Сред(РимскоеЧисло,Сч,1) = c1 Тогда + Если (Сч < ЧислоСимволов) И ((Сред(РимскоеЧисло,Сч+1,1) = c5) ИЛИ (Сред(РимскоеЧисло,Сч+1,1) = c10)) Тогда + АрабскоеЧисло = АрабскоеЧисло-1; + Иначе + АрабскоеЧисло = АрабскоеЧисло+1; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Возврат АрабскоеЧисло; + +КонецФункции + +// Возвращает текстовое представление числа с единицей измерения в правильном склонении и числе. +// +// Параметры: +// Число - Число - любое целое число. +// ПараметрыПредметаИсчисления - Строка - варианты написания единицы измерения в родительном падеже для одной, +// для двух и для пяти единиц, разделитель - запятая. +// +// Возвращаемое значение: +// Строка - текстовое представление количества единиц, число записывается цифрами. +// +// Примеры: +// ЧислоЦифрамиПредметИсчисленияПрописью(23, "минуту,минуты,минут") = "23 минуты"; +// ЧислоЦифрамиПредметИсчисленияПрописью(15, "минуту,минуты,минут") = "15 минут". +&НаКлиенте +Функция ЧислоЦифрамиПредметИсчисленияПрописью(Знач Число, Знач ПараметрыПредметаИсчисления) Экспорт + + Результат = Формат(Число,"ЧН=0"); + + МассивПредставлений = Новый Массив; + + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + Пока Позиция > 0 Цикл + Значение = СокрЛП(Лев(ПараметрыПредметаИсчисления, Позиция-1)); + ПараметрыПредметаИсчисления = Сред(ПараметрыПредметаИсчисления, Позиция + 1); + МассивПредставлений.Добавить(Значение); + Позиция = Найти(ПараметрыПредметаИсчисления, ","); + КонецЦикла; + + Если СтрДлина(ПараметрыПредметаИсчисления) > 0 Тогда + Значение = СокрЛП(ПараметрыПредметаИсчисления); + МассивПредставлений.Добавить(Значение); + КонецЕсли; + + Если Число >= 100 Тогда + Число = Число - Цел(Число / 100)*100; + КонецЕсли; + + Если Число > 20 Тогда + Число = Число - Цел(Число/10)*10; + КонецЕсли; + + Если Число = 1 Тогда + Результат = Результат + " " + МассивПредставлений[0]; + ИначеЕсли Число > 1 И Число < 5 Тогда + Результат = Результат + " " + МассивПредставлений[1]; + Иначе + Результат = Результат + " " + МассивПредставлений[2]; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Очищает текст в формате HTML от тегов и возвращает неформатированный текст. +// +// Параметры: +// ИсходныйТекст - Строка - текст в формате HTML. +// +// Возвращаемое значение: +// Строка - текст, очищенный от тегов, скриптов и заголовков. +// +&НаКлиенте +Функция ИзвлечьТекстИзHTML(Знач ИсходныйТекст) Экспорт + Результат = ""; + + Текст = НРег(ИсходныйТекст); + + // отрезаем все что не body + Позиция = Найти(Текст, " 0 Тогда + Текст = Сред(Текст, Позиция + 5); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 5); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + КонецЕсли; + + Позиция = Найти(Текст, ""); + Если Позиция > 0 Тогда + Текст = Лев(Текст, Позиция - 1); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1); + КонецЕсли; + + // вырезаем скрипты + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 9); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 9); + Позиция = Найти(Текст, " 0 Цикл + ПозицияЗакрывающегоТега = Найти(Текст, ""); + Если ПозицияЗакрывающегоТега = 0 Тогда + // Не найден закрывающий тег - вырезаем оставшийся текст. + ПозицияЗакрывающегоТега = СтрДлина(Текст); + КонецЕсли; + Текст = Лев(Текст, Позиция - 1) + Сред(Текст, ПозицияЗакрывающегоТега + 8); + ИсходныйТекст = Лев(ИсходныйТекст, Позиция - 1) + Сред(ИсходныйТекст, ПозицияЗакрывающегоТега + 8); + Позиция = Найти(Текст, " 0 Цикл + Результат = Результат + Лев(ИсходныйТекст, Позиция-1); + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + Позиция = Найти(Текст, ">"); + Если Позиция > 0 Тогда + Текст = Сред(Текст, Позиция + 1); + ИсходныйТекст = Сред(ИсходныйТекст, Позиция + 1); + КонецЕсли; + Позиция = Найти(Текст, "<"); + КонецЦикла; + Результат = Результат + ИсходныйТекст; + МассивСтрок = РазложитьСтрокуВМассивПодстрок(Результат, Символы.ПС, Истина, Истина); + Возврат СокрЛП(СтрокаИзМассиваПодстрок(МассивСтрок, Символы.ПС)); +КонецФункции + +// Преобразует исходную строку в транслит. +&НаКлиенте +Функция СтрокаЛатиницей(Знач Строка) Экспорт + + Результат = ""; + + Соответствие = СоответствиеКириллицыИЛатиницы(); + + ПредыдущийСимвол = ""; + Для Позиция = 1 По СтрДлина(Строка) Цикл + Символ = Сред(Строка, Позиция, 1); + СимволЛатиницей = Соответствие[НРег(Символ)]; // Поиск соответствия без учета регистра. + Если СимволЛатиницей = Неопределено Тогда + // Другие символы остаются "как есть". + СимволЛатиницей = Символ; + Иначе + Если Символ = ВРег(Символ) Тогда + СимволЛатиницей = ТРег(СимволЛатиницей); // восстанавливаем регистр + КонецЕсли; + КонецЕсли; + Результат = Результат + СимволЛатиницей; + ПредыдущийСимвол = СимволЛатиницей; + КонецЦикла; + + Возврат Результат; +КонецФункции + +// Форматирует строку в соответствии с заданным шаблоном. +// Возможные значения тегов выделения: +// Строка - выделяет строку жирным шрифтом +//
Строка +// +// Пример: +// Минимальная версия программы 1.1. Обновите программу. +// +// Возвращаемое значение: +// ФорматированнаяСтрока +&НаКлиенте +Функция ФорматированнаяСтрока(Знач Строка) Экспорт + + СтрокиСВыделением = Новый СписокЗначений; + Пока Найти(Строка, "") <> 0 Цикл + НачалоВыделения = Найти(Строка, ""); + СтрокаДоОткрывающегоТега = Лев(Строка, НачалоВыделения - 1); + СтрокиСВыделением.Добавить(СтрокаДоОткрывающегоТега); + СтрокаПослеОткрывающегоТега = Сред(Строка, НачалоВыделения + 3); + КонецВыделения = Найти(СтрокаПослеОткрывающегоТега, ""); + ВыделенныйФрагмент = Лев(СтрокаПослеОткрывающегоТега, КонецВыделения - 1); + СтрокиСВыделением.Добавить(ВыделенныйФрагмент,, Истина); + СтрокаПослеВыделения = Сред(СтрокаПослеОткрывающегоТега, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + КонецЦикла; + СтрокиСВыделением.Добавить(Строка); + + СтрокиСоСсылками = Новый СписокЗначений; + Для Каждого ЧастьСтроки Из СтрокиСВыделением Цикл + + Строка = ЧастьСтроки.Значение; + + Если ЧастьСтроки.Пометка Тогда + СтрокиСоСсылками.Добавить(Строка,, Истина); + Продолжить; + КонецЕсли; + + НачалоВыделения = Найти(Строка, ""); + + Ссылка = СокрЛП(Лев(СтрокаПослеОткрывающегоТега, ЗакрывающийТег - 2)); + Если Лев(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 2, СтрДлина(Ссылка) - 1); + КонецЕсли; + Если Прав(Ссылка, 1) = """" Тогда + Ссылка = Сред(Ссылка, 1, СтрДлина(Ссылка) - 1); + КонецЕсли; + + СтрокаПослеСсылки = Сред(СтрокаПослеОткрывающегоТега, ЗакрывающийТег + 1); + КонецВыделения = Найти(СтрокаПослеСсылки, ""); + ТекстСсылки = Лев(СтрокаПослеСсылки, КонецВыделения - 1); + СтрокиСоСсылками.Добавить(ТекстСсылки, Ссылка); + + СтрокаПослеВыделения = Сред(СтрокаПослеСсылки, КонецВыделения + 4); + Строка = СтрокаПослеВыделения; + + НачалоВыделения = Найти(Строка, " 0 Тогда + Возврат Неопределено; + КонецЕсли; + ЗнакОтрицательный = Истина; + ИначеЕсли КодСимвола = 41 Тогда // Закрывающая скобка. + Если Не ЗнакОтрицательный Или Результат = 0 Тогда // Не было открывающей скобки или нет числа. + Возврат Неопределено; + КонецЕсли; + // Пропуск (действие не требуется). + ИначеЕсли КодСимвола = 44 Или КодСимвола = 46 Тогда // Запятая или точка. + Если ЗнаковПослеЗапятой <> -1 Тогда + Возврат Неопределено; // Разделитель уже был, следовательно это не число. + КонецЕсли; + ЗнаковПослеЗапятой = 0; // Запуск отсчета знаков после запятой. + ИначеЕсли КодСимвола > 47 И КодСимвола < 58 Тогда // Число. + Если ЗнаковПослеЗапятой <> -1 Тогда + ЗнаковПослеЗапятой = ЗнаковПослеЗапятой + 1; + КонецЕсли; + Число = КодСимвола - 48; + Результат = Результат * 10 + Число; + Иначе + Возврат Неопределено; + КонецЕсли; + КонецЦикла; + + Если ЗнаковПослеЗапятой > 0 Тогда + Результат = Результат / Pow(10, ЗнаковПослеЗапятой); + КонецЕсли; + Если ЗнакОтрицательный Тогда + Результат = -Результат; + КонецЕсли; + + Возврат Результат; +КонецФункции + +// Выполняет преобразование цифры в римскую нотацию. +// +// Параметры +// Цифра - Число - цифра от 0 до 9. +// РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка - Строка - символы, соответствующие римским цифрам. +// +// Возвращаемое значение +// Строка - цифра в римской нотации. +// +// Пример: +// ПреобразоватьЦифруВРимскуюНотацию(7,"I","V","X") = "VII". +// +&НаКлиенте +Функция ПреобразоватьЦифруВРимскуюНотацию(Цифра, РимскаяЕдиница, РимскаяПятерка, РимскаяДесятка) + + РимскаяЦифра=""; + Если Цифра = 1 Тогда + РимскаяЦифра = РимскаяЕдиница + ИначеЕсли Цифра = 2 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 3 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 4 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяПятерка; + ИначеЕсли Цифра = 5 Тогда + РимскаяЦифра = РимскаяПятерка; + ИначеЕсли Цифра = 6 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница; + ИначеЕсли Цифра = 7 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 8 Тогда + РимскаяЦифра = РимскаяПятерка + РимскаяЕдиница + РимскаяЕдиница + РимскаяЕдиница; + ИначеЕсли Цифра = 9 Тогда + РимскаяЦифра = РимскаяЕдиница + РимскаяДесятка; + КонецЕсли; + Возврат РимскаяЦифра; + +КонецФункции + +// Вставляет параметры в строку, учитывая, что в параметрах могут использоваться подстановочные слова %1, %2 и т.д. +&НаКлиенте +Функция ПодставитьПараметрыВСтрокуАльтернативныйАлгоритм(Знач СтрокаПодстановки, + Знач Параметр1, Знач Параметр2 = Неопределено, Знач Параметр3 = Неопределено, + Знач Параметр4 = Неопределено, Знач Параметр5 = Неопределено, Знач Параметр6 = Неопределено, + Знач Параметр7 = Неопределено, Знач Параметр8 = Неопределено, Знач Параметр9 = Неопределено) + + Результат = ""; + Позиция = Найти(СтрокаПодстановки, "%"); + Пока Позиция > 0 Цикл + Результат = Результат + Лев(СтрокаПодстановки, Позиция - 1); + СимволПослеПроцента = Сред(СтрокаПодстановки, Позиция + 1, 1); + ПодставляемыйПараметр = ""; + Если СимволПослеПроцента = "1" Тогда + ПодставляемыйПараметр = Параметр1; + ИначеЕсли СимволПослеПроцента = "2" Тогда + ПодставляемыйПараметр = Параметр2; + ИначеЕсли СимволПослеПроцента = "3" Тогда + ПодставляемыйПараметр = Параметр3; + ИначеЕсли СимволПослеПроцента = "4" Тогда + ПодставляемыйПараметр = Параметр4; + ИначеЕсли СимволПослеПроцента = "5" Тогда + ПодставляемыйПараметр = Параметр5; + ИначеЕсли СимволПослеПроцента = "6" Тогда + ПодставляемыйПараметр = Параметр6; + ИначеЕсли СимволПослеПроцента = "7" Тогда + ПодставляемыйПараметр = Параметр7 + ИначеЕсли СимволПослеПроцента = "8" Тогда + ПодставляемыйПараметр = Параметр8; + ИначеЕсли СимволПослеПроцента = "9" Тогда + ПодставляемыйПараметр = Параметр9; + КонецЕсли; + Если ПодставляемыйПараметр = "" Тогда + Результат = Результат + "%"; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 1); + Иначе + Результат = Результат + ПодставляемыйПараметр; + СтрокаПодстановки = Сред(СтрокаПодстановки, Позиция + 2); + КонецЕсли; + Позиция = Найти(СтрокаПодстановки, "%"); + КонецЦикла; + Результат = Результат + СтрокаПодстановки; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция СоответствиеКириллицыИЛатиницы() + // Транслитерация, используемая в загранпаспортах 1997-2010. + Соответствие = Новый Соответствие; + Соответствие.Вставить("а","a"); + Соответствие.Вставить("б","b"); + Соответствие.Вставить("в","v"); + Соответствие.Вставить("г","g"); + Соответствие.Вставить("д","d"); + Соответствие.Вставить("е","e"); + Соответствие.Вставить("ё","e"); + Соответствие.Вставить("ж","zh"); + Соответствие.Вставить("з","z"); + Соответствие.Вставить("и","i"); + Соответствие.Вставить("й","y"); + Соответствие.Вставить("к","k"); + Соответствие.Вставить("л","l"); + Соответствие.Вставить("м","m"); + Соответствие.Вставить("н","n"); + Соответствие.Вставить("о","o"); + Соответствие.Вставить("п","p"); + Соответствие.Вставить("р","r"); + Соответствие.Вставить("с","s"); + Соответствие.Вставить("т","t"); + Соответствие.Вставить("у","u"); + Соответствие.Вставить("ф","f"); + Соответствие.Вставить("х","kh"); + Соответствие.Вставить("ц","ts"); + Соответствие.Вставить("ч","ch"); + Соответствие.Вставить("ш","sh"); + Соответствие.Вставить("щ","shch"); + Соответствие.Вставить("ъ",""""); + Соответствие.Вставить("ы","y"); + Соответствие.Вставить("ь",""); // пропускается + Соответствие.Вставить("э","e"); + Соответствие.Вставить("ю","yu"); + Соответствие.Вставить("я","ya"); + + Возврат Соответствие; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// УСТАРЕВШИЕ ПРОЦЕДУРЫ И ФУНКЦИИ + +// Устарела. Следует использовать СтрокаИзМассиваПодстрок. +// +// Объединяет строки из массива в строку с разделителями. +// +// Параметры: +// Массив - Массив - массив строк которые необходимо объединить в одну строку; +// Разделитель - Строка - любой набор символов, который будет использован в качестве разделителя. +// +// Возвращаемое значение: +// Строка - строка с разделителями. +// +&НаКлиенте +Функция ПолучитьСтрокуИзМассиваПодстрок(Массив, Разделитель = ",") Экспорт + + // Возвращаемое значение функции. + Результат = ""; + + Для Каждого Элемент Из Массив Цикл + + Подстрока = ?(ТипЗнч(Элемент) = Тип("Строка"), Элемент, Строка(Элемент)); + + РазделительПодстрок = ?(ПустаяСтрока(Результат), "", Разделитель); + + Результат = Результат + РазделительПодстрок + Подстрока; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +// } Функции работы со строками + + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции +// } Helpers diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" new file mode 100644 index 000000000..443c89e1e --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" @@ -0,0 +1,10 @@ + + + + + Русский + Adopted + ru + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131.xml" new file mode 100644 index 000000000..d013e3010 --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131.xml" @@ -0,0 +1,24 @@ + + + + + Тестирование_ВнешниеФайлы1 + + + ru + Тестирование "Внешние файлы" + + + + true + true + + + + DataProcessor.ОткрытьВнешнийФайл + DataProcessor.СтроковыеУтилиты + + + + + \ No newline at end of file diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131/Ext/CommandInterface.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131/Ext/CommandInterface.xml" new file mode 100644 index 000000000..676f2b9db --- /dev/null +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Subsystems/\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265_\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\244\320\260\320\271\320\273\321\2131/Ext/CommandInterface.xml" @@ -0,0 +1,15 @@ + + + + + + false + + + + + false + + + + \ No newline at end of file From a03c06286f39af6908babe62547bb06603731fca Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 25 May 2020 20:07:18 +0300 Subject: [PATCH 050/421] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=20-=20=D1=8F=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D0=B2=D0=B0=D1=8E=20=D0=B2=D0=BD=D0=B5=D1=88=D0=BD=D0=B8=D0=B9?= =?UTF-8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=20"=D0=BF=D1=83=D1=82=D1=8C=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=B0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Открывает внешний файл на тест-клиенте с помощью расширения ОткрытиеВнешнихФайлов_VanessaADD, подключенного к ИБ тест-клиента. --- ...04\320\260\320\271\320\273\320\260.feature" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 "features/libraries/\320\244\320\260\320\271\320\273\321\213/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265 \320\262\320\275\320\265\321\210\320\275\320\265\320\263\320\276 \321\204\320\260\320\271\320\273\320\260.feature" diff --git "a/features/libraries/\320\244\320\260\320\271\320\273\321\213/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265 \320\262\320\275\320\265\321\210\320\275\320\265\320\263\320\276 \321\204\320\260\320\271\320\273\320\260.feature" "b/features/libraries/\320\244\320\260\320\271\320\273\321\213/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265 \320\262\320\275\320\265\321\210\320\275\320\265\320\263\320\276 \321\204\320\260\320\271\320\273\320\260.feature" new file mode 100644 index 000000000..19a2f7c4c --- /dev/null +++ "b/features/libraries/\320\244\320\260\320\271\320\273\321\213/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265 \320\262\320\275\320\265\321\210\320\275\320\265\320\263\320\276 \321\204\320\260\320\271\320\273\320\260.feature" @@ -0,0 +1,18 @@ +#language: ru +@tree +@ExportScenarios + +Функционал: Открытие внешнего файла + +@ТипШага: Файлы +@Описание: Подсценарий. Открывает внешний файл на тест-клиенте с помощью расширения ОткрытиеВнешнихФайлов_VanessaADD, подключенного к ИБ тест-клиента. Возможно указание пути относительного каталога проекта, например, "build/файл.epf". +@ПримерИспользования: И я открываю внешний файл "build\ВнешняяОбработка1.epf" + +Сценарий: Я открываю внешний файл "Путь нужного файла" + + Дано я буду выбирать внешний файл "Путь нужного файла" + Когда В командном интерфейсе я выбираю 'Тестирование "Внешние файлы"' 'Открыть внешний файл' + Тогда открылось окно 'Открыть внешний файл' + И я нажимаю кнопку выбора у поля "Путь файла" + Тогда открылось окно 'Открыть внешний файл' + И я нажимаю на кнопку 'Открыть файл' From 5dbb9c94b7f6fa60007f65328b8fc44d16989ebb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 25 May 2020 20:10:33 +0300 Subject: [PATCH 051/421] =?UTF-8?q?=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=D0=B8?= =?UTF-8?q?=D1=80=D1=83=D1=8E=20=D0=B1=D0=B8=D0=BD=D0=B0=D1=80=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index bc7266f3c..0eb8c59ba 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ tools/VideoTools/FrameShow.exe tools/VideoTools/KeyboardType.exe tools/VideoTools/MouseMove.exe doc/linux-private.md +*.cfe From f4291e53cd820deac266692007ecbf88aa4549a9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 26 May 2020 19:14:46 +0300 Subject: [PATCH 052/421] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20FAQ=2017.=20=D0=9A=D0=B0=D0=BA=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- F.A.Q.MD | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/F.A.Q.MD b/F.A.Q.MD index eb24d63ed..d66a28f3d 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -33,6 +33,7 @@ 14. [Можно ли использовать быстрый выбор из списков 1С в полях ссылочных реквизитов?](#14-можно-ли-использовать-быстрый-выбор-из-списков-1с-в-полях-ссылочных-реквизитов) 15. [Как использовать поиск\проверку содержимого в таблицах\динамических списках?](#15-как-использовать-поискпроверку-содержимого-в-таблицахдинамических-списках) 16. [Как фильтровать\включать отбор в таблицах\динамических списках?](#16-как-фильтроватьвключать-отбор-в-таблицахдинамических-списках) + 17. [Как проверить правильность проведения документа?](#17-как-проверить-правильность-проведения-документа) * **[Плагины](#плагины)** 1. [Как вызвать код плагина на сервере при запуске в управляемой форме?](#1-как-вызвать-код-плагина-на-сервере-при-запуске-в-управляемой-форме) @@ -413,6 +414,21 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу | Наименование | Содержит | Товар1 | ``` +### 17. Как проверить правильность проведения документа? + +Всегда проверять результаты проведения документа одним из 2х способов (желательно даже совместить их) +- наличие нового документа в форме списке +- проверкой отчетов, в которых видны результаты движений документа + - или отчет "движения документа" + - или бизнес-отчеты + - использовать шаги сравнения табличных документов с макетами по шаблону +- но из образцов\макетов отчетов нужно удалять уникальную слабо повторимую инфу - текущие даты, время, имена пользователей, номера\коды, заменяя их на * (шаблон) + +Полезные шаги + +- `Дано Табличный документ "РеквизитТабличныйДокумент" равен макету "ПутьМакета" по шаблону` +- `И область "R1C1:R10C10" табличного документа "РеквизитТабличныйДокумент" равна макету "ПутьМакета" по шаблону` + ## Плагины ### 1. Как вызвать код плагина на сервере при запуске в управляемой форме? From 6744489d9056763b83fcb712034108f20d7cfa1a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 31 May 2020 17:00:24 +0300 Subject: [PATCH 053/421] =?UTF-8?q?17.1=20=D0=9F=D1=80=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D1=80=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=20=D0=B8=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=D0=B8=D1=87=D0=B8=D1=8F=20=D0=B4=D0=BE=D0=BA?= =?UTF-8?q?=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B2=20=D1=84=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- F.A.Q.MD | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/F.A.Q.MD b/F.A.Q.MD index d66a28f3d..1431a6bd1 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -417,7 +417,7 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу ### 17. Как проверить правильность проведения документа? Всегда проверять результаты проведения документа одним из 2х способов (желательно даже совместить их) -- наличие нового документа в форме списке +- наличие нового документа в форме списке. см. п. 17.1 ниже. - проверкой отчетов, в которых видны результаты движений документа - или отчет "движения документа" - или бизнес-отчеты @@ -429,6 +429,25 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу - `Дано Табличный документ "РеквизитТабличныйДокумент" равен макету "ПутьМакета" по шаблону` - `И область "R1C1:R10C10" табличного документа "РеквизитТабличныйДокумент" равна макету "ПутьМакета" по шаблону` +#### 17.1 Пример проведения документа и проверка наличия документа в форме списка + +```gherkin +И я фиксирую номер документа после записи + И я нажимаю на кнопку 'Записать' + И я жду, что поле "Номер" перестанет быть пустым в течение 10 секунд + И я запоминаю значение поля с именем "Номер" как "НомерДокумента" +И я провожу документ + И я нажимаю на кнопку 'Провести и закрыть' + И я жду закрытия окна 'Реализация * от *' в течение 20 секунд +Тогда вижу новый документ с результатами тестирования + И Я устанавливаю фильтр на список: + | Организация | Равно | Первая | + | Контрагент | Равно | Основной покупатель | + Тогда таблица "Список" содержит строки: + | Номер | Организация | Контрагент | + | $НомерДокумента$ | Первая | Основной покупатель | +``` + ## Плагины ### 1. Как вызвать код плагина на сервере при запуске в управляемой форме? From bf72c2b217c89aba8bb3684a6d5aa65309fc0761 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 31 May 2020 17:24:54 +0300 Subject: [PATCH 054/421] =?UTF-8?q?=D0=92=D0=BE=D1=81=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB=20=D0=B7=D0=BD=D0=B0=D1=87=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index d4ef69ec5..704c7eeeb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@  # Vanessa Automation Driven Development +[![telegram](https://img.shields.io/badge/telegram-chat-green.svg)](https://t.me/vanessa_opensource) +[![Release](https://img.shields.io/github/release/vanessa-opensource/add.svg?style=flat)](https://github.com/vanessa-opensource/add/releases/latest) +[![GitHub Releases](https://img.shields.io/github/downloads/vanessa-opensource/add/latest/total?style=flat-square)](https://github.com/vanessa-opensource/add/releases) +[![GitHub All Releases](https://img.shields.io/github/downloads/vanessa-opensource/add/total?style=flat-square)](https://github.com/vanessa-opensource/add/releases) + - [Vanessa Automation Driven Development](#vanessa-automation-driven-development) From 106d9355fc94bfffbf0fda144148c59ac7519192 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 31 May 2020 17:28:49 +0300 Subject: [PATCH 055/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=D0=BB=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 704c7eeeb..c0bdbdd20 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ ## Введение -Продукт Vanessa-ADD (Vanessa Automation Driven Development) `(далее ADD)` представляет собой набор инструментов для проверки качества решений на платформе 1С:Предприятие. +Продукт Vanessa-ADD (Vanessa Automation Driven Development) `(далее Vanessa-ADD)` представляет собой набор инструментов для проверки качества решений на платформе 1С:Предприятие. Vanessa-ADD is a set of testing tools for [1C:Enterprise 8 platform](http://v8.1c.ru) - Tests/behavior (TDD & BDD) for 1С:Enterprise. @@ -56,7 +56,7 @@ Vanessa-ADD является наследником 2-х продуктов - [x ## Установка -Порядок установки ADD: +Порядок установки Vanessa-ADD: Автоматическая установка (через установщик пакетов OneScript ): From c74edb5a116a49819dad4381ab523e80e28e264e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 1 Jun 2020 16:46:04 +0300 Subject: [PATCH 056/421] =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=B5=D0=B7=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5-=D1=85=D0=B5=D0=BB=D0=BF=D0=B5=D1=80=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=88=D0=B0=D0=B3=D0=BE=D0=B2=20=D0=B2=D0=B8?= =?UTF-8?q?=D0=B4=D0=B0=20=D0=AF=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B8=D0=B2=D0=B0=D1=8E=20=D1=84=D0=B8=D0=BB=D1=8C?= =?UTF-8?q?=D1=82=D1=80=20=D0=BD=D0=B0=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE?= =?UTF-8?q?=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git "a/features/libraries/UITestRunner/step_definitions/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f8bfa559e..130074a7a 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/\320\244\320\270\320\273\321\214\321\202\321\200\320\244\320\276\321\200\320\274\321\213\320\241\320\277\320\270\321\201\320\272\320\260\320\255\320\272\321\201\320\277\320\276\321\200\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -121,7 +121,15 @@ ПолеЗначение.Активизировать(); ТЧ.ИзменитьСтроку(); - ПолеЗначение.ВвестиТекст(СтрокаФильтра.Кол3); + Попытка + ПолеЗначение.ВвестиТекст(СтрокаФильтра.Кол3); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + ОписаниеОшибки = Ванесса.СтрШаблон_("Не удалось ввести значение %1 в поле отбора. + |Возможно, не хватает права ""Ввод по строке"" для нужного метаданного. + |%2", СтрокаФильтра.Кол3, ОписаниеОшибки); + ВызватьИсключение ОписаниеОшибки; + КонецПопытки; Если НРег(СокрЛП(ВидСравненияТекст)) <> НРег(СокрЛП(СтрокаФильтра.Кол2)) Тогда Ванесса.Шаг("И в ТЧ ""КомпоновщикНастроекПользовательскиеНастройкиЭлемент*Отбор"" я активизирую поле ""Вид сравнения"""); From 343113ebb770b78245019e2d38cc379d6f28a8ac Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 1 Jun 2020 21:04:02 +0300 Subject: [PATCH 057/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 1464 ++++++++--------- 1 file changed, 732 insertions(+), 732 deletions(-) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cc70d8d13..55b9f30b8 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -351,7 +351,7 @@ ПолныйПуть = СтрокаФичи.ПолныйПуть; ИмяФайлаФичи = Неопределено; - Если Найти(НРег(ПолныйПуть),".feature") > 0 Тогда + Если Найти(НРег(ПолныйПуть), ".feature") > 0 Тогда ИмяФайлаФичи = ИмяФайлаФичиИзПолногоПути(ПолныйПуть); КонецЕсли; @@ -508,7 +508,7 @@ ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить("Язык", Объект.ЯзыкГенератораGherkin); - ФормаДобавитьШаг = ПолучитьФорму("ВнешняяОбработка.bddRunner.Форма.ИсследовательФормы", ПараметрыФормы,ЭтаФорма); + ФормаДобавитьШаг = ПолучитьФорму("ВнешняяОбработка.bddRunner.Форма.ИсследовательФормы", ПараметрыФормы, ЭтаФорма); ФормаДобавитьШаг.Открыть(); КонецПроцедуры @@ -524,7 +524,7 @@ &НаКлиенте Процедура ДляВызоваКонфигуратора(Команда) - Зн = 1/0; + Зн = 1 / 0; КонецПроцедуры &НаКлиенте @@ -560,11 +560,11 @@ Для Каждого Элем Из ПараметрыФайла Цикл Если Лев(Элем.Ключ, 11) = "ЗаписьВидео" Тогда - Если Найти(Элем.Ключ,"ВодянойЗнак") > 0 Тогда + Если Найти(Элем.Ключ, "ВодянойЗнак") > 0 Тогда Продолжить; КонецЕсли; - Если Найти(Элем.Ключ,"СловарьЗаменСписок") > 0 Тогда + Если Найти(Элем.Ключ, "СловарьЗаменСписок") > 0 Тогда Объект.ЗаписьВидеоСловарьЗамен.Очистить(); Для Каждого ПутьКСловарюЗамен Из Элем.Значение Цикл Объект.ЗаписьВидеоСловарьЗамен.Добавить(ПреобразоватьПутьСТочкамиКНормальномуПути(ПутьКСловарюЗамен)); @@ -573,12 +573,12 @@ Продолжить; КонецЕсли; - Если Найти(Элем.Ключ,"СловарьЗамен") > 0 Тогда + Если Найти(Элем.Ключ, "СловарьЗамен") > 0 Тогда Объект.ЗаписьВидеоСловарьЗамен.Очистить(); Объект.ЗаписьВидеоСловарьЗамен.Добавить(ПреобразоватьПутьСТочкамиКНормальномуПути(Элем.Значение)); Продолжить; КонецЕсли; - Если Найти(Элем.Ключ,"КаталогДляВременныхФайлов") > 0 Тогда + Если Найти(Элем.Ключ, "КаталогДляВременныхФайлов") > 0 Тогда ВременныйФайл = Новый Файл(ПолучитьИмяВременногоФайла()); ПутьВременногоКаталогаДляВидео = ВременныйФайл.Путь + "VideoTemp" + ПолучитьРазделительПути() + ВременныйФайл.Имя; @@ -707,7 +707,7 @@ ПараметрыФормы.Вставить("МакетШаблонПеревода", МакетШаблонПеревода); ПараметрыФормы.Вставить("ДвоичныеДанныеФайлПеревода", ПолучитьФайлыПеревода()); - ФормаДобавитьШаг = ПолучитьФорму("ВнешняяОбработка.bddRunner.Форма.ВыборИзвестногоШага", ПараметрыФормы,ЭтаФорма); + ФормаДобавитьШаг = ПолучитьФорму("ВнешняяОбработка.bddRunner.Форма.ВыборИзвестногоШага", ПараметрыФормы, ЭтаФорма); ФормаДобавитьШаг.Открыть(); КонецПроцедуры @@ -829,18 +829,18 @@ НомСтр = НомСтр + 1; Стр = СокрЛП(СтрокаМассива); - Если Лев(Стр,1) = "|" Тогда - Стр = Сред(Стр,2); + Если Лев(Стр, 1) = "|" Тогда + Стр = Сред(Стр, 2); КонецЕсли; - Если Прав(Стр,1) = "|" Тогда - Стр = Лев(Стр,СтрДлина(Стр)-1); + Если Прав(Стр, 1) = "|" Тогда + Стр = Лев(Стр, СтрДлина(Стр) - 1); КонецЕсли; - МассивЗначений = РазложитьСтрокуВМассивПодстрокКлиент(Стр,"|"); + МассивЗначений = РазложитьСтрокуВМассивПодстрокКлиент(Стр, "|"); НомКол = 0; - Для Ккк = 0 По МассивЗначений.Количество()-1 Цикл + Для Ккк = 0 По МассивЗначений.Количество() - 1 Цикл НомКол = НомКол + 1; ТекЗначение = СокрЛП(МассивЗначений[Ккк]); @@ -848,17 +848,17 @@ ТекЗначение = ""; КонецЕсли; - Если Лев(ТекЗначение,1) = "'" И Прав(ТекЗначение,1) = "'" Тогда - ТекЗначение = Сред(ТекЗначение,2); - ТекЗначение = Лев(ТекЗначение,СтрДлина(ТекЗначение)-1); + Если Лев(ТекЗначение, 1) = "'" И Прав(ТекЗначение, 1) = "'" Тогда + ТекЗначение = Сред(ТекЗначение, 2); + ТекЗначение = Лев(ТекЗначение, СтрДлина(ТекЗначение) - 1); КонецЕсли; - ТекЗначение = СтрЗаменить(ТекЗначение,"\n",Символы.ПС); + ТекЗначение = СтрЗаменить(ТекЗначение, "\n", Символы.ПС); - ТабДок.Область(НомСтр,НомКол,НомСтр,НомКол).Текст = ТекЗначение; + ТабДок.Область(НомСтр, НомКол, НомСтр, НомКол).Текст = ТекЗначение; Если НомСтр = 1 Тогда - ТабДок.Область(НомСтр,НомКол,НомСтр,НомКол).ШиринаКолонки = 12; + ТабДок.Область(НомСтр, НомКол, НомСтр, НомКол).ШиринаКолонки = 12; КонецЕсли; КонецЦикла; КонецЦикла; @@ -1522,7 +1522,7 @@ НайденныеСтроки = ДанныеКлиентовТестирования.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() > 1 Тогда ТекстСообщения = "В таблице подключений уже есть подключение с именем <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Элемент.ТекущиеДанные.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Элемент.ТекущиеДанные.Имя); Сообщить(ТекстСообщения); Отказ = Истина; КонецЕсли; @@ -1717,20 +1717,20 @@ ИдСледующегоШага = Неопределено; Если ТекИД_ШагаВМассиве >= 0 Тогда - Если (МассивСценариевДляВыполнения[ТекИД_СценарияВМассиве].Шаги.Количество()-1) >= ТекИД_ШагаВМассиве Тогда + Если (МассивСценариевДляВыполнения[ТекИД_СценарияВМассиве].Шаги.Количество() - 1) >= ТекИД_ШагаВМассиве Тогда ТекШаг = МассивСценариевДляВыполнения[ТекИД_СценарияВМассиве].Шаги[ТекИД_ШагаВМассиве]; ИдСледующегоШага = ПолучитьИдСледующегоШага(ТекШаг); КонецЕсли; КонецЕсли; - ПерейтиКВыполнениюСледующегоШага(Истина, Истина,ИдСледующегоШага); + ПерейтиКВыполнениюСледующегоШага(Истина, Истина, ИдСледующегоШага); КонецПроцедуры &НаКлиенте Процедура УстановитьРезультатУсловия(Результат) Экспорт Если ТипЗнч(Результат) <> Тип("Булево") Тогда ТекстСообщения = "В процедуру <УстановитьРезультатУсловия> передан неверный тип параметра <%1>. Ожидаемый тип: Булево."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Результат); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Результат); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -1779,7 +1779,7 @@ ТекущаяСтрокаДереваИдСтроки = Неопределено; Если Элементы.ДеревоТестов.ТекущиеДанные <> Неопределено Тогда НужнаяСтрока = Неопределено; - ТекущаяСтрокаДереваИдСтроки = ОпределитьИдИсполняемойСтрокиДерева(Элементы.ДеревоТестов.ТекущиеДанные,НужнаяСтрока); + ТекущаяСтрокаДереваИдСтроки = ОпределитьИдИсполняемойСтрокиДерева(Элементы.ДеревоТестов.ТекущиеДанные, НужнаяСтрока); Если Объект.РежимВыполненияОдногоШага Тогда Если ТекущаяСтрокаДереваИдСтроки <> Элементы.ДеревоТестов.ТекущиеДанные.ИдСтроки Тогда Элементы.ДеревоТестов.ТекущаяСтрока = НужнаяСтрока.ПолучитьИдентификатор(); @@ -1980,7 +1980,7 @@ ЭтоПример = Ложь; Если СтрокаСценария.Тип <> "Сценарий" Тогда ЭтоШагКонтекста = Ложь; - СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаСценария, ЭтоПример,ЭтоШагКонтекста); + СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаСценария, ЭтоПример, ЭтоШагКонтекста); Если СтрокаСценария = Неопределено Тогда Сообщить("Не найден строка сценария."); Возврат; @@ -2010,7 +2010,7 @@ ЭтоПример = Ложь; Если СтрокаСценария.Тип <> "Сценарий" Тогда ЭтоШагКонтекста = Ложь; - СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаСценария, ЭтоПример,ЭтоШагКонтекста); + СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаСценария, ЭтоПример, ЭтоШагКонтекста); Если СтрокаСценария = Неопределено Тогда Сообщить("Не найден строка сценария."); Возврат; @@ -2097,7 +2097,7 @@ // ТекстСообщения - Строка - сообщение для пользователя // Стаутс - СтатусСообщения // -Процедура ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт +Процедура ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт Если Статус = СтатусСообщения.Важное ИЛИ Статус = СтатусСообщения.ОченьВажное Тогда @@ -2136,7 +2136,7 @@ &НаКлиенте Функция ПолучитьТекстСообщения(Знач Сообщение) - Если Лев(Сообщение,1) = "$" и Прав(Сообщение,1) = "$" Тогда + Если Лев(Сообщение, 1) = "$" и Прав(Сообщение, 1) = "$" Тогда РасшифровкаСлужебногоСообщения = ТекстСообщенийПользователю[Сообщение]; Если ЗначениеЗаполнено(РасшифровкаСлужебногоСообщения) Тогда Сообщение = РасшифровкаСлужебногоСообщения; @@ -2191,13 +2191,13 @@ &НаКлиенте Процедура ОчиститьКешАктивнойТаблицыTestClient() Экспорт - ОбъектКонтекст.Вставить("АктивнаяТаблицаTestClient",Новый Структура("ИмяТаблицы,Значение",Неопределено,Неопределено)); + ОбъектКонтекст.Вставить("АктивнаяТаблицаTestClient", Новый Структура("ИмяТаблицы,Значение", Неопределено, Неопределено)); КонецПроцедуры &НаКлиенте -Процедура СохранитьВКешТаблицуTestClient(ИмяТаблицы,Таблица) Экспорт +Процедура СохранитьВКешТаблицуTestClient(ИмяТаблицы, Таблица) Экспорт Если ТипЗнч(Таблица) = Тип("ТестируемаяТаблицаФормы") Тогда - ОбъектКонтекст.Вставить("АктивнаяТаблицаTestClient",Новый Структура("ИмяТаблицы,Значение",ИмяТаблицы,Таблица)); + ОбъектКонтекст.Вставить("АктивнаяТаблицаTestClient", Новый Структура("ИмяТаблицы,Значение", ИмяТаблицы, Таблица)); КонецЕсли; КонецПроцедуры @@ -2205,8 +2205,8 @@ Функция ПолучитьКорректноеЗначениеДляРаботыСПолем(Знач Значение) Экспорт Если ТипЗнч(Значение) = Тип("Число") Тогда Значение = XMLСтрока(Значение); - ИначеЕсли Лев(Значение,2) = "$$" и Прав(Значение,2) = "$$" Тогда - ИмяПеременной = Сред(Значение,3,СтрДлина(Значение)-4); + ИначеЕсли Лев(Значение, 2) = "$$" и Прав(Значение, 2) = "$$" Тогда + ИмяПеременной = Сред(Значение, 3, СтрДлина(Значение) - 4); Попытка ЕстьТакаяПеременная = ОбъектКонтекстСохраняемый.Свойство(ИмяПеременной); @@ -2222,7 +2222,7 @@ Если СохраненноеЗначение = Неопределено Тогда ТекстСообщения = "Не смог найти сохранненное значение по переменой <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяПеременной); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяПеременной); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -2232,8 +2232,8 @@ КонецФункции &НаКлиенте -Функция СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclient(ОжидаемаяТаблица,ТаблицаTestClient,СтрокаОшибки) Экспорт - Возврат СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclientСервер(ОжидаемаяТаблица,ТаблицаTestClient,СтрокаОшибки); +Функция СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclient(ОжидаемаяТаблица, ТаблицаTestClient, СтрокаОшибки) Экспорт + Возврат СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclientСервер(ОжидаемаяТаблица, ТаблицаTestClient, СтрокаОшибки); КонецФункции &НаКлиенте @@ -2243,7 +2243,7 @@ &НаКлиенте Функция НайтиОкноTestClientПоЗаголовку(ЗаголовокОкна) Экспорт - Возврат ОбъектКонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокОкна); + Возврат ОбъектКонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"), ЗаголовокОкна); КонецФункции &НаКлиенте @@ -2252,11 +2252,11 @@ ОкноVB = Неопределено; Для Каждого ОкноИзМассива Из МассивОкон Цикл - Если Найти(ОкноИзМассива.Заголовок,"autotest") > 0 Тогда + Если Найти(ОкноИзМассива.Заголовок, "autotest") > 0 Тогда Продолжить; КонецЕсли; - Если Найти(ОкноИзМассива.Заголовок,"Vanessa ADD") > 0 Тогда + Если Найти(ОкноИзМассива.Заголовок, "Vanessa ADD") > 0 Тогда ОкноVB = ОкноИзМассива; Прервать; КонецЕсли; @@ -2272,19 +2272,19 @@ &НаКлиенте Функция НайтиРеквизитОткрытойФормыПоЗаголовку(ИмяРеквизита, ИскатьПоИмени = Ложь, - ВызыватьИсключение = Истина, ТипПоля = Неопределено,ДопПараметры = Неопределено) Экспорт + ВызыватьИсключение = Истина, ТипПоля = Неопределено, ДопПараметры = Неопределено) Экспорт Нашли = Ложь; МассивФорм = НайтиФормыТекущегоОкнаTestClient(); ПолеРеквизит = Неопределено; - НайтиРеквизитВМассивеФорм(МассивФорм,ПолеРеквизит,ИмяРеквизита,ИскатьПоИмени,ТипПоля,ДопПараметры); + НайтиРеквизитВМассивеФорм(МассивФорм, ПолеРеквизит, ИмяРеквизита, ИскатьПоИмени, ТипПоля, ДопПараметры); Если НЕ Версия8311ИлиВыше И ПолеРеквизит = Неопределено Тогда //проверим, что возможно есть окно, которое некорректно определяется как активное окно МассивФорм = НайтиФормыОкнаИзКонтекста(); Если МассивФорм <> Неопределено Тогда - НайтиРеквизитВМассивеФорм(МассивФорм,ПолеРеквизит,ИмяРеквизита,ИскатьПоИмени,ТипПоля,ДопПараметры); + НайтиРеквизитВМассивеФорм(МассивФорм, ПолеРеквизит, ИмяРеквизита, ИскатьПоИмени, ТипПоля, ДопПараметры); КонецЕсли; КонецЕсли; @@ -2299,7 +2299,7 @@ Иначе ТекстСообщения = "Элемента формы с заголовком <%1> не найдено."; КонецЕсли; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяРеквизита); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяРеквизита); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; @@ -2343,7 +2343,7 @@ КонецФункции &НаКлиенте -Функция ПолучитьЗначениеРеквизитаОткрытойФормыПоЗаголовку(ИмяРеквизита, ИскатьПоИмени = Ложь,ДопПараметры = Неопределено) Экспорт +Функция ПолучитьЗначениеРеквизитаОткрытойФормыПоЗаголовку(ИмяРеквизита, ИскатьПоИмени = Ложь, ДопПараметры = Неопределено) Экспорт ПолеРеквизит = ПолучитьЭлементФормыИзКешЕслиЭтоВозможно(ИмяРеквизита); Если ПолеРеквизит <> Неопределено Тогда Возврат ПолучитьПредставлениеДанныхЭлементаФормы(ПолеРеквизит); @@ -2383,13 +2383,13 @@ Если МассивЭлементов.Количество() > 1 Тогда ВывестиСообщениеОТомЧтоПоЗаголовкуНайденоБольшеОдногоЭлемента(МассивЭлементов, ИмяРеквизита); ТекстСообщения = "Найдено более одного поля формы с заголовком <%1>. Рекомендуется искать элемент по имени."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяРеквизита); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяРеквизита); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; КонецЕсли; ПолеРеквизит = МассивЭлементов[0]; - СохранитьВКешТаблицуTestClient(ИмяРеквизита,ПолеРеквизит); + СохранитьВКешТаблицуTestClient(ИмяРеквизита, ПолеРеквизит); Возврат ПолучитьПредставлениеДанныхЭлементаФормы(ПолеРеквизит); КонецЦикла; @@ -2404,7 +2404,7 @@ Иначе ТекстСообщения = "Элемента формы с заголовком <%1> не найдено."; КонецЕсли; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяРеквизита); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяРеквизита); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; @@ -2413,11 +2413,11 @@ КонецФункции &НаКлиенте -Функция НайтиРеквизитТаблицы(ИмяТЧ,ИмяРеквизита,ИскатьПоИмени = Ложь) Экспорт +Функция НайтиРеквизитТаблицы(ИмяТЧ, ИмяРеквизита, ИскатьПоИмени = Ложь) Экспорт ТЧ = НайтиТЧПоИмени(ИмяТЧ); Если ИскатьПоИмени Тогда - ПолеРеквизит = ТЧ.НайтиОбъект(Тип("ТестируемоеПолеФормы"),, ИмяРеквизита); + ПолеРеквизит = ТЧ.НайтиОбъект(Тип("ТестируемоеПолеФормы"), , ИмяРеквизита); Иначе ПолеРеквизит = ТЧ.НайтиОбъект(Тип("ТестируемоеПолеФормы"), ИмяРеквизита); КонецЕсли; @@ -2431,7 +2431,7 @@ КонецФункции &НаКлиенте -Функция НайтиТЧПоИмени(ИмяТЧ, НужнаяФорма = Неопределено, ИскатьПоИмени = Истина,ВызыватьИсключение = Истина) Экспорт +Функция НайтиТЧПоИмени(ИмяТЧ, НужнаяФорма = Неопределено, ИскатьПоИмени = Истина, ВызыватьИсключение = Истина) Экспорт Если ОбъектКонтекст.Свойство("АктивнаяТаблицаTestClient") Тогда Если ОбъектКонтекст.АктивнаяТаблицаTestClient <> Неопределено Тогда Если ОбъектКонтекст.АктивнаяТаблицаTestClient.ИмяТаблицы = ИмяТЧ Тогда @@ -2460,7 +2460,7 @@ КонецЕсли; КонецЕсли; - ТЧ = НайтиТЧВДаннойФорме(ИмяТЧ,НужнаяФорма,ИскатьПоИмени); + ТЧ = НайтиТЧВДаннойФорме(ИмяТЧ, НужнаяФорма, ИскатьПоИмени); Если НужнаяФорма = Неопределено или ТЧ = Неопределено Тогда //иногда 1С некорректно отдаёт текущее окно, тогда будем искать во всех окнах @@ -2469,7 +2469,7 @@ Попытка ОкноПриложения = ПолучитьАктивноеОкноИзКонтекста(); НужнаяФорма = ОкноПриложения.НайтиОбъект(Тип("ТестируемаяФорма")); - ТЧ = НайтиТЧВДаннойФорме(ИмяТЧ,НужнаяФорма,ИскатьПоИмени); + ТЧ = НайтиТЧВДаннойФорме(ИмяТЧ, НужнаяФорма, ИскатьПоИмени); Исключение КонецПопытки; @@ -2482,22 +2482,22 @@ Если ТЧ = Неопределено и ВызыватьИсключение Тогда ТекстСообщения = "Таблица формы с именем <%1> не найдена."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяТЧ); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяТЧ); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; КонецЕсли; Если ТЧ <> Неопределено Тогда - ОбъектКонтекст.Вставить("ТекущаяТЧ",ТЧ); + ОбъектКонтекст.Вставить("ТекущаяТЧ", ТЧ); КонецЕсли; - СохранитьВКешТаблицуTestClient(ИмяТЧ,ТЧ); + СохранитьВКешТаблицуTestClient(ИмяТЧ, ТЧ); Возврат ТЧ; КонецФункции &НаКлиенте -Процедура ЗапомнитьАктивноеОкно(АктивноеОкно,ДопПараметры = Неопределено) Экспорт +Процедура ЗапомнитьАктивноеОкно(АктивноеОкно, ДопПараметры = Неопределено) Экспорт Если ТипЗнч(ДопПараметры) = Тип("Структура") Тогда Если ДопПараметры.Свойство("ЗапомнитьАктивноеОкно") Тогда Если Не ДопПараметры.ЗапомнитьАктивноеОкно Тогда @@ -2508,9 +2508,9 @@ Если АктивноеОкно <> Неопределено Тогда Если ОбъектКонтекст.Свойство("АктивноеОкно") Тогда - ОбъектКонтекст.Вставить("ПредыдущееАктивноеОкно",ОбъектКонтекст.АктивноеОкно); + ОбъектКонтекст.Вставить("ПредыдущееАктивноеОкно", ОбъектКонтекст.АктивноеОкно); КонецЕсли; - ОбъектКонтекст.Вставить("АктивноеОкно",АктивноеОкно); + ОбъектКонтекст.Вставить("АктивноеОкно", АктивноеОкно); КонецЕсли; КонецПроцедуры @@ -2540,7 +2540,7 @@ КонецЕсли; АктивноеОкно = ОбъектКонтекстСохраняемый.ТестовоеПриложение.ПолучитьАктивноеОкно(); - ЗапомнитьАктивноеОкно(АктивноеОкно,ДопПараметры); + ЗапомнитьАктивноеОкно(АктивноеОкно, ДопПараметры); Возврат АктивноеОкно; КонецФункции @@ -2581,7 +2581,7 @@ КонецЕсли; МассивФорм = ОкноПриложения.НайтиОбъекты(Тип("ТестируемаяФорма")); Если ДопПараметры <> Неопределено Тогда - ДопПараметры.Вставить("АктивноеОкно",ОкноПриложения); + ДопПараметры.Вставить("АктивноеОкно", ОкноПриложения); КонецЕсли; Возврат МассивФорм; КонецФункции @@ -2647,7 +2647,7 @@ ПоляФормы = НужноеОкно.НайтиОбъекты(Тип("ТестируемоеПолеФормы")); Если ПоляФормы.Количество() = 0 Тогда ТекстСообщения = "У окна <%1> не найдено ни одного элемента с типом <ТестируемоеПолеФормы>."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",НужноеОкно.Заголовок); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", НужноеОкно.Заголовок); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -2693,7 +2693,7 @@ Если НужнаяФорма = Неопределено Тогда ТекстСообщения = "Форма с заголовком <%1> не найдена."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФормы); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФормы); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -2723,60 +2723,60 @@ КонецФункции &НаКлиенте -Процедура ПолучитьПараметрыОбластиМакета(Знач ИмяОбласти,НачСтр,НачКол,КолСтр,КолКол) Экспорт +Процедура ПолучитьПараметрыОбластиМакета(Знач ИмяОбласти, НачСтр, НачКол, КолСтр, КолКол) Экспорт ИмяОбластиОригинал = ИмяОбласти; ИмяОбласти = СокрЛП(ВРег(ИмяОбласти)); - Поз = Найти(ИмяОбласти,"R"); + Поз = Найти(ИмяОбласти, "R"); Если Поз = 0 Тогда ТекстСообщения = "Неверный формат области <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяОбластиОригинал); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяОбластиОригинал); ВызватьИсключение ТекстСообщения; КонецЕсли; - ИмяОбласти = Сред(ИмяОбласти,Поз+1); - Поз = Найти(ИмяОбласти,"C"); + ИмяОбласти = Сред(ИмяОбласти, Поз + 1); + Поз = Найти(ИмяОбласти, "C"); Если Поз = 0 Тогда ТекстСообщения = "Неверный формат области <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяОбластиОригинал); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяОбластиОригинал); ВызватьИсключение ТекстСообщения; КонецЕсли; - НачСтр = Число(Лев(ИмяОбласти,Поз-1)); + НачСтр = Число(Лев(ИмяОбласти, Поз - 1)); - ИмяОбласти = Сред(ИмяОбласти,Поз+1); - Поз = Найти(ИмяОбласти,":"); + ИмяОбласти = Сред(ИмяОбласти, Поз + 1); + Поз = Найти(ИмяОбласти, ":"); Если Поз = 0 Тогда КолСтр = НачСтр; - Поз = Найти(ИмяОбластиОригинал,"C"); - НачКол = Число(Сред(ИмяОбластиОригинал,Поз+1)); + Поз = Найти(ИмяОбластиОригинал, "C"); + НачКол = Число(Сред(ИмяОбластиОригинал, Поз + 1)); КолКол = НачКол; Возврат; КонецЕсли; - НачКол = Число(Лев(ИмяОбласти,Поз-1)); + НачКол = Число(Лев(ИмяОбласти, Поз - 1)); - ИмяОбласти = Сред(ИмяОбласти,Поз+1); + ИмяОбласти = Сред(ИмяОбласти, Поз + 1); ИмяОбласти = СокрЛП(ВРег(ИмяОбласти)); - Поз = Найти(ИмяОбласти,"R"); + Поз = Найти(ИмяОбласти, "R"); Если Поз = 0 Тогда ТекстСообщения = "Неверный формат области <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяОбластиОригинал); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяОбластиОригинал); ВызватьИсключение ТекстСообщения; КонецЕсли; //вторая часть, после символа : - ИмяОбласти = Сред(ИмяОбласти,Поз+1); - Поз = Найти(ИмяОбласти,"C"); + ИмяОбласти = Сред(ИмяОбласти, Поз + 1); + Поз = Найти(ИмяОбласти, "C"); Если Поз = 0 Тогда ТекстСообщения = "Неверный формат области <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяОбластиОригинал); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяОбластиОригинал); ВызватьИсключение ТекстСообщения; КонецЕсли; - КолСтр = Число(Лев(ИмяОбласти,Поз-1))-НачСтр+1; + КолСтр = Число(Лев(ИмяОбласти, Поз - 1)) - НачСтр + 1; - ИмяОбласти = Сред(ИмяОбласти,Поз+1); - КолКол = Число(ИмяОбласти)-НачКол+1; + ИмяОбласти = Сред(ИмяОбласти, Поз + 1); + КолКол = Число(ИмяОбласти) - НачКол + 1; КонецПроцедуры &НаКлиенте @@ -2796,7 +2796,7 @@ СделатьСообщение("Запись действий пользователя начата."); Исключение ТекстСообщения = "НачатьЗаписьДействийПользователя:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); СделатьСообщение(ТекстСообщения); Возврат; КонецПопытки; @@ -2809,7 +2809,7 @@ СделатьСообщение("Запись действий пользователя приостановлена."); Исключение ТекстСообщения = "НачатьЗаписьДействийПользователя:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); СделатьСообщение(ТекстСообщения); Возврат; КонецПопытки; @@ -2817,11 +2817,11 @@ ИначеЕсли Элементы.кнПродолжитьЗаписьДействийПользователя.Видимость = Истина Тогда Попытка - ОбъектКонтекстСохраняемый.ТестовоеПриложение.ПродолжитьЗаписьЖурналаДействийПользователя();; + ОбъектКонтекстСохраняемый.ТестовоеПриложение.ПродолжитьЗаписьЖурналаДействийПользователя(); ; СделатьСообщение("Запись действий пользователя продолжена."); Исключение ТекстСообщения = "НачатьЗаписьДействийПользователя:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); СделатьСообщение(ТекстСообщения); Возврат; КонецПопытки; @@ -2852,7 +2852,7 @@ КонецЦикла; КонецЦикла; - Для Ррр = 0 по (МассивТаблицы.Количество()-1) Цикл + Для Ррр = 0 по (МассивТаблицы.Количество() - 1) Цикл СтрТзн = МассивТаблицы[Ррр]; МассивПараметров = ОпределитьПараметрыВСтрокеПримера(СтрТзн); СтрПараметров = "| "; @@ -2881,7 +2881,7 @@ СделатьСообщение("Запись действий пользователя закончена."); Исключение ТекстСообщения = "ЗавершитьЗаписьДействийПользователя:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); Сообщить(ТекстСообщения); Возврат; КонецПопытки; @@ -2935,7 +2935,7 @@ Попытка НужноеОкно = ОбъектКонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения") - ,"1С:Предприятие. Доступ к информационной базе"); + , "1С:Предприятие. Доступ к информационной базе"); Исключение Возврат Ложь; КонецПопытки; @@ -2977,10 +2977,10 @@ Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда //там должна быть строка вида 48000-48020 - МассивЗначений = РазложитьСтрокуВМассивПодстрокКлиент(Объект.ДиапазонПортовTestclient,"-"); + МассивЗначений = РазложитьСтрокуВМассивПодстрокКлиент(Объект.ДиапазонПортовTestclient, "-"); Если МассивЗначений.Количество() <> 2 Тогда ТекстСообщения = "Указан неверный диапазон портов: <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Объект.ДиапазонПортовTestclient); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Объект.ДиапазонПортовTestclient); ВызватьИсключение ТекстСообщения; КонецЕсли; НачалоДиапазонаПортов = Число(МассивЗначений[0]); @@ -3004,7 +3004,7 @@ КонецФункции // ПолучитьСвободныйПорт() &НаКлиенте -Функция ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующий(ДопПараметр = "",СтрокаОшибки = Неопределено) Экспорт +Функция ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующий(ДопПараметр = "", СтрокаОшибки = Неопределено) Экспорт ТекущиеДанные = Элементы.ДанныеКлиентовТестирования.ТекущиеДанные; Если ТекущиеДанные = Неопределено Тогда @@ -3022,7 +3022,7 @@ ДанныеЗапускаКлиентаТестирования.ДопПараметры = ДопПараметр; - РезультатПодключения = ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования,СтрокаОшибки); + РезультатПодключения = ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования, СтрокаОшибки); Возврат РезультатПодключения; @@ -3035,7 +3035,7 @@ //если использовался метод ЗаписатьСодержимоеВФайл - будет взята только часть макета, согласно указанных параметров чтения макета //параметры чтения макета задаются через шаг: Тогда Я задаю системные параметры считывания макета НачСтр 1 НачКол 1 КолСтр 5 КолКол 3 &НаКлиенте -Функция ПолучитьТабДокИзTestClientКакМассив(ЭлементФормы,ДопПараметры = Неопределено) Экспорт +Функция ПолучитьТабДокИзTestClientКакМассив(ЭлементФормы, ДопПараметры = Неопределено) Экспорт СистемнаяИнформация = Новый СистемнаяИнформация; Если НЕ ТекущийTestclientЭтоWebКлиент И ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.8.0") Тогда //значит можно сохранить макет в файл и пробросить в TestManager @@ -3066,13 +3066,13 @@ Sleep(1); КонецЦикла; Иначе - Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы,ДопПараметры); + Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы, ДопПараметры); КонецЕсли; Если Не ФайлСуществуетКомандаСистемы(ИмяВременногоФайла) Тогда //значит либо файл не успел сохраниться, либо ТабличныйДокумент не доступен для редактирования, и просто не может сохранить файл //значит надо считать ТабличныйДокумент по ячейкам - Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы,ДопПараметры); + Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы, ДопПараметры); КонецЕсли; ПутьМакетаИлиДвоичныеДанные = Неопределено; @@ -3113,7 +3113,7 @@ Возврат ТабДок; Иначе //значит надо считывать макет по каждой ячейке - Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы,ДопПараметры); + Возврат МакетTestClientПоЯчейкеКакМассив(ЭлементФормы, ДопПараметры); КонецЕсли; КонецФункции @@ -3122,7 +3122,7 @@ //для web клиента и для платформы меньше 8.3.8 - считывает макет по ячейкам, согласно указанных параметров чтения макета //параметры чтения макета задаются через шаг: Тогда Я задаю системные параметры считывания макета НачСтр 1 НачКол 1 КолСтр 5 КолКол 3 &НаКлиенте -Функция ПолучитьТабличныйДокументTestClient(ЭлементФормы,ДопПараметры = Неопределено) Экспорт +Функция ПолучитьТабличныйДокументTestClient(ЭлементФормы, ДопПараметры = Неопределено) Экспорт СистемнаяИнформация = Новый СистемнаяИнформация; Если НЕ ТекущийTestclientЭтоWebКлиент И ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.8.0") Тогда //значит можно сохранить макет в файл и пробросить в TestManager @@ -3153,13 +3153,13 @@ Sleep(1); КонецЦикла; Иначе - Возврат ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы,ДопПараметры); + Возврат ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы, ДопПараметры); КонецЕсли; Если Не ФайлСуществуетКомандаСистемы(ИмяВременногоФайла) Тогда //значит либо файл не успел сохраниться, либо ТабличныйДокумент не доступен для редактирования, и просто не может сохранить файл //значит надо считать ТабличныйДокумент по ячейкам - Возврат ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы,ДопПараметры); + Возврат ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы, ДопПараметры); КонецЕсли; ПутьМакетаИлиДвоичныеДанные = Неопределено; @@ -3206,7 +3206,7 @@ КонецФункции &НаКлиенте -Функция ПолучитьЗначениеТестируемаяТаблицаФормы(ЭлементФормы,ДопПараметры = Неопределено) Экспорт +Функция ПолучитьЗначениеТестируемаяТаблицаФормы(ЭлементФормы, ДопПараметры = Неопределено) Экспорт ВыделятьВсеСтроки = Истина; Если ТипЗнч(ДопПараметры) = Тип("Структура") Тогда Если ДопПараметры.Свойство("ВыделятьВсеСтроки") Тогда @@ -3285,14 +3285,14 @@ &НаКлиенте Процедура ПолучитьСостояниеТекущегоЭлементаФормы() Экспорт ДопПараметры = Новый Структура; - ДопПараметры.Вставить("ТолькоАктивныйЭлемент",Истина); - ПолучитьИзмененияФормы("Gherkin",ДопПараметры); + ДопПараметры.Вставить("ТолькоАктивныйЭлемент", Истина); + ПолучитьИзмененияФормы("Gherkin", ДопПараметры); КонецПроцедуры &НаКлиенте Процедура ПолучитьИзмененияФормыGherkin() Экспорт ДопПараметры = Новый Структура; - ПолучитьИзмененияФормы("Gherkin",ДопПараметры); + ПолучитьИзмененияФормы("Gherkin", ДопПараметры); КонецПроцедуры &НаКлиенте @@ -3314,7 +3314,7 @@ НайденныеСтроки = ДанныеКлиентовТестирования.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() = 0 Тогда ТекстСообщения = "Не найден профиль TestClient <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяКлиентаТестирования); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяКлиентаТестирования); Сообщить(ТекстСообщения); Возврат Ложь; КонецЕсли; @@ -3336,14 +3336,14 @@ КонецФункции &НаКлиенте -Функция ПолучитьКлиентаТестирования(ИмяКлиентаТестирования, ДопПараметр = "",СтрокаОшибки = Неопределено) Экспорт +Функция ПолучитьКлиентаТестирования(ИмяКлиентаТестирования, ДопПараметр = "", СтрокаОшибки = Неопределено) Экспорт // отключаем существующее подключение РазорватьСоединениеTestClient(); ДанныеЗапускаКлиентаТестирования = НайтиДанныеЗапускаКлиентаТестирования(ИмяКлиентаТестирования); ДанныеЗапускаКлиентаТестирования.ДопПараметры = ДопПараметр + ДанныеЗапускаКлиентаТестирования.ДопПараметры; - ЕстьПодключение = ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования,СтрокаОшибки); + ЕстьПодключение = ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования, СтрокаОшибки); Если ЕстьПодключение Тогда СохранитьКлиентовТестирования(); @@ -3371,7 +3371,7 @@ //Делает переход к нужной строке таблицы &НаКлиенте -Функция СделатьПереход(ТаблицаСписок,ОписаниеСтроки,ОшибкаПереходВниз,ОшибкаПереходВверх) Экспорт +Функция СделатьПереход(ТаблицаСписок, ОписаниеСтроки, ОшибкаПереходВниз, ОшибкаПереходВверх) Экспорт ПолучилосьПерейти = Ложь; Попытка ПолучилосьПерейти = ТаблицаСписок.ПерейтиКСтроке(ОписаниеСтроки, Вычислить("НаправлениеПереходаКСтроке.Вниз")); @@ -3550,7 +3550,7 @@ КонецФункции &НаКлиенте -Функция ПолучитьОписаниеСтрокиИзТаблицы(ТабПарам,ИмяТаблицы = Неопределено) Экспорт +Функция ПолучитьОписаниеСтрокиИзТаблицы(ТабПарам, ИмяТаблицы = Неопределено) Экспорт ОписаниеСтроки = Новый Соответствие(); Строка1 = ТабПарам[0]; @@ -3558,13 +3558,13 @@ КолКолонок = Строка1.Количество(); Для Ккк = 1 По КолКолонок Цикл - Ключ = Строка1["Кол"+XMlСтрока(Ккк)]; - Значение = Строка2["Кол"+XMlСтрока(Ккк)]; + Ключ = Строка1["Кол" + XMlСтрока(Ккк)]; + Значение = Строка2["Кол" + XMlСтрока(Ккк)]; Если ТипЗнч(Значение) = Тип("Число") Тогда - Значение = СтрЗаменить(Значение,Символы.НПП,""); + Значение = СтрЗаменить(Значение, Символы.НПП, ""); КонецЕсли; - Значение = СтрЗаменить(Значение,"\n",Символы.ПС); + Значение = СтрЗаменить(Значение, "\n", Символы.ПС); Значение = ПолучитьЗначениеИзКонтекстаЕслиЭтоВозможно(Значение); Если ИмяТаблицы = "TypeTree" И Ключ = "Значение" Тогда @@ -3578,7 +3578,7 @@ Ключ = "Значение"; КонецЕсли; - ОписаниеСтроки.Вставить(Ключ,Значение); + ОписаниеСтроки.Вставить(Ключ, Значение); КонецЦикла; Возврат ОписаниеСтроки; @@ -3614,7 +3614,7 @@ &НаКлиенте Функция ПолучитьКорректоеЗначениеДляСравненияТекста(Знач Стр) Экспорт - Стр = СтрЗаменить(Стр,Символы.НПП," "); + Стр = СтрЗаменить(Стр, Символы.НПП, " "); Возврат Стр; КонецФункции @@ -3637,7 +3637,7 @@ //преобразует переданное значение в макет. //например массив структур или массив соответствий &НаКлиенте -Функция ПреобразоватьЗначениеВМакет(Значение,МассивКлючей = Неопределено,ТолькоТекстЯчеек = Ложь) Экспорт +Функция ПреобразоватьЗначениеВМакет(Значение, МассивКлючей = Неопределено, ТолькоТекстЯчеек = Ложь) Экспорт ПереданМассивКлючей = Ложь; Если МассивКлючей <> Неопределено Тогда ПереданМассивКлючей = Истина; @@ -3685,20 +3685,20 @@ Если МассивКлючей <> Неопределено Тогда Для Каждого Ключ Из МассивКлючей Цикл ИдКолонки = ИдКолонки + 1; - НовоеЗначение.Область(ИдСтроки,ИдКолонки,ИдСтроки,ИдКолонки).Текст = Ключ; + НовоеЗначение.Область(ИдСтроки, ИдКолонки, ИдСтроки, ИдКолонки).Текст = Ключ; КонецЦикла; ИдСтроки = ИдСтроки + 1; КонецЕсли; Если ЧитаемИзМассиваСтруктур Тогда - Для Ккк = (ИдСтроки-1) По Значение.Количество()-1 Цикл + Для Ккк = (ИдСтроки - 1) По Значение.Количество() - 1 Цикл СтрокаЗначение = Значение[Ккк]; ИдКолонки = 0; Если МассивКлючей <> Неопределено Тогда Для Каждого Элем Из МассивКлючей Цикл ИдКолонки = ИдКолонки + 1; - НовоеЗначение.Область(ИдСтроки,ИдКолонки,ИдСтроки,ИдКолонки).Текст = СтрокаЗначение["Кол" + XMlСтрока(ИдКолонки)]; + НовоеЗначение.Область(ИдСтроки, ИдКолонки, ИдСтроки, ИдКолонки).Текст = СтрокаЗначение["Кол" + XMlСтрока(ИдКолонки)]; КонецЦикла; КонецЕсли; @@ -3711,23 +3711,23 @@ НачЗначениеСчетчика = ИдСтроки - 1; КонецЕсли; - Для Ккк = НачЗначениеСчетчика По Значение.Количество()-1 Цикл + Для Ккк = НачЗначениеСчетчика По Значение.Количество() - 1 Цикл СтрокаЗначение = Значение[Ккк]; ИдКолонки = 0; Если МассивКлючей <> Неопределено Тогда Для Каждого Ключ Из МассивКлючей Цикл ИдКолонки = ИдКолонки + 1; - НовоеЗначение.Область(ИдСтроки,ИдКолонки,ИдСтроки,ИдКолонки).Текст = СтрокаЗначение[Ключ]; + НовоеЗначение.Область(ИдСтроки, ИдКолонки, ИдСтроки, ИдКолонки).Текст = СтрокаЗначение[Ключ]; КонецЦикла; Иначе Если ТипЗнч(СтрокаЗначение) = Тип("Структура") Тогда Для СчетчикКолонок = 1 По СтрокаЗначение.Количество() Цикл - НовоеЗначение.Область(ИдСтроки,СчетчикКолонок,ИдСтроки,СчетчикКолонок).Текст = СтрокаЗначение["Кол" + XMlСтрока(СчетчикКолонок)]; + НовоеЗначение.Область(ИдСтроки, СчетчикКолонок, ИдСтроки, СчетчикКолонок).Текст = СтрокаЗначение["Кол" + XMlСтрока(СчетчикКолонок)]; КонецЦикла; Иначе - Для СчетчикКолонок = 0 По СтрокаЗначение.Количество()-1 Цикл - НовоеЗначение.Область(ИдСтроки,СчетчикКолонок+1,ИдСтроки,СчетчикКолонок+1).Текст = СтрокаЗначение[СчетчикКолонок]; + Для СчетчикКолонок = 0 По СтрокаЗначение.Количество() - 1 Цикл + НовоеЗначение.Область(ИдСтроки, СчетчикКолонок + 1, ИдСтроки, СчетчикКолонок + 1).Текст = СтрокаЗначение[СчетчикКолонок]; КонецЦикла; КонецЕсли; КонецЕсли; @@ -3743,7 +3743,7 @@ Для ИдСтроки = 1 По Значение.ВысотаТаблицы Цикл Для ИдКолонки = 1 По Значение.ШиринаТаблицы Цикл - НовоеЗначение.Область(ИдСтроки,ИдКолонки,ИдСтроки,ИдКолонки).Текст = Значение.Область(ИдСтроки,ИдКолонки,ИдСтроки,ИдКолонки).Текст; + НовоеЗначение.Область(ИдСтроки, ИдКолонки, ИдСтроки, ИдКолонки).Текст = Значение.Область(ИдСтроки, ИдКолонки, ИдСтроки, ИдКолонки).Текст; КонецЦикла; КонецЦикла; @@ -3781,11 +3781,11 @@ КолСекунд = Число(КолСекунд); Исключение ТекстСообщения = "Значение параметра таймаута ожидания должно быть числом. Переданное значение: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КолСекунд); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", КолСекунд); ВызватьИсключение ТекстСообщения; КонецПопытки; - Возврат Макс(Объект.ТаймаутДляАсинхронныхШагов,КолСекунд); + Возврат Макс(Объект.ТаймаутДляАсинхронныхШагов, КолСекунд); КонецФункции #КонецОбласти //TestClient @@ -3819,7 +3819,7 @@ КонецЕсли; Исключение ТекстСообщения = "Sleep:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); Сообщить(ТекстСообщения); КонецПопытки; @@ -3829,72 +3829,72 @@ &НаКлиенте Функция Транслит(Стр) Экспорт Рез = СокрЛП(Стр); - Рез = СтрЗаменить(Рез,"а","a"); - Рез = СтрЗаменить(Рез,"б","b"); - Рез = СтрЗаменить(Рез,"в","v"); - Рез = СтрЗаменить(Рез,"г","g"); - Рез = СтрЗаменить(Рез,"д","d"); - Рез = СтрЗаменить(Рез,"е","e"); - Рез = СтрЗаменить(Рез,"ё","e"); - Рез = СтрЗаменить(Рез,"ж","zh"); - Рез = СтрЗаменить(Рез,"з","z"); - Рез = СтрЗаменить(Рез,"и","i"); - Рез = СтрЗаменить(Рез,"к","k"); - Рез = СтрЗаменить(Рез,"л","l"); - Рез = СтрЗаменить(Рез,"м","m"); - Рез = СтрЗаменить(Рез,"н","n"); - Рез = СтрЗаменить(Рез,"о","o"); - Рез = СтрЗаменить(Рез,"п","p"); - Рез = СтрЗаменить(Рез,"р","r"); - Рез = СтрЗаменить(Рез,"с","s"); - Рез = СтрЗаменить(Рез,"т","t"); - Рез = СтрЗаменить(Рез,"у","u"); - Рез = СтрЗаменить(Рез,"ф","f"); - Рез = СтрЗаменить(Рез,"х","h"); - Рез = СтрЗаменить(Рез,"ч","ch"); - Рез = СтрЗаменить(Рез,"ш","sh"); - Рез = СтрЗаменить(Рез,"щ","sch"); - Рез = СтрЗаменить(Рез,"ъ",""); - Рез = СтрЗаменить(Рез,"ь",""); - Рез = СтрЗаменить(Рез,"э","e"); - Рез = СтрЗаменить(Рез,"ю","yu"); - Рез = СтрЗаменить(Рез,"й","i"); - Рез = СтрЗаменить(Рез,"ц","c"); - Рез = СтрЗаменить(Рез,"я","ya"); - Рез = СтрЗаменить(Рез,"ы","i"); - Рез = СтрЗаменить(Рез,"А","A"); - Рез = СтрЗаменить(Рез,"Б","B"); - Рез = СтрЗаменить(Рез,"В","V"); - Рез = СтрЗаменить(Рез,"Г","G"); - Рез = СтрЗаменить(Рез,"Д","D"); - Рез = СтрЗаменить(Рез,"Е","E"); - Рез = СтрЗаменить(Рез,"Ё","E"); - Рез = СтрЗаменить(Рез,"Ж","ZH"); - Рез = СтрЗаменить(Рез,"З","Z"); - Рез = СтрЗаменить(Рез,"И","I"); - Рез = СтрЗаменить(Рез,"К","K"); - Рез = СтрЗаменить(Рез,"Л","L"); - Рез = СтрЗаменить(Рез,"М","M"); - Рез = СтрЗаменить(Рез,"Н","N"); - Рез = СтрЗаменить(Рез,"О","O"); - Рез = СтрЗаменить(Рез,"П","P"); - Рез = СтрЗаменить(Рез,"Р","R"); - Рез = СтрЗаменить(Рез,"С","S"); - Рез = СтрЗаменить(Рез,"Т","T"); - Рез = СтрЗаменить(Рез,"У","U"); - Рез = СтрЗаменить(Рез,"Ф","F"); - Рез = СтрЗаменить(Рез,"Х","H"); - Рез = СтрЗаменить(Рез,"Ч","CH"); - Рез = СтрЗаменить(Рез,"Ш","SH"); - Рез = СтрЗаменить(Рез,"Щ","SCH"); - Рез = СтрЗаменить(Рез,"Ъ",""); - Рез = СтрЗаменить(Рез,"Ь",""); - Рез = СтрЗаменить(Рез,"Ы","I"); - Рез = СтрЗаменить(Рез,"Ц","C"); - Рез = СтрЗаменить(Рез,"Э","E"); - Рез = СтрЗаменить(Рез,"Ю","YU"); - Рез = СтрЗаменить(Рез,"Я","YA"); - Рез = СтрЗаменить(Рез,"Й","I"); + Рез = СтрЗаменить(Рез, "а", "a"); + Рез = СтрЗаменить(Рез, "б", "b"); + Рез = СтрЗаменить(Рез, "в", "v"); + Рез = СтрЗаменить(Рез, "г", "g"); + Рез = СтрЗаменить(Рез, "д", "d"); + Рез = СтрЗаменить(Рез, "е", "e"); + Рез = СтрЗаменить(Рез, "ё", "e"); + Рез = СтрЗаменить(Рез, "ж", "zh"); + Рез = СтрЗаменить(Рез, "з", "z"); + Рез = СтрЗаменить(Рез, "и", "i"); + Рез = СтрЗаменить(Рез, "к", "k"); + Рез = СтрЗаменить(Рез, "л", "l"); + Рез = СтрЗаменить(Рез, "м", "m"); + Рез = СтрЗаменить(Рез, "н", "n"); + Рез = СтрЗаменить(Рез, "о", "o"); + Рез = СтрЗаменить(Рез, "п", "p"); + Рез = СтрЗаменить(Рез, "р", "r"); + Рез = СтрЗаменить(Рез, "с", "s"); + Рез = СтрЗаменить(Рез, "т", "t"); + Рез = СтрЗаменить(Рез, "у", "u"); + Рез = СтрЗаменить(Рез, "ф", "f"); + Рез = СтрЗаменить(Рез, "х", "h"); + Рез = СтрЗаменить(Рез, "ч", "ch"); + Рез = СтрЗаменить(Рез, "ш", "sh"); + Рез = СтрЗаменить(Рез, "щ", "sch"); + Рез = СтрЗаменить(Рез, "ъ", ""); + Рез = СтрЗаменить(Рез, "ь", ""); + Рез = СтрЗаменить(Рез, "э", "e"); + Рез = СтрЗаменить(Рез, "ю", "yu"); + Рез = СтрЗаменить(Рез, "й", "i"); + Рез = СтрЗаменить(Рез, "ц", "c"); + Рез = СтрЗаменить(Рез, "я", "ya"); + Рез = СтрЗаменить(Рез, "ы", "i"); + Рез = СтрЗаменить(Рез, "А", "A"); + Рез = СтрЗаменить(Рез, "Б", "B"); + Рез = СтрЗаменить(Рез, "В", "V"); + Рез = СтрЗаменить(Рез, "Г", "G"); + Рез = СтрЗаменить(Рез, "Д", "D"); + Рез = СтрЗаменить(Рез, "Е", "E"); + Рез = СтрЗаменить(Рез, "Ё", "E"); + Рез = СтрЗаменить(Рез, "Ж", "ZH"); + Рез = СтрЗаменить(Рез, "З", "Z"); + Рез = СтрЗаменить(Рез, "И", "I"); + Рез = СтрЗаменить(Рез, "К", "K"); + Рез = СтрЗаменить(Рез, "Л", "L"); + Рез = СтрЗаменить(Рез, "М", "M"); + Рез = СтрЗаменить(Рез, "Н", "N"); + Рез = СтрЗаменить(Рез, "О", "O"); + Рез = СтрЗаменить(Рез, "П", "P"); + Рез = СтрЗаменить(Рез, "Р", "R"); + Рез = СтрЗаменить(Рез, "С", "S"); + Рез = СтрЗаменить(Рез, "Т", "T"); + Рез = СтрЗаменить(Рез, "У", "U"); + Рез = СтрЗаменить(Рез, "Ф", "F"); + Рез = СтрЗаменить(Рез, "Х", "H"); + Рез = СтрЗаменить(Рез, "Ч", "CH"); + Рез = СтрЗаменить(Рез, "Ш", "SH"); + Рез = СтрЗаменить(Рез, "Щ", "SCH"); + Рез = СтрЗаменить(Рез, "Ъ", ""); + Рез = СтрЗаменить(Рез, "Ь", ""); + Рез = СтрЗаменить(Рез, "Ы", "I"); + Рез = СтрЗаменить(Рез, "Ц", "C"); + Рез = СтрЗаменить(Рез, "Э", "E"); + Рез = СтрЗаменить(Рез, "Ю", "YU"); + Рез = СтрЗаменить(Рез, "Я", "YA"); + Рез = СтрЗаменить(Рез, "Й", "I"); Возврат(Рез); КонецФункции @@ -3918,7 +3918,7 @@ Стр = ПолучитьСтрокуВызоваSikuli(ЗапускЧерезСкрипт) + " " + СтрокаКоманды; Отладка(Стр); - Возврат ВыполнитьКомандуОСБезПоказаЧерногоОкна(Стр, ЖдатьОкончания);//TODO проверить без вывода UTF-8 + Возврат ВыполнитьКомандуОСБезПоказаЧерногоОкна(Стр, ЖдатьОкончания); //TODO проверить без вывода UTF-8 КонецФункции @@ -4177,8 +4177,8 @@ МассивПараметров.Добавить(Парам4); Для Сч = 1 По МассивПараметров.Количество() Цикл - ТекЗначение = МассивПараметров[Сч-1]; - СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%"+Сч, Строка(ТекЗначение)); + ТекЗначение = МассивПараметров[Сч - 1]; + СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%" +Сч, Строка(ТекЗначение)); КонецЦикла; Возврат СтрокаШаблон; КонецФункции @@ -4209,7 +4209,7 @@ Если ЕстьПоддержкаНемодальныхФорм Тогда Оповещение = Асинк().смв_НовыйОписаниеОповещения("ОбработкаПослеПомещенияФайла", ЭтаФорма, ДополнительныеПараметры); - АСинк().смв_ПоместитьФайл(Оповещение,, ИмяФайла, Ложь); + АСинк().смв_ПоместитьФайл(Оповещение, , ИмяФайла, Ложь); Возврат ДополнительныеПараметры.ИмяОбработки; @@ -4407,7 +4407,7 @@ Функция НайтиМакетВКаталогеПроекта(ИмяМакета) Экспорт Если НЕ ЗначениеЗаполнено(Объект.КаталогПроекта) Тогда ТекстСообщения = "Не найден эталон макета <%1>. Реквизит ""Каталог проекта"" не заполнен."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяМакета); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяМакета); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -4419,8 +4419,8 @@ Если Не Нашли Тогда ТекстСообщения = "Не найден файл макета <%1> в каталоге проекта <%2>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяМакета); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",Объект.КаталогПроекта); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяМакета); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Объект.КаталогПроекта); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -4457,7 +4457,7 @@ Если Не ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда СтрокаСообщения = "Не найден файл <%1>"; - СтрокаСообщения = СтрЗаменить(СтрокаСообщения,"%1",ИмяФайла); + СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "%1", ИмяФайла); СделатьСообщение(СтрокаСообщения); Возврат; КонецЕсли; @@ -4645,22 +4645,22 @@ МассивФичДляПослеНаложенияФильтров = Новый Массив; СтруктураПараметров = Новый Структура; - СтруктураПараметров.Вставить("DebugLog",Ложь); - СтруктураПараметров.Вставить("Брейкпоинты",Новый Массив); - СтруктураПараметров.Вставить("ДополнительныеПараметры",Неопределено); - СтруктураПараметров.Вставить("ИдетЗагрузкаИзКаталога",Истина); - СтруктураПараметров.Вставить("КаталогИнструментов",Объект.КаталогИнструментов); - СтруктураПараметров.Вставить("КаталогФич",Объект.КаталогФич); - СтруктураПараметров.Вставить("КаталогиБиблиотек",Объект.КаталогиБиблиотек); - СтруктураПараметров.Вставить("МассивРезультатОбходаКаталогов",Новый Массив); - СтруктураПараметров.Вставить("МассивСообщений",Новый Массив); - СтруктураПараметров.Вставить("ПутьКОбработке",Неопределено); - СтруктураПараметров.Вставить("СписокТеговИсключение",Объект.СписокТеговИсключение); - СтруктураПараметров.Вставить("СписокТеговОтбор",Объект.СписокТеговОтбор); - СтруктураПараметров.Вставить("ТаблицаУжеСуществующихСценариевУФ",Новый Массив); - СтруктураПараметров.Вставить("ТолькоДляПолученияСпискаФич",Истина); - СтруктураПараметров.Вставить("МассивФичДляПослеНаложенияФильтров",МассивФичДляПослеНаложенияФильтров); - СтруктураПараметров.Вставить("ЭтоLinux",ЭтоLinux); + СтруктураПараметров.Вставить("DebugLog", Ложь); + СтруктураПараметров.Вставить("Брейкпоинты", Новый Массив); + СтруктураПараметров.Вставить("ДополнительныеПараметры", Неопределено); + СтруктураПараметров.Вставить("ИдетЗагрузкаИзКаталога", Истина); + СтруктураПараметров.Вставить("КаталогИнструментов", Объект.КаталогИнструментов); + СтруктураПараметров.Вставить("КаталогФич", Объект.КаталогФич); + СтруктураПараметров.Вставить("КаталогиБиблиотек", Объект.КаталогиБиблиотек); + СтруктураПараметров.Вставить("МассивРезультатОбходаКаталогов", Новый Массив); + СтруктураПараметров.Вставить("МассивСообщений", Новый Массив); + СтруктураПараметров.Вставить("ПутьКОбработке", Неопределено); + СтруктураПараметров.Вставить("СписокТеговИсключение", Объект.СписокТеговИсключение); + СтруктураПараметров.Вставить("СписокТеговОтбор", Объект.СписокТеговОтбор); + СтруктураПараметров.Вставить("ТаблицаУжеСуществующихСценариевУФ", Новый Массив); + СтруктураПараметров.Вставить("ТолькоДляПолученияСпискаФич", Истина); + СтруктураПараметров.Вставить("МассивФичДляПослеНаложенияФильтров", МассивФичДляПослеНаложенияФильтров); + СтруктураПараметров.Вставить("ЭтоLinux", ЭтоLinux); СтруктураПараметров.Вставить("РежимВыполненияСценарияСВыбранногоШагаССохранениемКонтекстов", Объект.РежимВыполненияСценарияСВыбранногоШагаССохранениемКонтекстов); @@ -4677,12 +4677,12 @@ &НаКлиенте Функция ЗаменитьСлужебныеСимволыВВыраженииДляВычисления(Знач Текст) Экспорт - Текст = СтрЗаменить(Текст,"$$","~Экранирование$$~"); + Текст = СтрЗаменить(Текст, "$$", "~Экранирование$$~"); - МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст,"~Экранирование$$~"); + МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст, "~Экранирование$$~"); ЭтоВыражение = Ложь; - Если Лев(Текст,СтрДлина("~Экранирование$$~")) = "~Экранирование$$~" Тогда + Если Лев(Текст, СтрДлина("~Экранирование$$~")) = "~Экранирование$$~" Тогда ЭтоВыражение = Истина; КонецЕсли; @@ -4701,12 +4701,12 @@ ЭтоВыражение = Не ЭтоВыражение; КонецЦикла; - Текст = СтрЗаменить(Результат,"$","~Экранирование$~"); + Текст = СтрЗаменить(Результат, "$", "~Экранирование$~"); - МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст,"~Экранирование$~"); + МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст, "~Экранирование$~"); ЭтоВыражение = Ложь; - Если Лев(Текст,СтрДлина("~Экранирование$~")) = "~Экранирование$~" Тогда + Если Лев(Текст, СтрДлина("~Экранирование$~")) = "~Экранирование$~" Тогда ЭтоВыражение = Истина; КонецЕсли; @@ -4741,13 +4741,13 @@ Функция ПолучитьСтрокуВычисливВнутренниеВыражения(Знач Текст) Экспорт Результат = ""; - Текст = СтрЗаменить(Текст,"Ванесса.","ЭтаФорма."); - Текст = СтрЗаменить(Текст,"Контекст.","ОбъектКонтекст."); - Текст = СтрЗаменить(Текст,"КонтекстСохраняемый.","ОбъектКонтекстСохраняемый."); + Текст = СтрЗаменить(Текст, "Ванесса.", "ЭтаФорма."); + Текст = СтрЗаменить(Текст, "Контекст.", "ОбъектКонтекст."); + Текст = СтрЗаменить(Текст, "КонтекстСохраняемый.", "ОбъектКонтекстСохраняемый."); - МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст,"$"); + МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Текст, "$"); ЭтоВыражение = Ложь; - Если Лев(Текст,1) = "$" Тогда + Если Лев(Текст, 1) = "$" Тогда ЭтоВыражение = Истина; КонецЕсли; @@ -4768,7 +4768,7 @@ &НаКлиенте Функция ПолучитьЗначениеДополнительногоПараметра(ИмяПараметра) Экспорт Значение = Неопределено; - Объект.ДополнительныеПараметры.Свойство(ИмяПараметра,Значение); + Объект.ДополнительныеПараметры.Свойство(ИмяПараметра, Значение); Возврат Значение; КонецФункции @@ -4801,7 +4801,7 @@ //Делает склейку параметров в одну строку, если они переданы. &НаКлиенте -Процедура СоеденитьСтрокиЕслиЭтоВозможно(Стр,Стр2,Стр3,Стр4,Стр5,Стр6,Стр7) Экспорт +Процедура СоеденитьСтрокиЕслиЭтоВозможно(Стр, Стр2, Стр3, Стр4, Стр5, Стр6, Стр7) Экспорт Если Стр2 <> Неопределено Тогда Стр = Стр + Стр2; КонецЕсли; @@ -4826,20 +4826,20 @@ //также эти значения потом будут прикреплены к отчету Allure //Если Тип = Неопределено, тогда считается, что переданы таблицы &НаКлиенте -Процедура УстановитьЗначенияТаблицДляСравнения(Эталон,ТекущееЗначение,Тип = Неопределено) Экспорт +Процедура УстановитьЗначенияТаблицДляСравнения(Эталон, ТекущееЗначение, Тип = Неопределено) Экспорт Если Тип = Неопределено Тогда - ГлобальныеЗначенияТаблиц.Вставить("ТаблицаЭталон",Эталон); - ГлобальныеЗначенияТаблиц.Вставить("ТаблицаТекущееЗначение",ТекущееЗначение); + ГлобальныеЗначенияТаблиц.Вставить("ТаблицаЭталон", Эталон); + ГлобальныеЗначенияТаблиц.Вставить("ТаблицаТекущееЗначение", ТекущееЗначение); Иначе ЗначениеЭталон = Новый Структура; - ЗначениеЭталон.Вставить("Тип",Тип); - ЗначениеЭталон.Вставить("Значение",Эталон); - ГлобальныеЗначенияТаблиц.Вставить("ТаблицаЭталон",ЗначениеЭталон); + ЗначениеЭталон.Вставить("Тип", Тип); + ЗначениеЭталон.Вставить("Значение", Эталон); + ГлобальныеЗначенияТаблиц.Вставить("ТаблицаЭталон", ЗначениеЭталон); ЗначениеТекущееЗначение = Новый Структура; - ЗначениеТекущееЗначение.Вставить("Тип",Тип); - ЗначениеТекущееЗначение.Вставить("Значение",ТекущееЗначение); - ГлобальныеЗначенияТаблиц.Вставить("ТаблицаТекущееЗначение",ЗначениеТекущееЗначение); + ЗначениеТекущееЗначение.Вставить("Тип", Тип); + ЗначениеТекущееЗначение.Вставить("Значение", ТекущееЗначение); + ГлобальныеЗначенияТаблиц.Вставить("ТаблицаТекущееЗначение", ЗначениеТекущееЗначение); КонецЕсли; КонецПроцедуры @@ -4859,14 +4859,14 @@ СтрокаТаблицы = Новый Структура; Для Ррр = 1 По ТабДок.ШиринаТаблицы Цикл - СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр),ТабДок.Область(1,Ррр,1,Ррр).Текст); + СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр), ТабДок.Область(1, Ррр, 1, Ррр).Текст); КонецЦикла; Массив.Добавить(СтрокаТаблицы); Для Ккк = 2 По ТабДок.ВысотаТаблицы Цикл СтрокаТаблицы = Новый Структура; Для Ррр = 1 По ТабДок.ШиринаТаблицы Цикл - СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр),ТабДок.Область(Ккк,Ррр,Ккк,Ррр).Текст); + СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр), ТабДок.Область(Ккк, Ррр, Ккк, Ррр).Текст); КонецЦикла; Массив.Добавить(СтрокаТаблицы); КонецЦикла; @@ -4876,13 +4876,13 @@ //прикрепляет к строке сценария макет &НаКлиенте -Процедура ПрикрепитьМакетКСценарию(Макет,Имя) Экспорт +Процедура ПрикрепитьМакетКСценарию(Макет, Имя) Экспорт Если ВсеСценарииВыполнены() Тогда ВызватьИсключение "Не смог получить строку сценария."; КонецЕсли; ИДСтрокиСценария = МассивСценариевДляВыполнения[ТекИД_СценарияВМассиве].СтрокаДерева; - ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(Неопределено,ИДСтрокиСценария,Истина); + ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(Неопределено, ИДСтрокиСценария, Истина); СтрокаСценария = ПолучитьСтрокуСценарияИзДанныхФормы(ИДСтрокиСценария); Если СтрокаСценария = Неопределено Тогда @@ -4895,12 +4895,12 @@ ПроизвольныеЗначения = СтрокаСценария.ПроизвольныеЗначения; Если Не ПроизвольныеЗначения.Свойство("ПрикрепленныеМакеты") Тогда - ПроизвольныеЗначения.Вставить("ПрикрепленныеМакеты",Новый Массив); + ПроизвольныеЗначения.Вставить("ПрикрепленныеМакеты", Новый Массив); КонецЕсли; ПрикрепленныеМакеты = ПроизвольныеЗначения.ПрикрепленныеМакеты; - ПрикрепленныеМакеты.Добавить(Новый Структура("Макет,Имя",Макет,Имя)); + ПрикрепленныеМакеты.Добавить(Новый Структура("Макет,Имя", Макет, Имя)); КонецПроцедуры #КонецОбласти //ОбщегоНазначения @@ -4908,18 +4908,18 @@ #Область РаботаСПеременнымиКонтекста &НаКлиенте -Процедура СохранитьЗначениеВКонтекст(ИмяПеременной,Значение) Экспорт +Процедура СохранитьЗначениеВКонтекст(ИмяПеременной, Значение) Экспорт Если НЕ ОбъектКонтекст.Свойство("СохраняемыеЗначения") Тогда - ОбъектКонтекст.Вставить("СохраняемыеЗначения",Новый Соответствие); + ОбъектКонтекст.Вставить("СохраняемыеЗначения", Новый Соответствие); КонецЕсли; - ОбъектКонтекст.СохраняемыеЗначения.Вставить(ИмяПеременной,Значение); + ОбъектКонтекст.СохраняемыеЗначения.Вставить(ИмяПеременной, Значение); КонецПроцедуры &НаКлиенте -Процедура СохранитьЗначениеВКонтекстСохраняемый(Знач ИмяПеременной,Значение) Экспорт +Процедура СохранитьЗначениеВКонтекстСохраняемый(Знач ИмяПеременной, Значение) Экспорт Если НЕ ОбъектКонтекстСохраняемый.Свойство("СохраняемыеЗначения") Тогда - ОбъектКонтекстСохраняемый.Вставить("СохраняемыеЗначения",Новый Соответствие); + ОбъектКонтекстСохраняемый.Вставить("СохраняемыеЗначения", Новый Соответствие); КонецЕсли; //уберём служебные символы @@ -5079,7 +5079,7 @@ ИмяФайлаЛога = ПолучитьИмяВременногоФайла("txt"); Команда = "forfiles /p """ + Путь + """ /m """ + ТолькоИмяФайла + """ /c ""cmd /c echo @fdate @ftime"" > """ + ИмяФайлаЛога + """"; - ВыполнитьКомандуОСБезПоказаЧерногоОкна(Команда, Истина, Истина);//TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(Команда, Истина, Ложь); + ВыполнитьКомандуОСБезПоказаЧерногоОкна(Команда, Истина, Истина); //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(Команда, Истина, Ложь); Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяФайлаЛога, "UTF-8"); @@ -5134,7 +5134,7 @@ Если ЭтоLinux Тогда - КомандаКаталоги = "find """ + Путь + """ "+ ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type d -name '*'" + " > """ + ИмяФайлаЛога + """"; + КомандаКаталоги = "find """ + Путь + """ " + ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type d -name '*'" + " > """ + ИмяФайлаЛога + """"; КомандаСистемы(КомандаКаталоги); Иначе @@ -5153,7 +5153,7 @@ Если ЭтоLinux Тогда - КомандаКаталоги = "find """ + Путь + """ "+ ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type f -name '*'" + " > """ + ИмяФайлаЛога + """"; + КомандаКаталоги = "find """ + Путь + """ " + ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type f -name '*'" + " > """ + ИмяФайлаЛога + """"; КомандаСистемы(КомандаКаталоги); Иначе @@ -5234,8 +5234,8 @@ КонецЕсли; Исключение ТекстСообщения = "КопироватьФайлКомандаСистемы:%1 команда:%2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",Команда); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Команда); Сообщить(ТекстСообщения); КонецПопытки; Иначе @@ -5270,7 +5270,7 @@ ИмяФайла = СтрЗаменить(ИмяФайла, "/", "\"); Статус = ВыполнитьКомандуОСБезПоказаЧерногоОкна( "If Exist """ + ИмяФайла + """ (exit /b 10) Else (exit /b 20)", - Истина, Ложь);//TODO проверить запуск + Истина, Ложь); //TODO проверить запуск УспешныйКодВозврата = 10; Возврат Статус = УспешныйКодВозврата; @@ -5347,7 +5347,7 @@ УдалитьФайлыКомандаСистемы(Файл.ПолноеИмя); Исключение СтрокаСообщения = "Не смог удалить файл %1"; - СтрокаСообщения = СтрЗаменить(СтрокаСообщения,"%1",Файл.ПолноеИмя); + СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "%1", Файл.ПолноеИмя); СделатьСообщение(СтрокаСообщения); КонецПопытки; @@ -5743,8 +5743,8 @@ ТипПараметра = ТипЗнч(Параметры); Если ТипПараметра <> Тип("Массив") Тогда ТекстСообщения = "Ожидали, что вторым параметром будет передан массив параметров для метода <%1>, а получили другой объект с типом <%2>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяМетода); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ТипПараметра); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяМетода); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ТипПараметра); ВызватьИсключение ТекстСообщения; КонецЕсли; КонецЕсли; @@ -5801,8 +5801,8 @@ ТипПараметра = ТипЗнч(Параметры); Если ТипПараметра <> Тип("Массив") Тогда ТекстСообщения = "Ожидали, что третьим параметром будет передан массив параметров для метода <%1>, а получили другой объект с типом <%2>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяМетода); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ТипПараметра); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяМетода); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ТипПараметра); ВызватьИсключение ТекстСообщения; КонецЕсли; КонецЕсли; @@ -5861,8 +5861,8 @@ искомыйТип = ТипИлиИмяТипа; Иначе ТекстСообщения = "ПроверитьТип: Тип значения параметра ТипИлиИмяТипа должен быть <Тип> или <Строка>, а получили <%1>%2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТипЗнч(ТипИлиИмяТипа)); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ФорматДСО(ДопСообщениеОшибки)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТипЗнч(ТипИлиИмяТипа)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ФорматДСО(ДопСообщениеОшибки)); ВызватьИсключение ТекстСообщения; КонецЕсли; Если ТипЗнч(значение) <> искомыйТип Тогда @@ -5928,7 +5928,7 @@ УтвержденияПроверкаТаблиц = Плагин("УтвержденияПроверкаТаблиц"); УтвержденияПроверкаТаблиц.ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям( ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки, - УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки,ДопПараметры); + УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки, ДопСообщениеОшибки, ДопПараметры); КонецПроцедуры // количествоСозданныхОбъектов учитывает только созданные элементы справочников, документы и пользователей ИБ. @@ -6028,7 +6028,7 @@ Исключение ИнфоОшибки = ИнформацияОбОшибке(); Если ОбъектПлагина <> Неопределено Тогда - СделатьСообщение("Ошибка подключения плагина "+ОбъектПлагина.Заголовок + ": + СделатьСообщение("Ошибка подключения плагина " + ОбъектПлагина.Заголовок + ": |" + ИнфоОшибки.Описание); Иначе СделатьСообщение("Ошибка подключения неопределенного плагина: @@ -6081,7 +6081,7 @@ Если ОбъектПлагин = Неопределено Тогда ТекстСообщения = "ru = 'Неизвестный идентификатор плагина: <%1>'"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Идентификатор); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Идентификатор); ВызватьИсключение НСтр(ТекстСообщения); ИначеЕсли ОбъектПлагин = Истина Тогда // загрузка клиентского плагина "По требованию" @@ -6123,19 +6123,19 @@ КонецФункции &НаКлиенте -Процедура ПолучитьТекстШагаИзТекстаФичиЕслиОнТамЗадан(Текст,Шаг,Сценарий) Экспорт +Процедура ПолучитьТекстШагаИзТекстаФичиЕслиОнТамЗадан(Текст, Шаг, Сценарий) Экспорт МассивТекстФичи = Сценарий.МассивТекстФичи; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.text]",Шаг.НомерСтрокиВФиче); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.text]", Шаг.НомерСтрокиВФиче); Если Не ЗначениеЗаполнено(СлужебнаяСтрока) Тогда Возврат; КонецЕсли; ПараметрыОбработки = Новый Структура; - ПараметрыОбработки.Вставить("ОбработкаПараметровШага",Истина); - ПараметрыОбработки.Вставить("ВычислитьВыражения",Истина); - ПараметрыОбработки.Вставить("Шаг",Шаг); - ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока,ПараметрыОбработки); + ПараметрыОбработки.Вставить("ОбработкаПараметровШага", Истина); + ПараметрыОбработки.Вставить("ВычислитьВыражения", Истина); + ПараметрыОбработки.Вставить("Шаг", Шаг); + ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока, ПараметрыОбработки); Текст = СлужебнаяСтрока; КонецПроцедуры @@ -6172,7 +6172,7 @@ ПутьК1С = "C:\Program Files (x86)\1cv8\" + ВерсияПриложения + "\bin\1cv8.exe"; СтрокаЗапускаКонфигуратора = """" + ПутьК1С + """ " + ТипЗапуска + " /F""" + Объект.КаталогИнструментов + "\tools\ServiceBases\" + Имябазы + """ " + Ключи; //TODO неверное получение статуса, т.к. ВыполнитьКомандуОСБезПоказаЧерногоОкна не возвращает код возврата - Статус = ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапускаКонфигуратора, Ложь, Ложь);//не ждём окончания работы конфигуратора + Статус = ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапускаКонфигуратора, Ложь, Ложь); //не ждём окончания работы конфигуратора Если Статус <> 0 Тогда ВызватьИсключение "Не смог запустить конфигуратор. СтрокаЗапускаКонфигуратора=<" + СтрокаЗапускаКонфигуратора + ">"; КонецЕсли; @@ -6453,7 +6453,7 @@ Для Ккк = 1 По Макет.ВысотаТаблицы Цикл СтрокаТаблицы = Новый Структура; Для Ррр = 1 По Макет.ШиринаТаблицы Цикл - СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр),Макет.Область(Ккк,Ррр,Ккк,Ррр).Текст); + СтрокаТаблицы.Вставить("Кол" + XMlСтрока(Ррр), Макет.Область(Ккк, Ррр, Ккк, Ррр).Текст); КонецЦикла; ТаблицаGherkin.Добавить(СтрокаТаблицы); @@ -6469,18 +6469,18 @@ &НаКлиенте Функция ПеревестиТекст(Текст) Экспорт ДанныеПеревода = Новый Структура; - ДанныеПеревода.Вставить("ЯзыкПеревода",Объект.ЯзыкГенератораGherkin); - ДанныеПеревода.Вставить("ДвоичныеДанныеФайлПеревода",ПолучитьФайлыПеревода()); - ДанныеПеревода.Вставить("ТекстДляПеревода",Текст); - ДанныеПеревода.Вставить("КешДанныеПеревода",КешДанныеПеревода); + ДанныеПеревода.Вставить("ЯзыкПеревода", Объект.ЯзыкГенератораGherkin); + ДанныеПеревода.Вставить("ДвоичныеДанныеФайлПеревода", ПолучитьФайлыПеревода()); + ДанныеПеревода.Вставить("ТекстДляПеревода", Текст); + ДанныеПеревода.Вставить("КешДанныеПеревода", КешДанныеПеревода); ДвДанныеvbFeatureReader = ПутьФайлаИлиДвоичныеДанныеДляСервера(ПолучитьПутьКFeatureReader()); ДанныеПеревода.Вставить("ДвДанныеvbFeatureReader", ДвДанныеvbFeatureReader); - ДанныеПеревода.Вставить("Перевод",Неопределено); + ДанныеПеревода.Вставить("Перевод", Неопределено); СделатьПереводСгенерированногоТекстаGherkinСервер(ДанныеПеревода); Если ДанныеПеревода.Перевод <> Неопределено Тогда - КешДанныеПеревода.Вставить("Язык",Объект.ЯзыкГенератораGherkin); - КешДанныеПеревода.Вставить("ТаблицаПеревода",ДанныеПеревода.ТаблицаПеревода); + КешДанныеПеревода.Вставить("Язык", Объект.ЯзыкГенератораGherkin); + КешДанныеПеревода.Вставить("ТаблицаПеревода", ДанныеПеревода.ТаблицаПеревода); Возврат ДанныеПеревода.Перевод; КонецЕсли; @@ -6498,14 +6498,14 @@ ЗначенияПереводов = Новый Соответствие; Для Ккк = 2 По МакетПереводСообщений.ВысотаТаблицы Цикл - ЗначениеСтрокиПоиска = МакетПереводСообщений.Область(Ккк,1,Ккк,1).Текст; + ЗначениеСтрокиПоиска = МакетПереводСообщений.Область(Ккк, 1, Ккк, 1).Текст; Если Не ЗначениеЗаполнено(ЗначениеСтрокиПоиска) Тогда Продолжить; КонецЕсли; - ЗначениеПеревода = МакетПереводСообщений.Область(Ккк,2,Ккк,2).Текст; + ЗначениеПеревода = МакетПереводСообщений.Область(Ккк, 2, Ккк, 2).Текст; - ЗначенияПереводов.Вставить("$" + ЗначениеСтрокиПоиска + "$",ЗначениеПеревода) + ЗначенияПереводов.Вставить("$" + ЗначениеСтрокиПоиска + "$", ЗначениеПеревода) КонецЦикла; Возврат ЗначенияПереводов; @@ -6613,7 +6613,7 @@ КонецФункции &НаКлиенте -Процедура ЗаписатьЛогОшибки(СтрокаСценария,СтрокаШага,ТекстОшибки,ИнфоОбОшибке,ОписаниеОшибкиШага) +Процедура ЗаписатьЛогОшибки(СтрокаСценария, СтрокаШага, ТекстОшибки, ИнфоОбОшибке, ОписаниеОшибкиШага) Если Не Объект.ДелатьЛогОшибокВТекстовыйФайл Тогда Возврат; КонецЕсли; @@ -6624,9 +6624,9 @@ ЭтоПример = Ложь; ЭтоШагКонтекста = Ложь; - СтрокаРодителяШага = НайтиСтрокуСценарияЧерезРодителя(СтрокаШага, ЭтоПример,ЭтоШагКонтекста); + СтрокаРодителяШага = НайтиСтрокуСценарияЧерезРодителя(СтрокаШага, ЭтоПример, ЭтоШагКонтекста); - ТекущаяУниверсальнаяДатаСтрока = СтрЗаменить(ТекущаяУниверсальнаяДатаВМиллисекундах(),Символы.НПП,""); + ТекущаяУниверсальнаяДатаСтрока = СтрЗаменить(ТекущаяУниверсальнаяДатаВМиллисекундах(), Символы.НПП, ""); ВтораяЧастьФайла = "Ошибка_" + ТекущаяУниверсальнаяДатаСтрока + ".json"; УбратьВсеЗапрещенныеСимволыИзИмениФайла(ВтораяЧастьФайла); @@ -6696,7 +6696,7 @@ &НаСервереБезКонтекста Процедура ЗаписатьЛогВЖРПередВыполнениемСценарияСервер(ИмяСценария) - ЗаписьЖурналаРегистрации("VanessaADD.ПередВыполнениемСценария", УровеньЖурналаРегистрации.Информация, , ,ИмяСценария); + ЗаписьЖурналаРегистрации("VanessaADD.ПередВыполнениемСценария", УровеньЖурналаРегистрации.Информация, , , ИмяСценария); КонецПроцедуры &НаКлиенте @@ -6776,7 +6776,7 @@ Функция УзнатьЕстьПоддержкаАсинхронныхВызовов() СистемнаяИнформация = Новый СистемнаяИнформация; - Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения,"8.3.5.1383") + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.5.1383") И УстановленРежимПоддержкиАсинхронныхВызовов(); КонецФункции @@ -6912,7 +6912,7 @@ &НаСервереБезКонтекста Процедура ПроверитьОбработкуНаВозможностьПодключения(ИмяОбработки) - Обработка = ВнешниеОбработки.Создать(ИмяОбработки,Ложь); + Обработка = ВнешниеОбработки.Создать(ИмяОбработки, Ложь); Попытка ПараметрыОбработки = Обработка.ПараметрыОбработки(); Исключение @@ -6921,7 +6921,7 @@ КонецПопытки; IgnoreOn82 = Ложь; - ПараметрыОбработки.Свойство("IgnoreOn82",IgnoreOn82); + ПараметрыОбработки.Свойство("IgnoreOn82", IgnoreOn82); Если IgnoreOn82 Тогда СистемнаяИнформация = Новый СистемнаяИнформация; @@ -6976,7 +6976,7 @@ &НаСервере Процедура ДобавитьФайлШаговВКешИзвестныхШаговВызовОтКлиента(ИмяФайла, ВерсияФайла) - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение Если ДобавитьФайлШаговВКешИзвестныхШагов(ИмяФайла, ВерсияФайла, ТзнТаблицаИзвестныхStepDefinition) Тогда @@ -7094,15 +7094,15 @@ Если ПромСтр <> Неопределено Тогда Если СравнитьОбычныйПутьФайлаСУниверсальнымПутемДругогоФайла(ПромСтр.ИмяФайла, ИмяФайлаНРег) Тогда //значит этот снипет из того же файла - Возврат;//TODO возврат посередине процедуры не читабелен! + Возврат; //TODO возврат посередине процедуры не читабелен! КонецЕсли; КонецЕсли; Если ПромСтр <> Неопределено Тогда БылиОшибки = Истина; ТекстСообщения = "Ошибка в файле %1, снипет %2 уже был в %3"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", ИмяФайла); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2", ID); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%3", ПромСтр.ИмяФайла); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайла); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ID); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%3", ПромСтр.ИмяФайла); МассивВажныхСообщений.Добавить(ТекстСообщения); //Возврат; //TODO: почему закоментированно... КонецЕсли; @@ -7174,7 +7174,7 @@ Отладка("ПодключитьКонтекстОбработкиКлиент:" + ОписаниеОшибки()); Если ВерсияФайла = Неопределено Тогда - Возврат Ложь;//значит просто не получилось подключить обработку + Возврат Ложь; //значит просто не получилось подключить обработку Иначе //передали ВерсиюФайла, тогда добавим обработку в кеш, чтобы она не пыталась загрузиться в следующий раз. КонецЕсли; @@ -7203,7 +7203,7 @@ Попытка КоллекцияШагов = ФормаОбработки.ПолучитьСписокТестов(ЭтаФорма); Исключение - ПодробноеПредставление = "Не смог загрузить снипеты из " + Файл.ПолноеИмя + " " +ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + ПодробноеПредставление = "Не смог загрузить снипеты из " + Файл.ПолноеИмя + " " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); ЗаписатьЛогВЖРОшибка("VanessaADD.ПолучитьСписокТестов", ПодробноеПредставление); СделатьСообщение(ПодробноеПредставление, "Важное"); @@ -7233,7 +7233,7 @@ &НаСервере Процедура ПодключитьШагиНаСервере(Знач ОписанияФайловШагов, Знач МассивВажныхСообщений) - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение БылиОшибки = Ложь; Для каждого ОписаниеФайлаШага Из ОписанияФайловШагов Цикл @@ -7290,10 +7290,10 @@ МассивШагов = ФормаОбработки.ПолучитьСписокТестов(ЭтаФорма); Исключение ТекстСообщения = "Не смог загрузить снипеты из %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", ПутьФайла); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ПутьФайла); Сообщить(ТекстСообщения); ТекстСообщения = "ПодключитьШагиИзОбработкиКлиент:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); Сообщить(ТекстСообщения); Возврат Неопределено; КонецПопытки; @@ -7430,7 +7430,7 @@ Если ЕстьПоддержкаАсинхронныхВызовов Тогда ФайлПутьКаталога = Новый Файл(ПутьКаталога); Если НРег(ФайлПутьКаталога.Расширение) = ".feature" Тогда - НайденныеФайлы = Новый Массив;//вернём одну фичу + НайденныеФайлы = Новый Массив; //вернём одну фичу НайденныеФайлы.Добавить(ФайлПутьКаталога); ТекРодитель = НайденныеФайлы[0].Путь; Иначе @@ -7455,7 +7455,7 @@ Если ФайлПутьКаталога.ЭтоКаталог() Тогда НайденныеФайлы = НайтиФайлы(ПутьКаталога, "*"); Иначе - НайденныеФайлы = Новый Массив;//вернём одну фичу + НайденныеФайлы = Новый Массив; //вернём одну фичу НайденныеФайлы.Добавить(ФайлПутьКаталога); КонецЕсли; КонецЕсли; @@ -7463,7 +7463,7 @@ Для каждого ОбъектФайл из НайденныеФайлы цикл Ф = ОбъектФайл; Если ТипЗнч(ф) = Тип("Структура") Тогда - Ф = ОбъектФайл.Файл;//т.к. для режима запрета синхронных вызовов там будет структура + Ф = ОбъектФайл.Файл; //т.к. для режима запрета синхронных вызовов там будет структура КонецЕсли; Если ЕстьПоддержкаАсинхронныхВызовов Тогда @@ -7581,7 +7581,7 @@ Для каждого ВеткаСтроки Из МассивКаталоговДляПроверкиНаПустоту Цикл Если ВеткаСтроки.Количество() = 0 Тогда - ВеткаРодитель = ВеткаСтроки.Родитель.Родитель;//так определяется родитель на один уровень вверх, когда в переменной лежат строки дерева + ВеткаРодитель = ВеткаСтроки.Родитель.Родитель; //так определяется родитель на один уровень вверх, когда в переменной лежат строки дерева Если ВеткаРодитель = Неопределено Тогда Продолжить; КонецЕсли; @@ -7666,39 +7666,39 @@ КонецФункции &НаСервереБезКонтекста -Процедура ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(Дерево,КоличествоШагов) +Процедура ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(Дерево, КоличествоШагов) Для Каждого СтрокаДерева Из Дерево.Строки Цикл Если СтрокаДерева.Тип = "Шаг" Тогда КоличествоШагов = КоличествоШагов + 1; КонецЕсли; - ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(СтрокаДерева,КоличествоШагов); + ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(СтрокаДерева, КоличествоШагов); КонецЦикла; КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьКоличествоШаговИзДереваПоСтроке(Дерево) КоличествоШагов = 0; - ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(Дерево,КоличествоШагов); + ПолучитьКоличествоШаговИзДереваПоСтрокеРекурсивно(Дерево, КоличествоШагов); Возврат КоличествоШагов; КонецФункции &НаСервере Процедура ЗаполнитьДеревоЗначенийПоМассивуСервер(МассивРезультатОбходаКаталогов, ДвДанныеvbFeatureReader, СтруктураПараметров) ОбъектСервер = РеквизитФормыВЗначение("Объект"); - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение ТзнТаблицаИзвестныхStepDefinition.Индексы.Добавить("СтрокаДляПоиска"); - ТзнКешStepDefinition = РеквизитФормыВЗначение("КешStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнКешStepDefinition = РеквизитФормыВЗначение("КешStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение ТзнКешStepDefinition.Индексы.Добавить("ИмяШагаБезКлючевогоСлова"); - СтруктураПараметров.Вставить("КешStepDefinition",ТзнКешStepDefinition); + СтруктураПараметров.Вставить("КешStepDefinition", ТзнКешStepDefinition); - ТзнКешТаблицGherkin = РеквизитФормыВЗначение("КешТаблицGherkin");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнКешТаблицGherkin = РеквизитФормыВЗначение("КешТаблицGherkin"); //TODO ?? обойтись без РеквизитФормыВЗначение ТзнКешТаблицGherkin.Индексы.Добавить("Строка"); - СтруктураПараметров.Вставить("КешТаблицGherkin",ТзнКешТаблицGherkin); + СтруктураПараметров.Вставить("КешТаблицGherkin", ТзнКешТаблицGherkin); ТолькоДляПолученияСпискаФич = Ложь; - СтруктураПараметров.Свойство("ТолькоДляПолученияСпискаФич",ТолькоДляПолученияСпискаФич); + СтруктураПараметров.Свойство("ТолькоДляПолученияСпискаФич", ТолькоДляПолученияСпискаФич); Если ТолькоДляПолученияСпискаФич = Истина Тогда Дерево = ОбъектСервер.ДеревоТестов.Скопировать(); Иначе @@ -7759,7 +7759,7 @@ Для Каждого Элем Из СтруктураПараметров.ТаблицаУжеСуществующихСценариевУФ Цикл СтрокаТаблицаУжеСуществующихСценариев = СтруктураПараметров.ТаблицаУжеСуществующихСценариев.Найти( - Элем.ИмяСценария,"ИмяСценария"); + Элем.ИмяСценария, "ИмяСценария"); Если СтрокаТаблицаУжеСуществующихСценариев <> Неопределено Тогда //обновим снипеты для сценариев, которые описаны в фича файлах как экспортные Элем.Снипет = СтрокаТаблицаУжеСуществующихСценариев.Снипет; @@ -7788,7 +7788,7 @@ ТаблицаФич.Колонки.Добавить("Фича"); ТаблицаФич.Колонки.Добавить("КоличествоШагов"); ТаблицаФич.Колонки.Добавить("МассивТегов"); - СтрокиСФичами = Дерево.Строки.НайтиСтроки(Новый Структура("Тип","Фича"), Истина); + СтрокиСФичами = Дерево.Строки.НайтиСтроки(Новый Структура("Тип", "Фича"), Истина); Для Каждого СтрокаДерева Из СтрокиСФичами Цикл СтрокаТаблицаФич = ТаблицаФич.Добавить(); СтрокаТаблицаФич.Фича = СтрокаДерева.ПолныйПуть; @@ -8016,7 +8016,7 @@ КонецПроцедуры &НаСервере -Процедура ОбработкаДоПостроенияДереваСервер(ДанныеПоВерсиямОбработок,МассивФайлов) +Процедура ОбработкаДоПостроенияДереваСервер(ДанныеПоВерсиямОбработок, МассивФайлов) ВосстановитьНастройкиИзХранилищаКеш(); ДанныеПоВерсиямОбработок = ПолучитьТаблицыПоТаблицаИзвестныхStepDefinition(); @@ -8073,7 +8073,7 @@ ДанныеПоВерсиямОбработок = Неопределено; МассивФайлов = Неопределено; - ОбработкаДоПостроенияДереваСервер(ДанныеПоВерсиямОбработок,МассивФайлов); + ОбработкаДоПостроенияДереваСервер(ДанныеПоВерсиямОбработок, МассивФайлов); УдалитьСтрокиИз_ТаблицаИзвестныхStepDefinition_ДляКоторыхНетФайловИСтрокиИзмененныхФайлов( ДанныеПоВерсиямОбработок.КоллекцияВерсийФайловШагов, ДополнительныеПараметры, МассивФайлов); @@ -8489,7 +8489,7 @@ ФайлПроверкаСуществования = Новый Файл(ПутьФайла); Если НЕ ФайлПроверкаСуществования.Существует() Тогда ТекстСообщения = "Не найден каталог библиотеки: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Элем.Значение); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Элем.Значение); Сообщить(ТекстСообщения); БылиОшибки = Истина; КонецЕсли; @@ -8502,10 +8502,10 @@ КонецФункции &НаСервере -Процедура ЗаполнитьИДСтрокиДереваСервер(СтруктураПараметров,Дерево) +Процедура ЗаполнитьИДСтрокиДереваСервер(СтруктураПараметров, Дерево) КоллекцияИменКонтекстовОбработок = СтруктураПараметров.КоллекцияИменКонтекстовОбработок; - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение МассивСтрокДереваДанныеФормы = Новый Массив; ЗаполнитьИДСтрокиВДереве(Дерево, МассивСтрокДереваДанныеФормы, КоллекцияИменКонтекстовОбработок, ТзнТаблицаИзвестныхStepDefinition, СтруктураПараметров); @@ -8525,7 +8525,7 @@ &НаКлиенте Процедура ДобавитьСканированиеКаталогов(Массив) - Перем ПутьФайла;//, ПутьКОбработке; + Перем ПутьФайла; //, ПутьКОбработке; //TODO необходимо вынести в реквизит формы. // ПутьКОбработке = ПолучитьПутьКОбработкеКлиент(); @@ -8543,7 +8543,7 @@ &НаКлиенте Процедура ДобавитьМассивСостоянийФайлов(Массив) - Перем ПутьФайла;//, ПутьКОбработке; + Перем ПутьФайла; //, ПутьКОбработке; //TODO удалить? ДобавитьДействиеВМассивАсинхроныхСобытий(Массив, ПреобразоватьПутьСТочкамиКНормальномуПути(Объект.КаталогИнструментов), "КаталогИнструментов", "РаботаСФайлом"); //TODO удалить? ДобавитьДействиеВМассивАсинхроныхСобытий(Массив, ДополнитьСлешВПуть(ПреобразоватьПутьСТочкамиКНормальномуПути(Объект.КаталогИнструментов)) + "lib/featurereader/vbFeatureReader.epf", "vbFeatureReader", "РаботаСФайлом"); @@ -8681,7 +8681,7 @@ Иначе ТекстСообщения = "Неивестный ТипПараметра в АсинхронноПолучитьСостоянияОбъектовФайловойСистемы: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СтруктураФайла.ТипПараметра); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтруктураФайла.ТипПараметра); Сообщить(ТекстСообщения); КонецЕсли; @@ -8752,7 +8752,7 @@ СтруктураПараметров.Вставить("КаталогИнструментов", КаталогИнструментов); СтруктураПараметров.Вставить("КаталогФич", КаталогФич); СтруктураПараметров.Вставить("ПутьКОбработке", ПутьКОбработке); - СтруктураПараметров.Вставить("ЭтоLinux",ЭтоLinux); + СтруктураПараметров.Вставить("ЭтоLinux", ЭтоLinux); МассивСообщений = Новый Массив; СтруктураПараметров.Вставить("МассивСообщений", МассивСообщений); @@ -8779,11 +8779,11 @@ Исключение ФлагСценарииЗагружены = Истина; ТекстСообщения = "Ошибка при построении дерева из файла <%1>%2%3"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТекущийЗагружаемыйФичаФайл); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",Символы.ПС); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%3",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекущийЗагружаемыйФичаФайл); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Символы.ПС); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%3", ОписаниеОшибки()); СделатьСообщение(ТекстСообщения); - ПоказатьПредупреждение(,ТекстСообщения, 5); + ПоказатьПредупреждение(, ТекстСообщения, 5); Возврат; КонецПопытки; @@ -9056,7 +9056,7 @@ Иначе Текст = Новый ЧтениеТекста; - Текст.Открыть(Объект.ИмяФайлаВнешнихКомандФреймворка,"UTF-8"); + Текст.Открыть(Объект.ИмяФайлаВнешнихКомандФреймворка, "UTF-8"); ДанныеКоманды = Новый Массив; @@ -9151,8 +9151,8 @@ Попытка Настройки.ЗагрузитьНастройкиВРежимеКоманднойСтроки(Объект, СтруктураДействий); Исключение - ИнфОбОшибке = "Не удалось загрузить настройки: "+ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - ЗаписатьЛогВЖРОшибка("VanessaADD.ЗагрузкаНастроек",ИнфОбОшибке); + ИнфОбОшибке = "Не удалось загрузить настройки: " + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + ЗаписатьЛогВЖРОшибка("VanessaADD.ЗагрузкаНастроек", ИнфОбОшибке); Сообщить(ИнфОбОшибке); ЗавершитьРаботуСистемы(Ложь); КонецПопытки; @@ -9167,7 +9167,7 @@ ИмяФайлаPIDTestManager = СтруктураДействий["ИмяФайлаPIDTestManager"]; Если ЗначениеЗаполнено(ИмяФайлаPIDTestManager) Тогда - ЗТ = Новый ЗаписьТекста(ИмяФайлаPIDTestManager,"UTF-8"); + ЗТ = Новый ЗаписьТекста(ИмяФайлаPIDTestManager, "UTF-8"); ЗТ.ЗаписатьСтроку(PIDЭтогоСеанса); ЗТ.Закрыть(); КонецЕсли; @@ -9341,7 +9341,7 @@ Попытка МассивСтрок = РазложитьСтрокуВМассивПодстрок(Элем, "."); - СтрТзн.Параметр = Число(МассивСтрок[3]*1000); + СтрТзн.Параметр = Число(МассивСтрок[3] * 1000); Исключение СтрТзн.Параметр = 0; КонецПопытки; @@ -9416,8 +9416,8 @@ МаксВерсия = ОпределитьМаксВерсиюПлатформы(Массив); - Файлы = НайтиФайлы("C:\Program Files (x86)\1cv8\"+ МаксВерсия +"\bin", "*.exe", Истина); - Файлы32 = НайтиФайлы("C:\Program Files\1cv8\"+ МаксВерсия +"\bin", "*.exe", Истина); + Файлы = НайтиФайлы("C:\Program Files (x86)\1cv8\" + МаксВерсия + "\bin", "*.exe", Истина); + Файлы32 = НайтиФайлы("C:\Program Files\1cv8\" + МаксВерсия + "\bin", "*.exe", Истина); Если Файлы.Количество() > 0 Тогда Объект.ВерсияПлатформыДляГенерацииEPF = "C:\Program Files (x86)\1cv8\" + МаксВерсия + "\bin"; ИначеЕсли Файлы32.Количество() > 0 Тогда @@ -9469,7 +9469,7 @@ ЗаполнитьПолеВерсияПлатформыДляГенерацииEPFЕслиЭтоВозможно(); - ТаймайтЗагрузкиНастроек = ?(Объект.ПлагиныЗагружены, 0.1, 1);//TODO ?? уменьшить таймаут менее 5 секунд + ТаймайтЗагрузкиНастроек = ?(Объект.ПлагиныЗагружены, 0.1, 1); //TODO ?? уменьшить таймаут менее 5 секунд ПодключитьОбработчикОжидания("ПослеОткрытияФормы", ТаймайтЗагрузкиНастроек, Истина); @@ -9509,14 +9509,14 @@ Если НЕ ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда ТекстСообщения = "Файл %1 не существует."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайла); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайла); СделатьСообщение(ТекстСообщения); Возврат; КонецЕсли; - ИмяОбработки = ПодключитьВнешнююОбработкуКлиент(ИмяФайла);//TODO Обработать асинхронность + ИмяОбработки = ПодключитьВнешнююОбработкуКлиент(ИмяФайла); //TODO Обработать асинхронность МодульРаботыСВидео = ПолучитьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма.Форма"); КонецПроцедуры @@ -9567,13 +9567,13 @@ КонецФункции &НаСервереБезКонтекста -Функция ДалееВДеревеСтрокиУсловийИначе(СтрокаДерева,СтрокиРодителя) +Функция ДалееВДеревеСтрокиУсловийИначе(СтрокаДерева, СтрокиРодителя) ИД = СтрокиРодителя.Индекс(СтрокаДерева); ДалееТолькоУсловия = Истина; Пока Истина Цикл ИД = ИД + 1; - Если ИД > СтрокиРодителя.Количество()-1 Тогда + Если ИД > СтрокиРодителя.Количество() - 1 Тогда Прервать; КонецЕсли; @@ -9591,15 +9591,15 @@ КонецФункции &НаСервереБезКонтекста -Процедура ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага,СтрСтроки,Шаги) +Процедура ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага, СтрСтроки, Шаги) ЕстьЦиклВышеПоДереву = Ложь; ТекСтрокаДерева = СтрСтроки; ТекСтрокиРодителя = ТекСтрокаДерева.Родитель.Строки; ИдЦикла = Неопределено; Пока Истина Цикл - Если ТекСтрокиРодителя.Индекс(ТекСтрокаДерева) <> (ТекСтрокиРодителя.Количество()-1) - И НЕ ДалееВДеревеСтрокиУсловийИначе(ТекСтрокаДерева,ТекСтрокиРодителя) + Если ТекСтрокиРодителя.Индекс(ТекСтрокаДерева) <> (ТекСтрокиРодителя.Количество() - 1) + И НЕ ДалееВДеревеСтрокиУсловийИначе(ТекСтрокаДерева, ТекСтрокиРодителя) Тогда //это должна быть последняя строка в своём уровне Прервать; @@ -9620,7 +9620,7 @@ КонецЦикла; Если ЕстьЦиклВышеПоДереву Тогда - СтруктураШага.Вставить("ИдЦикла",ИдСтрокиЦикла); + СтруктураШага.Вставить("ИдЦикла", ИдСтрокиЦикла); КонецЕсли; КонецПроцедуры @@ -9639,12 +9639,12 @@ КонецФункции &НаСервере -Функция ОпределитьИдСледующейСтроки(СтрокаДерева,СтрокиРодителя) +Функция ОпределитьИдСледующейСтроки(СтрокаДерева, СтрокиРодителя) Если Объект.РежимВыполненияОдногоШага Тогда Возврат Неопределено; КонецЕсли; - ИдСледующейСтроки = СтрокиРодителя.Индекс(СтрокаДерева)+1; + ИдСледующейСтроки = СтрокиРодителя.Индекс(СтрокаДерева) + 1; Если (СтрокиРодителя.Количество() - 1) >= ИдСледующейСтроки Тогда Возврат НайтиСледующуюИсполнимуюСтрокуДерева(СтрокиРодителя[ИдСледующейСтроки]); @@ -9662,7 +9662,7 @@ Возврат СтрокаДерева.Родитель; КонецЕсли; - Возврат ОпределитьИдСледующейСтроки(СтрокиРодителя.Родитель,СтрокиРодителя.Родитель.Родитель.Строки); + Возврат ОпределитьИдСледующейСтроки(СтрокиРодителя.Родитель, СтрокиРодителя.Родитель.Родитель.Строки); КонецФункции &НаСервере @@ -9672,7 +9672,7 @@ Пока Истина Цикл ИДСтрокиДерева = ИДСтрокиДерева + 1; - Если (РодительСтроки.Строки.Количество()-1) >= ИДСтрокиДерева Тогда + Если (РодительСтроки.Строки.Количество() - 1) >= ИДСтрокиДерева Тогда СледующаяСтрока = РодительСтроки.Строки[ИДСтрокиДерева]; Если СледующаяСтрока.ДопТип = "УсловиеИначеЕсли" Тогда @@ -9696,24 +9696,24 @@ &НаСервере Процедура ДобавитьШагиДляВыполненияСценария(Шаги, ДеревоСтроки, СтрокаДерева, СтрокаСценария, - ЭтоШагКонтекста,ДопПараметры) + ЭтоШагКонтекста, ДопПараметры) Для каждого СтрСтроки Из ДеревоСтроки Цикл Если СтрСтроки.Тип = "Шаг" Тогда СтруктураШага = ПолучитьСтруктуруШага(СтрСтроки, СтрокаДерева, СтрокаДерева, ЭтоШагКонтекста); Если ДопПараметры.ЕстьЦиклы Тогда - ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага,СтрСтроки,Шаги); + ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага, СтрСтроки, Шаги); КонецЕсли; РодительСтроки = СтрСтроки.Родитель; ИДСтрокиДерева = РодительСтроки.Строки.Индекс(СтрСтроки); - Если ИДСтрокиДерева = РодительСтроки.Строки.Количество()-1 Тогда + Если ИДСтрокиДерева = РодительСтроки.Строки.Количество() - 1 Тогда Если ДопПараметры.МассивУсловий.Количество() > 0 Тогда - СтрокаУсловия = ДопПараметры.МассивУсловий[ДопПараметры.МассивУсловий.Количество()-1]; + СтрокаУсловия = ДопПараметры.МассивУсловий[ДопПараметры.МассивУсловий.Количество() - 1]; ДалееВУсловииНетСтрок = Истина; ИдСтроки = СтрСтроки.ИдСтроки; - СтрокаСоСледующимИД = СтрокаУсловия.Строки.Найти(ИдСтроки+1,"ИдСтроки",Истина); + СтрокаСоСледующимИД = СтрокаУсловия.Строки.Найти(ИдСтроки + 1, "ИдСтроки", Истина); Если СтрокаСоСледующимИД <> Неопределено И СтрокаСоСледующимИД.СтрокаПараметровШагаВВидеТаблицы <> Истина Тогда ДалееВУсловииНетСтрок = Ложь; КонецЕсли; @@ -9725,7 +9725,7 @@ Иначе Если ДопПараметры.ЕстьЦиклы Тогда //значит это последний шаг в сценарии, но он внутри условия - ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага,СтрСтроки,Шаги); + ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага, СтрСтроки, Шаги); Иначе СтруктураШага.Вставить("ИдСледующегоШага", -1); КонецЕсли; @@ -9747,7 +9747,7 @@ Если СтрокаПримеров = Неопределено Тогда ТекстСообщения = "Не найдена строка примеров во вложенной структуре сценария. <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СтрокаДерева.ПолныйПуть); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтрокаДерева.ПолныйПуть); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -9755,13 +9755,13 @@ Для Каждого СтрокаПримера Из СтрокаПримеров.Строки Цикл НомерСтрокиПримера = НомерСтрокиПримера + 1; Если НомерСтрокиПримера = 1 Тогда - Продолжить;//это служебная строка + Продолжить; //это служебная строка КонецЕсли; - ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаПримера.Строки, СтрокаПримера, СтрокаСценария, ЭтоШагКонтекста,ДопПараметры) + ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаПримера.Строки, СтрокаПримера, СтрокаСценария, ЭтоШагКонтекста, ДопПараметры) КонецЦикла; Иначе - ДобавитьШагиДляВыполненияСценария(Шаги, СтрСтроки.Строки, СтрокаДерева, СтрокаСценария, ЭтоШагКонтекста,ДопПараметры) + ДобавитьШагиДляВыполненияСценария(Шаги, СтрСтроки.Строки, СтрокаДерева, СтрокаСценария, ЭтоШагКонтекста, ДопПараметры) КонецЕсли; ИначеЕсли СтрСтроки.Тип = "Область" Тогда Если (СтрСтроки.ДопТип = "Условие") или (СтрСтроки.ДопТип = "УсловиеИначеЕсли") Тогда @@ -9771,7 +9771,7 @@ Если (СтрСтроки.ДопТип = "Условие") или (СтрСтроки.ДопТип = "УсловиеИначеЕсли") или (СтрСтроки.ДопТип = "Цикл") Тогда СтруктураШага = ПолучитьСтруктуруШага(СтрСтроки, СтрокаДерева, СтрокаДерева, ЭтоШагКонтекста); - СледующаяСтрока = ОпределитьИдСледующейСтроки(СтрСтроки,ДеревоСтроки); + СледующаяСтрока = ОпределитьИдСледующейСтроки(СтрСтроки, ДеревоСтроки); Если СледующаяСтрока = Неопределено Тогда СтруктураШага.Вставить("ИдСледующегоШага", Неопределено); Иначе @@ -9779,20 +9779,20 @@ КонецЕсли; Если СтрСтроки.ДопТип = "Цикл" Тогда - ДопПараметры.Вставить("ЕстьЦиклы",Истина); + ДопПараметры.Вставить("ЕстьЦиклы", Истина); КонецЕсли; Если ДопПараметры.ЕстьЦиклы Тогда - ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага,СтрСтроки,Шаги); + ОбработатьСлужебныеЗначенияВСтруктуреШага(СтруктураШага, СтрСтроки, Шаги); КонецЕсли; Шаги.Добавить(СтруктураШага); КонецЕсли; - ДобавитьШагиДляВыполненияСценария(Шаги, СтрСтроки.Строки, СтрокаДерева, СтрокаСценария, ЭтоШагКонтекста,ДопПараметры); + ДобавитьШагиДляВыполненияСценария(Шаги, СтрСтроки.Строки, СтрокаДерева, СтрокаСценария, ЭтоШагКонтекста, ДопПараметры); Если (СтрСтроки.ДопТип = "Условие") или (СтрСтроки.ДопТип = "УсловиеИначеЕсли") Тогда - ДопПараметры.МассивУсловий.Удалить(ДопПараметры.МассивУсловий.Количество()-1); + ДопПараметры.МассивУсловий.Удалить(ДопПараметры.МассивУсловий.Количество() - 1); КонецЕсли; КонецЕсли; КонецЦикла; @@ -9867,16 +9867,16 @@ Шаги = Новый Массив; Если СтрокаДерева.Родитель.Строки[0].ДопТип = "Контекст" Тогда //значит надо добавить шаги контекста к нашим шагам - ДопПараметры.Вставить("ЕстьЦиклы",Ложь); - ДопПараметры.Вставить("МассивУсловий",Новый Массив); + ДопПараметры.Вставить("ЕстьЦиклы", Ложь); + ДопПараметры.Вставить("МассивУсловий", Новый Массив); ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаДерева.Родитель.Строки[0].Строки, СтрокаДерева, СтрСтрокаПримеров, - Истина,ДопПараметры); + Истина, ДопПараметры); КонецЕсли; - ДопПараметры.Вставить("ЕстьЦиклы",Ложь); - ДопПараметры.Вставить("МассивУсловий",Новый Массив); + ДопПараметры.Вставить("ЕстьЦиклы", Ложь); + ДопПараметры.Вставить("МассивУсловий", Новый Массив); ДобавитьШагиДляВыполненияСценария(Шаги, СтрСтрокаПримеров.Строки, СтрокаДерева, СтрСтроки.Родитель, - Ложь,ДопПараметры); + Ложь, ДопПараметры); Если ДопПараметры.РежимВыполненияОдногоШага Тогда МассивДляУдаления = Новый Массив; @@ -9989,15 +9989,15 @@ Шаги = Новый Массив; Если СтрокаДерева.Родитель.Строки[0].ДопТип = "Контекст" Тогда //значит надо добавить шаги контекста к нашим шагам - ДопПараметры.Вставить("ЕстьЦиклы",Ложь); - ДопПараметры.Вставить("МассивУсловий",Новый Массив); + ДопПараметры.Вставить("ЕстьЦиклы", Ложь); + ДопПараметры.Вставить("МассивУсловий", Новый Массив); ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаДерева.Родитель.Строки[0].Строки, СтрокаДерева, СтрокаДерева, - Истина,ДопПараметры); + Истина, ДопПараметры); КонецЕсли; - ДопПараметры.Вставить("ЕстьЦиклы",Ложь); - ДопПараметры.Вставить("МассивУсловий",Новый Массив); - ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаДерева.Строки, СтрокаДерева, СтрокаДерева, Ложь,ДопПараметры); + ДопПараметры.Вставить("ЕстьЦиклы", Ложь); + ДопПараметры.Вставить("МассивУсловий", Новый Массив); + ДобавитьШагиДляВыполненияСценария(Шаги, СтрокаДерева.Строки, СтрокаДерева, СтрокаДерева, Ложь, ДопПараметры); Если ДопПараметры.РежимВыполненияСценарияСВыбранногоШагаССохранениемКонтекстов Тогда МассивДляУдаления = Новый Массив; @@ -10128,7 +10128,7 @@ СтрокаДерева.ВыполнятьСценарийСЭтогоШага = Истина; КонецЕсли; КонецЕсли; - МассивСтрокДереваДанныеФормы.Добавить();//просто добавим пустой элемент, заполнение его данными будет в процедуре клиента + МассивСтрокДереваДанныеФормы.Добавить(); //просто добавим пустой элемент, заполнение его данными будет в процедуре клиента ИД = ИД + 1; ПроставитьИДРекурсивно(СтрокаДерева.Строки, ИД, МассивСтрокДереваДанныеФормы, КоллекцияИменКонтекстовОбработок, ТзнТаблицаИзвестныхStepDefinition, ДопПараметры, ЕстьСвояEPFУФичи); @@ -10151,7 +10151,7 @@ ОбъектСервер = РеквизитФормыВЗначение("Объект"); Если Не Объект.РежимВыполненияОдногоШага Тогда - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение ЗаполнитьИДСтрокиВДереве(ОбъектСервер.ДеревоТестов, МассивСтрокДереваДанныеФормы, КоллекцияИменКонтекстовОбработок, ТзнТаблицаИзвестныхStepDefinition, ДопПараметры); КонецЕсли; @@ -10359,7 +10359,7 @@ РежимСовместимости = УзнатьРежимСовместимостиКлиент(ПолучитьТекстСообщенияПользователю("$Не использовать$")); ТекстИДРаннера = ""; Если ЗначениеЗаполнено(Объект.ИДРаннера) Тогда - ТекстИДРаннера = ", ИДРаннера="+Объект.ИДРаннера; + ТекстИДРаннера = ", ИДРаннера=" +Объект.ИДРаннера; КонецЕсли; ТекстОшибкиTestClient = ""; @@ -10377,7 +10377,7 @@ + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Сценарий") + ": " + ИмяСценария + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Фича") + ": " + ПолныйПутьФичи + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Номер строки в фиче") + ": " + НомерСтрокиВФиче - + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Файл шагов") +": " + ИмяФайла + + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Файл шагов") + ": " + ИмяФайла + Символы.ПС + " " + ПолучитьТекстСообщенияПользователю("- Метод реализации шага") + ": " + ИмяПроцедуры ; @@ -10406,11 +10406,11 @@ КонецФункции &НаКлиенте -Процедура ДействияПослеЗавершенияСценария(СтрокаСценария, БылаОшибка = Ложь, ОписаниеОшибки = Неопределено,СлужебныеДанныеСценария = Неопределено) +Процедура ДействияПослеЗавершенияСценария(СтрокаСценария, БылаОшибка = Ложь, ОписаниеОшибки = Неопределено, СлужебныеДанныеСценария = Неопределено) Если Объект.РежимВыполненияОдногоШага Тогда Возврат; КонецЕсли; - ВызватьМетодСценарияЕслиОнЕсть(СтрокаСценария, "ПередОкончаниемСценария", , БылаОшибка, ОписаниеОшибки,СлужебныеДанныеСценария); + ВызватьМетодСценарияЕслиОнЕсть(СтрокаСценария, "ПередОкончаниемСценария", , БылаОшибка, ОписаниеОшибки, СлужебныеДанныеСценария); КонецПроцедуры &НаКлиенте @@ -10479,8 +10479,8 @@ Отладка("Команда создания скриншота=" + Команда); Исключение ТекстСообщения = "Ошибка создания скриншота:%1 команда:%2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",Команда); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Команда); Сообщить(ТекстСообщения); КонецПопытки; @@ -10582,7 +10582,7 @@ КонецЕсли; ТекстСообщения = "Неизвестный Тип: %1 в ПолучитьЗначениеДляПередачиВМетод"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Тип); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Тип); ВызватьИсключение ТекстСообщения; КонецФункции @@ -10597,7 +10597,7 @@ Возврат ПреобразоватьКДатеСтрокуСервер(Значение); Иначе ТекстСообщения = "Неизвестный Тип: %1 в ПолучитьЗначениеДляПередачиВМетод"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Тип); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Тип); ВызватьИсключение ТекстСообщения; КонецЕсли; КонецФункции @@ -10695,21 +10695,21 @@ ИдСледующегоШага = Неопределено; Если ТекШаг.ДопТип = "Условие" или ТекШаг.ДопТип = "УсловиеИначеЕсли" Тогда Если НЕ Объект.РезультатУсловия Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",ТекШаг.ИдСледующегоШага,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", ТекШаг.ИдСледующегоШага, Истина); КонецЕсли; ИначеЕсли ТекШаг.ДопТип = "Цикл" Тогда Если НЕ Объект.РезультатУсловия Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",ТекШаг.ИдСледующегоШага,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", ТекШаг.ИдСледующегоШага, Истина); Если ТекШаг.ИдСледующегоШага = Неопределено Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",ТекШаг.ИдЦикла,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", ТекШаг.ИдЦикла, Истина); КонецЕсли; КонецЕсли; ИначеЕсли ТекШаг.ИдЦикла <> Неопределено Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",ТекШаг.ИдЦикла,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", ТекШаг.ИдЦикла, Истина); ИначеЕсли ТекШаг.ИдСледующегоШага = -1 Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",Неопределено,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", Неопределено, Истина); ИначеЕсли ТекШаг.ИдСледующегоШага <> Неопределено Тогда - ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки",ТекШаг.ИдСледующегоШага,Истина); + ИдСледующегоШага = Новый Структура("Ид,ИскатьПоИдСтроки", ТекШаг.ИдСледующегоШага, Истина); КонецЕсли; Возврат ИдСледующегоШага; @@ -10791,7 +10791,7 @@ СтрокаШага.ТипКартинки = 6; СтрокаСценария.Статус = СтрокаШага.Статус; ТекстСообщения = "Пустой адрес снипета у шага: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТекШаг.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); ОписаниеОшибки = ТекстСообщения; ВывестиВЛогФайл("Pending: " + ОписаниеОшибки); @@ -10800,7 +10800,7 @@ СтатусЗапускаСценариев = Ложь; Если Объект.ДелатьЛогОшибокВТекстовыйФайл Тогда ТекстСообщения = "Шаг сценария не реализован."; - ЗаписатьЛогОшибки(СтрокаСценария,СтрокаШага,ТекстСообщения,Неопределено,ОписаниеОшибки); + ЗаписатьЛогОшибки(СтрокаСценария, СтрокаШага, ТекстСообщения, Неопределено, ОписаниеОшибки); КонецЕсли; КонецЕсли; @@ -10850,7 +10850,7 @@ ОбработкаТеста = ТаблицаКонтекстовОбработок[ИД].Обработка; Если ОбработкаТеста = Неопределено Тогда ТекстСообщения = "Не смог подключить обработку <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",АдресСнипета); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", АдресСнипета); ВызватьИсключение ТекстСообщения; КонецЕсли; Иначе @@ -10960,7 +10960,7 @@ Если ПарамТаблица.Количество() = 0 Тогда //значит эта таблица пустая, её передавать не надо - МассивПараметров.Удалить(МассивПараметров.Количество()-1); + МассивПараметров.Удалить(МассивПараметров.Количество() - 1); КонецЕсли; КонецЕсли; @@ -11023,7 +11023,7 @@ Если Найти(ОписаниеОшибкиСтр, "}: Не реализовано.") > 0 Тогда //тогда это Pending ТекстСообщения = "Шаг (%1) не реализован."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТекШаг.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); ОписаниеОшибкиШага = ТекстСообщения; СделатьСообщение(ОписаниеОшибкиШага); @@ -11037,12 +11037,12 @@ Если Объект.ПриравниватьPendingКFailed Тогда Если Объект.ДелатьЛогОшибокВТекстовыйФайл Тогда ТекстСообщения = "Шаг сценария не реализован."; - ЗаписатьЛогОшибки(СтрокаСценария,СтрокаШага,ТекстСообщения,Неопределено,ОписаниеОшибкиШага); + ЗаписатьЛогОшибки(СтрокаСценария, СтрокаШага, ТекстСообщения, Неопределено, ОписаниеОшибкиШага); КонецЕсли; КонецЕсли; Иначе //значит возникла ошибка - ОписаниеОшибкиШага = ПолучитьТекстСообщенияПользователю("$Шаг$") + " (" + ТекШаг.Имя + ") " + ПолучитьТекстСообщенияПользователю("$не выполнен$") +"."; + ОписаниеОшибкиШага = ПолучитьТекстСообщенияПользователю("$Шаг$") + " (" + ТекШаг.Имя + ") " + ПолучитьТекстСообщенияПользователю("$не выполнен$") + "."; СделатьСообщение(ОписаниеОшибкиШага); ПолныйПутьФичи = ОпределитьИмяФичаФайлаПоСтрокеДерева(СтрокаСценария); @@ -11055,12 +11055,12 @@ СделатьСообщение(СтрОшибка); - ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(Неопределено,ИДСтрокиСценария,Истина); + ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(Неопределено, ИДСтрокиСценария, Истина); СтрокаШага = ПолучитьСтрокуШагаИзДанныхФормы(ТекШаг.СтрокаШага); ЭтоПример = Ложь; ЭтоШагКонтекста = Ложь; - СтрокаРодителяШага = НайтиСтрокуСценарияЧерезРодителя(СтрокаШага, ЭтоПример,ЭтоШагКонтекста); + СтрокаРодителяШага = НайтиСтрокуСценарияЧерезРодителя(СтрокаШага, ЭтоПример, ЭтоШагКонтекста); Если ЭтоШагКонтекста Тогда ВозниклаОшибкаВШагеКонтекста = Истина; @@ -11072,14 +11072,14 @@ Если СтрокаШага.ПроизвольныеЗначения = Неопределено Тогда СтрокаШага.ПроизвольныеЗначения = Новый Структура; КонецЕсли; - СтрокаШага.ПроизвольныеЗначения.Вставить("ТаблицаЭталон",ГлобальныеЗначенияТаблиц.ТаблицаЭталон); - СтрокаШага.ПроизвольныеЗначения.Вставить("ТаблицаТекущееЗначение",ГлобальныеЗначенияТаблиц.ТаблицаТекущееЗначение); + СтрокаШага.ПроизвольныеЗначения.Вставить("ТаблицаЭталон", ГлобальныеЗначенияТаблиц.ТаблицаЭталон); + СтрокаШага.ПроизвольныеЗначения.Вставить("ТаблицаТекущееЗначение", ГлобальныеЗначенияТаблиц.ТаблицаТекущееЗначение); КонецЕсли; Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл Тогда ТекстСообщения = "Шаг (%1) не выполнен. Номер строки в фиче %2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", ТекШаг.Имя); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2", XMlСтрока(ТекШаг.НомерСтрокиВФиче)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", XMlСтрока(ТекШаг.НомерСтрокиВФиче)); ВывестиВЛогФайл(ТекстСообщения); ВывестиВЛогФайл("Failed: " + СтрОшибка); КонецЕсли; @@ -11087,7 +11087,7 @@ ОстановитьЗаписьВидеоОдногоШага(); Если Объект.ДелатьЛогОшибокВТекстовыйФайл Тогда - ЗаписатьЛогОшибки(СтрокаСценария,СтрокаШага,СтрОшибка,ИнфоОбОшибке,ОписаниеОшибкиШага); + ЗаписатьЛогОшибки(СтрокаСценария, СтрокаШага, СтрОшибка, ИнфоОбОшибке, ОписаниеОшибкиШага); КонецЕсли; Если Объект.ПоказыватьНомерСтрокиДереваПриВозникновенииОшибки Тогда @@ -11111,7 +11111,7 @@ Иначе СтрокаСценария = ПолучитьСтрокуСценарияИзДанныхФормы(ИДСтрокиСценария); - ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(СтрокаСценария,ИДСтрокиСценария); + ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(СтрокаСценария, ИДСтрокиСценария); СтрокаШага = ПолучитьСтрокуШагаИзДанныхФормы(ИДСтрокиШага); @@ -11352,9 +11352,9 @@ ЭлементыРодителя = ТекРодитель.ПолучитьЭлементы(); ИдВКоллекцииРодителя = ЭлементыРодителя.Индекс(ЭлементДерева); - Если ЭлементыРодителя.Количество()-1 >= (ИдВКоллекцииРодителя+1) Тогда + Если ЭлементыРодителя.Количество() - 1 >= (ИдВКоллекцииРодителя + 1) Тогда //значит это следующая строка - Возврат ЭлементыРодителя[ИдВКоллекцииРодителя+1].ПолучитьИдентификатор(); + Возврат ЭлементыРодителя[ИдВКоллекцииРодителя + 1].ПолучитьИдентификатор(); КонецЕсли; Возврат ОпределитьВозможнуюСледующуюСтрокуДереваПоЭлементуДерева(ТекРодитель); @@ -11376,7 +11376,7 @@ Если ТекРодитель.ДопТип = "Цикл" Тогда ЭлементыРодителя = ТекРодитель.ПолучитьЭлементы(); ЭлементыСтроки = Элементы.ДеревоТестов.ТекущиеДанные.ПолучитьЭлементы(); - Если ЭлементыРодителя.Индекс(Элементы.ДеревоТестов.ТекущиеДанные) = ЭлементыРодителя.Количество()-1 + Если ЭлементыРодителя.Индекс(Элементы.ДеревоТестов.ТекущиеДанные) = ЭлементыРодителя.Количество() - 1 И ЭлементыСтроки.Количество() = 0 Тогда Элементы.ДеревоТестов.ТекущаяСтрока = ТекРодитель.ПолучитьИдентификатор(); @@ -11423,7 +11423,7 @@ Процедура УстановитьФлагиВыполненияСценариевОбработчикОжидания() ФлагСценарииВыполнены = Истина; Если ЗначениеЗаполнено(ФайлФлагВыполненияСценариев) Тогда - ЗТ = Новый ЗаписьТекста(ФайлФлагВыполненияСценариев,"UTF-8",,Истина); + ЗТ = Новый ЗаписьТекста(ФайлФлагВыполненияСценариев, "UTF-8", , Истина); ЗТ.ЗаписатьСтроку(""); ЗТ.Закрыть(); КонецЕсли; @@ -11525,7 +11525,7 @@ ИмяПроцедуры = ТекШаг.СтрокаРеальнойПроцедуры; ТекстСообщения = "Шаг (%1) не выполнен."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", ТекШаг.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); СделатьСообщение(ТекстСообщения); Если ЗначениеЗаполнено(ТекШаг.ОписаниеОшибки) Тогда @@ -11557,9 +11557,9 @@ СделатьСообщение(ОписаниеОшибки); - ОписаниеОшибкиШага = ПолучитьТекстСообщенияПользователю("$Шаг$") + " (" + ТекШаг.Имя + ") " + ПолучитьТекстСообщенияПользователю("$не выполнен$") +"."; + ОписаниеОшибкиШага = ПолучитьТекстСообщенияПользователю("$Шаг$") + " (" + ТекШаг.Имя + ") " + ПолучитьТекстСообщенияПользователю("$не выполнен$") + "."; Если Объект.ДелатьЛогОшибокВТекстовыйФайл Тогда - ЗаписатьЛогОшибки(СтрокаСценария,СтрокаШага,ОписаниеОшибки,ИнфоОбОшибке,ОписаниеОшибкиШага); + ЗаписатьЛогОшибки(СтрокаСценария, СтрокаШага, ОписаниеОшибки, ИнфоОбОшибке, ОписаниеОшибкиШага); КонецЕсли; ВывестиВЛогФайл("Failed: " + ОписаниеОшибки); @@ -11762,7 +11762,7 @@ ПодключитьОбработчикОжидания("ВыполнитьШаг", ИнтервалДляВыполненияШага, Истина); ИначеЕсли НЕ Объект.ВыполнятьШагиАссинхронно Тогда СчетчикШаговБезТаймера = СчетчикШаговБезТаймера + 1; - ВыполнитьШаг();//просто вызываем следующий шаг + ВыполнитьШаг(); //просто вызываем следующий шаг Иначе //вызываем шаг через таймер, чтобы дать всем формам прорисоваться ПодключитьОбработчикОжидания("ВыполнитьШаг", ИнтервалДляВыполненияШага, Истина); @@ -11792,7 +11792,7 @@ КаталогOutputСкриншотыСоСлешем = ДополнитьСлешВПуть(Объект.КаталогOutputСкриншоты); Для Каждого СтруктураСкриншот Из РезультатПрохожденияТестовСценария.МассивСкриншотов Цикл ПутьКФайлу = ПутьКаталогаРодителяОтчетовАллюрСоСлешем + СтруктураСкриншот.ИмяФайла; - КопироватьФайлКомандаСистемы(КаталогOutputСкриншотыСоСлешем + СтруктураСкриншот.ИмяФайла, ПутьКФайлу);//TODO пожиратель времени + КопироватьФайлКомандаСистемы(КаталогOutputСкриншотыСоСлешем + СтруктураСкриншот.ИмяФайла, ПутьКФайлу); //TODO пожиратель времени КонецЦикла; КонецЕсли; @@ -11847,7 +11847,7 @@ &НаКлиенте Функция ПолучитьКонтекстТестаПоАдресСнипета(АдресСнипета) - ИД = КоллекцияИменКонтекстовОбработок.Получить(УниверсальноеПолноеИмяФайла(АдресСнипета, Истина));//TODO оптимизировать + ИД = КоллекцияИменКонтекстовОбработок.Получить(УниверсальноеПолноеИмяФайла(АдресСнипета, Истина)); //TODO оптимизировать Если ИД = Неопределено Тогда //Скорее всего это обработка не содержащая в себе тесты. Возврат Неопределено; @@ -11918,11 +11918,11 @@ &НаКлиенте Процедура ВызватьМетодСценарияЕслиОнЕсть(СтрокаДереваСценария, ИмяПроцедуры, МассивПараметров = Неопределено, - БылаОшибка = Ложь, ОписаниеОшибки = Неопределено,СлужебныеДанныеСценария = Неопределено) + БылаОшибка = Ложь, ОписаниеОшибки = Неопределено, СлужебныеДанныеСценария = Неопределено) ИмяФичаФайла = Неопределено; Если СлужебныеДанныеСценария <> Неопределено Тогда - СлужебныеДанныеСценария.Свойство("ИмяФичаФайла",ИмяФичаФайла); + СлужебныеДанныеСценария.Свойство("ИмяФичаФайла", ИмяФичаФайла); КонецЕсли; Если ИмяФичаФайла = Неопределено Тогда @@ -11933,7 +11933,7 @@ КонецЕсли; Если СлужебныеДанныеСценария <> Неопределено Тогда - СлужебныеДанныеСценария.Вставить("ИмяФичаФайла",ИмяФичаФайла); + СлужебныеДанныеСценария.Вставить("ИмяФичаФайла", ИмяФичаФайла); КонецЕсли; Файл = Новый Файл(ИмяФичаФайла); @@ -11986,17 +11986,17 @@ &НаКлиенте Функция ПолучитьОтметкуВремениДляИмениФайла() - ТекДат = Формат(ТекущаяДата(),"ДФ=yyyyMMdd"); + ТекДат = Формат(ТекущаяДата(), "ДФ=yyyyMMdd"); ТекМилиСек = ТекущаяУниверсальнаяДатаВМиллисекундах(); Стр = ТекДат + "_" + ТекМилиСек; - Стр = СтрЗаменить(Стр,".",""); - Стр = СтрЗаменить(Стр,",",""); - Стр = СтрЗаменить(Стр,":",""); - Стр = СтрЗаменить(Стр,"/",""); - Стр = СтрЗаменить(Стр,"\",""); - Стр = СтрЗаменить(Стр,Символы.НПП,""); + Стр = СтрЗаменить(Стр, ".", ""); + Стр = СтрЗаменить(Стр, ",", ""); + Стр = СтрЗаменить(Стр, ":", ""); + Стр = СтрЗаменить(Стр, "/", ""); + Стр = СтрЗаменить(Стр, "\", ""); + Стр = СтрЗаменить(Стр, Символы.НПП, ""); Возврат Стр; КонецФункции @@ -12143,8 +12143,8 @@ &НаСервере Процедура СформироватьОтчетАллюрСервер(СтруктураОФ) ОбъектСервер = РеквизитФормыВЗначение("Объект"); - ТзнДанныеАллюрМеток = ОбъектСервер.ДанныеАллюрМеток;//РеквизитФормыВЗначение("ДанныеАллюрМеток"); - СтруктураОФ.вставить("ДанныеАллюрМеток",ОбъектСервер.ДанныеАллюрМеток.Скопировать()); + ТзнДанныеАллюрМеток = ОбъектСервер.ДанныеАллюрМеток; //РеквизитФормыВЗначение("ДанныеАллюрМеток"); + СтруктураОФ.вставить("ДанныеАллюрМеток", ОбъектСервер.ДанныеАллюрМеток.Скопировать()); Дерево = ОбъектСервер.ДеревоТестов; @@ -12183,7 +12183,7 @@ ФайлКаталог = Новый Файл(Файл.Путь); Если НЕ ФайлСуществуетКомандаСистемы(ФайлКаталог.ПолноеИмя) Тогда ТекстСообщения = "Не могу выгрузить статус сценариев, т.к. каталог %1 не существует."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ФайлКаталог.ПолноеИмя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ФайлКаталог.ПолноеИмя); СделатьСообщение(ТекстСообщения); Возврат; КонецЕсли; @@ -12204,7 +12204,7 @@ ЗТ.Закрыть(); ТекстСообщения = "Записал файл статуса билда: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ПутьКФайлу); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ПутьКФайлу); СделатьСообщение(ТекстСообщения); КонецПроцедуры @@ -12227,8 +12227,8 @@ КонецФункции &НаКлиенте -Функция ДобавитьНулей(Парам,КоличествоСимволов) - Стр = СтрЗаменить(Строка(Парам),Символы.НПП,""); +Функция ДобавитьНулей(Парам, КоличествоСимволов) + Стр = СтрЗаменить(Строка(Парам), Символы.НПП, ""); Пока СтрДлина(Стр) < КоличествоСимволов Цикл Стр = "0" + Стр; @@ -12238,19 +12238,19 @@ КонецФункции &НаКлиенте -Функция НайтиМакетВКаталогеПроектаСлужебный(ИмяМакета,ИмяФайла) +Функция НайтиМакетВКаталогеПроектаСлужебный(ИмяМакета, ИмяФайла) Нашли = Ложь; СостояниеVanessaADD = ПолучитьСостояниеVanessaADD(); ИдСценария = СостояниеVanessaADD.ТекущийСценарий.ИдСценария; - КаталогСценария = ДобавитьНулей(ИдСценария+1,4); + КаталогСценария = ДобавитьНулей(ИдСценария + 1, 4); ДопКаталог = ""; Если ФайлСуществуетКомандаСистемы(Объект.КаталогПроекта + "\Файлы\" + КаталогСценария) Тогда ДопКаталог = КаталогСценария; КонецЕсли; - ДлинаРасширенияМоксель = 4;//.mxl + ДлинаРасширенияМоксель = 4; //.mxl Если Не Нашли Тогда ИмяФайла = Объект.КаталогПроекта + "\Файлы\" + ?(ДопКаталог = "", "", ДопКаталог + "\") + ИмяМакета; Если НРег(Прав(ИмяФайла, ДлинаРасширенияМоксель)) <> ".mxl" Тогда @@ -12311,7 +12311,7 @@ КонецФункции &НаКлиенте -Процедура ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(СтрокаСценария,ИД,ОбновитьБезПроверки = Ложь) +Процедура ОбновитьКешДанныхФормыЕслиЭтоНеобходимо(СтрокаСценария, ИД, ОбновитьБезПроверки = Ложь) Если ОбновитьБезПроверки или СтрокаСценария.ПолучитьРодителя() = Неопределено Тогда //значит надо обновить кеш строк дерева МассивСтрокДереваДанныеФормы.Очистить(); @@ -12330,7 +12330,7 @@ Пока Истина Цикл ТекИдМассива = ТекИдМассива + 1; - Если ТекИдМассива > (ДанныеПоиска.Количество()-1) Тогда + Если ТекИдМассива > (ДанныеПоиска.Количество() - 1) Тогда Прервать; КонецЕсли; @@ -12441,7 +12441,7 @@ СтруктураОФ.xml.Записать(ИмяФайлаXML); ТекстСообщения = "Файл отчета jUnit-report (%1) записан."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайлаXML); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайлаXML); СделатьСообщение(ТекстСообщения); ВывестиВЛогФайл(ТекстСообщения); КонецЕсли; @@ -12465,7 +12465,7 @@ СтруктураОФ.json.Записать(ИмяФайлаJson); ТекстСообщения = "Файл отчета CucumberJson-report (%1) записан."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайлаJson); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайлаJson); СделатьСообщение(ТекстСообщения); ВывестиВЛогФайл(ТекстСообщения); КонецЕсли; @@ -12557,8 +12557,8 @@ Если Объект.ДелатьЛогВыполненияСценариевВТекстовыйФайл Тогда ВывестиВЛогФайл("Фича: " + ИмяФичаФайла); Если МассивСценариевДляВыполнения.Количество() > 0 Тогда - Процент = Цел(ТекИД_СценарияВМассиве/МассивСценариевДляВыполнения.Количество() * 100); - ВывестиВЛогФайл(Формат(Процент,"ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); + Процент = Цел(ТекИД_СценарияВМассиве / МассивСценариевДляВыполнения.Количество() * 100); + ВывестиВЛогФайл(Формат(Процент, "ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); КонецЕсли; КонецЕсли; @@ -12597,7 +12597,7 @@ Тогда //если надо выполнить ПередНачаломСценария и при этом сделать отладку по шагам - надо поставить брейкпоинт на первом шаге сценарияя СлужебныеДанныеСценария = Новый Структура; - ВызватьМетодСценарияЕслиОнЕсть(СтрокаСценария, "ПередНачаломСценария", , БылаОшибка, ОписаниеОшибки,СлужебныеДанныеСценария); + ВызватьМетодСценарияЕслиОнЕсть(СтрокаСценария, "ПередНачаломСценария", , БылаОшибка, ОписаниеОшибки, СлужебныеДанныеСценария); КонецЕсли; Если БылаОшибка Тогда СтатусЗапускаСценариев = Ложь; @@ -12606,7 +12606,7 @@ СтрокаСценария = ПолучитьСтрокуСценарияИзДанныхФормы(ИДСтрокиСценария); СтрокаСценария.Статус = "Failed"; - ДействияПослеЗавершенияСценария(СтрокаСценария,,,СлужебныеДанныеСценария); + ДействияПослеЗавершенияСценария(СтрокаСценария, , , СлужебныеДанныеСценария); РезультатПрохожденияТестовСценария = ПолучитьРезультатПрохожденияТестовСценария(ИДСтрокиСценария); РезультатПрохожденияТестовСценария.Вставить("ВремяОкончания", ТекущаяУниверсальнаяДатаВМиллисекундах()); РезультатПрохожденияТестовСценария.Вставить("ОписаниеОшибки", ОписаниеОшибки); @@ -12684,7 +12684,7 @@ Процедура ЗапомнитьСтрокиДереваДанныеФормыРекурсивно(ДеревоФормы) Для каждого ЭлементДерева Из ДеревоФормы Цикл ИДСтроки = ЭлементДерева.ИДСтроки; - Пока МассивСтрокДереваДанныеФормы.Количество()-1 < ИДСтроки Цикл + Пока МассивСтрокДереваДанныеФормы.Количество() - 1 < ИДСтроки Цикл МассивСтрокДереваДанныеФормы.Добавить(); КонецЦикла; МассивСтрокДереваДанныеФормы[ИДСтроки] = ЭлементДерева; @@ -12785,7 +12785,7 @@ ТекРодитель = СтрокаДерева; Пока ТекРодитель <> Неопределено Цикл - Массив.Вставить(0,ТекРодитель.ИдСтроки); + Массив.Вставить(0, ТекРодитель.ИдСтроки); ТекРодитель = ТекРодитель.ПолучитьРодителя(); КонецЦикла; @@ -12795,37 +12795,37 @@ &НаКлиенте Процедура СоздатьСтруктуруПоискаДляСтрокиДерева(СтрокаДерева) СтруктураПоискаСтрокДерева = Новый Структура; - СтруктураПоискаСтрокДерева.Вставить("ДанныеПоискаСтрокиШага",СоздатьДанныеДляПоискаСтрокиШага(СтрокаДерева)); + СтруктураПоискаСтрокДерева.Вставить("ДанныеПоискаСтрокиШага", СоздатьДанныеДляПоискаСтрокиШага(СтрокаДерева)); ЭтоПример = Ложь; ЭтоШагКонтекста = Ложь; - СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаДерева,ЭтоПример,ЭтоШагКонтекста); - СтруктураПоискаСтрокДерева.Вставить("ДанныеПоискаСтрокиСценария",СоздатьДанныеДляПоискаСтрокиШага(СтрокаСценария)); + СтрокаСценария = НайтиСтрокуСценарияЧерезРодителя(СтрокаДерева, ЭтоПример, ЭтоШагКонтекста); + СтруктураПоискаСтрокДерева.Вставить("ДанныеПоискаСтрокиСценария", СоздатьДанныеДляПоискаСтрокиШага(СтрокаСценария)); СтрокаФичи = НайтиСтрокуФичиЧерезРодителя(СтрокаСценария); ДанныеСценария = Новый Структура; - ДанныеСценария.Вставить("Имя",СтрокаСценария.Имя); - ДанныеСценария.Вставить("СтрокаДерева",СтрокаСценария.ИдСтроки); - ДанныеСценария.Вставить("ИмяФичи",СтрокаФичи.Имя); - ДанныеСценария.Вставить("ПолныйПутьКФиче",СтрокаФичи.ПолныйПуть); + ДанныеСценария.Вставить("Имя", СтрокаСценария.Имя); + ДанныеСценария.Вставить("СтрокаДерева", СтрокаСценария.ИдСтроки); + ДанныеСценария.Вставить("ИмяФичи", СтрокаФичи.Имя); + ДанныеСценария.Вставить("ПолныйПутьКФиче", СтрокаФичи.ПолныйПуть); Шаги = Новый Массив; - СтруктураШага = ПолучитьСтруктуруШагаКлиент(СтрокаДерева,СтрокаСценария,СтрокаСценария,ЭтоШагКонтекста); + СтруктураШага = ПолучитьСтруктуруШагаКлиент(СтрокаДерева, СтрокаСценария, СтрокаСценария, ЭтоШагКонтекста); Шаги.Добавить(СтруктураШага); - ДанныеСценария.Вставить("Шаги",Шаги); + ДанныеСценария.Вставить("Шаги", Шаги); - СтруктураПоискаСтрокДерева.Вставить("ДанныеСценария",ДанныеСценария); + СтруктураПоискаСтрокДерева.Вставить("ДанныеСценария", ДанныеСценария); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьМассивСценариевДляВыполненияКлиент(МассивСценариевДляВыполнения) СтруктураСценария = Новый Структура; - СтруктураСценария.Вставить("Имя",СтруктураПоискаСтрокДерева.ДанныеСценария.Имя); - СтруктураСценария.Вставить("СтрокаДерева",СтруктураПоискаСтрокДерева.ДанныеСценария.СтрокаДерева); - СтруктураСценария.Вставить("ИмяФичи",СтруктураПоискаСтрокДерева.ДанныеСценария.ИмяФичи); - СтруктураСценария.Вставить("ПолныйПутьКФиче",СтруктураПоискаСтрокДерева.ДанныеСценария.ПолныйПутьКФиче); - СтруктураСценария.Вставить("Шаги",СтруктураПоискаСтрокДерева.ДанныеСценария.Шаги); + СтруктураСценария.Вставить("Имя", СтруктураПоискаСтрокДерева.ДанныеСценария.Имя); + СтруктураСценария.Вставить("СтрокаДерева", СтруктураПоискаСтрокДерева.ДанныеСценария.СтрокаДерева); + СтруктураСценария.Вставить("ИмяФичи", СтруктураПоискаСтрокДерева.ДанныеСценария.ИмяФичи); + СтруктураСценария.Вставить("ПолныйПутьКФиче", СтруктураПоискаСтрокДерева.ДанныеСценария.ПолныйПутьКФиче); + СтруктураСценария.Вставить("Шаги", СтруктураПоискаСтрокДерева.ДанныеСценария.Шаги); МассивСценариевДляВыполнения.Добавить(СтруктураСценария); КонецПроцедуры @@ -12867,7 +12867,7 @@ КонецФункции &НаКлиенте -Функция ОпределитьИдИсполняемойСтрокиДерева(СтрокаДерева,НужнаяСтрока) +Функция ОпределитьИдИсполняемойСтрокиДерева(СтрокаДерева, НужнаяСтрока) ТекСтрока = СтрокаДерева; Если ЭтуСтрокуМожноИсполнить(ТекСтрока) Тогда @@ -12895,7 +12895,7 @@ Возврат Неопределено; КонецЕсли; - ТекИдМассива = НомерСтрокиВФиче-1-1; + ТекИдМассива = НомерСтрокиВФиче - 1 - 1; Пока Истина Цикл Если ТекИдМассива < 0 Тогда Прервать; @@ -12937,7 +12937,7 @@ СтрокаВыражения = ""; Для Ккк = 1 По СтрДлина(СлужебнаяСтрока) Цикл - Символ = Сред(СлужебнаяСтрока,Ккк,1); + Символ = Сред(СлужебнаяСтрока, Ккк, 1); Если Символ = "[" Тогда НашлиСтрокуДляВычисления = Истина; Продолжить; @@ -12962,20 +12962,20 @@ КонецПроцедуры &НаКлиенте -Процедура ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(СтрокаДереваГруппа,Параметры,ДопПараметры) +Процедура ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(СтрокаДереваГруппа, Параметры, ДопПараметры) ЭлементыГруппы = СтрокаДереваГруппа.ПолучитьЭлементы(); Для Каждого ЭлементГруппы Из ЭлементыГруппы Цикл Если ЭлементГруппы.Тип = "Шаг" Тогда Для Каждого Шаг Из Параметры.Сценарий.Шаги Цикл Если ЭлементГруппы.ИдСтроки = Шаг.СтрокаШага Тогда - Шаг.Вставить("ВнутриГруппыКотораяРаботаетКакОдинШаг",Истина); - Шаг.Вставить("ПервыйВГруппеШагов",Ложь); - Шаг.Вставить("ПоследнийВГруппеШагов",Ложь); + Шаг.Вставить("ВнутриГруппыКотораяРаботаетКакОдинШаг", Истина); + Шаг.Вставить("ПервыйВГруппеШагов", Ложь); + Шаг.Вставить("ПоследнийВГруппеШагов", Ложь); Если НЕ ДопПараметры.НашлиПервыйШаг Тогда - Шаг.Вставить("ПервыйВГруппеШагов",Истина); - Шаг.Вставить("ТекстИнструкция",ДопПараметры.ТекстШагаГруппы); - Шаг.Вставить("МасштабироватьВВидео",ДопПараметры.МасштабироватьВВидео); + Шаг.Вставить("ПервыйВГруппеШагов", Истина); + Шаг.Вставить("ТекстИнструкция", ДопПараметры.ТекстШагаГруппы); + Шаг.Вставить("МасштабироватьВВидео", ДопПараметры.МасштабироватьВВидео); ДопПараметры.НашлиПервыйШаг = Истина; КонецЕсли; @@ -12987,44 +12987,44 @@ КонецЕсли; ДопПараметры.Уровень = ДопПараметры.Уровень + 1; - ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(ЭлементГруппы,Параметры,ДопПараметры); + ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(ЭлементГруппы, Параметры, ДопПараметры); ДопПараметры.Уровень = ДопПараметры.Уровень - 1; КонецЦикла; Если ДопПараметры.Уровень = 0 Тогда - ДопПараметры.ВременныйШаг.Вставить("ПоследнийВГруппеШагов",Истина); + ДопПараметры.ВременныйШаг.Вставить("ПоследнийВГруппеШагов", Истина); КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(СтрокаДереваГруппа,Параметры,ДопПараметры) +Процедура ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(СтрокаДереваГруппа, Параметры, ДопПараметры) ЭлементыГруппы = СтрокаДереваГруппа.ПолучитьЭлементы(); Для Каждого ЭлементГруппы Из ЭлементыГруппы Цикл Если ЭлементГруппы.Тип = "Шаг" Тогда Для Каждого Шаг Из Параметры.Сценарий.Шаги Цикл Если ЭлементГруппы.ИдСтроки = Шаг.СтрокаШага Тогда - Шаг.Вставить("ИгнорироватьШагВАвтоинструкции",Истина); + Шаг.Вставить("ИгнорироватьШагВАвтоинструкции", Истина); Прервать; КонецЕсли; КонецЦикла; КонецЕсли; - ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(ЭлементГруппы,Параметры,ДопПараметры); + ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(ЭлементГруппы, Параметры, ДопПараметры); КонецЦикла; КонецПроцедуры &НаКлиенте -Процедура ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока,Параметры) +Процедура ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока, Параметры) ПредставлениеКвадратнаяСкобкаЛевая = "__&КвадратнаяСкобкаЛевая__"; ПредставлениеКвадратнаяСкобкаПравая = "__&КвадратнаяСкобкаПравая__"; - СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока,"\[",ПредставлениеКвадратнаяСкобкаЛевая); - СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока,"\]",ПредставлениеКвадратнаяСкобкаПравая); + СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока, "\[", ПредставлениеКвадратнаяСкобкаЛевая); + СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока, "\]", ПредставлениеКвадратнаяСкобкаПравая); Если Параметры.Свойство("ОбработкаПараметровШага") Тогда Если Параметры.ОбработкаПараметровШага Тогда Для Ккк = 1 По Параметры.Шаг.ЗначенияПараметров.Количество() Цикл СтрокаЗамены = "%" + XMlСтрока(Ккк); - СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока,СтрокаЗамены,Параметры.Шаг.ЗначенияПараметров[Ккк-1].Значение.Значение); + СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока, СтрокаЗамены, Параметры.Шаг.ЗначенияПараметров[Ккк - 1].Значение.Значение); КонецЦикла; КонецЕсли; КонецЕсли; @@ -13038,30 +13038,30 @@ Если Параметры.Свойство("ОбработатьГруппыШаговКакОдинШаг") Тогда Если Параметры.ОбработатьГруппыШаговКакОдинШаг Тогда ДопПараметры = Новый Структура; - ДопПараметры.Вставить("Уровень",0); - ДопПараметры.Вставить("НашлиПервыйШаг",Ложь); - ДопПараметры.Вставить("ПоследнийШаг",Ложь); - ДопПараметры.Вставить("ВременныйШаг",Неопределено); - ДопПараметры.Вставить("ТекстШагаГруппы",СлужебнаяСтрока); - ДопПараметры.Вставить("МасштабироватьВВидео",Параметры.МасштабироватьВВидео); - ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(Параметры.СтрокаДереваГруппа,Параметры,ДопПараметры); + ДопПараметры.Вставить("Уровень", 0); + ДопПараметры.Вставить("НашлиПервыйШаг", Ложь); + ДопПараметры.Вставить("ПоследнийШаг", Ложь); + ДопПараметры.Вставить("ВременныйШаг", Неопределено); + ДопПараметры.Вставить("ТекстШагаГруппы", СлужебнаяСтрока); + ДопПараметры.Вставить("МасштабироватьВВидео", Параметры.МасштабироватьВВидео); + ПроставитьШагамСвойстваГруппировкиПриЗаписиРекурсивно(Параметры.СтрокаДереваГруппа, Параметры, ДопПараметры); КонецЕсли; КонецЕсли; Если Параметры.Свойство("ПроставитьПодчиненнымШагамИгнорироватьШагВАвтоинструкции") Тогда Если Параметры.ПроставитьПодчиненнымШагамИгнорироватьШагВАвтоинструкции Тогда ДопПараметры = Новый Структура; - ДопПараметры.Вставить("Уровень",0); - ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(Параметры.СтрокаДереваГруппа,Параметры,ДопПараметры); + ДопПараметры.Вставить("Уровень", 0); + ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(Параметры.СтрокаДереваГруппа, Параметры, ДопПараметры); КонецЕсли; КонецЕсли; - СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока,ПредставлениеКвадратнаяСкобкаЛевая,"["); - СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока,ПредставлениеКвадратнаяСкобкаПравая,"]"); + СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока, ПредставлениеКвадратнаяСкобкаЛевая, "["); + СлужебнаяСтрока = СтрЗаменить(СлужебнаяСтрока, ПредставлениеКвадратнаяСкобкаПравая, "]"); КонецПроцедуры &НаКлиенте -Процедура НайтиГруппыШаговКоторыеНадоОбрабатыватьКакОдинШаг(МассивТекстФичи,Шаг,Сценарий) +Процедура НайтиГруппыШаговКоторыеНадоОбрабатыватьКакОдинШаг(МассивТекстФичи, Шаг, Сценарий) ИДСтрокиШага = Шаг.СтрокаШага; СтрокаШага = МассивСтрокДереваДанныеФормы[ИДСтрокиШага]; @@ -13076,7 +13076,7 @@ //значит этот шаг первый в группе Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.groupsteps]",РодительШага.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.groupsteps]", РодительШага.НомерСтрокиВФиче, Нашли); Если НЕ Нашли Тогда Возврат; КонецЕсли; @@ -13087,22 +13087,22 @@ КонецЕсли; НашлиДирективуНеМасштабироватьШаг = Ложь; - НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.donotscale]",РодительШага.НомерСтрокиВФиче,НашлиДирективуНеМасштабироватьШаг); + НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.donotscale]", РодительШага.НомерСтрокиВФиче, НашлиДирективуНеМасштабироватьШаг); ПараметрыОбработки = Новый Структура; - ПараметрыОбработки.Вставить("ВычислитьВыражения",Истина); - ПараметрыОбработки.Вставить("ОбработатьГруппыШаговКакОдинШаг",Истина); - ПараметрыОбработки.Вставить("Шаг",Шаг); - ПараметрыОбработки.Вставить("Сценарий",Сценарий); - ПараметрыОбработки.Вставить("СтрокаДереваГруппа",РодительШага); - ПараметрыОбработки.Вставить("МасштабироватьВВидео",Не НашлиДирективуНеМасштабироватьШаг); - ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока,ПараметрыОбработки); + ПараметрыОбработки.Вставить("ВычислитьВыражения", Истина); + ПараметрыОбработки.Вставить("ОбработатьГруппыШаговКакОдинШаг", Истина); + ПараметрыОбработки.Вставить("Шаг", Шаг); + ПараметрыОбработки.Вставить("Сценарий", Сценарий); + ПараметрыОбработки.Вставить("СтрокаДереваГруппа", РодительШага); + ПараметрыОбработки.Вставить("МасштабироватьВВидео", Не НашлиДирективуНеМасштабироватьШаг); + ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока, ПараметрыОбработки); КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура НайтиГруппыШаговКоторыеНадоИгнорировать(МассивТекстФичи,Шаг,Сценарий) +Процедура НайтиГруппыШаговКоторыеНадоИгнорировать(МассивТекстФичи, Шаг, Сценарий) ИДСтрокиШага = Шаг.СтрокаШага; СтрокаШага = МассивСтрокДереваДанныеФормы[ИДСтрокиШага]; @@ -13117,76 +13117,76 @@ //значит этот шаг первый в группе Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.ignorestep]",РодительШага.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.ignorestep]", РодительШага.НомерСтрокиВФиче, Нашли); Если НЕ Нашли Тогда Возврат; КонецЕсли; Если Не Сценарий.Свойство("ГруппыКоторыеНадоИгнорировать") Тогда - Сценарий.Вставить("ГруппыКоторыеНадоИгнорировать",Новый Массив); + Сценарий.Вставить("ГруппыКоторыеНадоИгнорировать", Новый Массив); КонецЕсли; Сценарий.ГруппыКоторыеНадоИгнорировать.Добавить(РодительШага.ИдСтроки); ПараметрыОбработки = Новый Структура; - ПараметрыОбработки.Вставить("ПроставитьПодчиненнымШагамИгнорироватьШагВАвтоинструкции",Истина); - ПараметрыОбработки.Вставить("Шаг",Шаг); - ПараметрыОбработки.Вставить("Сценарий",Сценарий); - ПараметрыОбработки.Вставить("СтрокаДереваГруппа",РодительШага); - ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока,ПараметрыОбработки); + ПараметрыОбработки.Вставить("ПроставитьПодчиненнымШагамИгнорироватьШагВАвтоинструкции", Истина); + ПараметрыОбработки.Вставить("Шаг", Шаг); + ПараметрыОбработки.Вставить("Сценарий", Сценарий); + ПараметрыОбработки.Вставить("СтрокаДереваГруппа", РодительШага); + ОбработатьУправляющуюСтрокуИнструкции(СлужебнаяСтрока, ПараметрыОбработки); КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура НайтиШагиКоторыеНеНадоМасштабировать(МассивТекстФичи,Шаг,Сценарий) +Процедура НайтиШагиКоторыеНеНадоМасштабировать(МассивТекстФичи, Шаг, Сценарий) Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.donotscale]",Шаг.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.donotscale]", Шаг.НомерСтрокиВФиче, Нашли); Если Не Нашли Тогда Возврат; КонецЕсли; - Шаг.Вставить("МасштабироватьВВидео",Ложь); + Шаг.Вставить("МасштабироватьВВидео", Ложь); КонецПроцедуры &НаКлиенте -Процедура НайтиШагиКоторыеНадоИгнорировать(МассивТекстФичи,Шаг,Сценарий) +Процедура НайтиШагиКоторыеНадоИгнорировать(МассивТекстФичи, Шаг, Сценарий) Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.ignorestep]",Шаг.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.ignorestep]", Шаг.НомерСтрокиВФиче, Нашли); Если Не Нашли Тогда Возврат; КонецЕсли; - Шаг.Вставить("ИгнорироватьШагВАвтоинструкции",Истина); + Шаг.Вставить("ИгнорироватьШагВАвтоинструкции", Истина); КонецПроцедуры &НаКлиенте -Процедура НайтиПризнакЧтоСценарийНадоИгнорировать(МассивТекстФичи,Сценарий) +Процедура НайтиПризнакЧтоСценарийНадоИгнорировать(МассивТекстФичи, Сценарий) Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.ignorescenario]",Сценарий.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.ignorescenario]", Сценарий.НомерСтрокиВФиче, Нашли); Если НЕ Нашли Тогда Возврат; КонецЕсли; - Сценарий.Вставить("ИгнорироватьШагВАвтоинструкции",Истина); + Сценарий.Вставить("ИгнорироватьШагВАвтоинструкции", Истина); ПараметрыУстановки = Новый Структура; - ПараметрыУстановки.Вставить("Сценарий",Сценарий); + ПараметрыУстановки.Вставить("Сценарий", Сценарий); ДопПараметры = Новый Структура; - ДопПараметры.Вставить("Уровень",0); - ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(МассивСтрокДереваДанныеФормы[Сценарий.СтрокаДерева],ПараметрыУстановки,ДопПараметры); + ДопПараметры.Вставить("Уровень", 0); + ПроставитьШагамСвойстваИгнорироватьШагВАвтоинструкцииРекурсивно(МассивСтрокДереваДанныеФормы[Сценарий.СтрокаДерева], ПараметрыУстановки, ДопПараметры); КонецПроцедуры &НаКлиенте -Процедура НайтиПризнакЧтоСлайдСценарияНадоИгнорировать(МассивТекстФичи,Сценарий) +Процедура НайтиПризнакЧтоСлайдСценарияНадоИгнорировать(МассивТекстФичи, Сценарий) Нашли = Ложь; - СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи,"[autodoc.ignore.scenarioslide]",Сценарий.НомерСтрокиВФиче,Нашли); + СлужебнаяСтрока = НайтиСлужебнуюСтрокуВФичеДляЭтогоШага(МассивТекстФичи, "[autodoc.ignore.scenarioslide]", Сценарий.НомерСтрокиВФиче, Нашли); Если НЕ Нашли Тогда Возврат; КонецЕсли; - Сценарий.Вставить("ИгнорироватьСлайдСценарияВАвтоинструкции",Истина); + Сценарий.Вставить("ИгнорироватьСлайдСценарияВАвтоинструкции", Истина); КонецПроцедуры &НаКлиенте @@ -13198,8 +13198,8 @@ Для Каждого Сценарий Из МассивСценариевДляВыполнения Цикл МассивФичи = ЗагрузитьФайлВМассив(Сценарий.ПолныйПутьКФиче); - НайтиПризнакЧтоСценарийНадоИгнорировать(МассивФичи,Сценарий); - НайтиПризнакЧтоСлайдСценарияНадоИгнорировать(МассивФичи,Сценарий); + НайтиПризнакЧтоСценарийНадоИгнорировать(МассивФичи, Сценарий); + НайтиПризнакЧтоСлайдСценарияНадоИгнорировать(МассивФичи, Сценарий); Шаги = Сценарий.Шаги; Для Каждого Шаг Из Шаги Цикл @@ -13207,10 +13207,10 @@ Продолжить; КонецЕсли; - НайтиГруппыШаговКоторыеНадоОбрабатыватьКакОдинШаг(МассивФичи,Шаг,Сценарий); - НайтиГруппыШаговКоторыеНадоИгнорировать(МассивФичи,Шаг,Сценарий); - НайтиШагиКоторыеНеНадоМасштабировать(МассивФичи,Шаг,Сценарий); - НайтиШагиКоторыеНадоИгнорировать(МассивФичи,Шаг,Сценарий); + НайтиГруппыШаговКоторыеНадоОбрабатыватьКакОдинШаг(МассивФичи, Шаг, Сценарий); + НайтиГруппыШаговКоторыеНадоИгнорировать(МассивФичи, Шаг, Сценарий); + НайтиШагиКоторыеНеНадоМасштабировать(МассивФичи, Шаг, Сценарий); + НайтиШагиКоторыеНадоИгнорировать(МассивФичи, Шаг, Сценарий); КонецЦикла; КонецЦикла; КонецПроцедуры @@ -13269,7 +13269,7 @@ Поз = Найти(Стр, "="); Если Поз = 0 Тогда ТекстСообщения = "Странный параметр в логе инструкции HTML: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Стр); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Стр); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -13352,7 +13352,7 @@ Страница.ЗаписатьСтроку("/"); ТекстСообщения = "Записываю %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайлаДляЗаписи); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайлаДляЗаписи); Сообщить(ТекстСообщения); Страница.Закрыть(); @@ -13430,7 +13430,7 @@ Поз = Найти(Стр, "="); Если Поз = 0 Тогда ТекстСообщения = "Странный параметр в логе инструкции Markdown: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Стр); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Стр); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -13447,7 +13447,7 @@ ИмяФайлаДляЗаписи = Объект.КаталогOutputИнструкцияMarkdown + "/" + ТекущаяФичаИнструкцииMarkdown + ".MD"; ЗТ = Новый ЗаписьТекста(ИмяФайлаДляЗаписи, "Windows-1251", , Ложь); - ЗТ.Закрыть();//убираю BOM, специально для ATOM + ЗТ.Закрыть(); //убираю BOM, специально для ATOM Страница = Новый ЗаписьТекста(ИмяФайлаДляЗаписи, "UTF-8", , Истина); //записываю заголовок @@ -13536,7 +13536,7 @@ КонецЦикла; ТекстСообщения = "Записываю %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайлаДляЗаписи); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайлаДляЗаписи); Сообщить(ТекстСообщения); Страница.Закрыть(); @@ -13711,7 +13711,7 @@ НайтиФайлыКомандаСистемы(ПутьКИсходникам, СписокКаталогов, СписокФайлов, Ложь, КаталогДляВременныхФайлов); Если СписокФайлов.Количество() <> 1 Тогда ТекстСообщения = "В каталоге <%1> должен был быть один файл xml."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ПутьКИсходникам); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ПутьКИсходникам); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -13727,7 +13727,7 @@ Исключение ТекстСообщения = "Не смог распаковать %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайла); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайла); СделатьСообщение(ТекстСообщения); СделатьСообщение(ОписаниеОшибки()); КонецПопытки; @@ -13767,7 +13767,7 @@ ВывестиТекстФайлаЛога(ИмяФайлаOUT); ТекстСообщения = "Проверьте работу команды <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", СтрокаЗапуска1С); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтрокаЗапуска1С); СделатьСообщение(ТекстСообщения); Возврат Ложь; КонецЕсли; @@ -13808,7 +13808,7 @@ Стр.Вставить("ИмяФичи", ""); Стр.Вставить("ИмяФайлаEpf", ""); Стр.Вставить("ВременноеИмяМодуля", ""); - Стр.Вставить("ТелоМодуля", "");//таблица значений + Стр.Вставить("ТелоМодуля", ""); //таблица значений Стр.Вставить("КаталогИсходников", ""); Стр.Вставить("ФайлEpfПересоздавался", Ложь); Стр.Вставить("РеальноеИмяОбработки", Неопределено); @@ -14163,17 +14163,17 @@ ПереместитьФайлКомандаСистемы(ИмяВременногоEPF, СтруктураОписанияEpf.ИмяФайлаEpf); Если СтруктураОписанияEpf.ФайлEpfПересоздавался Тогда ТекстСообщения = "Пересоздан %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СтруктураОписанияEpf.ИмяФайлаEpf); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтруктураОписанияEpf.ИмяФайлаEpf); СделатьСообщение(ТекстСообщения); Иначе ТекстСообщения = "Создан %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СтруктураОписанияEpf.ИмяФайлаEpf); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтруктураОписанияEpf.ИмяФайлаEpf); СделатьСообщение(ТекстСообщения); КонецЕсли; Иначе СделатьСообщение("Файл EPF не создан."); ТекстСообщения = "Проверьте работу команды <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1", СтрокаЗапуска1С); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СтрокаЗапуска1С); СделатьСообщение(ТекстСообщения); ВывестиТекстФайлаЛога(ИмяФайлаЛога); ВывестиТекстФайлаЛога(ИмяФайлаOUT); @@ -14222,7 +14222,7 @@ ФайлФичи = Новый Файл(ИмяФайлаФичи); ИмяТекущейФичи = ФайлФичи.ИмяБезРасширения; ТекстСообщения = "Работаю по фиче: %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайлаФичи); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяФайлаФичи); СделатьСообщение(ТекстСообщения); МассивДляСозданияEpf = Новый Массив; @@ -14364,7 +14364,7 @@ КонецФункции &НаКлиенте -Функция НайтиСтрокуСценарияЧерезРодителя(СтрокаДерева, ЭтоПример,ЭтоШагКонтекста) +Функция НайтиСтрокуСценарияЧерезРодителя(СтрокаДерева, ЭтоПример, ЭтоШагКонтекста) ТекСтрокаДерева = СтрокаДерева; Пока Истина Цикл @@ -14404,10 +14404,10 @@ &НаКлиенте Функция ИмяФайлаФичиИзПолногоПути(ПолныйПуть) - Поз = Найти(НРег(ПолныйПуть),".feature"); + Поз = Найти(НРег(ПолныйПуть), ".feature"); Если Поз > 0 Тогда - Возврат СокрЛП(Лев(ПолныйПуть,Поз + СтрДлина(".feature") - 1)); + Возврат СокрЛП(Лев(ПолныйПуть, Поз + СтрДлина(".feature") - 1)); КонецЕсли; Возврат Неопределено; @@ -14427,12 +14427,12 @@ //{работа с TestClient &НаСервереБезКонтекста -Функция СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclientСервер(ОжидаемаяТаблица,ТаблицаTestClient,СтрокаОшибки) +Функция СтрокиОжидаемойТаблицыСодержатсяВТаблицеTestclientСервер(ОжидаемаяТаблица, ТаблицаTestClient, СтрокаОшибки) Таблица1 = Новый ТаблицаЗначений; Таблица2 = Новый ТаблицаЗначений; Для Каждого Элем Из ОжидаемаяТаблица[0] Цикл - Таблица1.Колонки.Добавить(Элем.Ключ,,Элем.Значение); - Таблица2.Колонки.Добавить(Элем.Ключ,,Элем.Значение); + Таблица1.Колонки.Добавить(Элем.Ключ, , Элем.Значение); + Таблица2.Колонки.Добавить(Элем.Ключ, , Элем.Значение); КонецЦикла; //Проверим, что в таблице2 есть все нужные колонки @@ -14442,7 +14442,7 @@ Значение = ТаблицаTestClient[0][Колонка.Заголовок]; Исключение ТекстСообщения = "В таблице не найдена колонка <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Колонка.Заголовок); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Колонка.Заголовок); ВызватьИсключение ТекстСообщения; КонецПопытки; КонецЦикла; @@ -14494,16 +14494,16 @@ КонецФункции &НаКлиенте -Процедура ОчиститьМассивИД(МассивИд,МассивЭлементов) +Процедура ОчиститьМассивИД(МассивИд, МассивЭлементов) Если МассивИд.Количество() > 0 Тогда - Для Ккк = 0 По МассивИд.Количество()-1 Цикл - МассивЭлементов.Удалить(МассивИд[МассивИд.Количество()-Ккк-1]); + Для Ккк = 0 По МассивИд.Количество() - 1 Цикл + МассивЭлементов.Удалить(МассивИд[МассивИд.Количество() - Ккк - 1]); КонецЦикла; КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура УдалитьИзМассиваПоляТаблицTestClient(ТекущаяФорма,МассивЭлементов) +Процедура УдалитьИзМассиваПоляТаблицTestClient(ТекущаяФорма, МассивЭлементов) МассивИд = Новый Массив; ТаблицыФормы = НайтиТаблицыФормыTestClient(ТекущаяФорма); @@ -14511,13 +14511,13 @@ Ид = -1; Для Каждого ПроверяемыйЭлемент Из МассивЭлементов Цикл Ид = Ид + 1; - ЭлементТаблицы = ТаблицаФормы.НайтиОбъект(,,ПроверяемыйЭлемент.Имя); + ЭлементТаблицы = ТаблицаФормы.НайтиОбъект(, , ПроверяемыйЭлемент.Имя); Если ЭлементТаблицы <> Неопределено Тогда МассивИд.Добавить(Ид); КонецЕсли; КонецЦикла; - ОчиститьМассивИД(МассивИд,МассивЭлементов); + ОчиститьМассивИД(МассивИд, МассивЭлементов); МассивИд = Новый Массив; КонецЦикла; КонецПроцедуры @@ -14535,8 +14535,8 @@ КонецЦикла; Если МассивИд.Количество() > 0 Тогда - Для Ккк = 0 По МассивИд.Количество()-1 Цикл - МассивЭлементов.Удалить(МассивИд[МассивИд.Количество()-Ккк-1]); + Для Ккк = 0 По МассивИд.Количество() - 1 Цикл + МассивЭлементов.Удалить(МассивИд[МассивИд.Количество() - Ккк - 1]); КонецЦикла; КонецЕсли; КонецПроцедуры @@ -14554,8 +14554,8 @@ КонецЦикла; Если МассивИд.Количество() > 0 Тогда - Для Ккк = 0 По МассивИд.Количество()-1 Цикл - МассивЭлементов.Удалить(МассивИд[МассивИд.Количество()-Ккк-1]); + Для Ккк = 0 По МассивИд.Количество() - 1 Цикл + МассивЭлементов.Удалить(МассивИд[МассивИд.Количество() - Ккк - 1]); КонецЦикла; КонецЕсли; КонецПроцедуры @@ -14579,8 +14579,8 @@ КонецЦикла; Если МассивИд.Количество() > 0 Тогда - Для Ккк = 0 По МассивИд.Количество()-1 Цикл - МассивЭлементов.Удалить(МассивИд[МассивИд.Количество()-Ккк-1]); + Для Ккк = 0 По МассивИд.Количество() - 1 Цикл + МассивЭлементов.Удалить(МассивИд[МассивИд.Количество() - Ккк - 1]); КонецЦикла; КонецЕсли; КонецПроцедуры @@ -14619,7 +14619,7 @@ Если ДопПараметры <> Неопределено Тогда ИскатьТолькоПоляВКоторыеВозможенВвод = Ложь; - ДопПараметры.Свойство("ИскатьТолькоПоляВКоторыеВозможенВвод",ИскатьТолькоПоляВКоторыеВозможенВвод); + ДопПараметры.Свойство("ИскатьТолькоПоляВКоторыеВозможенВвод", ИскатьТолькоПоляВКоторыеВозможенВвод); Если ИскатьТолькоПоляВКоторыеВозможенВвод = Истина Тогда УдалитьИзМассиваПоляВКоторыеНеВозможенВводTestClient(МассивЭлементов); КонецЕсли; @@ -14633,7 +14633,7 @@ Если ДопПараметры <> Неопределено Тогда ИскатьТолькоПоляНадписей = Ложь; - ДопПараметры.Свойство("ИскатьТолькоПоляНадписей",ИскатьТолькоПоляНадписей); + ДопПараметры.Свойство("ИскатьТолькоПоляНадписей", ИскатьТолькоПоляНадписей); Если ИскатьТолькоПоляНадписей = Истина Тогда ОставитьВМассивеТолькоПоляНадписей(МассивЭлементов); КонецЕсли; @@ -14647,7 +14647,7 @@ Если ДопПараметры <> Неопределено Тогда ИсключитьГруппы = Ложь; - ДопПараметры.Свойство("ИсключитьГруппы",ИсключитьГруппы); + ДопПараметры.Свойство("ИсключитьГруппы", ИсключитьГруппы); Если ИсключитьГруппы = Истина Тогда ИсключитьГруппыФормыИзМассива(МассивЭлементов); КонецЕсли; @@ -14655,13 +14655,13 @@ КонецЕсли; Если МассивЭлементов.Количество() > 1 Тогда - УдалитьИзМассиваПоляТаблицTestClient(ТекущаяФорма,МассивЭлементов); + УдалитьИзМассиваПоляТаблицTestClient(ТекущаяФорма, МассивЭлементов); КонецЕсли; Если МассивЭлементов.Количество() > 1 Тогда ВывестиСообщениеОТомЧтоПоЗаголовкуНайденоБольшеОдногоЭлемента(МассивЭлементов, ИмяРеквизита); ТекстСообщения = "Найдено более одного поля формы с заголовком <%1>. Рекомендуется искать элемент по имени."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяРеквизита); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяРеквизита); Сообщить(ТекстСообщения); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -14738,7 +14738,7 @@ Исключение ТекстСообщения = "ДобавитьСостояниеФормыTestclient:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); Сообщить(ТекстСообщения); КонецПопытки; @@ -14874,7 +14874,7 @@ Для Ккк = 0 По Массив.Количество() - 1 Цикл Массив[Ккк] = СокрЛП(Массив[Ккк]); - Массив[Ккк] = СтрЗаменить(Массив[Ккк],"~ЭкранированиеВертикальнойЧерты~","\|"); + Массив[Ккк] = СтрЗаменить(Массив[Ккк], "~ЭкранированиеВертикальнойЧерты~", "\|"); КонецЦикла; Спс = Новый СписокЗначений; @@ -14905,7 +14905,7 @@ Тзн = Новый ТаблицаЗначений; Тзн.Колонки.Добавить("Заголовок"); - Для Н=1 По МассивЗаголовковПолей.Количество() Цикл + Для Н = 1 По МассивЗаголовковПолей.Количество() Цикл Тзн.Добавить(); КонецЦикла; @@ -14974,8 +14974,8 @@ Если Массив1[Массив1.Количество() - 1] = "*" Тогда //значит тут последний символ * Массив1.Удалить(Массив1.Количество() - 1); КонецЕсли; - Массив2.Удалить(Массив2.Количество()-1); - Массив2.Удалить(Массив2.Количество()-1); + Массив2.Удалить(Массив2.Количество() - 1); + Массив2.Удалить(Массив2.Количество() - 1); КонецЕсли; Если Массив1.Количество() <> Массив2.Количество() Тогда @@ -15050,9 +15050,9 @@ &НаКлиенте Функция ПреобразоватьСтрокуКДатеИзДанныхXML(Стр) - Стр = СтрЗаменить(Стр,"-",""); - Стр = СтрЗаменить(Стр,":",""); - Стр = СтрЗаменить(Стр,"T",""); + Стр = СтрЗаменить(Стр, "-", ""); + Стр = СтрЗаменить(Стр, ":", ""); + Стр = СтрЗаменить(Стр, "T", ""); Попытка Дат = Дата(Стр); @@ -15060,7 +15060,7 @@ Возврат Стр; КонецПопытки; - Возврат Формат(Дат,"ДФ=dd.MM.yyyy"); + Возврат Формат(Дат, "ДФ=dd.MM.yyyy"); КонецФункции // Разобрать результат записи действий пользователя (хмл-формат) и получить текст фичи @@ -15085,7 +15085,7 @@ СчетчикДействий = 0; ТаблицаСвойствСтроки = Неопределено; - НашлиПанельРазделов = Ложь;//надо для обхода бага, когда в логе действий пользователя нет нажатия на панель разделов + НашлиПанельРазделов = Ложь; //надо для обхода бага, когда в логе действий пользователя нет нажатия на панель разделов ФлагРедактированияТекстаМакета = Ложь; @@ -15159,11 +15159,11 @@ ЗаменилиПредыдущуюСтроку = Ложь; Если ТекстРезультат.КоличествоСтрок() > 1 Тогда ПредыдущаяСтрока = ТекстРезультат.ПолучитьСтроку(ТекстРезультат.КоличествоСтрок()); - Поз = Найти(НРег(ПредыдущаяСтрока),НРег("В панели разделов я выбираю")); + Поз = Найти(НРег(ПредыдущаяСтрока), НРег("В панели разделов я выбираю")); Если Поз > 0 Тогда ЗаменилиПредыдущуюСтроку = Истина; - ИмяПанелиРазделов = СокрЛП(Сред(ПредыдущаяСтрока,Поз + СтрДлина("В панели разделов я выбираю"))); + ИмяПанелиРазделов = СокрЛП(Сред(ПредыдущаяСтрока, Поз + СтрДлина("В панели разделов я выбираю"))); ТекстРезультат.УдалитьСтроку(ТекстРезультат.КоличествоСтрок()); @@ -15192,7 +15192,7 @@ Прервать; КонецЕсли; - Если Найти(Нрег(МассивСвойств[ИдВМассиве - ИдПоискаМеню]["name"]),"контекстноеменю") > 0 Тогда + Если Найти(Нрег(МассивСвойств[ИдВМассиве - ИдПоискаМеню]["name"]), "контекстноеменю") > 0 Тогда ЭтоКонтекстаноеМеню = Истина; Прервать; КонецЕсли; @@ -15249,8 +15249,8 @@ Если ДобавитьОбычнуюСтроку Тогда ДанныеНажатияНаЭлементФормы = Новый Структура; - ДанныеНажатияНаЭлементФормы.Вставить("ТекущееОкно",ТекущееОкно); - ДанныеНажатияНаЭлементФормы.Вставить("ИмяКнопки",ЗаголовокОбъекта); + ДанныеНажатияНаЭлементФормы.Вставить("ТекущееОкно", ТекущееОкно); + ДанныеНажатияНаЭлементФормы.Вставить("ИмяКнопки", ЗаголовокОбъекта); ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " я нажимаю на кнопку " + ИмяОбъекта); @@ -15393,14 +15393,14 @@ ПредыдущаяСтрока = ТекстРезультат.ПолучитьСтроку(ТекстРезультат.КоличествоСтрок()); КонецЕсли; - Если Найти(ПредыдущаяСтрока,"я ввожу текст") > 0 Тогда + Если Найти(ПредыдущаяСтрока, "я ввожу текст") > 0 Тогда ВПредыдущейСтрокеСценарияЕстьВВодПоСтроке = Истина; ЗначениеВыбораИзСписка = ЗначениеСтрокиinputText; ТипВыбораЗначенияИзСписка = "по строке"; Если МассивОбъектов[ИдВМассиве - 1] = "FormField" Тогда ТекстРезультат.УдалитьСтроку(ТекстРезультат.КоличествоСтрок()); КонецЕсли; - ИначеЕсли Найти(ПредыдущаяСтрока,"я нажимаю кнопку выбора") > 0 Тогда + ИначеЕсли Найти(ПредыдущаяСтрока, "я нажимаю кнопку выбора") > 0 Тогда //для выпадающего списка шаг выбора сам выберет нужное значение Если МассивОбъектов[ИдВМассиве - 1] = "FormField" Тогда ТекстРезультат.УдалитьСтроку(ТекстРезультат.КоличествоСтрок()); @@ -15865,7 +15865,7 @@ Текст = Новый ТекстовыйДокумент; Текст.ДобавитьСтроку(Результат); - Объект.СгенерированныйКод = Текст.ПолучитьТекст();//TODO зачем нужно это преобразование в ТекстовыйДокумент? + Объект.СгенерированныйКод = Текст.ПолучитьТекст(); //TODO зачем нужно это преобразование в ТекстовыйДокумент? Исключение Сообщить("Не смог обработать XML в UILogToScript."); @@ -15892,7 +15892,7 @@ ТестовоеПриложение = СоздатьТестовоеПриложение(ДанныеЗапускаКлиентаТестирования); ТестовоеПриложение.УстановитьСоединение(); Попытка - Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"),,,Объект.ТаймаутЗапуска1С) Тогда + Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"), , , Объект.ТаймаутЗапуска1С) Тогда Возврат Ложь; КонецЕсли; Исключение @@ -15957,7 +15957,7 @@ ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); ТекстКоманды = "netstat -ano > """ + ИмяВременногоФайла + """"; - ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина);//TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); + ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); @@ -15994,7 +15994,7 @@ Текст.Закрыть(); Иначе ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); - СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """";// взято из #383 + СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """"; // взято из #383 ВыполнитьКомандуОС(СтрокаЗапуска); Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); @@ -16031,22 +16031,22 @@ &НаКлиенте Функция ПолучитьКорректноеИмяTesClient(Знач Стр) Стр = Транслит(Стр); - Стр = СтрЗаменить(Стр," ",""); - Стр = СтрЗаменить(Стр,".",""); - Стр = СтрЗаменить(Стр,"=",""); - Стр = СтрЗаменить(Стр,"""",""); - Стр = СтрЗаменить(Стр,":",""); - Стр = СтрЗаменить(Стр,";",""); - Стр = СтрЗаменить(Стр,"?",""); - Стр = СтрЗаменить(Стр,"\",""); - Стр = СтрЗаменить(Стр,"/",""); - Стр = СтрЗаменить(Стр,"*",""); - Стр = СтрЗаменить(Стр,"!",""); - Стр = СтрЗаменить(Стр,"@",""); - Стр = СтрЗаменить(Стр,"#",""); - Стр = СтрЗаменить(Стр,"$",""); - Стр = СтрЗаменить(Стр,"%",""); - Стр = СтрЗаменить(Стр,"-",""); + Стр = СтрЗаменить(Стр, " ", ""); + Стр = СтрЗаменить(Стр, ".", ""); + Стр = СтрЗаменить(Стр, "=", ""); + Стр = СтрЗаменить(Стр, """", ""); + Стр = СтрЗаменить(Стр, ":", ""); + Стр = СтрЗаменить(Стр, ";", ""); + Стр = СтрЗаменить(Стр, "?", ""); + Стр = СтрЗаменить(Стр, "\", ""); + Стр = СтрЗаменить(Стр, "/", ""); + Стр = СтрЗаменить(Стр, "*", ""); + Стр = СтрЗаменить(Стр, "!", ""); + Стр = СтрЗаменить(Стр, "@", ""); + Стр = СтрЗаменить(Стр, "#", ""); + Стр = СтрЗаменить(Стр, "$", ""); + Стр = СтрЗаменить(Стр, "%", ""); + Стр = СтрЗаменить(Стр, "-", ""); Возврат Стр; КонецФункции @@ -16135,12 +16135,12 @@ КонецПроцедуры &НаКлиенте -Функция ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования,СтрокаОшибки=Неопределено) +Функция ОткрытьНовыйСеансTestClientИлиПодключитьУжеСуществующийДляНесколькихКлиентов(ДанныеЗапускаКлиентаТестирования, СтрокаОшибки = Неопределено) ПроисходилЗапускTescClient = Ложь; Если ПодключитьУжеЗапущенныйTestClient(ДанныеЗапускаКлиентаТестирования) Тогда СтрокаСообщения = ПолучитьТекстСообщенияПользователю("$Уже открытый TestClient подключен на %1 порту.$"); - СтрокаСообщения = СтрЗаменить(СтрокаСообщения,"%1",ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); + СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "%1", ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); Отладка(СтрокаСообщения); Если Объект.ДелатьЛогВыполненияСценариевВЖР Тогда ЗаписатьЛогВЖРИнформация("НайденПодключенныйTestClient", "порт=" + Формат(ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента, "ЧГ=")); @@ -16167,9 +16167,9 @@ УстановитьКонектСTestClient(ТестовоеПриложение); - Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"),,,Объект.ТаймаутЗапуска1С) Тогда + Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"), , , Объект.ТаймаутЗапуска1С) Тогда ТекстСообщения = "Не дождались отображения окна TestClient. Таймаут <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Объект.ТаймаутЗапуска1С); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Объект.ТаймаутЗапуска1С); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -16192,14 +16192,14 @@ ВызватьИсключение ТекстСообщения; КонецЕсли; - Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"),,,Объект.ТаймаутЗапуска1С) Тогда + Если НЕ ТестовоеПриложение.ОжидатьОтображениеОбъекта(Тип("ТестируемоеОкноКлиентскогоПриложения"), , , Объект.ТаймаутЗапуска1С) Тогда ТекстСообщения = "Не дождались отображения окна TestClient. Таймаут <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Объект.ТаймаутЗапуска1С); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Объект.ТаймаутЗапуска1С); ВызватьИсключение ТекстСообщения; КонецЕсли; СтрокаСообщения = ПолучитьТекстСообщенияПользователю("$TestClient подключен на %1 порту.$"); - СтрокаСообщения = СтрЗаменить(СтрокаСообщения,"%1",ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); + СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "%1", ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); Отладка(СтрокаСообщения); Если Объект.ДелатьЛогВыполненияСценариевВЖР Тогда ЗаписатьЛогВЖРИнформация("ПодключениеTestClient", "порт=" + Формат(ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента, "ЧГ=")); @@ -16228,7 +16228,7 @@ Синоним = ДанныеЗапускаКлиентаТестирования.Синоним; СохранитьКлиентовТестирования(); - УдалитьИзПолучитьКлиентаТестированияПрофиль(ПодключенныеTestClient,ИмяTestClient); + УдалитьИзПолучитьКлиентаТестированияПрофиль(ПодключенныеTestClient, ИмяTestClient); ПодключенныеTestClient.Добавить(Новый Структура("Имя, Синоним, ТестовоеПриложение, ГлавноеОкноТестируемого", ИмяTestClient, Синоним, ТестовоеПриложение, ГлавноеОкноТестируемого)); ОбъектКонтекстСохраняемый.Вставить("ТекущийПрофильTestClient", ИмяTestClient); @@ -16238,7 +16238,7 @@ &НаКлиенте Процедура РазвернутьСтрокуДерева(Строка) - ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); + ИдентификаторСтроки = Строка.ПолучитьИдентификатор(); Если Строка.Тип = "Область" И НЕ Объект.ПроверкаРаботыVanessaADDВРежимеTestClient Тогда Элементы.ДеревоТестов.Свернуть(ИдентификаторСтроки); Возврат; @@ -16251,7 +16251,7 @@ &НаКлиенте Процедура СвернутьСтрокуДерева(Строка) - ИдентификаторСтроки=Строка.ПолучитьИдентификатор(); + ИдентификаторСтроки = Строка.ПолучитьИдентификатор(); Элементы.ДеревоТестов.Свернуть(ИдентификаторСтроки); КонецПроцедуры @@ -16316,12 +16316,12 @@ Попытка ДобавитьВнешнийСписокПроцедур(Форма.ПолучитьСписокТестов(ЭтаФорма), Форма.УникальныйИдентификатор, Форма); ТекстСообщения = "Подключили для отладки форма %1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Форма.Заголовок); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Форма.Заголовок); Сообщить(ТекстСообщения); Исключение ТекстСообщения = "Не удалось подключить форма %1 по причине:%2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Форма.Заголовок); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Форма.Заголовок); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ОписаниеОшибки()); Сообщить(ТекстСообщения); //ОписаниеОшибки() КонецПопытки; @@ -16396,7 +16396,7 @@ КонецФункции &НаКлиенте -Процедура УбратьПустыеСтрокиИКолонкиСКраёвМакета(ТабДок,УдалятьСтрокиСверху = Истина,УдалятьКолонкиСлева = Истина) +Процедура УбратьПустыеСтрокиИКолонкиСКраёвМакета(ТабДок, УдалятьСтрокиСверху = Истина, УдалятьКолонкиСлева = Истина) Если ТабДок.Количество() = 0 Тогда Возврат; КонецЕсли; @@ -16517,7 +16517,7 @@ //| '' | '' | '' | '' | '' | //| '' | '' | '' | '' | '' | //| 'Полезная часть' | '' | '' | '' | '' | -Функция МакетTestClientПоЯчейкеКакМассив(ЭлементФормы,ДопПараметры = Неопределено) +Функция МакетTestClientПоЯчейкеКакМассив(ЭлементФормы, ДопПараметры = Неопределено) НадоСчитатьОбласть = Ложь; Если ДопПараметры <> Неопределено Тогда Если ДопПараметры.Свойство("НадоСчитатьОбласть") Тогда @@ -16550,9 +16550,9 @@ Если ТекущийTestclientЭтоWebКлиент и ОпределятьГраницыМакетаWebКлиентаЧерезПереходКОбласти Тогда - Адрес = СформироватьАдресЯчейки(СчетчикСтрок,1); + Адрес = СформироватьАдресЯчейки(СчетчикСтрок, 1); АдресТекущейОбласти = Неопределено; - Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы,АдресТекущейОбласти,Адрес) Тогда + Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы, АдресТекущейОбласти, Адрес) Тогда Прервать; КонецЕсли; Иначе @@ -16599,7 +16599,7 @@ КонецЕсли; КонецЕсли; - Адрес = СформироватьАдресЯчейки(СчетчикСтрок,СчетчикКолонок); + Адрес = СформироватьАдресЯчейки(СчетчикСтрок, СчетчикКолонок); Значение = ЭлементФормы.ПолучитьТекстОбласти(Адрес); Значение = СтрЗаменить(Значение, Символы.ПС, "\n"); @@ -16609,7 +16609,7 @@ //если не получилось, значит мы пытаемся выйти за границу макета Если ТекущийTestclientЭтоWebКлиент и ОпределятьГраницыМакетаWebКлиентаЧерезПереходКОбласти Тогда АдресТекущейОбласти = Неопределено; - Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы,АдресТекущейОбласти,Адрес) Тогда + Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы, АдресТекущейОбласти, Адрес) Тогда ШиринаТаблицы = СчетчикКолонок - 1; Прервать; КонецЕсли; @@ -16677,7 +16677,7 @@ КонецЕсли; КонецЕсли; - Значение = ТД.Область(Стр,Кол,Стр,Кол).Текст; + Значение = ТД.Область(Стр, Кол, Стр, Кол).Текст; Значение = СтрЗаменить(Значение, Символы.ПС, "\n"); СтрокаТабДок.Добавить(Значение); @@ -16694,7 +16694,7 @@ КонецФункции &НаКлиенте -Функция ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы,АдресТекущейОбласти,Адрес) +Функция ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы, АдресТекущейОбласти, Адрес) Если АдресТекущейОбласти = Неопределено Тогда ЭлементФормы.УстановитьТекущуюОбласть(Адрес); АдресТекущейОбласти = ЭлементФормы.ПолучитьАдресТекущейОбласти(); @@ -16705,24 +16705,24 @@ НачКол1 = -1; КолСтр1 = -1; КолКол1 = -1; - ПолучитьПараметрыОбластиМакета(АдресТекущейОбласти,НачСтр1,НачКол1,КолСтр1,КолКол1); + ПолучитьПараметрыОбластиМакета(АдресТекущейОбласти, НачСтр1, НачКол1, КолСтр1, КолКол1); НачСтр2 = -1; НачКол2 = -1; КолСтр2 = -1; КолКол2 = -1; - ПолучитьПараметрыОбластиМакета(Адрес,НачСтр2,НачКол2,КолСтр2,КолКол2); + ПолучитьПараметрыОбластиМакета(Адрес, НачСтр2, НачКол2, КолСтр2, КолКол2); Если НачСтр1 > НачСтр2 Тогда - Возврат Ложь;//значит АдресТекущейОбласти не находится внутри Адрес + Возврат Ложь; //значит АдресТекущейОбласти не находится внутри Адрес КонецЕсли; Если НачКол1 > НачКол2 Тогда - Возврат Ложь;//значит АдресТекущейОбласти не находится внутри Адрес + Возврат Ложь; //значит АдресТекущейОбласти не находится внутри Адрес КонецЕсли; Если КолСтр1 < КолСтр2 Тогда - Возврат Ложь;//значит АдресТекущейОбласти не находится внутри Адрес + Возврат Ложь; //значит АдресТекущейОбласти не находится внутри Адрес КонецЕсли; Если КолКол1 < КолКол2 Тогда - Возврат Ложь;//значит АдресТекущейОбласти не находится внутри Адрес + Возврат Ложь; //значит АдресТекущейОбласти не находится внутри Адрес КонецЕсли; КонецЕсли; @@ -16730,19 +16730,19 @@ КонецФункции &НаКлиенте -Функция СформироватьАдресЯчейки(НомерСтроки,НомерКолонки) - Возврат "R" +XMLСтрока(НомерСтроки) + "C" + XMLСтрока(НомерКолонки); +Функция СформироватьАдресЯчейки(НомерСтроки, НомерКолонки) + Возврат "R" + XMLСтрока(НомерСтроки) + "C" + XMLСтрока(НомерКолонки); КонецФункции &НаКлиенте -Функция ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы,ДопПараметры = Неопределено) +Функция ТабличныйДокументTestClientПоЯчейкам(ЭлементФормы, ДопПараметры = Неопределено) НадоСчитатьОбласть = Ложь; СмещениеСтрок = 0; СмещениеКолонок = 0; ПолучатьИменаОбластей = Ложь; Если ДопПараметры <> Неопределено Тогда - ДопПараметры.Вставить("СчитываниеПоЯчейкам",Истина); + ДопПараметры.Вставить("СчитываниеПоЯчейкам", Истина); Если ДопПараметры.Свойство("ПолучатьИменаОбластей") Тогда ПолучатьИменаОбластей = ДопПараметры.ПолучатьИменаОбластей; КонецЕсли; @@ -16777,10 +16777,10 @@ КонецЕсли; //проверим, что мы можем перейти на новую строку - Адрес = СформироватьАдресЯчейки(СчетчикСтрок,1); + Адрес = СформироватьАдресЯчейки(СчетчикСтрок, 1); Если ТекущийTestclientЭтоWebКлиент и ОпределятьГраницыМакетаWebКлиентаЧерезПереходКОбласти Тогда АдресТекущейОбласти = Неопределено; - Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы,АдресТекущейОбласти,Адрес) Тогда + Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы, АдресТекущейОбласти, Адрес) Тогда Прервать; КонецЕсли; Иначе @@ -16826,11 +16826,11 @@ КонецЕсли; КонецЕсли; - Адрес = СформироватьАдресЯчейки(СчетчикСтрок,СчетчикКолонок); + Адрес = СформироватьАдресЯчейки(СчетчикСтрок, СчетчикКолонок); Значение = ЭлементФормы.ПолучитьТекстОбласти(Адрес); - ТекОбласть = ТабДок.Область(СчетчикСтрок-СмещениеСтрок,СчетчикКолонок-СмещениеКолонок,СчетчикСтрок-СмещениеСтрок,СчетчикКолонок-СмещениеКолонок); + ТекОбласть = ТабДок.Область(СчетчикСтрок - СмещениеСтрок, СчетчикКолонок - СмещениеКолонок, СчетчикСтрок - СмещениеСтрок, СчетчикКолонок - СмещениеКолонок); ТекОбласть.Текст = Значение; АдресТекущейОбласти = Неопределено; @@ -16846,7 +16846,7 @@ //проверим, что у нас получилось установить область //если не получилось, значит мы пытаемся выйти за границу макета Если ТекущийTestclientЭтоWebКлиент и ОпределятьГраницыМакетаWebКлиентаЧерезПереходКОбласти Тогда - Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы,АдресТекущейОбласти,Адрес) Тогда + Если НЕ ПерейтиВТабДокTestClientКЯчейке(ЭлементФормы, АдресТекущейОбласти, Адрес) Тогда ШиринаТаблицы = СчетчикКолонок - 1; Прервать; КонецЕсли; @@ -16909,10 +16909,10 @@ Для Кол = СчитываниеМакетаНачКол По СчитываниеМакетаНачКол + СчитываниеМакетаКолКол - 1 Цикл СчетчикКолонок = СчетчикКолонок + 1; - Значение = ТД.Область(Стр,Кол,Стр,Кол).Текст; + Значение = ТД.Область(Стр, Кол, Стр, Кол).Текст; Значение = СтрЗаменить(Значение, Символы.ПС, "\n"); - ТабДок.Область(СчетчикСтрок,СчетчикКолонок,СчетчикСтрок,СчетчикКолонок).Текст = Значение; + ТабДок.Область(СчетчикСтрок, СчетчикКолонок, СчетчикСтрок, СчетчикКолонок).Текст = Значение; КонецЦикла; КонецЦикла; @@ -16972,7 +16972,7 @@ КонецЕсли; Исключение ТекстСообщения = "Не смог получить значение табличного документа <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ЭлементФормы.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ЭлементФормы.Имя); Сообщить(ТекстСообщения); Сообщить(ОписаниеОшибки()); КонецПопытки; @@ -17013,7 +17013,7 @@ КонецФункции &НаКлиенте -Процедура ДобавитьЭлементыКолонкиТаблицы(ТаблицыФормы,МассивКолонокТаблиц) +Процедура ДобавитьЭлементыКолонкиТаблицы(ТаблицыФормы, МассивКолонокТаблиц) МассивЭлементовТаблицы = ТаблицыФормы.НайтиОбъекты(); Для Каждого ЭлементТаблицы Из МассивЭлементовТаблицы Цикл МассивКолонокТаблиц.Добавить(ЭлементТаблицы.Имя); @@ -17053,7 +17053,7 @@ Возврат Неопределено; КонецЕсли; - ДопПараметры.Вставить("ТекущаяФорма",ТекущаяФорма); + ДопПараметры.Вставить("ТекущаяФорма", ТекущаяФорма); АктивныйЭлемент = Неопределено; Если ТолькоАктивныйЭлемент Тогда @@ -17072,14 +17072,14 @@ КонецЕсли; ТекстСообщения = "Найдена форма: ТекстЗаголовка=%1, ИмяФормы=%2. Окно <%3>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТекущаяФорма.ТекстЗаголовка); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ТекущаяФорма.ИмяФормы); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%3",АктивноеОкно.Заголовок); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекущаяФорма.ТекстЗаголовка); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ТекущаяФорма.ИмяФормы); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%3", АктивноеОкно.Заголовок); Сообщить(ТекстСообщения); Исключение Сообщить("Ошибка при получении активной формы."); ТекстСообщения = "ПолучитьСостояниеФормыTestClient:%1"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ОписаниеОшибки()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ОписаниеОшибки()); Сообщить(ТекстСообщения); Возврат Неопределено; КонецПопытки; @@ -17097,7 +17097,7 @@ МассивКолонокТаблиц = Новый Массив; Для Каждого ТаблицаФормы Из ТаблицыФормы Цикл - ДобавитьЭлементыКолонкиТаблицы(ТаблицаФормы,МассивКолонокТаблиц); + ДобавитьЭлементыКолонкиТаблицы(ТаблицаФормы, МассивКолонокТаблиц); КонецЦикла; Для каждого Элем Из МассивЭлементов Цикл @@ -17128,7 +17128,7 @@ КонецФункции &НаКлиенте -Процедура ДобавитьСтрокуИзменения(Стр,Изменение) +Процедура ДобавитьСтрокуИзменения(Стр, Изменение) Если Стр = "" Тогда Стр = Стр + " Тогда " + Изменение + Символы.ПС; Иначе @@ -17141,7 +17141,7 @@ Стр = СтрЗаменить(Стр, "\n", Символы.ПС); ЭтоМногоСтрочнаяСтрока = Ложь; - Если Найти(Стр,Символы.ПС) > 0 Тогда + Если Найти(Стр, Символы.ПС) > 0 Тогда ЭтоМногоСтрочнаяСтрока = Истина; КонецЕсли; @@ -17151,7 +17151,7 @@ Стр = УбратьКавычкиАпострофы(Стр); - МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Стр,Символы.ПС); + МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Стр, Символы.ПС); НоваяСтрока = ""; @@ -17233,7 +17233,7 @@ Если ЭлемСтало.Свойство("ТекстРедактирования") Тогда Если НЕ ЭлемБыло.Свойство("ТекстРедактирования") Тогда - ЭлемБыло.Вставить("ТекстРедактирования",Неопределено); + ЭлемБыло.Вставить("ТекстРедактирования", Неопределено); КонецЕсли; Если СокрЛП(ЭлемСтало["ТекстРедактирования"]) <> СокрЛП(ЭлемБыло["ТекстРедактирования"]) @@ -17283,7 +17283,7 @@ КонецЕсли; Если СокрЛП(ЭлемСтало[Ключ]) <> СокрЛП(ЭлемБыло[Ключ]) Тогда - ДобавитьСтрокуИзменения(Стр,Изменение); + ДобавитьСтрокуИзменения(Стр, Изменение); КонецЕсли; КонецЕсли; ИначеЕсли Ключ = "ТабДок" Тогда @@ -17601,7 +17601,7 @@ КонецФункции &НаКлиенте -Процедура ПолучитьИзмененияФормы(Тип,ДопПараметры) +Процедура ПолучитьИзмененияФормы(Тип, ДопПараметры) ТекущаяФорма = Неопределено; ТекущееСостояниеФормы = ПолучитьСостояниеФормыTestClient(ДопПараметры); Если ТекущееСостояниеФормы = Неопределено Тогда @@ -17611,14 +17611,14 @@ Если СохраненноеСостояниеФормыTestClient <> Неопределено Тогда Если СохраненноеСостояниеФормыTestClient.ИмяФормы <> ТекущееСостояниеФормы.ИмяФормы Тогда ТекстСообщения = "Изменилось имя формы: было: %1, стало: %2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СохраненноеСостояниеФормыTestClient.ИмяФормы); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",ТекущееСостояниеФормы.ИмяФормы); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", СохраненноеСостояниеФормыTestClient.ИмяФормы); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", ТекущееСостояниеФормы.ИмяФормы); Сообщить(ТекстСообщения); Возврат; КонецЕсли; КонецЕсли; - ДопПараметры.Вставить("ТекущаяФорма",ТекущаяФорма); + ДопПараметры.Вставить("ТекущаяФорма", ТекущаяФорма); Если Тип = "Gherkin" Тогда Изменения = ВывестиИзмененияФормыGherkin(СохраненноеСостояниеФормыTestClient, ТекущееСостояниеФормы); @@ -17684,7 +17684,7 @@ Процедура ЗагрузитьВременнуюФичуСервер(СтруктураПараметров) FeatureReader = СоздатьFeatureReader(СтруктураПараметров.ДвДанныеvbFeatureReader); - ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнТаблицаИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение Дерево = Новый ДеревоЗначений; ОбъектСервер = РеквизитФормыВЗначение("Объект"); @@ -17716,7 +17716,7 @@ СтруктураПараметров.Вставить("Шаги", Шаги); - СтруктураПараметров.Вставить("ТаблицаОбластей",Неопределено); + СтруктураПараметров.Вставить("ТаблицаОбластей", Неопределено); КонецПроцедуры &НаСервереБезКонтекста @@ -17808,7 +17808,7 @@ FeatureReader = СоздатьFeatureReader(ДвДанныеvbFeatureReader, ВременноеИмяФайла); ОписаниеШага = FeatureReader.ПолучитьОписаниеШагаПоСтроке(Стр); - ТзнИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition");//TODO ?? обойтись без РеквизитФормыВЗначение + ТзнИзвестныхStepDefinition = РеквизитФормыВЗначение("ТаблицаИзвестныхStepDefinition"); //TODO ?? обойтись без РеквизитФормыВЗначение Поз = Найти(ОписаниеШага.StepDefinition, "("); ИмяПроцедуры = Лев(ОписаниеШага.StepDefinition, Поз - 1); @@ -17835,14 +17835,14 @@ ДвоичныеДанные = ПутьФайлаИлиДвоичныеДанныеДляСервера(ВременнаяФича); СтруктураПараметров = СоздатьСтруктураПараметровДляЗагрузкиШага(ВременнаяФича, ДвоичныеДанные); - СтруктураПараметров.Вставить("ЭтоLinux",ЭтоLinux); + СтруктураПараметров.Вставить("ЭтоLinux", ЭтоLinux); ЗагрузитьВременнуюФичуСервер(СтруктураПараметров); Шаги = СтруктураПараметров.Шаги; Для каждого ТекШаг Из Шаги Цикл Если Не ЗначениеЗаполнено(ТекШаг.АдресСнипета) Тогда ТекстСообщения = "Для шага <%1> не найден EPF файл."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ТекШаг.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); ВызватьИсключение ТекстСообщения; КонецЕсли; @@ -17878,7 +17878,7 @@ &НаКлиенте Процедура ВывестиСообщениеОТомЧтоПоЗаголовкуНайденоБольшеОдногоЭлемента(МассивЭлементов, ИмяРеквизита) ТекстСообщения = "Обнаружено несколько полей с заголовком <%1>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяРеквизита); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяРеквизита); Сообщить(ТекстСообщения); Ном = 0; Для каждого Элем Из МассивЭлементов Цикл @@ -17890,10 +17890,10 @@ КонецПопытки; ТекстСообщения = "№%1. Заголовок=<%2>. Имя=<%3>. ТекстПоля = <%4>"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",Ном); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",Элем.ТекстЗаголовка); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%3",Элем.Имя); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%4",ПредставлениеДанных); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Ном); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", Элем.ТекстЗаголовка); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%3", Элем.Имя); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%4", ПредставлениеДанных); Сообщить(ТекстСообщения); КонецЦикла; @@ -17992,8 +17992,8 @@ ТекКоординаты = МассивКоординатОкон1С[ТекProcessID]; ТекстСообщения = "Активирую окно с координатами: %1;%2"; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",XMLСтрока(ТекКоординаты.x)); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",XMLСтрока(ТекКоординаты.y)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", XMLСтрока(ТекКоординаты.x)); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", XMLСтрока(ТекКоординаты.y)); СделатьСообщение(ТекстСообщения); ВыполнитьSikuliСкрипт(Объект.КаталогИнструментов + "\tools\Sikuli\ClickCoordinates.sikuli --args " + XMlСтрока(ТекКоординаты.x) + " " + XMlСтрока(ТекКоординаты.y) , -1, Истина); @@ -18083,7 +18083,7 @@ КонецЕсли; ТекстСообщения = "Найдено %1 окон."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",МассивКоординатОкон1С.Количество()); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", МассивКоординатОкон1С.Количество()); СделатьСообщение(ТекстСообщения); Если МассивКоординатОкон1С.Количество() = 0 Тогда @@ -18185,7 +18185,7 @@ ДанныеТекущейИнфобазы = Новый Структура; ДанныеТекущейИнфобазы.Вставить("Имя", "Этот клиент"); - СвободныйПорт = 1538;//надо так, иначе не подключается уже запущенный TestClient, если была переоткрыта VB + СвободныйПорт = 1538; //надо так, иначе не подключается уже запущенный TestClient, если была переоткрыта VB Отбор = Новый Структура; Отбор.Вставить("Имя", "Этот клиент"); @@ -18193,7 +18193,7 @@ Если СтрокиДанныеКлиентовТестирования.Количество() > 0 Тогда СтрокаЭтотКлиент = СтрокиДанныеКлиентовТестирования[0]; Иначе - СтрокаЭтотКлиент = ДанныеКлиентовТестирования.Вставить(0);// этот клиент должен быть первым + СтрокаЭтотКлиент = ДанныеКлиентовТестирования.Вставить(0); // этот клиент должен быть первым КаталогБазы = СтрокаСоединенияИнформационнойБазы(); ДанныеТекущейИнфобазы.Вставить("ИмяКомпьютера", "localhost"); @@ -18221,7 +18221,7 @@ КонецФункции &НаКлиенте -Процедура ДобавитьПараметрКWeb(Стр,ИмяПараметра,Значение = Неопределено) +Процедура ДобавитьПараметрКWeb(Стр, ИмяПараметра, Значение = Неопределено) Стр = Стр + ?(Найти(Стр, "?") = 0, "?", "&") + ИмяПараметра; Если Значение <> Неопределено Тогда Стр = Стр + "=" + ПреобразоватьПараметрДляWeb(Значение); @@ -18230,8 +18230,8 @@ &НаКлиенте Функция УбратьКавычки(Стр) - Если Лев(Стр,1) = """" и Прав(Стр,1) = """" Тогда - Возврат Сред(Стр,2,СтрДлина(Стр)-2); + Если Лев(Стр, 1) = """" и Прав(Стр, 1) = """" Тогда + Возврат Сред(Стр, 2, СтрДлина(Стр) - 2); КонецЕсли; Возврат Стр; @@ -18239,23 +18239,23 @@ &НаКлиенте Функция УбратьКавычкиАпострофы(Стр) - Если Лев(Стр,1) = """" и Прав(Стр,1) = """" Тогда - Возврат Сред(Стр,2,СтрДлина(Стр)-2); + Если Лев(Стр, 1) = """" и Прав(Стр, 1) = """" Тогда + Возврат Сред(Стр, 2, СтрДлина(Стр) - 2); КонецЕсли; - Если Лев(Стр,1) = "'" и Прав(Стр,1) = "'" Тогда - Возврат Сред(Стр,2,СтрДлина(Стр)-2); + Если Лев(Стр, 1) = "'" и Прав(Стр, 1) = "'" Тогда + Возврат Сред(Стр, 2, СтрДлина(Стр) - 2); КонецЕсли; Возврат Стр; КонецФункции &НаКлиенте -Функция ПолучитьМассивПараметровЗапуска(Стр,Разделитель) +Функция ПолучитьМассивПараметровЗапуска(Стр, Разделитель) Рез = ""; КавычкаОткрылась = Ложь; Для Ккк = 1 По СтрДлина(Стр) Цикл - Символ = Сред(Стр,Ккк,1); + Символ = Сред(Стр, Ккк, 1); Если Символ = """" Тогда КавычкаОткрылась = Не КавычкаОткрылась; @@ -18270,10 +18270,10 @@ Рез = Рез + Символ; КонецЦикла; - МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Рез,Разделитель); + МассивСтрок = РазложитьСтрокуВМассивПодстрокКлиент(Рез, Разделитель); - Для Ккк = 0 По МассивСтрок.Количество()-1 Цикл - МассивСтрок[Ккк] = СтрЗаменить(МассивСтрок[Ккк],"~ЭкранированиеПробела~"," ") + Для Ккк = 0 По МассивСтрок.Количество() - 1 Цикл + МассивСтрок[Ккк] = СтрЗаменить(МассивСтрок[Ккк], "~ЭкранированиеПробела~", " ") КонецЦикла; Возврат МассивСтрок; @@ -18282,24 +18282,24 @@ &НаКлиенте Функция ПолучитьСтрокуЗапускаWebКлиент(ДанныеЗапускаКлиентаТестирования) СтрокаЗапуска = СокрЛП(ДанныеЗапускаКлиентаТестирования.ПутьКИнфобазе); - Если НРег(Лев(СтрокаЗапуска,3)) = "ws=" Тогда - СтрокаЗапуска = Сред(СтрокаЗапуска,4); + Если НРег(Лев(СтрокаЗапуска, 3)) = "ws=" Тогда + СтрокаЗапуска = Сред(СтрокаЗапуска, 4); СтрокаЗапуска = УбратьКавычки(СтрокаЗапуска); КонецЕсли; ДобавитьПараметрКWeb(СтрокаЗапуска, "TESTCLIENT"); ДобавитьПараметрКWeb(СтрокаЗапуска, "TESTCLIENTID", ПолучитьКорректноеИмяTesClient(ДанныеЗапускаКлиентаТестирования.Имя)); - МассивДоппараметров = ПолучитьМассивПараметровЗапуска(ДанныеЗапускаКлиентаТестирования.ДопПараметры," "); + МассивДоппараметров = ПолучитьМассивПараметровЗапуска(ДанныеЗапускаКлиентаТестирования.ДопПараметры, " "); Для Каждого Элем Из МассивДоппараметров Цикл - Если Лев(Элем,2) = "/N" Тогда - ДобавитьПараметрКWeb(СтрокаЗапуска, "N", УбратьКавычки(Сред(Элем,3))); - ИначеЕсли Лев(Элем,2) = "/P" Тогда - ДобавитьПараметрКWeb(СтрокаЗапуска, "P", УбратьКавычки(Сред(Элем,3))); - ИначеЕсли Лев(Элем,2) = "/L" Тогда - ДобавитьПараметрКWeb(СтрокаЗапуска, "L", УбратьКавычки(Сред(Элем,3))); - ИначеЕсли Лев(Элем,3) = "/VL" Тогда - ДобавитьПараметрКWeb(СтрокаЗапуска, "VL", УбратьКавычки(Сред(Элем,4))); + Если Лев(Элем, 2) = "/N" Тогда + ДобавитьПараметрКWeb(СтрокаЗапуска, "N", УбратьКавычки(Сред(Элем, 3))); + ИначеЕсли Лев(Элем, 2) = "/P" Тогда + ДобавитьПараметрКWeb(СтрокаЗапуска, "P", УбратьКавычки(Сред(Элем, 3))); + ИначеЕсли Лев(Элем, 2) = "/L" Тогда + ДобавитьПараметрКWeb(СтрокаЗапуска, "L", УбратьКавычки(Сред(Элем, 3))); + ИначеЕсли Лев(Элем, 3) = "/VL" Тогда + ДобавитьПараметрКWeb(СтрокаЗапуска, "VL", УбратьКавычки(Сред(Элем, 4))); КонецЕсли; КонецЦикла; @@ -18334,8 +18334,8 @@ СвободныйПорт = ПроверитьПортНаЗанятость(ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); Если СвободныйПорт <> ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента Тогда ТекстСообщения = ПолучитьТекстСообщенияПользователю("$Порт %1 занят или находится вне указанного диапазона, порт подключения изменен на %2$"); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%2",СвободныйПорт); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%2", СвободныйПорт); СделатьСообщение(ТекстСообщения); ДанныеЗапускаКлиентаТестирования.ПортЗапускаТестКлиента = СвободныйПорт; Отбор = Новый Структура; @@ -18351,7 +18351,7 @@ ДопПараметр = ДанныеЗапускаКлиентаТестирования.ДопПараметры + ДопПараметр; Если ЭтоЗапускВРежимеКоманднойСтроки Тогда - СтрокаЗапуска = СтрокаЗапуска + " /CTemp " + ДопПараметр;//добавил /CTemp, чтобы убрать передачу параметра /C в TestClient, с которым был запущен TestManager + СтрокаЗапуска = СтрокаЗапуска + " /CTemp " + ДопПараметр; //добавил /CTemp, чтобы убрать передачу параметра /C в TestClient, с которым был запущен TestManager Иначе СтрокаЗапуска = СтрокаЗапуска + ДопПараметр; КонецЕсли; @@ -18411,9 +18411,9 @@ ЗТ.ЗаписатьСтроку("""" + СтрокаЗапуска1с + """ " + СтрокаЗапуска); ЗТ.Закрыть(); - ВыполнитьКомандуОСБезПоказаЧерногоОкна(ИмяВременногоBAT, Ложь, Ложь);//TODO проверить выполнение, т.к. ранее был вывод в кодировке UTF8 + ВыполнитьКомандуОСБезПоказаЧерногоОкна(ИмяВременногоBAT, Ложь, Ложь); //TODO проверить выполнение, т.к. ранее был вывод в кодировке UTF8 Иначе - КомандаСистемы(СтрокаЗапуска1с + " "+СтрокаЗапуска); + КомандаСистемы(СтрокаЗапуска1с + " " + СтрокаЗапуска); КонецЕсли; КонецЕсли; @@ -18620,11 +18620,11 @@ СтрокиДерева = Объект.ДеревоТестов.ПолучитьЭлементы(); НадоПрервать = Ложь; - СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокиДерева,Ном,НадоПрервать); + СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокиДерева, Ном, НадоПрервать); КонецПроцедуры &НаКлиенте -Процедура СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокиДерева,Ном,НадоПрервать) +Процедура СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокиДерева, Ном, НадоПрервать) Если НадоПрервать Тогда Возврат; КонецЕсли; @@ -18636,7 +18636,7 @@ Возврат; КонецЕсли; - СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокаДерева.ПолучитьЭлементы(),Ном,НадоПрервать) + СделатьСтрокуДереваТекущейПоНомеруРекурсивно(СтрокаДерева.ПолучитьЭлементы(), Ном, НадоПрервать) КонецЦикла; КонецПроцедуры @@ -19069,10 +19069,10 @@ // } Плагины &НаКлиенте -Функция НайтиТЧВДаннойФорме(ИмяТЧ,НужнаяФорма,ИскатьПоИмени) +Функция НайтиТЧВДаннойФорме(ИмяТЧ, НужнаяФорма, ИскатьПоИмени) Если НужнаяФорма = Неопределено Тогда ТекстСообщения = "Не смогли найти таблицу <%1> в активном окне."; - ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяТЧ); + ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ИмяТЧ); ВызватьИсключение ТекстСообщения; КонецЕсли; Если ИмяТЧ = "" Тогда @@ -19088,9 +19088,9 @@ Если ТЧ = Неопределено Тогда //попытаемся найти таблицу с другим именем Если ИмяТЧ = "TypeTree" Тогда - ТЧ = НужнаяФорма.НайтиОбъект(Тип("ТестируемаяТаблицаФормы"),, "ValueList"); + ТЧ = НужнаяФорма.НайтиОбъект(Тип("ТестируемаяТаблицаФормы"), , "ValueList"); ИначеЕсли ИмяТЧ = "ValueList" Тогда - ТЧ = НужнаяФорма.НайтиОбъект(Тип("ТестируемаяТаблицаФормы"),, "TypeTree"); + ТЧ = НужнаяФорма.НайтиОбъект(Тип("ТестируемаяТаблицаФормы"), , "TypeTree"); КонецЕсли; КонецЕсли; @@ -19098,7 +19098,7 @@ КонецФункции &НаКлиенте -Процедура УдалитьИзПолучитьКлиентаТестированияПрофиль(ПодключенныеTestClient,ИмяTestClient) +Процедура УдалитьИзПолучитьКлиентаТестированияПрофиль(ПодключенныеTestClient, ИмяTestClient) Массив = Новый Массив; Ид = -1; @@ -19129,20 +19129,20 @@ УдалитьФайлы(ВременноеИмяФайла); КонецЕсли; - ДанныеПеревода.Вставить("ТаблицаПеревода",ЗначениеВСтрокуВнутр(ДанныеПеревода.ТаблицаПеревода)); + ДанныеПеревода.Вставить("ТаблицаПеревода", ЗначениеВСтрокуВнутр(ДанныеПеревода.ТаблицаПеревода)); КонецПроцедуры &НаКлиенте Функция ПолучитьФайлыПеревода() Соответствие = Новый Соответствие; //TODO потенциальные пожиратели времени Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/en.mxl")); - Соответствие.Вставить("en",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/en.mxl")); - Соответствие.Вставить("ro",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/ro.mxl")); - Соответствие.Вставить("de",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/de.mxl")); - Соответствие.Вставить("lv",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/lv.mxl")); - Соответствие.Вставить("it",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/it.mxl")); - Соответствие.Вставить("pl",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/pl.mxl")); - Соответствие.Вставить("vi",Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/vi.mxl")); + Соответствие.Вставить("en", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/en.mxl")); + Соответствие.Вставить("ro", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/ro.mxl")); + Соответствие.Вставить("de", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/de.mxl")); + Соответствие.Вставить("lv", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/lv.mxl")); + Соответствие.Вставить("it", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/it.mxl")); + Соответствие.Вставить("pl", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/pl.mxl")); + Соответствие.Вставить("vi", Новый ДвоичныеДанные(Объект.КаталогИнструментов + "/locales/gherkin/vi.mxl")); Возврат Соответствие; КонецФункции @@ -19254,7 +19254,7 @@ ОбъектСервер = РеквизитФормыВЗначение("Объект"); МакетПереводСообщений = ОбъектСервер.ПолучитьМакет("ПереводСообщений"); - ДопПараметры.Вставить("МакетПереводСообщений",МакетПереводСообщений); + ДопПараметры.Вставить("МакетПереводСообщений", МакетПереводСообщений); КонецПроцедуры @@ -19408,8 +19408,8 @@ ВозниклаОшибкаВШагеКонтекста = Ложь; КешДанныеПеревода = Новый Структура; - КешДанныеПеревода.Вставить("ТаблицаПеревода",Неопределено); - КешДанныеПеревода.Вставить("Язык",Неопределено); + КешДанныеПеревода.Вставить("ТаблицаПеревода", Неопределено); + КешДанныеПеревода.Вставить("Язык", Неопределено); ГлобальныеЗначенияТаблиц = Новый Структура; @@ -19554,7 +19554,7 @@ &НаКлиенте Процедура ПроверитьДублированиеСценариев(Команда) - ПротоколОшибок=""; + ПротоколОшибок = ""; ПроверитьДублированиеСценариевНаСервере(ПротоколОшибок); Если ЗначениеЗаполнено(ПротоколОшибок) Тогда ТекстДок = новый ТекстовыйДокумент; @@ -19686,27 +19686,27 @@ &НаСервере Процедура ПроверитьДублированиеСценариевНаСервере(ПротоколОшибок) - ПротоколОшибок =""; + ПротоколОшибок = ""; ОбъектСервер = РеквизитФормыВЗначение("Объект"); - СтрокиСценариев = ОбъектСервер.ДеревоТестов.Строки.НайтиСтроки(Новый Структура("Тип","Сценарий"), Истина); + СтрокиСценариев = ОбъектСервер.ДеревоТестов.Строки.НайтиСтроки(Новый Структура("Тип", "Сценарий"), Истина); Для каждого ЭлементСроки из СтрокиСценариев цикл Если ЭлементСроки.ДопТип = "Контекст" Тогда Продолжить; КонецЕсли; - СтрокиДублей = ОбъектСервер.ДеревоТестов.Строки.НайтиСтроки(Новый Структура("Тип, Имя","Сценарий", ЭлементСроки.Имя), Истина); - Если СтрокиДублей.Количество()>1 Тогда - ПротоколОшибок= ПротоколОшибок+Символы.ПС+ЭлементСроки.Имя +" "+ЭлементСроки.ПолныйПуть+":"+Формат(ЭлементСроки.ИДСтроки, "ЧГ=0")+Символы.ПС; + СтрокиДублей = ОбъектСервер.ДеревоТестов.Строки.НайтиСтроки(Новый Структура("Тип, Имя", "Сценарий", ЭлементСроки.Имя), Истина); + Если СтрокиДублей.Количество() > 1 Тогда + ПротоколОшибок = ПротоколОшибок + Символы.ПС + ЭлементСроки.Имя + " " + ЭлементСроки.ПолныйПуть + ":" + Формат(ЭлементСроки.ИДСтроки, "ЧГ=0") + Символы.ПС; Для каждого элементДубль из СтрокиДублей Цикл - Если элементДубль.ПолныйПуть+":"+элементДубль.ИДСтроки = ЭлементСроки.ПолныйПуть+":"+ЭлементСроки.ИДСтроки Тогда + Если элементДубль.ПолныйПуть + ":" + элементДубль.ИДСтроки = ЭлементСроки.ПолныйПуть + ":" + ЭлементСроки.ИДСтроки Тогда Продолжить; КонецЕсли; - ПротоколОшибок= ПротоколОшибок+Символы.Таб+элементДубль.Имя +" "+элементДубль.ПолныйПуть+":"+Формат(элементДубль.ИДСтроки, "ЧГ=0")+Символы.ПС; + ПротоколОшибок = ПротоколОшибок + Символы.Таб + элементДубль.Имя + " " + элементДубль.ПолныйПуть + ":" + Формат(элементДубль.ИДСтроки, "ЧГ=0") + Символы.ПС; КонецЦикла; КонецЕсли; КонецЦикла; From a2e1e2bec7329ea1434f5780beae55f25003c09c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 8 Jun 2020 10:14:45 +0300 Subject: [PATCH 058/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 102d8032e..437b98d16 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -2,7 +2,7 @@ # Дымовые тесты -- [Настройка дымовых тестов под конкретную конфигурацию](настройка-дымовых-тестов-под-конкретную-конфигурацию) +- [Настройка дымовых тестов под конкретную конфигурацию](#настройка-дымовых-тестов-под-конкретную-конфигурацию) - [Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных](#дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных) - [Варианты запуска](#варианты-запуска) - [Описание возможностей](#описание-возможностей) From 456407cecb472be3176ea966b4f294e7fce875e8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 10 Jun 2020 10:40:39 +0300 Subject: [PATCH 059/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=20=D1=87=D0=B5=D0=BA-?= =?UTF-8?q?=D0=BB=D0=B8=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- releaseCheck.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/releaseCheck.md b/releaseCheck.md index 325324cfe..01a9b3306 100644 --- a/releaseCheck.md +++ b/releaseCheck.md @@ -23,5 +23,8 @@ - Убедиться, что в задачах/issues на Гитхабе для нового релиза/milestone не осталось невыполненных задач. - Если все-таки есть незавершенные задачи, их нужно перенести из нового релиза/milestone в следующий релиз. - Выполнить коммит с установкой тега нового релиза -- Выполнить пуш +- Выполнить пуш в origin + - ветки master и develop +- Выполнить пуш в oscript-library + - ветки master и develop - Опубликовать файл `add.ospx` в хабе пакетов через `opm push` From ec9b0e68c255f2cc217be77d29700d7c0a4e9bd5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 10 Jun 2020 12:00:34 +0300 Subject: [PATCH 060/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B0=D0=B2=D1=82=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=20bsl=20ls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/runner.os | 339 +++++++++++++++++++++++------------------------- 1 file changed, 160 insertions(+), 179 deletions(-) diff --git a/tools/runner.os b/tools/runner.os index d569f46d5..24696591b 100644 --- a/tools/runner.os +++ b/tools/runner.os @@ -81,7 +81,6 @@ Сообщить(" Внутри файла значение 0 (тесты пройдены), 1 (тесты не пройдены)"); Сообщить(" "); - Сообщить(" vanessa inputPath outputPath"); Сообщить(" Запуск тестирования vanessa-add"); Сообщить(" inputPath путь к каталогу или к файлу с тестами"); @@ -136,7 +135,7 @@ КонецЕсли; Текст = Новый ЧтениеТекста; - Текст.Открыть(ИмяФайла,"UTF-8"); + Текст.Открыть(ИмяФайла, "UTF-8"); ВесьТекст = Текст.Прочитать(); @@ -144,16 +143,15 @@ Массив = Новый Массив(); - МассивСтрок = СтрРазделить(ВесьТекст,Символы.ПС,Истина); - Если МассивСтрок[МассивСтрок.Количество()-1] = "" Тогда - МассивСтрок.Удалить(МассивСтрок.Количество()-1); + МассивСтрок = СтрРазделить(ВесьТекст, Символы.ПС, Истина); + Если МассивСтрок[МассивСтрок.Количество() - 1] = "" Тогда + МассивСтрок.Удалить(МассивСтрок.Количество() - 1); КонецЕсли; - Для Ккк = (КолСтрокЛогаПрочитано+1) По МассивСтрок.Количество() Цикл - Массив.Добавить(МассивСтрок[Ккк-1]); + Для Ккк = (КолСтрокЛогаПрочитано + 1) По МассивСтрок.Количество() Цикл + Массив.Добавить(МассивСтрок[Ккк - 1]); КонецЦикла; - КолСтрокЛогаПрочитано = МассивСтрок.Количество(); Возврат Массив; @@ -176,12 +174,11 @@ КонецПопытки; Если ЗначениеЗаполнено(ПолучитьПеременнуюСреды("TRAVIS_BUILD_NUMBER")) И ЕстьВывод = Ложь Тогда - Сообщить(" "+ПолучитьПеременнуюСреды("TRAVIS_BUILD_NUMBER")); + Сообщить(" " + ПолучитьПеременнуюСреды("TRAVIS_BUILD_NUMBER")); КонецЕсли; КонецПроцедуры - Процедура ЗапуститьПроцессВанессы(Знач СтрокаЗапуска, Знач ПутьКФайлуЛога) ПериодОпросаВМиллисекундах = 1000; @@ -242,7 +239,7 @@ ПаузаОжиданияЧтенияБуфера = 10; Лог.Отладка(СтрокаВыполнения); - Процесс = СоздатьПроцесс(СтрокаВыполнения,,Истина); + Процесс = СоздатьПроцесс(СтрокаВыполнения, , Истина); Процесс.Запустить(); ТекстБазовый = ""; @@ -250,7 +247,7 @@ Пока Истина Цикл Текст = Процесс.ПотокВывода.Прочитать(); - Лог.Отладка("Цикл ПотокаВывода "+Текст); + Лог.Отладка("Цикл ПотокаВывода " + Текст); Если Текст = Неопределено ИЛИ ПустаяСтрока(СокрЛП(Текст)) Тогда Прервать; КонецЕсли; @@ -290,13 +287,12 @@ Текст = "Информации об ошибке нет"; КонецЕсли; - Лог.Отладка("файл информации:"+ПутьКФайлу+" - |"+Текст); + Лог.Отладка("файл информации:" + ПутьКФайлу + " + |" + Текст); Возврат Текст; КонецФункции //ПрочитатьФайлИнформации - Процедура УбедитьсяЧтоФайлИлиКаталогСуществует(Знач Путь) Файл = Новый Файл(Путь); @@ -342,13 +338,13 @@ ИскатьВПодкаталогах = Истина; СписокФайлов = НайтиФайлы(КаталогПлоскойВыгрузки, ПолучитьМаскуВсеФайлы(), ИскатьВПодкаталогах); - Лог.Отладка("Найдено файлов выгрузки: "+СписокФайлов.Количество()+" шт."); + Лог.Отладка("Найдено файлов выгрузки: " + СписокФайлов.Количество() + " шт."); Для Каждого Файл Из СписокФайлов Цикл ИмяФайлаДляПереименования = Файл.Имя; ИмяНовогоФайла = СтрЗаменить(Файл.ПолноеИмя, КаталогПлоскойВыгрузки, ""); - ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="/", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); - ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) ="\", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); + ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) = "/", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); + ИмяНовогоФайла = ?(Лев(ИмяНовогоФайла, 1) = "\", Сред(ИмяНовогоФайла, 2), ИмяНовогоФайла); Если Файл.ЭтоКаталог() Тогда ИмяКаталога = ОбъединитьПути(КаталогИерархическойВыгрузки, ИмяНовогоФайла); ФайлКаталога = Новый Файл(ИмяКаталога); @@ -365,7 +361,7 @@ СоздатьКаталог(НовыйКаталог.ПолноеИмя); КонецЕсли; - ДобавитьПереименование(Переименования,ИмяФайлаДляПереименования,ИмяНовогоФайла); + ДобавитьПереименование(Переименования, ИмяФайлаДляПереименования, ИмяНовогоФайла); КопироватьФайл(Файл.ПолноеИмя, НовыйФайл.ПолноеИмя); @@ -383,7 +379,7 @@ ТекстовыйДокумент = Новый ЗаписьТекста(ОбъединитьПути(КаталогИерархическойВыгрузки, "renames.txt")); Для Каждого ЭлементСтроки Из Переименования Цикл - ТекстовыйДокумент.ЗаписатьСтроку(ЭлементСтроки.Источник+"-->"+СтрЗаменить(ЭлементСтроки.Приемник, "/", "\")); + ТекстовыйДокумент.ЗаписатьСтроку(ЭлементСтроки.Источник + "-->" +СтрЗаменить(ЭлементСтроки.Приемник, "/", "\")); КонецЦикла; ТекстовыйДокумент.Закрыть(); @@ -391,7 +387,7 @@ Процедура РаспаковатьКонтейнерМетаданных(Знач ФайлРаспаковки, Знач КаталогРаспаковки) ФайлДляРаспаковки = Новый файл(ФайлРаспаковки); - Если КаталогРаспаковки = "" тогда + Если КаталогРаспаковки = "" Тогда КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог(); КонецЕсли; @@ -417,7 +413,7 @@ Процедура УпаковатьКонтейнерМетаданных(Знач КаталогРаспаковки, Знач ФайлРаспаковки) ФайлДляРаспаковки = Новый файл(ФайлРаспаковки); - Если КаталогРаспаковки = "" тогда + Если КаталогРаспаковки = "" Тогда КаталогРаспаковки = ВременныеФайлы.СоздатьКаталог(); КонецЕсли; ФайлПрограммыРаспаковки = "v8unpack"; @@ -425,18 +421,17 @@ Если ФайлМодуля.Существует() Тогда КопироватьФайл(ФайлМодуля.ПолноеИмя, ОбъединитьПути(ФайлМодуля.Путь, "module") ); КонецЕсли; - СтрокаЗапуска = """"+ФайлПрограммыРаспаковки+""" -build -nopack """+КаталогРаспаковки+""" """+ФайлДляРаспаковки.ПолноеИмя+""""; + СтрокаЗапуска = """" + ФайлПрограммыРаспаковки + """ -build -nopack """ +КаталогРаспаковки + """ """ + ФайлДляРаспаковки.ПолноеИмя + """"; Если НЕ ЭтоWindows Тогда - СтрокаЗапуска = "sh -c '"+СтрокаЗапуска+"'"; + СтрокаЗапуска = "sh -c '" +СтрокаЗапуска + "'"; КонецЕсли; Лог.Отладка(СтрокаЗапуска); - ЗапуститьПриложение(СтрокаЗапуска,,Истина); + ЗапуститьПриложение(СтрокаЗапуска, , Истина); КонецПроцедуры - -Процедура РазобратьНаИсходникиТекущуюКонфигурацию(Каталог, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="") +Процедура РазобратьНаИсходникиТекущуюКонфигурацию(Каталог, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -462,7 +457,7 @@ КонецПроцедуры -Процедура РазобратьФайлКонфигурации(Знач ФайлКонфигурации, Знач ВыходнойКаталог, Знач ВерсияПлатформы="") +Процедура РазобратьФайлКонфигурации(Знач ФайлКонфигурации, Знач ВыходнойКаталог, Знач ВерсияПлатформы = "") ОбъектФайл = Новый Файл(ФайлКонфигурации); Если ОбъектФайл.Существует() = Ложь Тогда @@ -507,13 +502,13 @@ Индекс = Найти(Стр, "-->"); Если Индекс > 0 Тогда - ИмяНовогоФайла = ОбъединитьПути(КаталогВременнойСтруктуры, Лев(Стр, Индекс-1)); + ИмяНовогоФайла = ОбъединитьПути(КаталогВременнойСтруктуры, Лев(Стр, Индекс - 1)); ФайлНовый = Новый Файл(ИмяНовогоФайла); КаталогНовый = Новый Файл(ФайлНовый.Путь); Если НЕ КаталогНовый.Существует() Тогда СоздатьКаталог(ФайлНовый.Путь); КонецЕсли; - ПутьФайлСтарый = ОбъединитьПути(ВходнойКаталог, Сред(Стр, Индекс+3)); + ПутьФайлСтарый = ОбъединитьПути(ВходнойКаталог, Сред(Стр, Индекс + 3)); ФайлСтарый = Новый Файл(ПутьФайлСтарый); Если ФайлСтарый.Существует() Тогда СоответствиеФайлов.Вставить(ФайлСтарый.ПолноеИмя, Истина); @@ -523,8 +518,8 @@ КаталогФормыНовый = ОбъединитьПути(ФайлНовый.Путь, ФайлНовый.ИмяБезРасширения); СоздатьКаталог(КаталогФормыНовый); МассивФайлов = НайтиФайлы(КаталогФормыСтарый, ПолучитьМаскуВсеФайлы()); - Для Каждого Элемент из МассивФайлов Цикл - Лог.Отладка("Копируем "+Элемент.ПолноеИмя + "--> "+ОбъединитьПути(КаталогФормыНовый, Элемент.Имя)); + Для Каждого Элемент Из МассивФайлов Цикл + Лог.Отладка("Копируем " + Элемент.ПолноеИмя + "--> " +ОбъединитьПути(КаталогФормыНовый, Элемент.Имя)); КопироватьФайл(Элемент.ПолноеИмя, ОбъединитьПути(КаталогФормыНовый, Элемент.Имя)); КонецЦикла; @@ -542,7 +537,7 @@ Если БылаОшибка = Истина Тогда МассивФайлов = НайтиФайлы(ВходнойКаталог, ПолучитьМаскуВсеФайлы(), Истина); - Для Каждого Элемент из МассивФайлов Цикл + Для Каждого Элемент Из МассивФайлов Цикл Если СоответствиеФайлов.Получить(Элемент.ПолноеИмя) = Неопределено Тогда ИмяНовогоФайла = ОбъединитьПути(КаталогВременнойСтруктуры, Сред(Элемент.ПолноеИмя, СтрДлина(ВходнойКаталог))); ФайлНовый = Новый Файл(ИмяНовогоФайла); @@ -559,7 +554,7 @@ КонецФункции -Процедура СобратьИзИсходниковТекущуюКонфигурацию(Знач ВходнойКаталог, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="", Знач СписокФайловДляЗагрузки = "", Знач СниматьСПоддержки = Истина) Экспорт +Процедура СобратьИзИсходниковТекущуюКонфигурацию(Знач ВходнойКаталог, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "", Знач СписокФайловДляЗагрузки = "", Знач СниматьСПоддержки = Истина) Экспорт Перем НеобходимоОбновлять, ИмяВременногоФайла; НеобходимоОбновлять = Ложь; КаталогВыгрузки = Новый Файл(ВходнойКаталог); @@ -581,8 +576,8 @@ Если НЕ ПустаяСтрока(СтрокаПодключения) Тогда Конфигуратор.УстановитьКонтекст(СтрокаПодключения, Пользователь, Пароль); - Если Лев(СтрокаПодключения,2)="/F" Тогда - ПутьКБазе = УбратьКавычкиВокругПути(Сред(СтрокаПодключения,3, СтрДлина(СтрокаПодключения)-2)); + Если Лев(СтрокаПодключения, 2) = "/F" Тогда + ПутьКБазе = УбратьКавычкиВокругПути(Сред(СтрокаПодключения, 3, СтрДлина(СтрокаПодключения) - 2)); ФайлБазы = Новый Файл(ПутьКБазе); Если НЕ ФайлБазы.Существует() Тогда Конфигуратор.СоздатьФайловуюБазу(ФайлБазы.ПолноеИмя); @@ -636,7 +631,7 @@ КонецПроцедуры -Процедура СобратьФайлКонфигурации(Знач ВходнойКаталог, Знач ФайлКонфигурации, Знач ВерсияПлатформы="") +Процедура СобратьФайлКонфигурации(Знач ВходнойКаталог, Знач ФайлКонфигурации, Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -659,7 +654,7 @@ КонецПроцедуры -Процедура РазобратьНаИсходникиРасширение(ИмяРасширения, Каталог, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="") +Процедура РазобратьНаИсходникиРасширение(ИмяРасширения, Каталог, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -684,7 +679,7 @@ КонецПроцедуры -Процедура СобратьИзИсходниковРасширение(Каталог, ИмяРасширения, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="") +Процедура СобратьИзИсходниковРасширение(Каталог, ИмяРасширения, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -723,9 +718,9 @@ // ВерсияПлатформы - <Строка> - Версия платформы // Процедура ЗапуститьТестироватьПоведение(Знач РабочийКаталогПроекта = "./build/out", - Знач СтрокаПодключения, Знач Пользователь="", Знач Пароль="", - Знач ПутьКНастройкам = "", Знач ПутьКИнструментам="", Знач ТолстыйКлиент = Ложь, - Знач ДопПараметры="", Знач ВерсияПлатформы="") + Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", + Знач ПутьКНастройкам = "", Знач ПутьКИнструментам = "", Знач ТолстыйКлиент = Ложь, + Знач ДопПараметры = "", Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -751,7 +746,7 @@ ПутьКНастройкам = ПолныйПуть(ПутьКНастройкам); КонецЕсли; - КлючЗапуска = """StartFeaturePlayer;VBParams=" + ПутьКНастройкам +";workspaceRoot="+ПолныйПуть(РабочийКаталогПроекта) + """"; + КлючЗапуска = """StartFeaturePlayer;VBParams=" + ПутьКНастройкам + ";workspaceRoot=" +ПолныйПуть(РабочийКаталогПроекта) + """"; Лог.Отладка(КлючЗапуска); ДополнительныеКлючи = " /Execute""" + ПутьКИнструментам + """ /TESTMANAGER "; @@ -759,10 +754,10 @@ ПараметрыСвязиСБазой = Конфигуратор.ПолучитьПараметрыЗапуска(); ПараметрыСвязиСБазой[0] = "ENTERPRISE"; ПараметрыСвязиСБазой.Удалить(2); - ПараметрыСвязиСБазой.Добавить("/C"+КлючЗапуска); + ПараметрыСвязиСБазой.Добавить("/C" +КлючЗапуска); путьДамп = ПолучитьИмяВременногоФайла("txt"); - ПараметрыСвязиСБазой.Добавить("/out"""+путьДамп+""""); + ПараметрыСвязиСБазой.Добавить("/out""" +путьДамп + """"); Если ДополнительныеКлючи <> Неопределено Тогда ПараметрыСвязиСБазой.Добавить(ДополнительныеКлючи); @@ -771,7 +766,7 @@ СтрокаЗапуска = ""; СтрокаДляЛога = ""; Для Каждого Параметр Из ПараметрыСвязиСБазой Цикл СтрокаЗапуска = СтрокаЗапуска + " " + Параметр; - Если Лев(Параметр,2) <> "/P" и Лев(Параметр,25) <> "/ConfigurationRepositoryP" Тогда + Если Лев(Параметр, 2) <> "/P" И Лев(Параметр, 25) <> "/ConfigurationRepositoryP" Тогда СтрокаДляЛога = СтрокаДляЛога + " " + Параметр; КонецЕсли; КонецЦикла; @@ -785,7 +780,7 @@ Если Найти(Приложение, " ") > 0 Тогда Приложение = ОбернутьПутьВКавычки(Приложение); КонецЕсли; - Приложение = Приложение + " "+СтрокаЗапуска; + Приложение = Приложение + " " + СтрокаЗапуска; Попытка ЗапуститьПроцессВанессы(Приложение, ПолныйПуть("./build/vanessaonline.txt") ); //ЗапуститьПроцесс(Приложение); @@ -797,16 +792,15 @@ //Проверим итоговый результат работы поведения, для этого в типовой настройке определим путь как $workspaceRoot/build/buildstatus.log Результат = ПрочитатьФайлИнформации(ПолныйПуть("./build/buildstatus.log")); Если СокрЛП(Результат) <> "0" Тогда - ВызватьИсключение "Результат работы не равен 0 "+ Результат; + ВызватьИсключение "Результат работы не равен 0 " + Результат; КонецЕсли; Исключение Лог.Ошибка(Конфигуратор.ВыводКоманды()); - Лог.Ошибка("Ошибка:"+ОписаниеОшибки()); + Лог.Ошибка("Ошибка:" + ОписаниеОшибки()); ВызватьИсключение "ЗапуститьТестироватьПоведение"; КонецПопытки; - КонецПроцедуры // ЗапуститьТестироватьПоведение() // Выполняем запуск тестов для xunit @@ -826,7 +820,7 @@ Знач ПутьФайлаСтатусаТестирования, Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", Знач ПутьКИнструментам = "", Знач ТолстыйКлиент = Ложь, - Знач ВерсияПлатформы="") + Знач ВерсияПлатформы = "") Конфигуратор = Новый УправлениеКонфигуратором(); @@ -847,7 +841,7 @@ ПутьКИнструментам = "./tools/xUnitFor1C/xddTestRunner.epf"; КонецЕсли; - КлючЗапуска = """xddRun ЗагрузчикКаталога """""+ПутьВходящихДанных+""""";"; + КлючЗапуска = """xddRun ЗагрузчикКаталога """"" + ПутьВходящихДанных + """"";"; Для каждого ПараметрыОтчета Из ФормируемыеОтчеты Цикл КлючЗапуска = КлючЗапуска + "xddReport " + ПараметрыОтчета.Ключ + " " + ПараметрыОтчета.Значение + "; "; @@ -874,7 +868,7 @@ Если Не ПустаяСтрока(ПутьФайлаСтатусаТестирования) Тогда Результат = ПрочитатьФайлИнформации(ПутьФайлаСтатусаТестирования); Если СокрЛП(Результат) <> "0" Тогда - ВызватьИсключение "Результат работы команды не равен 0 "+ Результат; + ВызватьИсключение "Результат работы команды не равен 0 " + Результат; КонецЕсли; КонецЕсли; Исключение @@ -898,14 +892,14 @@ // ВерсияПлатформы - <Строка> - <описание параметра> // ДополнительныеКлючиЗапуска - <Строка> - <описание параметра> // -Процедура ЗапуститьВРежимеПредприятия(Знач СтрокаПодключения, Знач Пользователь="", Знач Пароль="", - Знач КлючРазрешенияЗапуска = "", Знач ПараметрЗапуска="", - Знач ОбработкаДляЗапуска="", Знач ТолстыйКлиент = Ложь, - Знач ВерсияПлатформы="", Знач ДополнительныеКлючиЗапуска = "") +Процедура ЗапуститьВРежимеПредприятия(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", + Знач КлючРазрешенияЗапуска = "", Знач ПараметрЗапуска = "", + Знач ОбработкаДляЗапуска = "", Знач ТолстыйКлиент = Ложь, + Знач ВерсияПлатформы = "", Знач ДополнительныеКлючиЗапуска = "") ТекущаяПроцедура = "ЗапуститьВРежимеПредприятия"; - Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура+" не задана строка подключения").Заполнено(); + Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура + " не задана строка подключения").Заполнено(); Конфигуратор = Новый УправлениеКонфигуратором(); @@ -928,11 +922,11 @@ ДополнительныеКлючи = ДополнительныеКлючиЗапуска; Если Не ПустаяСтрока(ОбработкаДляЗапуска) Тогда - ДополнительныеКлючи = ДополнительныеКлючи + "/Execute"+ОбернутьПутьВКавычки(ОбработкаДляЗапуска); + ДополнительныеКлючи = ДополнительныеКлючи + "/Execute" +ОбернутьПутьВКавычки(ОбработкаДляЗапуска); КонецЕсли; - Лог.Отладка("ДополнительныеКлючи:"+ДополнительныеКлючи); - Лог.Отладка("ПараметрЗапуска:"+ПараметрЗапуска); + Лог.Отладка("ДополнительныеКлючи:" + ДополнительныеКлючи); + Лог.Отладка("ПараметрЗапуска:" + ПараметрЗапуска); Попытка Конфигуратор.ЗапуститьВРежимеПредприятия(ПараметрЗапуска, Истина, ДополнительныеКлючи); @@ -948,13 +942,12 @@ КонецПроцедуры -Процедура ЗапуститьОбновлениеКонфигурации(Знач СтрокаПодключения, Знач Пользователь="", Знач Пароль="", - Знач КлючРазрешенияЗапуска = "", Знач ВерсияПлатформы="", Знач ДополнительныеКлючиЗапуска = "") Экспорт - +Процедура ЗапуститьОбновлениеКонфигурации(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", + Знач КлючРазрешенияЗапуска = "", Знач ВерсияПлатформы = "", Знач ДополнительныеКлючиЗапуска = "") Экспорт ТекущаяПроцедура = "ЗапуститьОбновлениеКонфигурации"; - Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура+" не задана строка подключения").Заполнено(); + Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура + " не задана строка подключения").Заполнено(); Конфигуратор = Новый УправлениеКонфигуратором(); КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); @@ -986,7 +979,7 @@ Если Найти(Приложение, " ") > 0 Тогда Приложение = ОбернутьПутьВКавычки(Приложение); КонецЕсли; - Приложение = Приложение + " "+СтрокаЗапуска; + Приложение = Приложение + " " + СтрокаЗапуска; Лог.Информация(Приложение); Результат = ЗапуститьПроцесс(Приложение); @@ -1016,16 +1009,15 @@ КонецПроцедуры //ЗапуститьОбновлениеКонфигурации -Процедура ЗапуститьОбновлениеИзХранилища(Знач СтрокаПодключения, Знач Пользователь="", Знач Пароль="", - Знач СтрокаПодключенияХранилище = "", Знач ПользовательХранилища="", Знач ПарольХранилища="", - Знач ВерсияХранилища="", Знач ВерсияПлатформы="", Знач ДополнительныеКлючиЗапуска = "") Экспорт - +Процедура ЗапуститьОбновлениеИзХранилища(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", + Знач СтрокаПодключенияХранилище = "", Знач ПользовательХранилища = "", Знач ПарольХранилища = "", + Знач ВерсияХранилища = "", Знач ВерсияПлатформы = "", Знач ДополнительныеКлючиЗапуска = "") Экспорт ТекущаяПроцедура = "ЗапуститьОбновлениеИзХранилища"; - Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура+" не задана строка подключения").Заполнено(); - Ожидаем.Что(СтрокаПодключенияХранилище, ТекущаяПроцедура+" не задана строка подключения к хранилищу").Заполнено(); - Ожидаем.Что(ПользовательХранилища, ТекущаяПроцедура+" не задан пользователь хранилища").Заполнено(); + Ожидаем.Что(СтрокаПодключения, ТекущаяПроцедура + " не задана строка подключения").Заполнено(); + Ожидаем.Что(СтрокаПодключенияХранилище, ТекущаяПроцедура + " не задана строка подключения к хранилищу").Заполнено(); + Ожидаем.Что(ПользовательХранилища, ТекущаяПроцедура + " не задан пользователь хранилища").Заполнено(); Конфигуратор = Новый УправлениеКонфигуратором(); @@ -1036,11 +1028,11 @@ Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); - Параметры.Добавить("/ConfigurationRepositoryF """+СтрокаПодключенияХранилище+""""); - Параметры.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+""""); + Параметры.Добавить("/ConfigurationRepositoryF """ +СтрокаПодключенияХранилище + """"); + Параметры.Добавить("/ConfigurationRepositoryN """ +ПользовательХранилища + """"); Если Не ПустаяСтрока(ПарольХранилища) Тогда - Параметры.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+""""); + Параметры.Добавить("/ConfigurationRepositoryP """ +ПарольХранилища + """"); КонецЕсли; Параметры.Добавить("/ConfigurationRepositoryUpdateCfg"); @@ -1126,15 +1118,15 @@ КонецЕсли; Если РезультатыОбработкиВнешнихОбработок.Количество() > 0 Тогда - Для каждого КлючЗначение из РезультатыОбработкиВнешнихОбработок Цикл - Лог.Ошибка(КлючЗначение.Значение + " "+ КлючЗначение.Ключ); + Для каждого КлючЗначение Из РезультатыОбработкиВнешнихОбработок Цикл + Лог.Ошибка(КлючЗначение.Значение + " " + КлючЗначение.Ключ); КонецЦикла; - ВызватьИсключение "Не удалось разобрать "+Путь; + ВызватьИсключение "Не удалось разобрать " + Путь; КонецЕсли; КонецПроцедуры //Декомпилировать -Процедура РазобратьКаталог(Знач ОбъектКаталога, Знач КаталогВыгрузки, Знач КаталогКорень, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы="") Экспорт +Процедура РазобратьКаталог(Знач ОбъектКаталога, Знач КаталогВыгрузки, Знач КаталогКорень, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Экспорт ПутьКаталога = ОбъектКаталога.ПолноеИмя; ОтносительныйПутьКаталога = ПолучитьОтносительныйПутьФайла(КаталогКорень, ПутьКаталога); @@ -1144,13 +1136,13 @@ ИмяКаталогаВыгрузки = Новый Файл(КаталогВыгрузки).Имя; Файлы = НайтиФайлы(ПутьКаталога, ПолучитьМаскуВсеФайлы()); - Для Каждого Файл из Файлы Цикл - Если Лев(Файл.Имя,4) = ".git" Или Врег(Файл.Имя) = Врег("build") Или Врег(Файл.Имя) = Врег("cache.json") Тогда + Для Каждого Файл Из Файлы Цикл + Если Лев(Файл.Имя, 4) = ".git" Или Врег(Файл.Имя) = Врег("build") Или Врег(Файл.Имя) = Врег("cache.json") Тогда Продолжить; КонецЕсли; Если Файл.ЭтоКаталог() Тогда - Если Лев(Файл.Имя,4) = ".git" Тогда + Если Лев(Файл.Имя, 4) = ".git" Тогда Продолжить; КонецЕсли; @@ -1174,9 +1166,9 @@ Иначе ОтносительныйПутьКаталогаФайла = ПолучитьОтносительныйПутьФайла(КаталогКорень, Файл.ПолноеИмя); - Лог.Отладка("ОтносительныйПутьКаталогаФайла <"+ОтносительныйПутьКаталогаФайла+">"); + Лог.Отладка("ОтносительныйПутьКаталогаФайла <" +ОтносительныйПутьКаталогаФайла + ">"); ПутьФайлаИсходников = ОбъединитьПути(КаталогВыгрузки, ОтносительныйПутьКаталогаФайла); - Лог.Отладка("ПутьФайлаИсходников <"+ПутьФайлаИсходников+">"); + Лог.Отладка("ПутьФайлаИсходников <" +ПутьФайлаИсходников + ">"); ФайлНовый = Новый Файл(ПутьФайлаИсходников); КаталогНовый = Новый Файл(ФайлНовый.Путь); @@ -1190,7 +1182,7 @@ Попытка УдалитьФайлы(ФайлНовый.Путь, ФайлНовый.Имя); Исключение - Лог.Ошибка("Ошибка удаления файла "+ ПутьФайлаИсходников + ":"+ОписаниеОшибки()); + Лог.Ошибка("Ошибка удаления файла " + ПутьФайлаИсходников + ":" + ОписаниеОшибки()); КонецПопытки; КонецЕсли; @@ -1204,7 +1196,7 @@ Лог.Отладка(СтрШаблон("Завершена выгрузка каталога %1 в каталог %2, корень %3", ОтносительныйПутьКаталога, КаталогВыгрузки, КаталогКорень)); КонецПроцедуры -Функция РазобратьФайлВнешняяОбработка(Знач Файл, Знач КаталогВыгрузки, Знач КаталогКорень = "", Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы="") Экспорт +Функция РазобратьФайлВнешняяОбработка(Знач Файл, Знач КаталогВыгрузки, Знач КаталогКорень = "", Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Экспорт ПутьФайла = Файл.ПолноеИмя; Лог.Отладка(СтрШаблон("Проверка необходимости выгрузки файла %1 в каталог %2, корень %3", ПутьФайла, КаталогВыгрузки, КаталогКорень)); @@ -1226,25 +1218,25 @@ Возврат Ложь; КонецЕсли; - Поз = Найти(".epf,.erf,", Файл.Расширение+","); + Поз = Найти(".epf,.erf,", Файл.Расширение + ","); Возврат Поз > 0; КонецФункции -Функция РазобратьФайлВнутрВнешняяОбработка(Знач Файл, Знач КаталогВыгрузки, Знач КаталогКорень, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы="") +Функция РазобратьФайлВнутрВнешняяОбработка(Знач Файл, Знач КаталогВыгрузки, Знач КаталогКорень, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") ПутьФайла = Файл.ПолноеИмя; Если Не ТипФайлаПоддерживается(Файл) Тогда - ВызватьИсключение "Тип файла """+Файл.Расширение+""" не поддерживается"; + ВызватьИсключение "Тип файла """ + Файл.Расширение + """ не поддерживается"; КонецЕсли; Ожидаем.Что(Файл.Существует(), "Файл " + ПутьФайла + " должен существовать").ЭтоИстина(); ОтносительныйПутьКаталогаФайла = ПолучитьОтносительныйПутьФайла(КаталогКорень, ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения)); - Лог.Отладка("ОтносительныйПутьКаталогаФайла <"+ОтносительныйПутьКаталогаФайла+">"); + Лог.Отладка("ОтносительныйПутьКаталогаФайла <" +ОтносительныйПутьКаталогаФайла + ">"); ПутьКаталогаИсходников = ОбъединитьПути(КаталогВыгрузки, ОтносительныйПутьКаталогаФайла); - Лог.Отладка("ПутьКаталогаИсходников <"+ПутьКаталогаИсходников+">"); + Лог.Отладка("ПутьКаталогаИсходников <" +ПутьКаталогаИсходников + ">"); ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников); ОбеспечитьПустойКаталог(ПапкаИсходников); @@ -1266,7 +1258,7 @@ Рез = Сред(Рез, 2); КонецЕсли; Если Найти("\/", Прав(Рез, 1)) > 0 Тогда - Рез = Лев(Рез, СтрДлина(Рез)-1); + Рез = Лев(Рез, СтрДлина(Рез) - 1); КонецЕсли; Возврат Рез; @@ -1306,7 +1298,6 @@ Лог.Отладка("Очищаем каталог временной ИБ"); УдалитьФайлы(Конфигуратор.ФайлИнформации()); - ИскатьВПодкаталогах = Истина; СписокФайлов = НайтиФайлы(ВременныйКаталог, "*.bin", ИскатьВПодкаталогах); Лог.Отладка("Найдено файлов выгрузки: " + СписокФайлов.Количество() + " шт."); @@ -1354,7 +1345,6 @@ КонецПроцедуры - Функция Компилировать(Знач Путь, Знач КаталогВыгрузки, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "", Знач ТолькоКопировать = Ложь, Знач КлючКэша = Неопределено) Экспорт Перем КаталогВременнойИБ; @@ -1375,7 +1365,6 @@ Ожидаем.Что(ПапкаИсходников.Существует(), "Папка " + ПутьКИсходникам + " должна существовать").ЭтоИстина(); - //Попробуем через кєш. //Попытка КлючКэша = ?(КлючКэша = Неопределено ИЛИ Не ЗначениеЗаполнено(КлючКэша), "compileepfrunner", КлючКэша); @@ -1407,7 +1396,7 @@ ЕстьИзмененияДляЗаписи = Ложь; Лог.Отладка("Начали собирать inDir %1, outDir %2", ПутьКИсходникам, КаталогВыгрузки); СледитьЗаИзменениямиФайловВРепозиторииИсходников(ЗначенияПараметровСборки, НастройкиИзФайла, , ЕстьИзмененияДляЗаписи); - Лог.Отладка("Закончили собирать " + ЕстьИзмененияДляЗаписи + " "+ТолькоКопировать); + Лог.Отладка("Закончили собирать " + ЕстьИзмененияДляЗаписи + " " + ТолькоКопировать); Если ЕстьИзмененияДляЗаписи И НЕ ТолькоКопировать Тогда Лог.Отладка("Начали записывать"); ЗаписатьФайлJSON(ОбъединитьПути(КорневойПутьПроекта, "./build/cache.json"), НастройкиИзФайла); @@ -1466,11 +1455,10 @@ Для Каждого Файл Из СписокФайловВКаталоге Цикл - Если Лев(Файл.Имя,4) = ".git" Или Врег(Файл.Имя) = Врег("build") Тогда + Если Лев(Файл.Имя, 4) = ".git" Или Врег(Файл.Имя) = Врег("build") Тогда Продолжить; КонецЕсли; - Если Файл.ЭтоКаталог() И ОбъединитьПути(Новый Файл(Файл.ПолноеИмя).ПолноеИмя, "./") = ОбъединитьПути(Новый Файл(КаталогВыгрузки).ПолноеИмя, "./") Тогда Продолжить; КонецЕсли; @@ -1503,7 +1491,7 @@ Функция СобратьФайлВнешнейОбработки(Знач ПутьКИсходникам, Знач КаталогВыгрузки, Знач СтрокаПодключения, Знач Пользователь, Знач Пароль, Знач ВерсияПлатформы) - Лог.Отладка("Собираю исходники <"+ПутьКИсходникам+">"); + Лог.Отладка("Собираю исходники <" +ПутьКИсходникам + ">"); ПапкаИсходников = Новый Файл(ПутьКИсходникам); ИмяПапки = ПапкаИсходников.Имя; @@ -1512,17 +1500,17 @@ Ожидаем.Что(НайденныйФайл.Количество(), "Базовый файл xml <" + ПутьКИсходникам + ">*.xml должен существовать").Больше(0); ИмяФайлаОбъекта = КаталогВыгрузки; // ОбъединитьПути(ТекущийКаталог(), КаталогВыгрузки); - Лог.Отладка("Собираю исходники ИмяФайлаОбъекта <"+ИмяФайлаОбъекта+">"); + Лог.Отладка("Собираю исходники ИмяФайлаОбъекта <" +ИмяФайлаОбъекта + ">"); СобратьФайлВнешнейОбработкиИзИсходников(НайденныйФайл[0], ИмяФайлаОбъекта, СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); - Лог.Отладка("Успешно собран файл "+ИмяФайлаОбъекта); + Лог.Отладка("Успешно собран файл " + ИмяФайлаОбъекта); Возврат ИмяФайлаОбъекта; КонецФункции Процедура СобратьФайлВнешнейОбработкиИзИсходников(ПапкаИсходников, ИмяФайлаОбъекта, Знач СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы) - Лог.Отладка("Собираю файл из исходников <"+ПапкаИсходников.ПолноеИмя+"> в файл "+ИмяФайлаОбъекта); + Лог.Отладка("Собираю файл из исходников <" +ПапкаИсходников.ПолноеИмя + "> в файл " +ИмяФайлаОбъекта); Конфигуратор = Новый УправлениеКонфигуратором(); КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); @@ -1557,7 +1545,7 @@ Результат = Ложь; МассивИмен = НайтиФайлы(ПутьКПапке, "*.xml", Ложь); - Для Каждого Элемент из МассивИмен Цикл + Для Каждого Элемент Из МассивИмен Цикл ЧтениеТекста = Новый ЧтениеТекста(Элемент.ПолноеИмя); Содержание = ЧтениеТекста.Прочитать(); ЧтениеТекста.Закрыть(); @@ -1628,7 +1616,7 @@ КонецФункции -Процедура КонвертироватьФайлы(Знач Каталог, Знач СтрокаПодключения="", Знач Пользователь="", Знач Пароль="", Знач ВерсияПлатформы="") Экспорт +Процедура КонвертироватьФайлы(Знач Каталог, Знач СтрокаПодключения = "", Знач Пользователь = "", Знач Пароль = "", Знач ВерсияПлатформы = "") Экспорт Конфигуратор = Новый УправлениеКонфигуратором(); КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); @@ -1701,7 +1689,7 @@ Кэш.Вставить(Элемент.Ключ, Элемент.Значение); КонецЦикла; Исключение - Лог.Ошибка("Ошибка обновления других кэшей "+ Элемент + ":"+ ОписаниеОшибки()); + Лог.Ошибка("Ошибка обновления других кэшей " + Элемент + ":" + ОписаниеОшибки()); КонецПопытки; КонецЦикла; @@ -1709,7 +1697,7 @@ Процедура СледитьЗаИзменениямиФайловВРабочемКаталоге(Значение, КэшПутей, Фильтр = "", ЕстьИзменения = Ложь) Перем РежимОдногоКаталога; - Ключ = Строка(Значение.Получить("inDir")) + ""+Строка(Значение.Получить("outDir")); + Ключ = Строка(Значение.Получить("inDir")) + "" + Строка(Значение.Получить("outDir")); КаталогВходящий = ПолныйПуть(Значение.Получить("inDir")); КаталогИсходящий = ПолныйПуть(Значение.Получить("outDir")); СтрокаПодключения = ПереопределитьПолныйПутьВСтрокеПодключения(Значение.Получить("connectionstring")); @@ -1742,16 +1730,16 @@ Кэш = КэшПутей.Получить(Ключ); Если Кэш = Неопределено Тогда - Лог.Информация("Начало epf to src "+Ключ); + Лог.Информация("Начало epf to src " + Ключ); Кэш = Новый Соответствие; - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Кэш.Вставить(Файл.ПолноеИмя, Файл.ПолучитьВремяИзменения()); КонецЦикла; КэшПутей.Вставить(Ключ, Кэш); КонецЕсли; - Лог.Отладка("Проверяем изменения epf "+Строка(КаталогВходящий) + "->"+Строка(КаталогИсходящий)); + Лог.Отладка("Проверяем изменения epf " + Строка(КаталогВходящий) + "->" +Строка(КаталогИсходящий)); КэшОбновляемый = Новый Соответствие(); @@ -1759,14 +1747,14 @@ СписокОбработанных = Новый Соответствие(); ПоследнийВыведенныйПроцент = 0; СписокПропущенных = Новый Соответствие(); - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Лог.Отладка("Проверяю на изменение файл <%1>", Файл.ПолноеИмя); Если Файл.ЭтоКаталог() Тогда Продолжить; КонецЕсли; Если КоличествоФайлов > 20 Тогда - Процент=Цел((СписокОбработанных.Количество()+СписокПропущенных.Количество())/КоличествоФайлов * 100); - Если Процент%10 = 0 И ПоследнийВыведенныйПроцент <> Процент Тогда - Сообщить("Обработано " + Формат(Процент,"ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); + Процент = Цел((СписокОбработанных.Количество() + СписокПропущенных.Количество()) / КоличествоФайлов * 100); + Если Процент % 10 = 0 И ПоследнийВыведенныйПроцент <> Процент Тогда + Сообщить("Обработано " + Формат(Процент, "ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); ПоследнийВыведенныйПроцент = Процент; КонецЕсли; КонецЕсли; @@ -1779,10 +1767,10 @@ Если ДанныеФайла["Хеш"] <> ДанныеФайлаТекущее["Хеш"] Тогда //Если СокрЛП(Строка(ДанныеФайла)) <> СокрЛП(Строка(ВремяТекущее)) Тогда Изменен = Истина; - Лог.Отладка("Изменен:"+Файл.ПолноеИмя + " время старое:"+Строка(ДанныеФайла["Время"]) + " новое:"+ДанныеФайлаТекущее["Время"]); - Лог.Отладка("Изменен:"+Файл.ПолноеИмя + " хеш старый старое:"+Строка(ДанныеФайла["Хеш"]) + " новое:"+ДанныеФайлаТекущее["Хеш"]); + Лог.Отладка("Изменен:" + Файл.ПолноеИмя + " время старое:" + Строка(ДанныеФайла["Время"]) + " новое:" + ДанныеФайлаТекущее["Время"]); + Лог.Отладка("Изменен:" + Файл.ПолноеИмя + " хеш старый старое:" + Строка(ДанныеФайла["Хеш"]) + " новое:" + ДанныеФайлаТекущее["Хеш"]); Иначе - Лог.Отладка("Пропустили:"+Файл.ПолноеИмя + " время старое:"+Строка(ДанныеФайла["Время"]) + " новое:"+ДанныеФайлаТекущее["Время"]); + Лог.Отладка("Пропустили:" + Файл.ПолноеИмя + " время старое:" + Строка(ДанныеФайла["Время"]) + " новое:" + ДанныеФайлаТекущее["Время"]); СписокПропущенных.Вставить(Файл.ПолноеИмя, Истина); КонецЕсли; @@ -1814,7 +1802,7 @@ Попытка УдалитьФайлы(ФайлНовый.Путь, ФайлНовый.Имя); Исключение - Лог.Ошибка("Ошибка удаления файла "+ ПутьФайлаНазначения + ":"+ОписаниеОшибки()); + Лог.Ошибка("Ошибка удаления файла " + ПутьФайлаНазначения + ":" + ОписаниеОшибки()); КонецПопытки; КонецЕсли; @@ -1834,7 +1822,6 @@ Лог.Отладка(" назначение :%1", КаталогИсходящий); Лог.Отладка(" новый путь :%1", ПутьФайлаНазначения); - Лог.Отладка("Разбираем внешнюю обработку/отчет %1", Файл.ПолноеИмя); СоздатьКаталог(ПутьФайлаНазначения); КаталогРазобранный = РазобратьФайлВнешняяОбработка(Файл, КаталогИсходящий, КаталогВходящийДляРазбора, СтрокаПодключения, Пользователь, Пароль, ВерсияПлатформы); @@ -1851,7 +1838,7 @@ СписокОбработанных.Вставить(Файл.ПолноеИмя, Истина); КонецЦикла; - Для каждого Элемент ИЗ СписокОбработанных Цикл + Для каждого Элемент Из СписокОбработанных Цикл Файл = Новый Файл(Элемент.Ключ); Кэш.Вставить(Файл.ПолноеИмя, ХэшФайла(Файл)); КонецЦикла; @@ -1859,15 +1846,15 @@ КэшПутей.Вставить(Ключ, Кэш); Кэш = Неопределено; Если (СписокОбработанных.Количество() + СписокПропущенных.Количество()) > 0 Тогда - Лог.Информация("Изменено "+Строка(СписокОбработанных.Количество())); - Лог.Информация("Пропустили: "+Строка(СписокПропущенных.Количество())); + Лог.Информация("Изменено " + Строка(СписокОбработанных.Количество())); + Лог.Информация("Пропустили: " + Строка(СписокПропущенных.Количество())); КолМаксИзмененийВывода = 5; Для каждого Элемент Из СписокОбработанных Цикл Если КолМаксИзмененийВывода < 0 Тогда Лог.Информация("Обработано ..."); Прервать; КонецЕсли; - Лог.Отладка("Обработан "+Элемент.Ключ); + Лог.Отладка("Обработан " + Элемент.Ключ); КолМаксИзмененийВывода = КолМаксИзмененийВывода - 1; КонецЦикла; КонецЕсли; @@ -1877,7 +1864,7 @@ КонецПроцедуры Процедура СледитьЗаИзменениямиФайловВРепозиторииИсходников(Значение, КэшПутей, Фильтр = "", ЕстьИзменения = Ложь) - Ключ = Строка(Значение.Получить("inDir")) + ""+Строка(Значение.Получить("outDir")); + Ключ = Строка(Значение.Получить("inDir")) + "" + Строка(Значение.Получить("outDir")); КаталогВходящий = ПолныйПуть(Значение.Получить("inDir")); КаталогИсходящий = ПолныйПуть(Значение.Получить("outDir")); СтрокаПодключения = ПереопределитьПолныйПутьВСтрокеПодключения(Значение.Получить("connectionstring")); @@ -1903,16 +1890,16 @@ Кэш = КэшПутей.Получить(Ключ); Если Кэш = Неопределено Тогда - Лог.Информация("Начало src to epf:"+Ключ); + Лог.Информация("Начало src to epf:" + Ключ); Кэш = Новый Соответствие; СписокФайлов = НайтиФайлы(КаталогВходящий, ПолучитьМаскуВсеФайлы(), Истина); - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Кэш.Вставить(Файл.ПолноеИмя, Файл.ПолучитьВремяИзменения()); КонецЦикла; КэшПутей.Вставить(Ключ, Кэш); КонецЕсли; - Лог.Отладка("Проверяем изменения src "+Строка(КаталогВходящий) + "->"+Строка(КаталогИсходящий)); + Лог.Отладка("Проверяем изменения src " + Строка(КаталогВходящий) + "->" +Строка(КаталогИсходящий)); СписокФайлов = НайтиФайлы(КаталогВходящий, ПолучитьМаскуВсеФайлы(), Истина); СписокОбработанных = Новый Соответствие(); @@ -1920,13 +1907,13 @@ КэшОбновляемый = Новый Соответствие(); КоличествоФайлов = СписокФайлов.Количество(); ПоследнийВыведенныйПроцент = 0; - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Если Файл.ЭтоКаталог() Тогда Продолжить; КонецЕсли; Если КоличествоФайлов > 20 Тогда - Процент=Цел((СписокОбработанных.Количество()+СписокПропущенных.Количество())/КоличествоФайлов * 100); - Если Процент%10 = 0 И ПоследнийВыведенныйПроцент <> Процент Тогда - Сообщить("Обработано " + Формат(Процент,"ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); + Процент = Цел((СписокОбработанных.Количество() + СписокПропущенных.Количество()) / КоличествоФайлов * 100); + Если Процент % 10 = 0 И ПоследнийВыведенныйПроцент <> Процент Тогда + Сообщить("Обработано " + Формат(Процент, "ЧЦ=3; ЧДЦ=0; ЧН=") + "% "); ПоследнийВыведенныйПроцент = Процент; КонецЕсли; КонецЕсли; @@ -1939,9 +1926,9 @@ Если ДанныеФайла.Получить("Хеш") <> ДанныеФайлаТекущее.Получить("Хеш") Тогда Изменен = Истина; ЕстьИзменения = Истина; - Лог.Отладка("Изменен:"+СтрЗаменить(Файл.ПолноеИмя, Новый Файл(КаталогВходящий).ПолноеИмя, "") + " старое:"+Строка(ДанныеФайла["Время"]) + " новое:"+ДанныеФайлаТекущее["Время"]); + Лог.Отладка("Изменен:" + СтрЗаменить(Файл.ПолноеИмя, Новый Файл(КаталогВходящий).ПолноеИмя, "") + " старое:" + Строка(ДанныеФайла["Время"]) + " новое:" + ДанныеФайлаТекущее["Время"]); Иначе - Лог.Отладка("Пропускаем:"+СтрЗаменить(Файл.ПолноеИмя, Новый Файл(КаталогВходящий).ПолноеИмя, "") + " время старое:"+Строка(ДанныеФайла["Время"])); + Лог.Отладка("Пропускаем:" + СтрЗаменить(Файл.ПолноеИмя, Новый Файл(КаталогВходящий).ПолноеИмя, "") + " время старое:" + Строка(ДанныеФайла["Время"])); СписокПропущенных.Вставить(Файл.ПолноеИмя, Истина); КонецЕсли; @@ -1957,7 +1944,7 @@ Для Счетчик = 0 По МаксСчетчикЦикла Цикл ФайлПутьКИсходникамОбработки = Новый Файл(ПутьКИсходникамОбработки); Если ФайлПутьКИсходникамОбработки.ЭтоКаталог() Тогда - ФайлПутьКИсходникамОбработки = Новый Файл(ФайлПутьКИсходникамОбработки.ПолноеИмя+"../"); + ФайлПутьКИсходникамОбработки = Новый Файл(ФайлПутьКИсходникамОбработки.ПолноеИмя + "../"); ФайлПутьКИсходникамОбработки = Новый Файл(ФайлПутьКИсходникамОбработки.ПолноеИмя); Лог.Отладка("ЭтоКаталог %1 %2 %3", Счетчик, ФайлПутьКИсходникамОбработки.Путь, ФайлПутьКИсходникамОбработки.ПолноеИмя); Иначе @@ -1967,7 +1954,7 @@ ПутьКИсходникамОбработки = ФайлПутьКИсходникамОбработки.ПолноеИмя; Лог.Отладка("1 %1 %2", Счетчик, ПутьКИсходникамОбработки); Если ЭтоПутьКИсходнымКодамОбработок(ПутьКИсходникамОбработки) Тогда - Лог.Отладка("Это путь к исходникам "+ПутьКИсходникамОбработки); + Лог.Отладка("Это путь к исходникам " + ПутьКИсходникамОбработки); ПапкаИсходников = Новый Файл(ПутьКИсходникамОбработки).ПолноеИмя; ОбработкуНашли = Истина; Прервать; @@ -1980,7 +1967,7 @@ КонецЕсли; НеобходимоПрервать = Ложь; - Для каждого Элемент из СписокОбработанных Цикл + Для каждого Элемент Из СписокОбработанных Цикл Если СтрНайти(Файл.ПолноеИмя, Элемент.Ключ) > 0 Тогда НеобходимоПрервать = Истина; Прервать; @@ -2003,9 +1990,9 @@ КаталогФайл = Новый Файл(ПапкаИсходников); КаталогВходящийПолныйПуть = Новый Файл(КаталогВходящий).ПолноеИмя; Лог.Информация("Собирали: %1 изменен %2", КаталогФайл.Имя, СтрЗаменить(КаталогВыгрузкиОбработки, КаталогВходящийПолныйПуть, "")); - СписокСобранныхОбработок = НайтиФайлы(КаталогВыгрузкиОбработки, ""+КаталогФайл.Имя + "*"); + СписокСобранныхОбработок = НайтиФайлы(КаталогВыгрузкиОбработки, "" + КаталогФайл.Имя + "*"); - Для каждого ЭлементОбработки из СписокСобранныхОбработок Цикл + Для каждого ЭлементОбработки Из СписокСобранныхОбработок Цикл ДанныеФайлаОбработки = ХэшФайла(ЭлементОбработки); Кэш.Вставить(ЭлементОбработки.ПолноеИмя, ДанныеФайлаОбработки); КэшОбновляемый.Вставить(ЭлементОбработки.ПолноеИмя, ДанныеФайлаОбработки); @@ -2016,7 +2003,7 @@ ИначеЕсли НЕ НеобходимоПрервать Тогда НовыйПутьВыгрузки = ОбъединитьПути(КаталогИсходящий, ПолучитьОтносительныйПутьФайла(ПолныйПуть(КаталогВходящий), Файл.ПолноеИмя)); Если Не РежимОдногоКаталога Тогда - Лог.Отладка("Копируем "+Файл.ПолноеИмя + "->"+НовыйПутьВыгрузки); + Лог.Отладка("Копируем " + Файл.ПолноеИмя + "->" +НовыйПутьВыгрузки); НовыйКаталог = Новый Файл(Новый Файл(НовыйПутьВыгрузки).Путь); Если НЕ НовыйКаталог.Существует() Тогда СоздатьКаталог(НовыйКаталог.ПолноеИмя); @@ -2026,7 +2013,7 @@ ФайлСобранный = Новый Файл(НовыйПутьВыгрузки); ДанныеФайлаСобраный = ХэшФайла(ФайлСобранный); - Кэш.Вставить(ФайлСобранный.ПолноеИмя,ДанныеФайлаСобраный); + Кэш.Вставить(ФайлСобранный.ПолноеИмя, ДанныеФайлаСобраный); КэшОбновляемый.Вставить(ФайлСобранный.ПолноеИмя, ДанныеФайлаСобраный); КонецЕсли; Кэш.Вставить(Файл.ПолноеИмя, ХэшФайла(Файл)); @@ -2034,15 +2021,15 @@ КонецЕсли; КонецЦикла; - Для каждого Элемент ИЗ СписокОбработанных Цикл + Для каждого Элемент Из СписокОбработанных Цикл Файл = Новый Файл(Элемент.Ключ); Кэш.Вставить(Файл.ПолноеИмя, ХэшФайла(Файл)); КонецЦикла; КэшПутей.Вставить(Ключ, Кэш); Кэш = Неопределено; - Лог.Информация("Изменено: "+Строка(СписокОбработанных.Количество())); - Лог.Информация("Пропустили: "+Строка(СписокПропущенных.Количество())); + Лог.Информация("Изменено: " + Строка(СписокОбработанных.Количество())); + Лог.Информация("Пропустили: " + Строка(СписокПропущенных.Количество())); Если СписокОбработанных.Количество() > 0 Тогда КолМаксИзмененийВывода = 5; Для каждого Элемент Из СписокОбработанных Цикл @@ -2050,7 +2037,7 @@ Лог.Информация("Обработано ..."); Прервать; КонецЕсли; - Лог.Отладка("Обработан "+Элемент.Ключ); + Лог.Отладка("Обработан " + Элемент.Ключ); КолМаксИзмененийВывода = КолМаксИзмененийВывода - 1; КонецЦикла; КонецЕсли; @@ -2073,7 +2060,6 @@ Ключ = ИмяПравила; КонецЕсли; - Если Не ПустаяСтрока(Фильтр) И Фильтр <> Ключ Тогда Возврат; КонецЕсли; @@ -2084,21 +2070,21 @@ Кэш = КэшПутей.Получить(Ключ); Если Кэш = Неопределено Тогда - Лог.Информация("Начало src to cf "+Ключ); + Лог.Информация("Начало src to cf " + Ключ); Кэш = Новый Соответствие; СписокФайлов = НайтиФайлы(КаталогВходящий, ПолучитьМаскуВсеФайлы(), Истина); - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Кэш.Вставить(Файл.ПолноеИмя, Файл.ПолучитьВремяИзменения()); КонецЦикла; КэшПутей.Вставить(Ключ, Кэш); КонецЕсли; - Лог.Отладка("Проверяем изменения cf "+Строка(КаталогВходящий)); + Лог.Отладка("Проверяем изменения cf " + Строка(КаталогВходящий)); СписокФайлов = НайтиФайлы(КаталогВходящий, ПолучитьМаскуВсеФайлы(), Истина); СписокОбработанных = Новый Соответствие(); - Для каждого Файл из СписокФайлов Цикл + Для каждого Файл Из СписокФайлов Цикл Если Файл.ЭтоКаталог() Тогда Продолжить; КонецЕсли; @@ -2107,7 +2093,7 @@ Время = Кэш.Получить(Файл.ПолноеИмя); ВремяТекущее = Файл.ПолучитьВремяИзменения(); Если Время = Неопределено ИЛИ Время <> ВремяТекущее Тогда Изменен = Истина; - Лог.Отладка("Изменен:"+Файл.ПолноеИмя + " время старое:"+Строка(Время) + " новое:"+Файл.ПолучитьВремяИзменения()); + Лог.Отладка("Изменен:" + Файл.ПолноеИмя + " время старое:" + Строка(Время) + " новое:" + Файл.ПолучитьВремяИзменения()); КонецЕсли; Если Изменен = Истина Тогда @@ -2120,7 +2106,7 @@ ПервыйРаз = Истина; Для каждого ИмяФайла Из СписокОбработанных Цикл Если ПервыйРаз Тогда - СписокДляЗагрузки = ""+ИмяФайла.Ключ; + СписокДляЗагрузки = "" + ИмяФайла.Ключ; ПервыйРаз = Ложь; КонецЕсли; СписокДляЗагрузки = СписокДляЗагрузки + Символы.ПС + ИмяФайла.Ключ; @@ -2133,19 +2119,19 @@ КонецЦикла; КонфигурацияЗагружена = Истина; Исключение - Лог.Ошибка("Ошибка загрузки файлов конфигурации:"+ОписаниеОшибки()); + Лог.Ошибка("Ошибка загрузки файлов конфигурации:" + ОписаниеОшибки()); КонецПопытки; Если КонфигурацияЗагружена = Истина И АвтоОбновление = Истина Тогда Попытка - ЗапуститьОбновлениеКонфигурации(СтрокаПодключения, Пользователь, Пароль, ,ВерсияПлатформы); + ЗапуститьОбновлениеКонфигурации(СтрокаПодключения, Пользователь, Пароль, , ВерсияПлатформы); Исключение - Лог.Ошибка("Ошибка обновления конфигурации:"+ОписаниеОшибки()); + Лог.Ошибка("Ошибка обновления конфигурации:" + ОписаниеОшибки()); КонецПопытки; КонецЕсли; - Лог.Информация("Загрузка изменений завершена:"+КаталогВходящий); + Лог.Информация("Загрузка изменений завершена:" + КаталогВходящий); КонецЕсли; КонецЕсли; @@ -2158,7 +2144,7 @@ Настройки = ПрочитатьФайлJSON(ФайлНастроек); Счетчик = -1; Пока Истина Цикл - Для каждого Элемент ИЗ Настройки Цикл + Для каждого Элемент Из Настройки Цикл Значение = Элемент.Получить("check-source-repo"); Если Значение = Неопределено Тогда Значение = Элемент.Получить("srctoepf"); @@ -2196,21 +2182,21 @@ КонецЕсли; Результат = Новый Соответствие(); Результат.Вставить("Хеш", Строка(Провайдер.ХешСуммаСтрокой)); - Результат.Вставить("Время",Строка(Файл.ПолучитьВремяИзменения())); + Результат.Вставить("Время", Строка(Файл.ПолучитьВремяИзменения())); Провайдер.Очистить(); Возврат Результат; КонецФункции -Процедура Конфигуратор(Знач СтрокаПодключения, Знач Пользователь="", Знач Пароль="", - Знач СтрокаПодключенияХранилище = "", Знач ПользовательХранилища="", Знач ПарольХранилища="", - Знач ВерсияХранилища="", Знач ВерсияПлатформы="", Знач СервиснаяБаза = Ложь, Знач ДополнительныеКлючиЗапуска = "") Экспорт +Процедура Конфигуратор(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "", + Знач СтрокаПодключенияХранилище = "", Знач ПользовательХранилища = "", Знач ПарольХранилища = "", + Знач ВерсияХранилища = "", Знач ВерсияПлатформы = "", Знач СервиснаяБаза = Ложь, Знач ДополнительныеКлючиЗапуска = "") Экспорт Конфигуратор = Новый УправлениеКонфигуратором(); Логирование.ПолучитьЛог("oscript.lib.v8runner").УстановитьУровень(Лог.Уровень()); Если НЕ ПустаяСтрока(ВерсияПлатформы) Тогда - Лог.Отладка("ВерсияПлатформы:"+ВерсияПлатформы); + Лог.Отладка("ВерсияПлатформы:" + ВерсияПлатформы); Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); КонецЕсли; @@ -2230,11 +2216,11 @@ ПараметрыЗапуска = Конфигуратор.ПолучитьПараметрыЗапуска(); Если НЕ ПустаяСтрока(СтрокаПодключенияХранилище) Тогда - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """+СтрокаПодключенияХранилище+""""); - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """+ПользовательХранилища+""""); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryF """ +СтрокаПодключенияХранилище + """"); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryN """ +ПользовательХранилища + """"); Если Не ПустаяСтрока(ПарольХранилища) Тогда - ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """+ПарольХранилища+""""); + ПараметрыЗапуска.Добавить("/ConfigurationRepositoryP """ +ПарольХранилища + """"); КонецЕсли; КонецЕсли; @@ -2242,7 +2228,7 @@ СтрокаДляЛога = ""; Для Каждого Параметр Из ПараметрыЗапуска Цикл СтрокаЗапуска = СтрокаЗапуска + " " + Параметр; - Если Лев(Параметр,2) <> "/P" и Лев(Параметр,25) <> "/ConfigurationRepositoryP" Тогда + Если Лев(Параметр, 2) <> "/P" И Лев(Параметр, 25) <> "/ConfigurationRepositoryP" Тогда СтрокаДляЛога = СтрокаДляЛога + " " + Параметр; КонецЕсли; КонецЦикла; @@ -2252,9 +2238,9 @@ Если Найти(Приложение, " ") > 0 Тогда Приложение = ОбернутьПутьВКавычки(Приложение); КонецЕсли; - Приложение = Приложение + " "+СтрокаЗапуска; + Приложение = Приложение + " " + СтрокаЗапуска; Лог.Информация(Приложение); - Процесс = СоздатьПроцесс(Приложение,,Истина); + Процесс = СоздатьПроцесс(Приложение, , Истина); Процесс.Запустить(); КонецПроцедуры @@ -2290,7 +2276,7 @@ Возврат; КонецЕсли; - Для Каждого Элемент из КоллекцияДоп Цикл + Для Каждого Элемент Из КоллекцияДоп Цикл Значение = КоллекцияОсновная.Получить(Элемент.Ключ); //Сообщить( "Ключ приоритета "+Элемент.Ключ + " значение:" + Элемент.Значение + "основное "+ Строка(значение) + " Неопределено ? "+(Значение = Неопределено)); Если Значение = Неопределено Тогда @@ -2310,7 +2296,7 @@ КорневойПутьПроекта = Путь; КонецЕсли; - Лог.Отладка("Текущий корень проекта:"+КорневойПутьПроекта); + Лог.Отладка("Текущий корень проекта:" + КорневойПутьПроекта); КонецПроцедуры // УстановитьКаталогТекущегоПроекта() @@ -2339,7 +2325,7 @@ Команда = Аргументы["Команда"]; - Лог.Отладка("Передана команда: "+Аргументы.Команда); + Лог.Отладка("Передана команда: " + Аргументы.Команда); СоответствиеПеременных = Новый Соответствие(); СоответствиеПеременных.Вставить("RUNNER_IBNAME", "--ibname"); СоответствиеПеременных.Вставить("RUNNER_DBUSER", "--db-user"); @@ -2374,7 +2360,6 @@ Лог.Отладка(Параметр.Ключ + " = " + Параметр.Значение); КонецЦикла; - Если ЗначениеЗаполнено(Аргументы.ЗначенияПараметров["--ibname"]) Тогда Аргументы.ЗначенияПараметров.Вставить("--ibname", ПереопределитьПолныйПутьВСтрокеПодключения(Аргументы.ЗначенияПараметров["--ibname"])); КонецЕсли; @@ -2424,7 +2409,7 @@ ДобавитьОписаниеКомандыКонвертироватьФайлы(Парсер); Аргументы = Парсер.РазобратьКоманду(АргументыКоманднойСтроки); - Лог.Отладка("ТипЗнч(Аргументы)= "+ТипЗнч(Аргументы)); + Лог.Отладка("ТипЗнч(Аргументы)= " +ТипЗнч(Аргументы)); Если Аргументы = Неопределено Тогда ВывестиСправку(); Возврат; @@ -2538,7 +2523,6 @@ Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры - Процедура ДобавитьОписаниеКомандыРазобратьНаИсходники(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().РазобратьНаИсходники); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); @@ -2567,7 +2551,6 @@ Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры - Процедура ДобавитьОписаниеКомандыЮнитТест(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().ЮнитТест); Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "inputPath"); @@ -2660,8 +2643,6 @@ Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры //ДобавитьОписаниеКомандыСледить - - Процедура Инициализация() ИмяФайлаНастроек = "env.json"; РезультатыОбработкиВнешнихОбработок = Новый Соответствие; @@ -2676,7 +2657,7 @@ Функция ПрочитатьНастройкиФайлJSON(Знач ТекущийКаталогПроекта, Знач ПутьКФайлу = Неопределено ) - Лог.Отладка(":"+ПутьКФайлу+":"+ИмяФайлаНастроек); + Лог.Отладка(":" + ПутьКФайлу + ":" + ИмяФайлаНастроек); Если ПутьКФайлу = Неопределено ИЛИ НЕ ЗначениеЗаполнено(ПутьКФайлу) Тогда ПутьКФайлу = ОбъединитьПути(ТекущийКаталогПроекта, ИмяФайлаНастроек); КонецЕсли; @@ -2739,7 +2720,7 @@ КонецФункции -Функция ПолныйПуть(Знач Путь, Знач КаталогПроекта ="") +Функция ПолныйПуть(Знач Путь, Знач КаталогПроекта = "") Перем ФайлПуть; Если ПустаяСтрока(Путь) Тогда @@ -2762,7 +2743,7 @@ Функция ПереопределитьПолныйПутьВСтрокеПодключения(Знач СтрокаПодключения) Лог.Отладка(СтрокаПодключения); - Если Лев(СтрокаПодключения,2)="/F" Тогда + Если Лев(СтрокаПодключения, 2) = "/F" Тогда ПутьКБазе = УбратьКавычкиВокругПути(Сред(СтрокаПодключения, 3)); ПутьКБазе = ПолныйПуть(ПутьКБазе); СтрокаПодключения = "/F""" + ПутьКБазе + """" From 281ba75dabd24623df58f5f10cce8c900c13c573 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 10 Jun 2020 20:08:10 +0300 Subject: [PATCH 061/421] =?UTF-8?q?18.=20=D0=93=D0=B4=D0=B5=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B6=D0=BD=D0=BE=20=D0=BF=D0=BE=D1=81=D0=BC=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=B5=D1=82=D1=8C=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D1=85=20=D1=82=D0=B5=D0=B3=D0=BE=D0=B2=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- F.A.Q.MD | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/F.A.Q.MD b/F.A.Q.MD index 1431a6bd1..417e40bdf 100644 --- a/F.A.Q.MD +++ b/F.A.Q.MD @@ -34,6 +34,7 @@ 15. [Как использовать поиск\проверку содержимого в таблицах\динамических списках?](#15-как-использовать-поискпроверку-содержимого-в-таблицахдинамических-списках) 16. [Как фильтровать\включать отбор в таблицах\динамических списках?](#16-как-фильтроватьвключать-отбор-в-таблицахдинамических-списках) 17. [Как проверить правильность проведения документа?](#17-как-проверить-правильность-проведения-документа) + 18. [Где можно посмотреть список всех тегов?](#18-где-можно-посмотреть-список-всех-тегов) * **[Плагины](#плагины)** 1. [Как вызвать код плагина на сервере при запуске в управляемой форме?](#1-как-вызвать-код-плагина-на-сервере-при-запуске-в-управляемой-форме) @@ -448,6 +449,16 @@ vrunner vanessa --settings tools\vrunner.json --path ПутьККаталогу | $НомерДокумента$ | Первая | Основной покупатель | ``` +### 18. Где можно посмотреть список всех тегов? + +Общего списка всех тегов не ведется. +Основные служебные теги: + +- `@tree` - в фича файле используется иерархия шагов. +- `@ExportScenarios` - это файл экспортных сценариев. +- Есть еще специальные теги для записи видеоинструкций и инструкций в формате `-markdown`, `-html`. +- Также можно задавать\использовать собственные теги. + ## Плагины ### 1. Как вызвать код плагина на сервере при запуске в управляемой форме? From 8f0c4c0fda2232f340735c787e11cda4061463a3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 15 Jun 2020 19:17:34 +0300 Subject: [PATCH 062/421] =?UTF-8?q?=D0=98=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B5=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D1=85=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=20=D0=B8=D0=B7=20=D0=A3=D0=9D=D0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit e4c755e474288f966d29653f9f96b9334b377cc2) --- tools/JSON/xUnitParams.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 817cf4a0f..b604ee0a9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -71,7 +71,8 @@ ] }, "ПропускаемыеИсключения" : [ - "Обработка не предназначена для непосредственного использования" + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" ] }, From af021d79a3c5eb120c0cd372f09eb40797d30e23 Mon Sep 17 00:00:00 2001 From: Vladislav Moroz Date: Thu, 2 Jul 2020 14:28:14 +0300 Subject: [PATCH 063/421] =?UTF-8?q?=D0=9E=D0=BF=D1=80=D0=B5=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=D1=82=D1=8C=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D1=83=D0=BF=D1=80=D0=B5=D0=B6=D0=B4?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D1=82=D1=84=D0=BE=D1=80=D0=BC=D1=8B=208.3.17=20(#760)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Определять текст предупреждения для платформы 8.3.17 * Вставить пропущенный пробел --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f51521167..cd770bff2 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -6694,7 +6694,7 @@ КонецЦикла; Для Каждого ТекДекорация Из ДекорацииФормы Цикл - Если ТекДекорация.Имя = "Message" Тогда + Если ТекДекорация.Имя = "ErrorInfo" Или ТекДекорация.Имя = "Message" Тогда Возврат ТекДекорация.ТекстЗаголовка; КонецЕсли; КонецЦикла; From 8e2842721843146511643eb579b3512bd67d7c31 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Thu, 2 Jul 2020 17:32:41 +0500 Subject: [PATCH 064/421] =?UTF-8?q?fix:=20=D0=97=D0=B0=D0=BA=D1=80=D1=8B?= =?UTF-8?q?=D0=BB=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=20=D0=B2=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BF=D1=8B=D1=82=D0=BA=D1=83/=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20(#764)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f91f46800..4b7757ff1 100644 --- "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -75,24 +75,30 @@ //@Пауза(Парам01) Процедура Пауза(КолСекунд) Экспорт - Если КонтекстСохраняемый.Свойство("ТестовоеПриложение") Тогда + Попытка + Если КонтекстСохраняемый.Свойство("ТестовоеПриложение") Тогда + + + ДатаНачалаОбработкиОжидания = ТекущаяДата(); + КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КолСекунд); + + Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл + + ЗаголовокПауза = Строка(Новый УникальныйИдентификатор); + КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 1); + + КонецЦикла; + + Возврат; + + КонецЕсли; - ДатаНачалаОбработкиОжидания = ТекущаяДата(); - КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КолСекунд); - - Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл - - ЗаголовокПауза = Строка(Новый УникальныйИдентификатор); - КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 1); - - КонецЦикла; - - Возврат; - + Исключение + Ванесса.Отладка("Тест-клиент недоступен: " + ОписаниеОшибки()); - КонецЕсли; + КонецПопытки; Ванесса.ЗапретитьВыполнениеШагов(); From 8243b180e3c6a7ccffdaf6248b3408b6b10aa443 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Thu, 2 Jul 2020 17:35:59 +0500 Subject: [PATCH 065/421] =?UTF-8?q?feat:=20=D0=92=D1=8B=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=B8=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=88=D0=B0?= =?UTF-8?q?=D0=B3=D0=B0=20=D0=B8=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D1=8F=20(#761)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Добавил колонку и заполнил время выполнения по шагам Добавил колонку Время выполнения Заполняю ее после прохождения теста * feat: Вывод на форме времени выполнения шага и сценария --- .../Ext/Form.xml" | 41 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 9 ++++ 2 files changed, 50 insertions(+) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index f4d440e94..be8c07ad0 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -2898,6 +2898,31 @@ + + Объект.ДеревоТестов.ВремяВыполнения + true + + + ru + Время выполнения теста в секундах + + + EnterOnInput + + + ru + ЧН= + + + + + ru + ЧН= + + + + + Объект.ДеревоТестов.ПолныйПуть true @@ -14874,6 +14899,22 @@ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Время (сек)</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Nonnegative + + + diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 55b9f30b8..30a9e255e 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11100,6 +11100,7 @@ ИдСледующегоШага = ПолучитьИдСледующегоШага(ТекШаг); РезультатПрохожденияШага.Вставить("ВремяОкончания", ТекущаяУниверсальнаяДатаВМиллисекундах()); + СтрокаШага.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияШага.ВремяНачала) / 1000; Если ШагВыполнен Тогда Если Не Объект.ОстановитьВыполнениеШагов Тогда СтрокаШага.Статус = "Success"; @@ -11135,6 +11136,7 @@ РезультатПрохожденияТестовСценария.Вставить("НомерСтрокиВФиче", СтрокаСценария.НомерСтрокиВФиче); СтрокаСценария.Статус = СтрокаШага.Статус; + СтрокаСценария.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияТестовСценария.ВремяНачала) / 1000; БылаОшибка = Ложь; ОписаниеОшибки = ""; @@ -11144,6 +11146,7 @@ Если БылаОшибка Тогда СтатусЗапускаСценариев = Ложь; СтрокаСценария.Статус = "Failed"; + РезультатПрохожденияТестовСценария.Вставить("ОписаниеОшибки", ОписаниеОшибки); ВывестиВЛогФайл("Ошибка в процедуре ПередОкончаниемСценария()."); @@ -11520,6 +11523,7 @@ СтрокаШага.Статус = "Failed"; СтрокаШага.ТипКартинки = 5; + СтрокаСценария.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияТестовСценария.ВремяНачала) / 1000; СтрокаСценария.Статус = СтрокаШага.Статус; АдресСнипета = ТекШаг.АдресСнипета; ИмяПроцедуры = ТекШаг.СтрокаРеальнойПроцедуры; @@ -11569,6 +11573,7 @@ ДействияПослеЗавершенияСценария(СтрокаСценария, БылаОшибка, ОписаниеОшибки); СтрокаСценария.Статус = "Failed"; + СтрокаСценария.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияТестовСценария.ВремяНачала) / 1000; Если БылаОшибка Тогда РезультатПрохожденияТестовСценария.Вставить("ОписаниеОшибки", ОписаниеОшибки); КонецЕсли; @@ -11606,6 +11611,7 @@ СтрокаШага.Статус = "Success"; СтрокаШага.ТипКартинки = 4; + СтрокаСценария.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияТестовСценария.ВремяНачала) / 1000; РезультатПрохожденияТестовСценария.Вставить("НомерСтрокиВФиче", СтрокаСценария.НомерСтрокиВФиче); @@ -11613,6 +11619,8 @@ РезультатПрохожденияШага.Вставить("ВремяОкончания", ТекущаяУниверсальнаяДатаВМиллисекундах()); РезультатПрохожденияШага.Вставить("Статус", СтрокаШага.Статус); РезультатПрохожденияШага.Вставить("НомерСтрокиВФиче", СтрокаШага.НомерСтрокиВФиче); + + СтрокаШага.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияШага.ВремяНачала) / 1000; КонецЕсли; КонецЕсли; @@ -11686,6 +11694,7 @@ РезультатПрохожденияТестовСценария.Вставить("ВремяОкончания", ТекущаяУниверсальнаяДатаВМиллисекундах()); РезультатПрохожденияТестовСценария.Вставить("НомерСтрокиВФиче", СтрокаСценария.НомерСтрокиВФиче); ПрекратитьВыполнениШаговТакКакЗакончилсяСценарий = Истина; + СтрокаСценария.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияТестовСценария.ВремяНачала) / 1000; Если БылаОшибка Тогда СтатусЗапускаСценариев = Ложь; From 0ab57a1342e07cf8bdbe2696fc963a169b1f19d3 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Mon, 6 Jul 2020 14:41:34 +0500 Subject: [PATCH 066/421] =?UTF-8?q?fix:=20=D0=9F=D0=BE=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BC=D0=B0=D0=BA=D0=B5=D1=82=D0=B0=20JSON=20(#766)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: Поправил чтение макета JSON Но выглядит ужасно #733 * фикс замечаний * fix space --- .../Ext/Form/Module.bsl" | 105 +++++++++++++++--- .../Ext/Form/Module.bsl" | 13 ++- ...0\320\244\320\270\321\207\320\270.feature" | 8 +- ...207\320\275\320\270\320\272\320\2601.json" | 25 +++++ 4 files changed, 128 insertions(+), 23 deletions(-) create mode 100644 "spec/fixtures/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\236\320\264\320\275\320\276\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2601.json" diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 30a9e255e..c1c9b8518 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -4425,8 +4425,18 @@ КонецЕсли; ДвоичныеДанныеИлиПутьФайла = ПутьФайлаИлиДвоичныеДанныеДляСервера(ИмяФайла); - ТабДок = ПолучитьТабличныйДокументНаСервере(ДвоичныеДанныеИлиПутьФайла); - Возврат Табдок; + + Если ЭтоФайлДжейсон(ИмяФайла) Тогда + + ИскомыйМакет = ПолучитьТекстовыйДокументНаСервере(ДвоичныеДанныеИлиПутьФайла); + + Иначе + + ИскомыйМакет = ПолучитьТабличныйДокументНаСервере(ДвоичныеДанныеИлиПутьФайла); + + КонецЕсли; + + Возврат ИскомыйМакет; КонецФункции &НаСервере @@ -12248,45 +12258,84 @@ &НаКлиенте Функция НайтиМакетВКаталогеПроектаСлужебный(ИмяМакета, ИмяФайла) + Нашли = Ложь; СостояниеVanessaADD = ПолучитьСостояниеVanessaADD(); - ИдСценария = СостояниеVanessaADD.ТекущийСценарий.ИдСценария; + ИдСценария = СостояниеVanessaADD.ТекущийСценарий.ИдСценария; КаталогСценария = ДобавитьНулей(ИдСценария + 1, 4); ДопКаталог = ""; + + // Какой-то старый варинат поиска макета видимо + Если ФайлСуществуетКомандаСистемы(Объект.КаталогПроекта + "\Файлы\" + КаталогСценария) Тогда + ДопКаталог = КаталогСценария; + КонецЕсли; - ДлинаРасширенияМоксель = 4; //.mxl - Если Не Нашли Тогда - ИмяФайла = Объект.КаталогПроекта + "\Файлы\" + ?(ДопКаталог = "", "", ДопКаталог + "\") + ИмяМакета; - Если НРег(Прав(ИмяФайла, ДлинаРасширенияМоксель)) <> ".mxl" Тогда - ИмяФайла = ИмяФайла + ".mxl"; - КонецЕсли; - Если ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда - Нашли = Истина; - КонецЕсли; + ИмяФайла = Объект.КаталогПроекта + "\Файлы\" + ?(ДопКаталог = "", "", ДопКаталог + "\") + ИмяМакета; + Если НЕ (ЭтоФайлМоксель(ИмяФайла) + ИЛИ ЭтоФайлДжейсон(ИмяФайла)) Тогда + + ИмяФайла = ИмяФайла + ".mxl"; + КонецЕсли; + + Если ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда + + Нашли = Истина; + + КонецЕсли; + + // Поиск макета в каталоге проекта Если Не Нашли Тогда + ИмяФайла = Объект.КаталогПроекта + "\" + ИмяМакета; - Если НРег(Прав(ИмяФайла, ДлинаРасширенияМоксель)) <> ".mxl" Тогда - ИмяФайла = ИмяФайла + ".mxl"; - КонецЕсли; + + Если НЕ (ЭтоФайлМоксель(ИмяФайла) + ИЛИ ЭтоФайлДжейсон(ИмяФайла)) Тогда + + ИмяФайла = ИмяФайла + ".mxl"; + + КонецЕсли; + Если ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда + Нашли = Истина; + КонецЕсли; + КонецЕсли; Возврат Нашли; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоФайлМоксель(ИмяФайла) + + ДлинаРасширенияМоксель = 4; // .mxl + Возврат НРег(Прав(ИмяФайла, ДлинаРасширенияМоксель)) = ".mxl"; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоФайлДжейсон(ИмяФайла) + + ДлинаРасширенияДжейсон = 5; // .json + Возврат НРег(Прав(ИмяФайла, ДлинаРасширенияДжейсон)) = ".json"; + КонецФункции &НаСервереБезКонтекста -Функция ПолучитьТабличныйДокументНаСервере(ДвоичныеДанныеИлиПутьФичи) +Функция ПолучитьТабличныйДокументНаСервере(ДвоичныеДанныеИлиПутьФичи, РасширениеФайла = "mxl") ИмяВременногоФайла = Неопределено; - ПутьФайла = ПутьФайлаПоДвоичнымДаннымСервер(ДвоичныеДанныеИлиПутьФичи, "mxl", ИмяВременногоФайла); + ПутьФайла = ПутьФайлаПоДвоичнымДаннымСервер(ДвоичныеДанныеИлиПутьФичи + , РасширениеФайла + , ИмяВременногоФайла); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.Прочитать(ПутьФайла); Если ЗначениеЗаполнено(ИмяВременногоФайла) Тогда @@ -12295,6 +12344,20 @@ Возврат ТабличныйДокумент; КонецФункции +&НаСервереБезКонтекста +Функция ПолучитьТекстовыйДокументНаСервере(ДвоичныеДанныеИлиПутьФичи, РасширениеФайла = "json") + ИмяВременногоФайла = Неопределено; + ПутьФайла = ПутьФайлаПоДвоичнымДаннымСервер(ДвоичныеДанныеИлиПутьФичи + , РасширениеФайла + , ИмяВременногоФайла); + ТекстовыйДокумент = Новый ТекстовыйДокумент; + ТекстовыйДокумент.Прочитать(ПутьФайла, "UTF-8"); + Если ЗначениеЗаполнено(ИмяВременногоФайла) Тогда + УдалитьФайлы(ИмяВременногоФайла); + КонецЕсли; + Возврат ТекстовыйДокумент; +КонецФункции + &НаКлиенте Функция ПолучитьОбработкаСвязаннаяСИсполняемойФичей(ИмяФайлаФичи) ФайлФичи = Новый Файл(ИмяФайлаФичи); @@ -19485,16 +19548,22 @@ &НаСервереБезКонтекста Функция ПутьФайлаПоДвоичнымДаннымСервер(Знач ДвоичныеДанныеИлиПутьФичи, Знач Расширение = "", - ИмяВременногоФайла = Неопределено) + ИмяВременногоФайла = Неопределено) + Если ТипЗнч(ДвоичныеДанныеИлиПутьФичи) = Тип("ДвоичныеДанные") Тогда + Если Расширение = "" Тогда Расширение = "feature"; КонецЕсли; + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); ДвоичныеДанныеИлиПутьФичи.Записать(ИмяВременногоФайла); ДвоичныеДанныеИлиПутьФичи = ИмяВременногоФайла; + КонецЕсли; + Возврат ДвоичныеДанныеИлиПутьФичи; + КонецФункции // Универсальная функция для проверки наличия свойств у значения любого типа данных diff --git "a/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/step_definitions/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/step_definitions/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 243739beb..956294932 100644 --- "a/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/step_definitions/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/step_definitions/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -167,14 +167,19 @@ &НаКлиенте Функция ЗагрузитьМакет(Знач ИмяМакета) - Макет = Ванесса.ПолучитьМакетОбработки(ИмяМакета); + Макет = Ванесса.ПолучитьМакетОбработки(ИмяМакета); + Если Макет = Неопределено Тогда + ВызватьИсключение "Не получили макет " + ИмяМакета; + КонецЕсли; - СтруктураДанных = Ванесса.СоздатьДанныеПоТабличномуДокументу(Макет); - Ванесса.ПроверитьНеРавенство(СтруктураДанных, Неопределено, "Не удалось загрузить данные из макета MXL, полученного через плагин ГенераторДанных."); + + СтруктураДанных = Ванесса.СоздатьДанныеПоТабличномуДокументу(Макет); + Ванесса.ПроверитьНеРавенство(СтруктураДанных, Неопределено, "Не удалось загрузить данные из макета MXL, полученного через плагин ГенераторДанных."); - Возврат СтруктураДанных; + Возврат СтруктураДанных; + КонецФункции //окончание текста модуля diff --git "a/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270.feature" "b/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270.feature" index 5f35e38bc..ed038e3a6 100644 --- "a/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270.feature" +++ "b/features/libraries/\320\234\320\260\320\272\320\265\321\202\321\213/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265Fixtures\320\237\320\276\320\234\320\260\320\272\320\265\321\202\321\203\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\272\320\270\320\244\320\270\321\207\320\270.feature" @@ -53,12 +53,18 @@ Тогда В базе существует пользователь ИБ "ТестовыйПользователь" И Я удаляю пользователя ИБ "ТестовыйПользователь" -Сценарий: Создание fixtures по макету из каталога проекта +Сценарий: Создание fixtures по макету MXL из каталога проекта Когда Я удаляю все элементы Справочника "Справочник1" И Я создаю fixtures по макету "spec\fixtures\ЗагрузкаОдногоЭлементаСправочника1.mxl" Тогда В базе появился хотя бы один элемент справочника "Справочник1" +Сценарий: Создание fixtures по макету JSON из каталога проекта + + Когда Я удаляю все элементы Справочника "Справочник1" + И Я создаю fixtures по макету "spec\fixtures\ЗагрузкаОдногоЭлементаСправочника1.json" + Тогда В базе появился хотя бы один элемент справочника "Справочник1" + Сценарий: Нельзя выполнить шаг "И я загружаю макет", если макета не существует в каталоге проекта - негативный сценарий Когда проверяю шаги на исключение: diff --git "a/spec/fixtures/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\236\320\264\320\275\320\276\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2601.json" "b/spec/fixtures/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\236\320\264\320\275\320\276\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2601.json" new file mode 100644 index 000000000..01b23d91a --- /dev/null +++ "b/spec/fixtures/\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\260\320\236\320\264\320\275\320\276\320\263\320\276\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\2601.json" @@ -0,0 +1,25 @@ +{ + "Элемент2": { + "Тип": "Справочник", + "Вид": "Справочник1", + "ИмяПредопределенного": "", + "ИмяПеременной": "Элемент2", + "Режимы": { + "ОбменДанными": true + }, + "ПоляОбъекта": [ + { + "Имя": "Ссылка", + "Значение": "eb04c4e8-56be-11e5-8276-fcaa1434287a", + "Режим": "", + "ДополнительныйТип": "" + }, + { + "Имя": "Наименование", + "Значение": "Элемент2", + "Режим": "", + "ДополнительныйТип": "" + } + ] + } +} \ No newline at end of file From c6d4ec1503a45cbe799060aa4587cd9245115aa8 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Mon, 6 Jul 2020 15:26:15 +0500 Subject: [PATCH 067/421] =?UTF-8?q?feat:=20=D0=94=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D1=87?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B5=D0=B3=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B8=D0=B7=20=D0=9F=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=97=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20(#763)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Дополнительное чтение тегов из ПараметровЗапуска * fix place * fix place 2 --- .../Ext/Form/Module.bsl" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6cf2e23cc..a32e82f43 100644 --- "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -252,6 +252,20 @@ КонтекстЯдра.СделатьСообщение("Ошибка чтения структуры JSON пропускаем чтение"); КонецЕсли; КонецЕсли; + + ТегиИгнорирования = ПолучитьЗначение(СтруктураПараметров, "TagsIgnore"); + ТегиФильтр = ПолучитьЗначение(СтруктураПараметров, "TagsFilter"); + Если ТегиИгнорирования <> Неопределено Тогда + + ПараметрыФайла.Вставить("СписокТеговИсключение", КонтекстЯдра.РазложитьСтрокуВМассивПодстрокКлиент(ТегиИгнорирования, ",")); + + КонецЕсли; + + Если ТегиФильтр <> Неопределено Тогда + + ПараметрыФайла.Вставить("СписокТеговОтбор", КонтекстЯдра.РазложитьСтрокуВМассивПодстрокКлиент(ТегиФильтр, ",")); + + КонецЕсли; СтруктураJSON = ОбъединитьПараметрыСУчетомПриоритета(ПараметрыЭталон, ПеременныеСреды, ПараметрыФайла); From cf405a4ac126898b22ba52e5d872fcd8d9260dd4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 21:30:50 +0300 Subject: [PATCH 068/421] =?UTF-8?q?=D0=B8=D1=81=D1=85=D0=BE=D0=B4=D0=BD?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=BE?= =?UTF-8?q?=D1=82=20=D0=B0=D0=B2=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- licenses/LICENSE.tests_for_xUnitFor1C | 201 +++++++++++++++ ...0\265\320\275\321\202\320\276\320\262.xml" | 28 +++ .../Ext/ObjectModule.bsl" | 125 ++++++++++ ...1\205\320\244\320\276\321\200\320\274.xml" | 28 +++ .../Ext/ObjectModule.bsl" | 229 ++++++++++++++++++ 5 files changed, 611 insertions(+) create mode 100644 licenses/LICENSE.tests_for_xUnitFor1C create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" diff --git a/licenses/LICENSE.tests_for_xUnitFor1C b/licenses/LICENSE.tests_for_xUnitFor1C new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/licenses/LICENSE.tests_for_xUnitFor1C @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" new file mode 100644 index 000000000..ebde5d44c --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" @@ -0,0 +1,28 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 779efd25-8f08-4570-9985-54d34c524784 + + + 55a6d1d9-c608-4d54-b4ab-fd30cfd055dc + 973684fd-8334-4f26-a08e-747ff9e5a09f + + + + тесты_ПроведениеДокументов + + + ru + Тесты проведение документов + + + + + + + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..cb1b8fccf --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -0,0 +1,125 @@ +Перем КонтекстЯдра; +Перем Утверждения; +Перем УтвержденияПроверкаТаблиц; + +//{ основная процедура для юнит-тестирования xUnitFor1C +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + + // за последний год + КонецПериода = ТекущаяДатаСеанса(); + НачалоПериода = ДобавитьМесяц(КонецПериода, -12); + + ПараметрыОтбораДокументов = Новый Структура; + ПараметрыОтбораДокументов.Вставить("НачалоПериода", НачалоПериода); + ПараметрыОтбораДокументов.Вставить("КонецПериода", КонецПериода); + ПараметрыОтбораДокументов.Вставить("КоличествоДокументов", 10); + + Для Каждого МетаОбъект Из Метаданные.Документы Цикл + Если МетаОбъект.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить + И ПравоДоступа("Проведение", МетаОбъект) Тогда + ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект, ПараметрыОтбораДокументов); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект, ПараметрыОтбораДокументов) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | Ссылка, + | Представление + |ИЗ + | Документ." + МетаОбъект.Имя + " + |ГДЕ + | Проведен + | И Дата МЕЖДУ &НачалоПериода И &КонецПериода + | + |УПОРЯДОЧИТЬ ПО + | МоментВремени Убыв"; + Запрос.УстановитьПараметр("НачалоПериода", ПараметрыОтбораДокументов.НачалоПериода); + Запрос.УстановитьПараметр("КонецПериода", ПараметрыОтбораДокументов.КонецПериода); + Запрос.Текст = СтрЗаменить(Запрос.Текст, + "ВЫБРАТЬ ПЕРВЫЕ 1", + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(ПараметрыОтбораДокументов.КоличествоДокументов, "ЧГ=") + ); + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат; + КонецЕсли; + + + НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя); + + Выборка = РезультатЗапроса.Выбрать(); + Пока Выборка.Следующий() Цикл + ПараметрыТеста = НаборТестов.ПараметрыТеста(Выборка.Ссылка); + ПредставлениеТеста = Выборка.Представление; + НаборТестов.Добавить("Тест_ПровестиДокумент", ПараметрыТеста, ПредставлениеТеста); + КонецЦикла; + +КонецПроцедуры + +Функция ПолучитьДвиженияДокумента(ДокументОбъект) + + Если 1=2 Тогда + ДокументОбъект = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); + КонецЕсли; + + Результат = Новый Соответствие; + + Для Каждого Движение Из ДокументОбъект.Движения Цикл + ТипДвижения = ТипЗнч(Движение); + Движение.Прочитать(); + ТаблицаДвижения = Движение.Выгрузить(); + Результат.Вставить(ТипДвижения, ТаблицаДвижения); + КонецЦикла; + + Возврат Результат; + +КонецФункции +//} + +//{ Блок юнит-тестов +Процедура ПередЗапускомТеста() Экспорт + НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; +КонецПроцедуры + +Процедура Тест_ПровестиДокумент(ДокументСсылка) Экспорт + + Если 1=2 Тогда + ДокументСсылка = Документы.СчетНаОплатуПокупателю.ПустаяСсылка(); + КонецЕсли; + + ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); + + ДвиженияДо = ПолучитьДвиженияДокумента(ДокументОбъект); + + ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); + + ДвиженияПосле = ПолучитьДвиженияДокумента(ДокументОбъект); + + Для Каждого КлючИЗначение Из ДвиженияДо Цикл + ТипДвижения = КлючИЗначение.Ключ; + ТаблицаДвиженияДо = КлючИЗначение.Значение; + ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); + КонецЦикла; + +КонецПроцедуры + +//} \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" new file mode 100644 index 000000000..1f6d2c9a2 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" @@ -0,0 +1,28 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 009d3f97-d27d-44dc-b1fa-d8df34984c2c + + + 4ca8560a-638c-489a-81c3-1988830b6521 + 3a012c82-d3f1-4d6f-9e42-08940d7bb729 + + + + тесты_ФормированиеПечатныхФорм + + + ru + Тесты формирование печатных форм + + + + + + + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..a127f54b2 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -0,0 +1,229 @@ +Перем КонтекстЯдра; +Перем Утверждения; + +//{ основная процедура для юнит-тестирования xUnitFor1C +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + + Для Каждого МетаОбъект Из Метаданные.Документы Цикл + Если ПравоДоступа("Просмотр", МетаОбъект) Тогда + ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры +//} + +//{ Блок юнит-тестов +Функция ПолучитьДокументыДляПечати(МетаОбъект, УсловияВидимости = Неопределено) + + КолвоТестируемыхДокументов = 1; // здесь можно указать количество документов, для которых нужно проверить каждую форму + + Результат = Новый Массив; + + ШаблонТекстаЗапроса = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | Док.Ссылка КАК Ссылка + |ИЗ + | Документ.СчетНаОплатуПокупателю КАК Док + |ГДЕ + | &ДопУсловия + | + |УПОРЯДОЧИТЬ ПО + | ВЫБОР + | КОГДА Док.Проведен + | ТОГДА 0 + | КОГДА Док.ПометкаУдаления + | ТОГДА 2 + | ИНАЧЕ 1 + | КОНЕЦ, + | Док.Дата УБЫВ"; + ШаблонТекстаЗапроса = СтрЗаменить(ШаблонТекстаЗапроса, "Документ.СчетНаОплатуПокупателю", "Документ." + МетаОбъект.Имя); + ШаблонТекстаЗапроса = СтрЗаменить(ШаблонТекстаЗапроса, "ВЫБРАТЬ ПЕРВЫЕ 1", "ВЫБРАТЬ ПЕРВЫЕ " + Формат(КолвоТестируемыхДокументов, "ЧГ=")); + + Запрос = Новый Запрос; + Запрос.Текст = ШаблонТекстаЗапроса; + + ОперацииУсловий = Новый Соответствие; + ОперацииУсловий.Вставить(ВидСравнения.Равно, "="); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.Равно, "="); + ОперацииУсловий.Вставить(ВидСравнения.Больше, ">"); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.Больше, ">"); + ОперацииУсловий.Вставить(ВидСравнения.БольшеИлиРавно, ">="); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.БольшеИлиРавно, ">="); + ОперацииУсловий.Вставить(ВидСравнения.Меньше, "<"); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.Меньше, "<"); + ОперацииУсловий.Вставить(ВидСравнения.МеньшеИлиРавно, "<="); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.МеньшеИлиРавно, "<="); + ОперацииУсловий.Вставить(ВидСравнения.НеРавно, "<>"); + ОперацииУсловий.Вставить(ВидСравненияКомпоновкиДанных.НеРавно, "<>"); + + ДопУсловия = ""; + Если ТипЗнч(УсловияВидимости) = Тип("Массив") Тогда + Для Каждого Условие Из УсловияВидимости Цикл + ТекТекстУсловия = ""; + ТекОперация = ОперацииУсловий.Получить(Условие.ВидСравнения); + Если ТекОперация <> Неопределено Тогда + ТекТекстУсловия = Условие.Реквизит + " " + ТекОперация + " &" + Условие.Реквизит; + ИначеЕсли Условие.ВидСравнения = ВидСравнения.ВСписке + Или Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке Тогда + ТекТекстУсловия = Условие.Реквизит + " В(&" + Условие.Реквизит + ")"; + ИначеЕсли Условие.ВидСравнения = ВидСравнения.НеВСписке + Или Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке Тогда + ТекТекстУсловия = "НЕ " + Условие.Реквизит + " В(&" + Условие.Реквизит + ")"; + ИначеЕсли Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено Тогда + // TODO: обработать условие видимости "Заполнено" + ИначеЕсли Условие.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено Тогда + // TODO: обработать условие видимости "Не заполнено" + КонецЕсли; + Если НЕ ПустаяСтрока(ТекТекстУсловия) Тогда + ДопУсловия = ДопУсловия + ?(ПустаяСтрока(ДопУсловия), "", " И ") + ТекТекстУсловия; + Запрос.УстановитьПараметр(Условие.Реквизит, Условие.Значение); + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Если НЕ ПустаяСтрока(ДопУсловия) Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ДопУсловия", ДопУсловия); + Иначе + Запрос.УстановитьПараметр("ДопУсловия", Истина); + КонецЕсли; + + РезультатЗапроса = Запрос.Выполнить(); + + Если РезультатЗапроса.Пустой() Тогда + // нет документов для тестирования :( + Если НЕ ПустаяСтрока(ДопУсловия) Тогда + // возможно причина пустого результата в доп.условиях: + // попробуем без них + Запрос = Новый Запрос; + Запрос.Текст = ШаблонТекстаЗапроса; + Запрос.УстановитьПараметр("ДопУсловия", Истина); + РезультатЗапроса = Запрос.Выполнить(); + КонецЕсли; + КонецЕсли; + + Если НЕ РезультатЗапроса.Пустой() Тогда + Результат = РезультатЗапроса.Выгрузить().ВыгрузитьКолонку("Ссылка"); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) + + // TODO: реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() + Попытка + КомандыПечати = УправлениеПечатью.КомандыПечатиОбъекта(МетаОбъект); + Исключение + //Сообщить("Не удалось получить команды печати для документа " + МетаОбъект + ": " + ОписаниеОшибки()); + Возврат; + КонецПопытки; + + Если КомандыПечати.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя); + + Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл + СтруктураКоманды = Новый Структура; + Для Каждого Колонка Из КомандыПечати.Колонки Цикл + ИмяКолонки = Колонка.Имя; + СтруктураКоманды.Вставить(ИмяКолонки, ТекущаяКомандаПечати[ИмяКолонки]); + КонецЦикла; + ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, СтруктураКоманды); + ДопИнфо = "Идентификатор = " + ТекущаяКомандаПечати.Идентификатор; + Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда + ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; + КонецЕсли; + ПредставлениеТеста = МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; + НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); + КонецЦикла; + +КонецПроцедуры + +Процедура ПередЗапускомТеста() Экспорт + //НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + //Если ТранзакцияАктивна() Тогда + // ОтменитьТранзакцию(); + //КонецЕсли; +КонецПроцедуры + +Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт + + ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); + Если ДокументыДляПечати.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Для Каждого ДокСсылка Из ДокументыДляПечати Цикл + НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; + КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); + Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); + Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что будет количество элементов в КоллекцияПечатныхФорм будет больше 0!"); + Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл + ТабДок = СтрокаТаблицы.ТабличныйДокумент; + Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); + Утверждения.Проверить(ТабДок.ВысотаТаблицы > 0, НачалоСообщенияОбОшибке + "Ожидалось, что высота полученного табличного документа будет больше 0!"); + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +Функция ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокументДляПечати) + + Результат = Неопределено; + + ДокументыДляПечати = Новый Массив; + ДокументыДляПечати.Добавить(ДокументДляПечати); + + Если КомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" + И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + // печать внешней печатной формы + ДополнительнаяОбработкаСсылка = КомандаПечати.ДополнительныеПараметры.Ссылка; + ПараметрыИсточника = Новый Структура; + ПараметрыИсточника.Вставить("ИдентификаторКоманды", КомандаПечати.Идентификатор); + ПараметрыИсточника.Вставить("ОбъектыНазначения", ДокументыДляПечати); + КоллекцияПечатныхФорм = Неопределено; + ОбъектыПечати = Новый СписокЗначений; + ПараметрыВывода = Неопределено; + УправлениеПечатью.ПечатьПоВнешнемуИсточнику( + ДополнительнаяОбработкаСсылка, + ПараметрыИсточника, + КоллекцияПечатныхФорм, + ОбъектыПечати, + ПараметрыВывода + ); + Результат = КоллекцияПечатныхФорм; + Иначе + // печать встроенной печатной формы + ИмяМенеджераПечати = КомандаПечати.МенеджерПечати; + ИменаМакетов = КомандаПечати.Идентификатор; + МассивОбъектов = ДокументыДляПечати; + ПараметрыПечати = Новый Структура("ДополнительныеПараметры", КомандаПечати.ДополнительныеПараметры); + ДопустимыеТипыОбъектовПечати = Неопределено; + ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы( + ИмяМенеджераПечати, + ИменаМакетов, + МассивОбъектов, + ПараметрыПечати, + ДопустимыеТипыОбъектовПечати + ); + Результат = ПечатныеФормы.КоллекцияПечатныхФорм; + КонецЕсли; + + Возврат Результат; + +КонецФункции +//} \ No newline at end of file From 9dd821966012e5f2eb70ff521299e8ffdeb6db57 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:11:30 +0300 Subject: [PATCH 069/421] =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=208.3.10=20+=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B5=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\320\274\320\265\320\275\321\202\320\276\320\262.xml" | 2 +- .../Ext/ObjectModule.bsl" | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" index ebde5d44c..032f754bb 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" @@ -1,5 +1,5 @@  - + diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index cb1b8fccf..e24144c61 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -70,10 +70,6 @@ Функция ПолучитьДвиженияДокумента(ДокументОбъект) - Если 1=2 Тогда - ДокументОбъект = Документы.СчетНаОплатуПокупателю.СоздатьДокумент(); - КонецЕсли; - Результат = Новый Соответствие; Для Каждого Движение Из ДокументОбъект.Движения Цикл @@ -101,10 +97,6 @@ Процедура Тест_ПровестиДокумент(ДокументСсылка) Экспорт - Если 1=2 Тогда - ДокументСсылка = Документы.СчетНаОплатуПокупателю.ПустаяСсылка(); - КонецЕсли; - ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); ДвиженияДо = ПолучитьДвиженияДокумента(ДокументОбъект); From 1bf9d8154e70c3bbd41ebf87726a48fd9bfd6c91 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:11:44 +0300 Subject: [PATCH 070/421] =?UTF-8?q?=D0=B4=D0=B2=D0=B8=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=20=D1=83=D0=B4=D0=B0=D0=BB=D1=8F=D1=8E=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D0=B0=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" index 1846459a7..a02785cd2 100644 --- "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" +++ "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" @@ -184,7 +184,7 @@ Allow Deny - AutoDeleteOnUnpost + AutoDelete WriteSelected AutoFill From 754388c2a52ca6f3f7e36a5f694bd0e0943bdba3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:12:03 +0300 Subject: [PATCH 071/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=B8=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D1=81=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=D0=B8=D0=BD=D1=82=D0=B0=D0=BA=D1=81-?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 68b38e1dc..f1b0dcb5d 100644 --- "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -21,11 +21,11 @@ Функция СоздатьКонтейнер(ИмяКонтейнера, ИконкаУзла = Неопределено) Экспорт Контейнер = Новый Структура; Контейнер.Вставить("Ключ", Новый УникальныйИдентификатор); - Контейнер.Вставить("Тип", ТипыУзловДереваТестов.Контейнер); + Контейнер.Вставить("Тип", Объект.ТипыУзловДереваТестов.Контейнер); Контейнер.Вставить("Имя", ИмяКонтейнера); Контейнер.Вставить("Путь", ""); Контейнер.Вставить("Строки", Новый Массив); - Контейнер.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Папка, ИконкаУзла)); + Контейнер.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, Объект.ИконкиУзловДереваТестов.Папка, ИконкаУзла)); Контейнер.Вставить("СлучайныйПорядокВыполнения", Истина); Контейнер.Вставить("ПродолжитьВыполнениеПослеПаденияТеста", Истина); Контейнер.Вставить("Контекст", Неопределено); @@ -38,11 +38,11 @@ Функция СоздатьЭлемент(Путь, ИмяМетода, Представление = "", ИконкаУзла = Неопределено) Экспорт Элемент = Новый Структура; Элемент.Вставить("Ключ", Новый УникальныйИдентификатор); - Элемент.Вставить("Тип", ТипыУзловДереваТестов.Элемент); + Элемент.Вставить("Тип", Объект.ТипыУзловДереваТестов.Элемент); Элемент.Вставить("Путь", Путь); Элемент.Вставить("ИмяМетода", ИмяМетода); Элемент.Вставить("Представление", ?(ПустаяСтрока(Представление), ИмяМетода, Представление)); - Элемент.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, ИконкиУзловДереваТестов.Функция, ИконкаУзла)); + Элемент.Вставить("ИконкаУзла", ?(ИконкаУзла = Неопределено, Объект.ИконкиУзловДереваТестов.Функция, ИконкаУзла)); Элемент.Вставить("Параметры", Новый Массив); Элемент.Вставить("ПередЗапускомТеста", "ПередЗапускомТеста"); Элемент.Вставить("ПослеЗапускаТеста", "ПослеЗапускаТеста"); From cb2a72cdaebc84f4c6e9beab8302dbe70bf6a938 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:45:35 +0300 Subject: [PATCH 072/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\203\320\274\320\265\320\275\321\202\320\276\320\262.xml" | 2 +- .../Ext/ObjectModule.bsl" | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" index 032f754bb..0f8ffb967 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" @@ -16,7 +16,7 @@ ru - Тесты проведение документов + Проведение и проверка движений до и после diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index e24144c61..f14a48835 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -55,14 +55,13 @@ Если РезультатЗапроса.Пустой() Тогда Возврат; КонецЕсли; - - НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя); + НаборТестов.НачатьГруппу(МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл ПараметрыТеста = НаборТестов.ПараметрыТеста(Выборка.Ссылка); - ПредставлениеТеста = Выборка.Представление; + ПредставлениеТеста = "Проведение и проверка движений до и после - " + Выборка.Представление; НаборТестов.Добавить("Тест_ПровестиДокумент", ПараметрыТеста, ПредставлениеТеста); КонецЦикла; From 194c4d672c8afb7ce30efef36f2a8c0143ff427b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:47:18 +0300 Subject: [PATCH 073/421] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B8=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.example.json | 4 ++ ...0\265\320\275\321\202\320\276\320\262.xml" | 35 +++++++++++++- .../Ext/ObjectModule.bsl" | 46 +++++++++++++++---- tools/JSON/xUnitParams.json | 4 ++ 4 files changed, 78 insertions(+), 11 deletions(-) diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index f2c609fe2..d8e0c25af 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -117,5 +117,9 @@ "БизнесПроцесс2" ] + }, + + "ПроведениеДокументов":{ + "КоличествоДокументов" : 5 } } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" index 0f8ffb967..fba934d5c 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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.xml" @@ -23,6 +23,39 @@ - + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index f14a48835..635803d51 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -7,31 +7,57 @@ КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); + + ЗагрузитьНастройки(); КонецПроцедуры Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; - // за последний год - КонецПериода = ТекущаяДатаСеанса(); - НачалоПериода = ДобавитьМесяц(КонецПериода, -12); - - ПараметрыОтбораДокументов = Новый Структура; - ПараметрыОтбораДокументов.Вставить("НачалоПериода", НачалоПериода); - ПараметрыОтбораДокументов.Вставить("КонецПериода", КонецПериода); - ПараметрыОтбораДокументов.Вставить("КоличествоДокументов", 10); + ЗагрузитьНастройки(); Для Каждого МетаОбъект Из Метаданные.Документы Цикл Если МетаОбъект.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить И ПравоДоступа("Проведение", МетаОбъект) Тогда - ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект, ПараметрыОтбораДокументов); + ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект); КонецЕсли; КонецЦикла; КонецПроцедуры -Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект, ПараметрыОтбораДокументов) +Процедура ЗагрузитьНастройки() + КлючТеста = "ПроведениеДокументов"; + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючТеста); + If ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + EndIf; +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + // за последний год + КонецПериода = ТекущаяДатаСеанса(); + НачалоПериода = ДобавитьМесяц(КонецПериода, -12); + + ПараметрыОтбораДокументов = Новый Структура; + ПараметрыОтбораДокументов.Вставить("НачалоПериода", НачалоПериода); + ПараметрыОтбораДокументов.Вставить("КонецПериода", КонецПериода); + ПараметрыОтбораДокументов.Вставить("КоличествоДокументов", 10); + + Возврат ПараметрыОтбораДокументов; +КонецФункции + +Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) + + ПараметрыОтбораДокументов = Настройки; + Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index b604ee0a9..f938f9152 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -132,5 +132,9 @@ ], "ExcludedCommonModules": [ ] + }, + + "ПроведениеДокументов":{ + "КоличествоДокументов" : 1 } } From 49e0b08b7272256bccae31d16c80fe514cfd6c2c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 22:47:33 +0300 Subject: [PATCH 074/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D1=81?= =?UTF-8?q?=D0=BB=D1=83=D0=B6=D0=B5=D0=B1=D0=BD=D1=8B=D0=B9=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 0eb8c59ba..c1a37e11f 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ tools/VideoTools/KeyboardType.exe tools/VideoTools/MouseMove.exe doc/linux-private.md *.cfe +xddExitCodePath.txt From 1d3a3a837beca13e92101e3a407894f2285d7496 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 23:03:18 +0300 Subject: [PATCH 075/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 15 +++++++++++++++ tests/smoke/smoke.bsp.json | 4 ++++ tools/JSON/xUnitParams.json | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 437b98d16..1df4a01d3 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -23,6 +23,7 @@ - [Настройка дымовых тестов для запуска в tddTestRunner](Настройка-дымовых-тестов-для-запуска-в-tddTestRunner) - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) - [Тесты макетов СКД](#тесты-макетов-скд) +- [Тесты проведения документов](#тесты-проведения-документов) - [Дымовое тестирование настройки общих модулей и наличия подсистем](#дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) @@ -723,6 +724,20 @@ Выполняется синтаксический контроль схемы и запроса СКД. + +## Тесты проведения документов + +Данный набор дымовых тестов проверяет правильность проведения документов. + +Отбираются N-последних документов за последний год и перепроводятся. + +Выполняются следующие проверки: +- документ проводится +- движения до и после проведения одинаковы, т.е. перепроведение документа не меняет движений + +Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 122](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) + ## Проверка чтения метаданных обычными пользователями, без полных прав diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index c73c10d9c..218604d03 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -77,5 +77,9 @@ "БизнесПроцессы": [ ] + }, + + "ПроведениеДокументов":{ + "КоличествоДокументов" : 5 } } \ No newline at end of file diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index f938f9152..c7a9d3a3d 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -137,4 +137,4 @@ "ПроведениеДокументов":{ "КоличествоДокументов" : 1 } -} +} \ No newline at end of file From 454785598286ec6d2b15eabdfa9f1edecf58b787 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 23:24:30 +0300 Subject: [PATCH 076/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D0=B8=D0=BD=D1=82=D0=B0=D0=BA=D1=81-?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8,=20=D0=B5=D1=81=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=D0=B5=D0=BC?= =?UTF-8?q?=20=D0=BD=D0=B5=20=D0=B2=20=D0=91=D0=A1=D0=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index a127f54b2..e0e785b8d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -119,8 +119,10 @@ Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) // TODO: реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() + КомандыПечати = Неопределено; Попытка - КомандыПечати = УправлениеПечатью.КомандыПечатиОбъекта(МетаОбъект); + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); + КомандыПечати = МодульУправлениеПечатью.КомандыПечатиОбъекта(МетаОбъект); Исключение //Сообщить("Не удалось получить команды печати для документа " + МетаОбъект + ": " + ОписаниеОшибки()); Возврат; @@ -189,7 +191,7 @@ ДокументыДляПечати.Добавить(ДокументДляПечати); Если КомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" - И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда + И Вычислить("ОбщегоНазначения.ПодсистемаСуществует(""СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки"")") Тогда // печать внешней печатной формы ДополнительнаяОбработкаСсылка = КомандаПечати.ДополнительныеПараметры.Ссылка; ПараметрыИсточника = Новый Структура; @@ -198,7 +200,8 @@ КоллекцияПечатныхФорм = Неопределено; ОбъектыПечати = Новый СписокЗначений; ПараметрыВывода = Неопределено; - УправлениеПечатью.ПечатьПоВнешнемуИсточнику( + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); + МодульУправлениеПечатью.ПечатьПоВнешнемуИсточнику( ДополнительнаяОбработкаСсылка, ПараметрыИсточника, КоллекцияПечатныхФорм, @@ -213,7 +216,9 @@ МассивОбъектов = ДокументыДляПечати; ПараметрыПечати = Новый Структура("ДополнительныеПараметры", КомандаПечати.ДополнительныеПараметры); ДопустимыеТипыОбъектовПечати = Неопределено; - ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы( + + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); + ПечатныеФормы = МодульУправлениеПечатью.СформироватьПечатныеФормы( ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, From 5941c81cdfb32065b490e3f1421705ec3dd6de04 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 23:37:01 +0300 Subject: [PATCH 077/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BE=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index 635803d51..9482490ba 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -134,7 +134,8 @@ ТипДвижения = КлючИЗначение.Ключ; ТаблицаДвиженияДо = КлючИЗначение.Значение; ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); - УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, + "Перепроведение изменяет движения документа. Отличаются движения по регистру " + ТипДвижения); КонецЦикла; КонецПроцедуры From b406aab2eb62dba461e188285489796ad3135a02 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 23:39:19 +0300 Subject: [PATCH 078/421] =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=20+=20=D0=BD=D0=B0=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\205\320\244\320\276\321\200\320\274.xml" | 37 ++++++++++++++++++- .../Ext/ObjectModule.bsl" | 37 +++++++++++++++++-- 2 files changed, 68 insertions(+), 6 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" index 1f6d2c9a2..85585e5c1 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274.xml" @@ -16,13 +16,46 @@ ru - Тесты формирование печатных форм + Формирование печатных форм - + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index e0e785b8d..9c1a2b16a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -5,11 +5,15 @@ Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); КонецПроцедуры Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; + ЗагрузитьНастройки(); + Для Каждого МетаОбъект Из Метаданные.Документы Цикл Если ПравоДоступа("Просмотр", МетаОбъект) Тогда ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект); @@ -17,12 +21,37 @@ КонецЦикла; КонецПроцедуры + +Процедура ЗагрузитьНастройки() + КлючТеста = "ФормированиеПечатныхФорм"; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючТеста); + If ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + EndIf; +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + Результат.Вставить("КоличествоДокументов", 1); + + Возврат Результат; +КонецФункции //} //{ Блок юнит-тестов Функция ПолучитьДокументыДляПечати(МетаОбъект, УсловияВидимости = Неопределено) - КолвоТестируемыхДокументов = 1; // здесь можно указать количество документов, для которых нужно проверить каждую форму + // здесь можно указать количество документов, для которых нужно проверить каждую форму + КолвоТестируемыхДокументов = Настройки.КоличествоДокументов; Результат = Новый Массив; @@ -118,7 +147,7 @@ Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) - // TODO: реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() + // TODO реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() КомандыПечати = Неопределено; Попытка МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); @@ -132,7 +161,7 @@ Возврат; КонецЕсли; - НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя); + НаборТестов.НачатьГруппу("Печатные формы " + МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл СтруктураКоманды = Новый Структура; @@ -145,7 +174,7 @@ Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; КонецЕсли; - ПредставлениеТеста = МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; + ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); КонецЦикла; From e570c84c27d054fbb32798582c683f63ab936939 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 7 Jul 2020 23:49:00 +0300 Subject: [PATCH 079/421] =?UTF-8?q?=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 --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index 9c1a2b16a..4ef691a86 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -201,7 +201,7 @@ НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); - Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что будет количество элементов в КоллекцияПечатныхФорм будет больше 0!"); + Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл ТабДок = СтрокаТаблицы.ТабличныйДокумент; Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); From 00be5a6fb10575b43d619bca45525700ef66093d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 8 Jul 2020 22:18:40 +0300 Subject: [PATCH 080/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=D1=8B?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D1=8F-=D1=84=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xddTestRunner/Ext/ObjectModule.bsl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 2c804c2b8..f644c1d7a 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -94,7 +94,7 @@ Попытка Плагин.Инициализация(КонтекстЯдра); Исключение - Ошибка = "Возникла ошибка при загрузке плагина на сервере: "+ИмяПлагина + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Ошибка = "Возникла ошибка при загрузке плагина на сервере: " + ИмяПлагина + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщить(Ошибка); ЗафиксироватьОшибкуВЖурналеРегистрации("Плагины.Сервер", Ошибка, Истина); КонецПопытки; @@ -360,13 +360,13 @@ Функция ЭтоОшибкаПроверки(ТекстОшибки) - Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; + Возврат Найти(ТекстОшибки, "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; КонецФункции Функция ЭтоПропущенныйТест(ТекстОшибки) - Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; + Возврат Найти(ТекстОшибки, "[" + СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; КонецФункции @@ -531,7 +531,7 @@ Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") Экспорт - Префикс = "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; + Префикс = "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; КонецПроцедуры @@ -548,7 +548,7 @@ // Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). // -Процедура ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт +Процедура ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт Сообщить(ТекстСообщения, Статус); @@ -906,8 +906,8 @@ МассивПараметров.Добавить(Парам5); Для Сч = 1 По МассивПараметров.Количество() Цикл - ТекЗначение = МассивПараметров[Сч-1]; - СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%"+Сч, Строка(ТекЗначение)); + ТекЗначение = МассивПараметров[Сч - 1]; + СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%" +Сч, Строка(ТекЗначение)); КонецЦикла; Возврат СтрокаШаблон; КонецФункции From cb4912393154e314a35501e8c93b556b3f15428e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 8 Jul 2020 22:19:28 +0300 Subject: [PATCH 081/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=87=D0=B0=D1=82=D0=BD=D1=8B=D1=85=20=D1=84=D0=BE=D1=80=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 17 +++++++++++++++++ tests/smoke/smoke.bsp.json | 6 ++++++ tests/smoke/smoke.example.json | 7 +++++++ tools/JSON/xUnitParams.json | 7 +++++++ 4 files changed, 37 insertions(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 1df4a01d3..4db3ef07a 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -24,6 +24,7 @@ - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) - [Тесты макетов СКД](#тесты-макетов-скд) - [Тесты проведения документов](#тесты-проведения-документов) +- [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-БСП-конфигураций) - [Дымовое тестирование настройки общих модулей и наличия подсистем](#дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) @@ -736,8 +737,24 @@ - движения до и после проведения одинаковы, т.е. перепроведение документа не меняет движений Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. +- ключ настройки `ФормированиеПечатныхФорм` + - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 122](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) + +## Тесты печатных форм для БСП-конфигураций + +Данный набор дымовых тестов проверяет правильность формирования печатных форм документов в конфигурациях на базе БСП, как встроенных в конфигурацию, так и внешних печатных форм (из справочников дополнительных отчетов и обработок). + +Выполняются следующие проверки: +- печатная форма (табличный документ) формируется +- содержит по крайней мере одну строку (т.е. высота табличного документа > 0) + +Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. +- ключ настройки `ФормированиеПечатныхФорм` + - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключения конкретных печатных форм по идентификатору печатной формы +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 126](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L126) + ## Проверка чтения метаданных обычными пользователями, без полных прав diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 218604d03..acec9995a 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -81,5 +81,11 @@ "ПроведениеДокументов":{ "КоличествоДокументов" : 5 + }, + + "ФормированиеПечатныхФорм":{ + "ИсключенияПоИдентификатору" : [ + "ИдентификаторПечатнойФормы" + ] } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index d8e0c25af..d1d246192 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -121,5 +121,12 @@ "ПроведениеДокументов":{ "КоличествоДокументов" : 5 + }, + + "ФормированиеПечатныхФорм":{ + "ИсключенияПоИдентификатору" : [ + "ИдентификаторПечатнойФормы" + "СчетФактура" + ] } } diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index c7a9d3a3d..5c552ad9a 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -136,5 +136,12 @@ "ПроведениеДокументов":{ "КоличествоДокументов" : 1 + }, + + "ФормированиеПечатныхФорм":{ + "ИсключенияПоИдентификатору" : [ + "Счет*", + "Реестр" + ] } } \ No newline at end of file From 3f290807506f71cd18d960e2a6b3a49d6ff42683 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 8 Jul 2020 23:31:00 +0300 Subject: [PATCH 082/421] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=20=D0=BF=D0=BE=D1=82=D0=B5=D1=80=D1=8F=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 1 + tests/smoke/smoke.example.json | 1 + tools/JSON/xUnitParams.json | 11 ++++++----- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index acec9995a..8d2d8f25a 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -84,6 +84,7 @@ }, "ФормированиеПечатныхФорм":{ + "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы" ] diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index d1d246192..2d3d754f7 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -124,6 +124,7 @@ }, "ФормированиеПечатныхФорм":{ + "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы" "СчетФактура" diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 5c552ad9a..46190d56d 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -134,14 +134,15 @@ ] }, - "ПроведениеДокументов":{ + "ПроведениеДокументов": { "КоличествоДокументов" : 1 }, - - "ФормированиеПечатныхФорм":{ + + "ФормированиеПечатныхФорм": { + "КоличествоДокументов" : 2, "ИсключенияПоИдентификатору" : [ - "Счет*", - "Реестр" + "Реестр", + "Счет*" ] } } \ No newline at end of file From e307fdee2c21105303aacc41bd8bfb7eb4cb571f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 8 Jul 2020 23:48:50 +0300 Subject: [PATCH 083/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D0=B8=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 1 + .../Ext/ObjectModule.bsl" | 29 +++++++++++++++++-- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 4db3ef07a..21b49d2b0 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -752,6 +752,7 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` + - вложенный ключ `КоличествоДокументов`, отвечающий за количество документов, для которых проверяются печатные формы - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключения конкретных печатных форм по идентификатору печатной формы - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 126](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L126) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index 4ef691a86..dc181822d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -30,18 +30,20 @@ НастройкиПоУмолчанию = НастройкиПоУмолчанию(); Настройки = ПлагинНастройки.ПолучитьНастройку(КлючТеста); - If ТипЗнч(Настройки) <> Тип("Структура") Then + Если ТипЗнч(Настройки) <> Тип("Структура") Then Настройки = НастройкиПоУмолчанию; Иначе ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); Настройки = НастройкиПоУмолчанию; - EndIf; + КонецЕсли; + КонецПроцедуры Функция НастройкиПоУмолчанию() Результат = Новый Структура; Результат.Вставить("КоличествоДокументов", 1); + Результат.Вставить("ИсключенияПоИдентификатору", Новый Массив); Возврат Результат; КонецФункции @@ -164,17 +166,34 @@ НаборТестов.НачатьГруппу("Печатные формы " + МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл + + Идентификатор = ТекущаяКомандаПечати.Идентификатор; + ИдентификаторДляСравнения = НРег(ТекущаяКомандаПечати.Идентификатор); + + Исключать = Ложь; + Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл + Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда + Исключать = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Если Исключать Тогда + Продолжить; + КонецЕсли; + СтруктураКоманды = Новый Структура; Для Каждого Колонка Из КомандыПечати.Колонки Цикл ИмяКолонки = Колонка.Имя; СтруктураКоманды.Вставить(ИмяКолонки, ТекущаяКомандаПечати[ИмяКолонки]); КонецЦикла; ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, СтруктураКоманды); - ДопИнфо = "Идентификатор = " + ТекущаяКомандаПечати.Идентификатор; + + ДопИнфо = "Идентификатор = " + Идентификатор; Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; КонецЕсли; ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; + НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); КонецЦикла; @@ -191,6 +210,10 @@ КонецПроцедуры Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт + КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); + Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл + КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); + КонецЦикла; ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); Если ДокументыДляПечати.Количество() = 0 Тогда From 2586e000a8380aab392832c64351e76cb8d4ba7c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 8 Jul 2020 23:50:32 +0300 Subject: [PATCH 084/421] =?UTF-8?q?=D0=B2=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=20=D0=BE=D1=82=D0=BB=D0=B0=D0=B4=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=D0=B7=D1=8B=D0=B2=D0=B0=D1=8E=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=BE=D0=BF.=D1=81=D0=BE=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=82=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 31 +++++++++++++++++-- .../Ext/Form/Module.bsl" | 25 +++++++++++---- 2 files changed, 47 insertions(+), 9 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a4328e30a..007236555 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -889,22 +889,45 @@ Перем ПолныйТекстОшибки, РезультатТестирования; + МассивСообщений = Неопределено; + + Успешно = Ложь; Попытка - РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов); + РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов, МассивСообщений); + Успешно = Истина; Исключение ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + + ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); + РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); РезультатТестирования.Сообщение = ПолныйТекстОшибки; РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); КонецПопытки; + + Если Успешно Тогда + ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); + КонецЕсли; Возврат РезультатТестирования; КонецФункции +&НаКлиенте +Процедура ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(Знач МассивСообщений) Экспорт + Если Не Объект.ФлагОтладки Тогда + Возврат; + КонецЕсли; + + Для Каждого Сообщение Из МассивСообщений Цикл + Сообщение.Сообщить(); + ВывестиСообщениеВЛогФайл(Сообщение.Текст); + КонецЦикла; +КонецПроцедуры + &НаСервере -Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов) +Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов, МассивСообщений) ОбъектНаСервере = ЭтотОбъектНаСервере(); Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда @@ -921,6 +944,8 @@ ЗаполнитьСвойствоПриНаличии(КонтекстВыполнения, "ПутьКФайлуПолный", ЭлементДереваТестов.Путь); РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); + + МассивСообщений = ПолучитьСообщенияПользователю(Истина); Возврат РезультатТестирования; КонецФункции @@ -1557,7 +1582,7 @@ ПутьКТестам = Параметры_xddRun[1]; ДеревоТестовОтЗагрузчика = Загрузчик.Загрузить(ЭтаФорма, ПутьКТестам); - + Если ЗначениеЗаполнено(ДеревоТестовОтЗагрузчика.Строки) Тогда ОбновитьИменаИПредставлениеТестов(ДеревоТестовОтЗагрузчика); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6b8520c0a..ab092d8d5 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -89,9 +89,12 @@ КонтекстЯдра = ДополнительныеПараметры.КонтекстЯдра; ИмяОбработки = ""; + МассивСообщений = Неопределено; - КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, КонтекстЯдра.Объект); - КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, КонтекстЯдра, ИмяОбработки); + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, + КонтекстЯдра.Объект, МассивСообщений); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, + КонтекстЯдра, ИмяОбработки); Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); КонецЕсли; @@ -99,6 +102,8 @@ ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); КонецЕсли; + КонтекстЯдра.ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработчикОповещения, ДеревоТестов); КонецПроцедуры @@ -124,15 +129,20 @@ ПодключитьВнешнююОбработку(КонтекстЯдра, ФайлОбработки); ИмяОбработки = ""; + МассивСообщений = Неопределено; - КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, КонтекстЯдра.Объект); - КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, КонтекстЯдра, ИмяОбработки); + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, + КонтекстЯдра.Объект, МассивСообщений); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, + КонтекстЯдра, ИмяОбработки); Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); КонецЕсли; Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); КонецЕсли; + + КонтекстЯдра.ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); КонецЦикла; Возврат ДеревоТестов; @@ -203,7 +213,7 @@ КонецПроцедуры &НаСервере -Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте, ИмяОбработки, Знач ОбъектКонтекстаЯдра) +Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте, ИмяОбработки, Знач ОбъектКонтекстаЯдра, МассивСообщений) КонтекстЯдра = ПолучитьКонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); @@ -213,6 +223,8 @@ Контейнер = ЭтотОбъектНаСервере().ЗагрузитьФайл(ПостроительДереваТестов, ФайлОбработки, КонтекстЯдра, ИмяОбработки); + МассивСообщений = ПолучитьСообщенияПользователю(Истина); + Возврат Контейнер; КонецФункции @@ -255,7 +267,8 @@ КонецФункции &НаКлиенте -Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки, ИмяОбработки, КонтекстЯдра) +Функция ЗагрузитьТестыВНовомФормате_НаКлиенте(ПостроительДереваТестов, ФормаОбработки, ФайлОбработки, ИмяОбработки, + КонтекстЯдра) ЗагружаемыйПуть = ФайлОбработки.ПолноеИмя; КэшПостроительДереваТестов = ПостроительДереваТестов; КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ПрефиксПутейСФормами() + ИмяОбработки, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма); From 614c3684a447332b41f0b300e813b257c8a15a48 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 17:38:44 +0300 Subject: [PATCH 085/421] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B2=20=D0=A3=D0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + метод СтрокаСоответствуетШаблону --- .../xddTestRunner/Ext/ObjectModule.bsl | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index f644c1d7a..a2e0f69e4 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1,4 +1,5 @@ - +Перем РегулярныеВыражения; + Функция Версия() Экспорт Версия = "6.6.5"; Возврат Версия; @@ -94,7 +95,7 @@ Попытка Плагин.Инициализация(КонтекстЯдра); Исключение - Ошибка = "Возникла ошибка при загрузке плагина на сервере: " + ИмяПлагина + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Ошибка = "Возникла ошибка при загрузке плагина на сервере: "+ИмяПлагина + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщить(Ошибка); ЗафиксироватьОшибкуВЖурналеРегистрации("Плагины.Сервер", Ошибка, Истина); КонецПопытки; @@ -360,13 +361,13 @@ Функция ЭтоОшибкаПроверки(ТекстОшибки) - Возврат Найти(ТекстОшибки, "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; + Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]") = 1; КонецФункции Функция ЭтоПропущенныйТест(ТекстОшибки) - Возврат Найти(ТекстОшибки, "[" + СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; + Возврат Найти(ТекстОшибки, "["+ СтатусыРезультатаТестирования.ТестПропущен + "]") > 0; КонецФункции @@ -531,7 +532,7 @@ Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") Экспорт - Префикс = "[" + СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; + Префикс = "["+ СтатусыРезультатаТестирования.ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; КонецПроцедуры @@ -548,7 +549,7 @@ // Выводит сообщение. В тестах ВСЕГДА должна использоваться ВМЕСТО метода Сообщить(). // -Процедура ВывестиСообщение(ТекстСообщения, Статус = Неопределено) Экспорт +Процедура ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт Сообщить(ТекстСообщения, Статус); @@ -882,6 +883,23 @@ ВызватьИсключение СообщениеОшибки; КонецПопытки; + + Попытка + ОбъектПлагина.Инициализация(ЭтотОбъект); + Исключение + Инфо = ИнформацияОбОшибке(); + Если (Инфо.Описание = "Метод объекта не обнаружен (Инициализация)" Или + Найти(Инфо.Описание, "Object method not found (Инициализация)") > 0) И + Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагина.Инициализация(ЭтотОбъект);") > 0 + //И + //( Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0 Или + ////ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма.Form + //Найти(Инфо.ИмяМодуля, "Form.УправляемаяФорма.Form") > 0 ) + Тогда + Иначе + ВызватьИсключение; + КонецЕсли; + КонецПопытки; КонецЕсли; Возврат ОбъектПлагина; @@ -906,8 +924,8 @@ МассивПараметров.Добавить(Парам5); Для Сч = 1 По МассивПараметров.Количество() Цикл - ТекЗначение = МассивПараметров[Сч - 1]; - СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%" +Сч, Строка(ТекЗначение)); + ТекЗначение = МассивПараметров[Сч-1]; + СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%"+Сч, Строка(ТекЗначение)); КонецЦикла; Возврат СтрокаШаблон; КонецФункции @@ -947,6 +965,20 @@ КонецФункции +//позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" +//при этом подстрока "Шаблон" может содержать символы * +//например СтрокаСоответствуетШаблону("Привет","*вет") +Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт + + Если РегулярныеВыражения = Неопределено Тогда + РегулярныеВыражения = Плагин("РегулярныеВыражения"); + КонецЕсли; + + Нашли = РегулярныеВыражения.СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Шаблон); + Возврат Нашли; + +КонецФункции + //} Инициализация(); From 7f48dfbee70ddc6b1afe306629d6e9e9b0a50f5b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 17:39:42 +0300 Subject: [PATCH 086/421] =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D0=BF=D1=80=D0=B8=D0=B7=D0=BD=D0=B0=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=BE=D1=82=D0=BB=D0=B0=D0=B4=D0=BA=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=BE=D0=B9=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 007236555..a154c93f0 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2240,7 +2240,9 @@ Объект.Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЦикла; - Объект.ФлагОтладки = ПлагинНастроек.ПолучитьНастройку("Отладка") = Истина; + Если Не Объект.ФлагОтладки Тогда + Объект.ФлагОтладки = ПлагинНастроек.ПолучитьНастройку("Отладка") = Истина; + КонецЕсли; Объект.ВыводитьЛогВыполненияСценариевВТекстовыйФайл = Ложь; Если ПлагинНастроек.ЕстьНастройка("ДелатьЛогВыполненияСценариевВТекстовыйФайл") Тогда From 58cba96e36bc66d7649c3d41b677ec96f4b9209b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 17:40:40 +0300 Subject: [PATCH 087/421] =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 92 ++++++++++++++----- 1 file changed, 69 insertions(+), 23 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index dc181822d..b62cd9657 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -35,6 +35,11 @@ Иначе ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); Настройки = НастройкиПоУмолчанию; + + //КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); + //Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл + // КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); + //КонецЦикла; КонецЕсли; КонецПроцедуры @@ -165,11 +170,17 @@ НаборТестов.НачатьГруппу("Печатные формы " + МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); - Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл + Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл Идентификатор = ТекущаяКомандаПечати.Идентификатор; ИдентификаторДляСравнения = НРег(ТекущаяКомандаПечати.Идентификатор); + ДопИнфо = "Идентификатор = " + Идентификатор; + Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда + ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; + КонецЕсли; + ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; + Исключать = Ложь; Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда @@ -178,6 +189,7 @@ КонецЕсли; КонецЦикла; Если Исключать Тогда + КонтекстЯдра.Отладка("Пропускаем из-за исключения по идентификатору - " + ПредставлениеТеста); Продолжить; КонецЕсли; @@ -188,12 +200,6 @@ КонецЦикла; ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, СтруктураКоманды); - ДопИнфо = "Идентификатор = " + Идентификатор; - Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда - ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; - КонецЕсли; - ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; - НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); КонецЦикла; @@ -252,15 +258,35 @@ КоллекцияПечатныхФорм = Неопределено; ОбъектыПечати = Новый СписокЗначений; ПараметрыВывода = Неопределено; + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); - МодульУправлениеПечатью.ПечатьПоВнешнемуИсточнику( - ДополнительнаяОбработкаСсылка, - ПараметрыИсточника, - КоллекцияПечатныхФорм, - ОбъектыПечати, - ПараметрыВывода - ); - Результат = КоллекцияПечатныхФорм; + //Попытка + МодульУправлениеПечатью.ПечатьПоВнешнемуИсточнику( + ДополнительнаяОбработкаСсылка, + ПараметрыИсточника, + КоллекцияПечатныхФорм, + ОбъектыПечати, + ПараметрыВывода + ); + + Результат = КоллекцияПечатныхФорм; + //Исключение + // Инфо = ИнформацияОбОшибке(); + // //TODO нужно не костылем исключить печатные формы, которые открываются не в 1С - word и т.п. + // Если (Найти(Инфо.Описание, "Метод объекта не обнаружен (Печать)") > 0 Или + // Найти(Инфо.Описание, "Object method not found (Печать)") > 0) + // //И + // //Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагина.Инициализация(ЭтотОбъект);") > 0 + // //И + // //( Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0 Или + // ////ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма.Form + // //Найти(Инфо.ИмяМодуля, "Form.УправляемаяФорма.Form") > 0 ) + // Тогда + // КонтекстЯдра.ПропуститьТест(НСтр("ru = 'Тест пропущен: '") + Инфо.Описание); + // Иначе + // ВызватьИсключение; + // КонецЕсли; + //КонецПопытки; Иначе // печать встроенной печатной формы ИмяМенеджераПечати = КомандаПечати.МенеджерПечати; @@ -270,14 +296,34 @@ ДопустимыеТипыОбъектовПечати = Неопределено; МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); - ПечатныеФормы = МодульУправлениеПечатью.СформироватьПечатныеФормы( - ИмяМенеджераПечати, - ИменаМакетов, - МассивОбъектов, - ПараметрыПечати, - ДопустимыеТипыОбъектовПечати - ); - Результат = ПечатныеФормы.КоллекцияПечатныхФорм; + //Попытка + ПечатныеФормы = МодульУправлениеПечатью.СформироватьПечатныеФормы( + ИмяМенеджераПечати, + ИменаМакетов, + МассивОбъектов, + ПараметрыПечати, + ДопустимыеТипыОбъектовПечати + ); + + Результат = ПечатныеФормы.КоллекцияПечатныхФорм; + //Исключение + // Инфо = ИнформацияОбОшибке(); + // //TODO нужно не костылем исключить печатные формы, которые открываются не в 1С - word и т.п. + // Если (Найти(Инфо.Описание, "Метод объекта не обнаружен (Печать)") > 0 Или + // Найти(Инфо.Описание, "Object method not found (Печать)") > 0) + // //И + // //Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагина.Инициализация(ЭтотОбъект);") > 0 + // //И + // //( Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0 Или + // ////ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма.Form + // //Найти(Инфо.ИмяМодуля, "Form.УправляемаяФорма.Form") > 0 ) + // Тогда + // КонтекстЯдра.ПропуститьТест(НСтр("ru = 'Тест пропущен: '") + Инфо.Описание); + // Иначе + // ВызватьИсключение; + // КонецЕсли; + //КонецПопытки; + КонецЕсли; Возврат Результат; From 59c850894f356fc9fc272b54123c383334eeeb97 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 18:15:48 +0300 Subject: [PATCH 088/421] =?UTF-8?q?=D0=9E=D0=A4:=20=D0=BF=D0=BE=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=20=D0=BF=D0=BE=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=D1=83=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4=D0=B8=D1=82=20?= =?UTF-8?q?=D0=B8=20=D0=BD=D1=83=D0=BB=D0=B5=D0=B2=D1=8B=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 13f6fdc8f..db9d0edcb 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -132,7 +132,7 @@ КонецЦикла; // Трактуем * по-нашему. - Шаблон = СтрЗаменить(Шаблон, "*", ".+"); + Шаблон = СтрЗаменить(Шаблон, "*", ".*"); Возврат Шаблон; From 773dc4d7c4e50b2953f413e56b6f8f4f29c751be Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 18:17:05 +0300 Subject: [PATCH 089/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC=D1=8B=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BC=D0=B5=D1=87=D0=B0=D1=8E=D1=82=D1=81=D1=8F?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=BA=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 182 +++++++++--------- 1 file changed, 89 insertions(+), 93 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index b62cd9657..454bbec90 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -36,10 +36,6 @@ ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); Настройки = НастройкиПоУмолчанию; - //КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); - //Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл - // КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); - //КонецЦикла; КонецЕсли; КонецПроцедуры @@ -55,6 +51,95 @@ //} //{ Блок юнит-тестов +Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) + + // TODO реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() + КомандыПечати = Неопределено; + Попытка + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); + КомандыПечати = МодульУправлениеПечатью.КомандыПечатиОбъекта(МетаОбъект); + Исключение + КонтекстЯдра.Отладка("Не удалось получить команды печати для документа " + МетаОбъект + ": " + ОписаниеОшибки()); + Возврат; + КонецПопытки; + + Если КомандыПечати.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("Печатные формы " + МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); + + Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл + + Идентификатор = ТекущаяКомандаПечати.Идентификатор; + ИдентификаторДляСравнения = НРег(Идентификатор); + + ДопИнфо = "Идентификатор = " + Идентификатор; + Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда + ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; + КонецЕсли; + ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; + + Исключать = Ложь; + Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл + Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда + Исключать = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Если Исключать Тогда + КонтекстЯдра.Отладка("Пропускаем из-за исключения по идентификатору - " + ПредставлениеТеста); + Продолжить; + КонецЕсли; + + СтруктураКоманды = Новый Структура; + Для Каждого Колонка Из КомандыПечати.Колонки Цикл + ИмяКолонки = Колонка.Имя; + СтруктураКоманды.Вставить(ИмяКолонки, ТекущаяКомандаПечати[ИмяКолонки]); + КонецЦикла; + ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, СтруктураКоманды); + + НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); + КонецЦикла; + +КонецПроцедуры + +Процедура ПередЗапускомТеста() Экспорт + //НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + //Если ТранзакцияАктивна() Тогда + // ОтменитьТранзакцию(); + //КонецЕсли; +КонецПроцедуры + +Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт + //КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); + //Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл + // КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); + //КонецЦикла; + + ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); + Если ДокументыДляПечати.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Для Каждого ДокСсылка Из ДокументыДляПечати Цикл + НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; + КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); + Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); + Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); + Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл + ТабДок = СтрокаТаблицы.ТабличныйДокумент; + Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); + Утверждения.Проверить(ТабДок.ВысотаТаблицы > 0, НачалоСообщенияОбОшибке + "Ожидалось, что высота полученного табличного документа будет больше 0!"); + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + Функция ПолучитьДокументыДляПечати(МетаОбъект, УсловияВидимости = Неопределено) // здесь можно указать количество документов, для которых нужно проверить каждую форму @@ -152,95 +237,6 @@ КонецФункции -Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) - - // TODO реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() - КомандыПечати = Неопределено; - Попытка - МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); - КомандыПечати = МодульУправлениеПечатью.КомандыПечатиОбъекта(МетаОбъект); - Исключение - //Сообщить("Не удалось получить команды печати для документа " + МетаОбъект + ": " + ОписаниеОшибки()); - Возврат; - КонецПопытки; - - Если КомандыПечати.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - НаборТестов.НачатьГруппу("Печатные формы " + МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); - - Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл - - Идентификатор = ТекущаяКомандаПечати.Идентификатор; - ИдентификаторДляСравнения = НРег(ТекущаяКомандаПечати.Идентификатор); - - ДопИнфо = "Идентификатор = " + Идентификатор; - Если ТекущаяКомандаПечати.МенеджерПечати = "СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки" Тогда - ДопИнфо = "Ссылка = " + ТекущаяКомандаПечати.ДополнительныеПараметры.Ссылка + "; " + ДопИнфо; - КонецЕсли; - ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; - - Исключать = Ложь; - Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл - Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда - Исключать = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - Если Исключать Тогда - КонтекстЯдра.Отладка("Пропускаем из-за исключения по идентификатору - " + ПредставлениеТеста); - Продолжить; - КонецЕсли; - - СтруктураКоманды = Новый Структура; - Для Каждого Колонка Из КомандыПечати.Колонки Цикл - ИмяКолонки = Колонка.Имя; - СтруктураКоманды.Вставить(ИмяКолонки, ТекущаяКомандаПечати[ИмяКолонки]); - КонецЦикла; - ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, СтруктураКоманды); - - НаборТестов.Добавить("Тест_ПолучитьПечатнуюФорму", ПараметрыТеста, ПредставлениеТеста); - КонецЦикла; - -КонецПроцедуры - -Процедура ПередЗапускомТеста() Экспорт - //НачатьТранзакцию(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - //Если ТранзакцияАктивна() Тогда - // ОтменитьТранзакцию(); - //КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт - КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); - Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл - КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); - КонецЦикла; - - ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); - Если ДокументыДляПечати.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Для Каждого ДокСсылка Из ДокументыДляПечати Цикл - НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; - КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); - Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); - Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); - Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл - ТабДок = СтрокаТаблицы.ТабличныйДокумент; - Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); - Утверждения.Проверить(ТабДок.ВысотаТаблицы > 0, НачалоСообщенияОбОшибке + "Ожидалось, что высота полученного табличного документа будет больше 0!"); - КонецЦикла; - - КонецЦикла; - -КонецПроцедуры - Функция ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокументДляПечати) Результат = Неопределено; From 8b95a3e0ec813acb41fba21aae6d1fdbd49c23f2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 19:21:10 +0300 Subject: [PATCH 090/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=83=20=D0=B8=20=D0=B1?= =?UTF-8?q?=D0=B5=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 6 +++++- tests/smoke/smoke.bsp.json | 3 +++ tests/smoke/smoke.example.json | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 21b49d2b0..283f93fab 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -733,12 +733,13 @@ Отбираются N-последних документов за последний год и перепроводятся. Выполняются следующие проверки: -- документ проводится +- документ перепроводится - движения до и после проведения одинаковы, т.е. перепроведение документа не меняет движений Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов + - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 122](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) @@ -754,6 +755,9 @@ - ключ настройки `ФормированиеПечатныхФорм` - вложенный ключ `КоличествоДокументов`, отвечающий за количество документов, для которых проверяются печатные формы - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключения конкретных печатных форм по идентификатору печатной формы + - возможен поиск по полному наименованию - `СчетФактура` + - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` + - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 126](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L126) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 8d2d8f25a..7ca81732c 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -87,6 +87,9 @@ "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы" + "СчетФактура", + "*Счет", + "*Реестр*" ] } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 2d3d754f7..24f28590e 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -127,7 +127,9 @@ "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы" - "СчетФактура" + "СчетФактура", + "*Счет", + "*Реестр*" ] } } From 1af72ee1032b8ed5506bd2641bebe22864f8740b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 19:52:07 +0300 Subject: [PATCH 091/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=202=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + исключаемые тесты помечаются как пропущенные тесты и видны в результатах тестирования --- tests/smoke/readme.md | 7 +- tests/smoke/smoke.bsp.json | 9 +++ tests/smoke/smoke.example.json | 9 +++ .../Ext/ObjectModule.bsl" | 64 +++++++++++++++---- 4 files changed, 74 insertions(+), 15 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 283f93fab..55ecbcf8e 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -753,8 +753,11 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` - - вложенный ключ `КоличествоДокументов`, отвечающий за количество документов, для которых проверяются печатные формы - - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключения конкретных печатных форм по идентификатору печатной формы + - вложенный ключ `КоличествоДокументов`, отвечающий за количество объектов\документов, для которых проверяются печатные формы + - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключение конкретных печатных форм по `идентификатору печатной формы` + - вложенный массив с ключом `ИсключенияПоИмени`, отвечающий за исключение конкретных печатных форм по `имени печатной формы` + - вложенный массив с ключом `ИсключенияПоОбъекту`, отвечающий за исключение конкретных печатных форм по `имени объекта, для которого привязана печатная форма. например, для документов`. + - во всех коллекциях возможен поиск 2х видов - возможен поиск по полному наименованию - `СчетФактура` - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 7ca81732c..40b6cc5a1 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -90,6 +90,15 @@ "СчетФактура", "*Счет", "*Реестр*" + ], + "ИсключенияПоИмени" : [ + "*Гарантийное письмо*", + "Счет на оплату*", + " Комплект документов (из расширения)" + ], + "ИсключенияПоОбъекту" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" ] } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 24f28590e..f7d61caca 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -130,6 +130,15 @@ "СчетФактура", "*Счет", "*Реестр*" + ], + "ИсключенияПоИмени" : [ + "*Гарантийное письмо*", + "Счет на оплату*", + " Комплект документов (из расширения)" + ], + "ИсключенияПоОбъекту" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" ] } } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index 454bbec90..c81b7f765 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -45,6 +45,8 @@ Результат = Новый Структура; Результат.Вставить("КоличествоДокументов", 1); Результат.Вставить("ИсключенияПоИдентификатору", Новый Массив); + Результат.Вставить("ИсключенияПоИмени", Новый Массив); + Результат.Вставить("ИсключенияПоОбъекту", Новый Массив); Возврат Результат; КонецФункции @@ -80,15 +82,19 @@ КонецЕсли; ПредставлениеТеста = "Печатная форма " + МетаОбъект.Имя + ": " + ТекущаяКомандаПечати.Представление + " : " + "{" + ДопИнфо + "}"; - Исключать = Ложь; - Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл - Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда - Исключать = Истина; - Прервать; - КонецЕсли; - КонецЦикла; - Если Исключать Тогда - КонтекстЯдра.Отладка("Пропускаем из-за исключения по идентификатору - " + ПредставлениеТеста); + Сообщение = "Пропускаем из-за исключения по идентификатору - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Идентификатор, Настройки.ИсключенияПоИдентификатору, + Сообщение, НаборТестов) Тогда + Продолжить; + КонецЕсли; + Сообщение = "Пропускаем из-за исключения по имени - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекущаяКомандаПечати.Представление, Настройки.ИсключенияПоИмени, + Сообщение, НаборТестов) Тогда + Продолжить; + КонецЕсли; + Сообщение = "Пропускаем из-за исключения по имени объекта - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(МетаОбъект.Имя, Настройки.ИсключенияПоОбъекту, + Сообщение, НаборТестов) Тогда Продолжить; КонецЕсли; @@ -103,7 +109,36 @@ КонецЦикла; КонецПроцедуры + +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + НаборТестов.Добавить("Тест_ПропуститьПечатнуюФорму", ПараметрыТеста, Сообщение); + + Возврат Истина; + КонецЕсли; + Возврат Ложь; +КонецФункции + +Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) + + Перем СтрокаГдеИщем; + + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если КонтекстЯдра.СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + //Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + Возврат Ложь; + +КонецФункции + Процедура ПередЗапускомТеста() Экспорт //НачатьТранзакцию(); КонецПроцедуры @@ -115,10 +150,6 @@ КонецПроцедуры Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт - //КонтекстЯдра.ВывестиСообщение("Настройки.ИсключенияПоИдентификатору.Количество() " + Настройки.ИсключенияПоИдентификатору.Количество()); - //Для Каждого ИсключаемыйИдентификатор Из Настройки.ИсключенияПоИдентификатору Цикл - // КонтекстЯдра.ВывестиСообщение("ИсключаемыйИдентификатор " + ИсключаемыйИдентификатор); - //КонецЦикла; ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); Если ДокументыДляПечати.Количество() = 0 Тогда @@ -128,8 +159,10 @@ Для Каждого ДокСсылка Из ДокументыДляПечати Цикл НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); + Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); + Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл ТабДок = СтрокаТаблицы.ТабличныйДокумент; Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); @@ -325,4 +358,9 @@ Возврат Результат; КонецФункции + +Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); +КонецПроцедуры + //} \ No newline at end of file From 7c823faf5288a90a70441201626d859d331fa0ab Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 19:52:23 +0300 Subject: [PATCH 092/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 46190d56d..bbe2d33c6 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -141,8 +141,18 @@ "ФормированиеПечатныхФорм": { "КоличествоДокументов" : 2, "ИсключенияПоИдентификатору" : [ + "Office", "Реестр", "Счет*" + ], + "ИсключенияПоИмени" : [ + "*Гарантийное письмо*", + "Счет на оплату*", + " Комплект документов (из расширения)" + ], + "ИсключенияПоОбъекту" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" ] } } \ No newline at end of file From 4f6ef71dceab893710e4f625aa16868aaee5677c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 20:11:28 +0300 Subject: [PATCH 093/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20=D1=8F=D0=B4=D1=80=D0=B0=20=D0=95?= =?UTF-8?q?=D1=81=D1=82=D1=8C=D0=92=D0=98=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC=D0=BE=D0=B9=D0=9A=D0=BE=D0=BB=D0=BB=D0=B5?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8(=D0=A7=D1=82=D0=BE=D0=98=D1=89=D0=B5?= =?UTF-8?q?=D0=BC,=20=D0=9A=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=D0=94=D0=BB=D1=8F=D0=9F=D0=BE=D0=B8=D1=81=D0=BA=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) --- .../xddTestRunner/Ext/ObjectModule.bsl | 23 ++++++++++++++++++ .../Ext/Form/Module.bsl" | 24 +++++++++++++++++++ .../Ext/ObjectModule.bsl" | 18 +++----------- 3 files changed, 50 insertions(+), 15 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index a2e0f69e4..4829138fd 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -809,6 +809,29 @@ КонецПроцедуры +// Проверка наличие элемента в исключаемой коллекции +// +// Параметры: +// ЧтоИщем - Строка - искомое значение +// КоллекцияДляПоиска - Массив - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками +// +// Возвращаемое значение: +// Булево - нашли или нет +// +Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) Экспорт + + Перем СтрокаГдеИщем; + + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + Функция ДополнитьИдентификаторПрефиксомПодсистемы(Знач Идентификатор) Экспорт Если НЕ ЗначениеЗаполнено(ИспользуемыйПрефиксПодсистемы) Тогда diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a154c93f0..6f026befc 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2567,6 +2567,30 @@ Возврат Ложь; КонецФункции +// Проверка наличие элемента в исключаемой коллекции +// +// Параметры: +// ЧтоИщем - Строка - искомое значение +// КоллекцияДляПоиска - Массив - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками +// +// Возвращаемое значение: +// Булево - нашли или нет +// +&НаКлиенте +Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) Экспорт + + Перем СтрокаГдеИщем; + + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + &НаКлиенте Функция АСинк() Экспорт diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index c81b7f765..eb3db7850 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -87,11 +87,13 @@ Сообщение, НаборТестов) Тогда Продолжить; КонецЕсли; + Сообщение = "Пропускаем из-за исключения по имени - " + ПредставлениеТеста; Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекущаяКомандаПечати.Представление, Настройки.ИсключенияПоИмени, Сообщение, НаборТестов) Тогда Продолжить; КонецЕсли; + Сообщение = "Пропускаем из-за исключения по имени объекта - " + ПредставлениеТеста; Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(МетаОбъект.Имя, Настройки.ИсключенияПоОбъекту, Сообщение, НаборТестов) Тогда @@ -113,7 +115,7 @@ Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, Знач НаборТестов) - Если ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда КонтекстЯдра.Отладка(Сообщение); ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); @@ -125,20 +127,6 @@ Возврат Ложь; КонецФункции -Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) - - Перем СтрокаГдеИщем; - - Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл - Если КонтекстЯдра.СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда - //Если КонтекстЯдра.СтрокаСоответствуетШаблону(ИдентификаторДляСравнения, НРег(ИсключаемыйИдентификатор)) Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; - -КонецФункции - Процедура ПередЗапускомТеста() Экспорт //НачатьТранзакцию(); КонецПроцедуры From cdc4881a24a7e5d41ef868247e33a4ff82fb8934 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 20:14:54 +0300 Subject: [PATCH 094/421] =?UTF-8?q?+=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=D1=8B=20=D0=BE=D1=82=D0=BC=D0=B5=D1=87?= =?UTF-8?q?=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=BA=D0=B0=D0=BA=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D1=83=D1=89=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + всегда выбираются N-последних документов по времени, без периода --- tests/smoke/readme.md | 6 +- .../Ext/ObjectModule.bsl" | 71 ++++++++++++------- 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 55ecbcf8e..9c1a350ac 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -730,7 +730,7 @@ Данный набор дымовых тестов проверяет правильность проведения документов. -Отбираются N-последних документов за последний год и перепроводятся. +Отбираются N-последних документов и перепроводятся. Выполняются следующие проверки: - документ перепроводится @@ -739,6 +739,10 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов + - вложенный массив с ключом `Исключения`, отвечающий за исключение конкретных документов по `имени документа`. + - во этой коллекции возможен поиск 2х видов + - возможен поиск по полному наименованию - `СчетФактура` + - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` - Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 122](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index 9482490ba..fdd70a68e 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -19,6 +19,7 @@ Для Каждого МетаОбъект Из Метаданные.Документы Цикл Если МетаОбъект.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить И ПравоДоступа("Проведение", МетаОбъект) Тогда + ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект); КонецЕсли; КонецЦикла; @@ -41,17 +42,13 @@ КонецПроцедуры Функция НастройкиПоУмолчанию() - // за последний год - КонецПериода = ТекущаяДатаСеанса(); - НачалоПериода = ДобавитьМесяц(КонецПериода, -12); - ПараметрыОтбораДокументов = Новый Структура; - ПараметрыОтбораДокументов.Вставить("НачалоПериода", НачалоПериода); - ПараметрыОтбораДокументов.Вставить("КонецПериода", КонецПериода); + Результат = Новый Структура; - ПараметрыОтбораДокументов.Вставить("КоличествоДокументов", 10); + Результат.Вставить("КоличествоДокументов", 10); + Результат.Вставить("Исключения", Новый Массив); - Возврат ПараметрыОтбораДокументов; + Возврат Результат; КонецФункции Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) @@ -67,12 +64,10 @@ | Документ." + МетаОбъект.Имя + " |ГДЕ | Проведен - | И Дата МЕЖДУ &НачалоПериода И &КонецПериода | |УПОРЯДОЧИТЬ ПО | МоментВремени Убыв"; - Запрос.УстановитьПараметр("НачалоПериода", ПараметрыОтбораДокументов.НачалоПериода); - Запрос.УстановитьПараметр("КонецПериода", ПараметрыОтбораДокументов.КонецПериода); + Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВЫБРАТЬ ПЕРВЫЕ 1", "ВЫБРАТЬ ПЕРВЫЕ " + Формат(ПараметрыОтбораДокументов.КоличествоДокументов, "ЧГ=") @@ -83,29 +78,37 @@ КонецЕсли; НаборТестов.НачатьГруппу(МетаОбъект.Синоним + " - Документ." + МетаОбъект.Имя); + + ПредставлениеТеста = "Проведение и проверка движений до и после - " + МетаОбъект.Имя; + Сообщение = "Пропускаем из-за исключения по имени документа - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(МетаОбъект.Имя, Настройки.Исключения, + Сообщение, НаборТестов) Тогда + Возврат; + КонецЕсли; Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл ПараметрыТеста = НаборТестов.ПараметрыТеста(Выборка.Ссылка); ПредставлениеТеста = "Проведение и проверка движений до и после - " + Выборка.Представление; + НаборТестов.Добавить("Тест_ПровестиДокумент", ПараметрыТеста, ПредставлениеТеста); КонецЦикла; КонецПроцедуры -Функция ПолучитьДвиженияДокумента(ДокументОбъект) - - Результат = Новый Соответствие; - - Для Каждого Движение Из ДокументОбъект.Движения Цикл - ТипДвижения = ТипЗнч(Движение); - Движение.Прочитать(); - ТаблицаДвижения = Движение.Выгрузить(); - Результат.Вставить(ТипДвижения, ТаблицаДвижения); - КонецЦикла; - - Возврат Результат; +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + НаборТестов.Добавить("Тест_ПропуститьПечатнуюФорму", ПараметрыТеста, Сообщение); + + Возврат Истина; + КонецЕсли; + Возврат Ложь; КонецФункции //} @@ -134,10 +137,28 @@ ТипДвижения = КлючИЗначение.Ключ; ТаблицаДвиженияДо = КлючИЗначение.Значение; ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); - УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, - "Перепроведение изменяет движения документа. Отличаются движения по регистру " + ТипДвижения); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); + КонецЦикла; + +КонецПроцедуры + +Функция ПолучитьДвиженияДокумента(ДокументОбъект) + + Результат = Новый Соответствие; + + Для Каждого Движение Из ДокументОбъект.Движения Цикл + ТипДвижения = ТипЗнч(Движение); + Движение.Прочитать(); + ТаблицаДвижения = Движение.Выгрузить(); + Результат.Вставить(ТипДвижения, ТаблицаДвижения); КонецЦикла; + Возврат Результат; + +КонецФункции + +Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); КонецПроцедуры //} \ No newline at end of file From 2df6485b5c397bb19c7ad30c0efac7955da917ca Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 20:18:53 +0300 Subject: [PATCH 095/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 6 +++++- tests/smoke/smoke.example.json | 6 +++++- tools/JSON/xUnitParams.json | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 40b6cc5a1..688575786 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -80,7 +80,11 @@ }, "ПроведениеДокументов":{ - "КоличествоДокументов" : 5 + "КоличествоДокументов" : 5, + "Исключения" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" + ] }, "ФормированиеПечатныхФорм":{ diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index f7d61caca..1e9a4d22e 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -120,7 +120,11 @@ }, "ПроведениеДокументов":{ - "КоличествоДокументов" : 5 + "КоличествоДокументов" : 5, + "Исключения" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" + ] }, "ФормированиеПечатныхФорм":{ diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index bbe2d33c6..aaa0d95f9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -135,7 +135,11 @@ }, "ПроведениеДокументов": { - "КоличествоДокументов" : 1 + "КоличествоДокументов" : 1, + "Исключения" : [ + "_ДемоСписаниеТоваров*", + "*еНаОбработку*" + ] }, "ФормированиеПечатныхФорм": { From 464b82cdb91b24faf81b7b62529c34a20e2e7e3c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 20:21:29 +0300 Subject: [PATCH 096/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 2 +- tests/smoke/smoke.example.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 688575786..e60d18a6f 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -90,7 +90,7 @@ "ФормированиеПечатныхФорм":{ "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ - "ИдентификаторПечатнойФормы" + "ИдентификаторПечатнойФормы", "СчетФактура", "*Счет", "*Реестр*" diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 1e9a4d22e..bcc46870d 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -130,7 +130,7 @@ "ФормированиеПечатныхФорм":{ "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ - "ИдентификаторПечатнойФормы" + "ИдентификаторПечатнойФормы", "СчетФактура", "*Счет", "*Реестр*" From 72ff8d7ebc6cec99b83ab3206bd45fe99c4ddf8c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 21:59:38 +0300 Subject: [PATCH 097/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=87=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=8C=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=206.7.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/history.MD | 166 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) diff --git a/doc/history.MD b/doc/history.MD index 32c85fa9c..c9127d79e 100644 --- a/doc/history.MD +++ b/doc/history.MD @@ -1,3 +1,169 @@ +# v6.7.0 + +## Дымовые тесты + +- Новые тесты проведения документов и проверки их движений #768 ++ Новые тесты печатных форм, в т.ч. и внешних #768 + +## TDD + +- https://github.com/vanessa-opensource/add/pull/768 + - в режиме отладки показываются доп.сообщения от сервера + - правильная инициализация серверных тестов в УФ + - новый метод ядра КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) + - Установки признака отладки в командной строке перекрывает признак Отладка в json-файле + - в режиме отладки показываются доп.сообщения от сервера и серверных тестов + - ОФ: метод СтрокаСоответствуетШаблону + +## Плагины + +- ОФ: плагин РегулярныеВыражения - поиск по шаблону в СтрокаСоответствуетШаблону находит и нулевые вхождения https://github.com/vanessa-opensource/add/pull/768 + - шаблон "Счет*" теперь находит и просто "Счет", а раньше не находил + +# v6.6.5 + +- в технической информации выводятся признак синхронности и признак защиты от опасных действий текущего пользователя #728 + +- Исправлена ошибка модуля Асинк, из-за которой не открываются внешние документы и иногда не загружаются дымовые тесты #726 + - Из командной строки не грузятся дымовые тесты в 6.6.0 в 8.3.14 #725 + - Исправлен баг запуска тестов в режиме асинхронности #727 + - В 6.6.0 из внешних инструментов не открывается Управление дымовыми тестами #724 + +# v6.6.0 + +- Единый плагин "Информатор" и показ технической информации и для BDD, и для TDD #653 #712 + - Спасибо за подсказку @KrapivinAndrey, а за реализацию @artbear ) + - Добавлены кнопки "Техническая информация" в меню "Загрузить" и "Внешние инструменты" браузера фич (bdd) и браузера тестов (xdd) + - шаги Информатора + - `Когда Я показываю техническую информацию в отдельной форме` + - `Когда Я показываю техническую информацию в окне сообщений` + - `Когда Я сохраняю техническую информацию в переменную "ТехническаяИнформация"` + +- Удалось значительно улучшить работу с шаблонным заменителем * (звездочкой) #689 #712 + - Во множестве шагов научились работать с разными вариантами указания шаблонов - `звездочка в любом месте строки и\или несколько звездочек в строке` + - шаг научился работать с шаблонной * - `Тогда переменная "ЗначениеВариантЗаполненияСостава" имеет значение "Отбор"` + - шаги проверки сообщений из тест-клиента научились работать с шаблонной * + - `Когда в логе сообщений TestClient есть строка "искомая*строка"` + - `Когда в логе сообщений TestClient есть строки:` + - доработаны методы `РегулярныеВыражения.СтрокаСоответствуетШаблону` и `Ванесса.СтрокаСоответствуетШаблону` + - поддержка шаблонов в многстрочных строках + +- Хелперы в "кнопконажималке" + - подсказки для уменьшения ошибок тестирования при выборе текущей строки таблицы, ее разворачивании или сворачивании #690 + - Подсказки при генерации шагов точного выбора #684 + - Улучшена генерацию шагов при выборе метаданных в форме выбор типов #681 +- ОФ: Помощник известных шагов для обычного приложения ОФ #691 + +## BDD + +- Раскраска высокоуровневых шагов в зависимости от статуса вложенных шагов #718 +- Исправлено: У части библиотечных шагов из поставки нет описания и их не видно в Известных шагах #717 +- Использование макетов обработок при разработке на EDT #701 #702 + - Спасибо @PashaMak + +- Добавлено: Шаги проверки состояния таблиц и макетов умеют правильно работать с многострочными строками #655 +- Добавлено: Передача параметров внутрь многострочного текста внутри экспортных сценариев #703 +- UI-кнопка "Найти дубликаты" для поиска сценариев с одинаковыми именами #677 + - Спасибо @pumbaEO + +- Новые шаги работы с регламентными\фоновыми заданиями #700 +- Новые шаги для управления элементами справочника #694 + - Спасибо @Petrolius +- Новые шаги - Когда Я запоминаю в переменную "ПроверяемаяСтрока" строку "обычное или мультистрочное значение" и глобальный шаг #716 +- Новый экспортный сценарий `Я запускаю тест-клиент для пользователя "ИмяПользователя" с паролем "ПарольПользователя" или подключаю уже существующий` #660 + +- Добавлено закрытие окна авторизации при запуске тест-клиента #708 #709 + - Спасибо @SidnevAV + +- Исключение "шумящего" вывода для linux #675 + - Спасибо @KrapivinAndrey +- Исправления небольших багов #720 +- Исправлен баг в шаге "я загружаю макет" - если макет не найден, то шаг не падает, а выполняется дальше #719 +- Исправлено зацикливание в шаге ВТечениеСекундЯВыполняю #707 + - Спасибо @ArtemKarsakov +- Исправлено: Шаг "И открылось окно предупреждения" не работает с кастомным заголовком #654 + - Спасибо @KrapivinAndrey +- Поддержка ключевого слова Функциональность + отчеты Аллюр и Junit формируются с правильными именами функциональностей #705 +- исправлено поведение шага - Тогда Открылось окно предупреждения с заголовком "1С:Предприятие" и текстом "Текст предупреждение!" #704 +- Поддержка режима совместимости 8.2.16 8.2 #698 +- Исправление периодически неверной работы асинхронного выполнения в режиме командной строки #687 #688 + - При первом запуске тесты не выполняются - Сначала выполняются сценарии а потом загружаются фичи #602 #674 + - Спасибо @PashaMak @KrapivinAndrey +- Доработано: В генераторе шагов кнопконажималки добавить установку апострофов, если в строке есть начальные или конечные пробелы #692 #693 +- Простой шаг с параметром для быстрого само-тестирования самой Ванесса-АДД - `Когда Я выполняю служебную фичу "СлужебнаяФича" в VanessaADD в режиме TestClient` #713 +- улучшен механизм использования прямых путей файлов #678 + - Спасибо @DmitriyKorotovskih +- Исправлена ошибка - файловые шаги не загружались #679 + - Спасибо @DmitriyKorotovskih +- Исправлено: Шаг 'И я нажимаю на кнопку с именем "ФормаНастройкаСписка"' в сценарии 'И Я очищаю фильтр на форме списка' падает в типовых формах #671 #672 + - Спасибо @SidnevAV +- Унификация асинхронных вызовов strikeback tdd #670 + - Спасибо @KrapivinAndrey + +- Исправление бага с данными аллюр меток #663 #664 + - Спасибо @SidnevAV +- Исправлено: шаги работы с гиперссылкой не были доступны пользователям #662 + +- Метод ПолучитьАбсолютныйПутьФайлаИзКаталогаПроекта #658 +- Исправлена обработка параметра типа Число из конфигурационного файла #637 #638 + - Спасибо @StupnikovVG + +## Дымовые тесты + +### Тесты командного интерфейса + +- Исправлено: Тест "Командный интерфейс" проверяет не все команды разделов #695 #696 + - Спасибо @SidnevAV +- Поддержка разных локализаций 1С в дымовом тесте "Командный интерфейс" #706 +- Убрано игнорирование панели функций текущего раздела для тестов командного интерфейса #648 + - Спасибо @nixel2007 + +### Другие дымовые + +- Проверка вложенных схем СКД #697 #711 #715 + - Спасибо @SidnevAV +- Подключение тест-клиента с доменной авторизацией и ожиданием ввода пароля при запуске дымовых тестов #680 #685 + - Спасибо @SidnevAV +- Исправление бага с открытием группы в форме элемента справочника в Тесты_ОткрытиеФормКонфигурации #666 #667 + - Спасибо @SidnevAV +- Добавлена установка привилегированного режима при создании элементов в Тесты_ОткрытиеФормКонфигурации #649 + - Спасибо @nixel2007 +- Исправлено: Дымовой тест режима блокировки выдает ошибка на отчетах, хотя их вообще не нужно анализировать #633 #642 +- В дымовом тесте "Проверка режима управления блокировкой данных" исключены ложные срабатывания #606 #643 + - Спасибо @ivan-kovtun @psixya + +- Возможность создания элементов подчинённых справочников, в случае если владелец справочника не справочник (ПВХ, ПО) #347 #668 + - Спасибо @sfaqer @SidnevAV +- Исправлено: Настройки тестов общих модулей были недоступны на сервере приложений и в тонком клиенте #656 #657 + - Спасибо @SidnevAV + +## Плагины + +- Добавлен плагин `ПроверкаОрфографии` для проверки орфографии через YaSpeller #629 #669 + - Спасибо @KrapivinAndrey + +- Исправлено: Невозможно создать элемент справочника с 0-длиной наименования плагином `Данные` #593 #631 + - Спасибо @witales + +## Генерация данных + +- Исправлена загрузка записей регистра накопления из json #639 #640 + - Спасибо @mralexjoin +- Исправлено: Неверно выгружаются предопределенные элементы справочников #659 +- Исправлено редкое падение загрузки макетов для иерархических планов видов характеристик #682 + +## Документация + +- Подсказки-хелперы в "кнопконажималке" +- Описание - как решать проблемы при запуске в командной строке help wanted #344 +- В FAQ добавлен чек-лист создания фичи по самотестированию Ванесса-АДД #714 +- В описании плагина `УтвержденияПроверкаТаблиц` исправлены неточности #650 #651 + - Спасибо @sulfur17 + +- убраны ссылки на коммерческие составляющие продукта #721 + +Подробный список изменений https://github.com/vanessa-opensource/add/milestone/18?closed=1 + # v6.5.0 ## Дымовые тесты From ce79c0922a902843c4e88f438d93b071f272285f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 22:11:45 +0300 Subject: [PATCH 098/421] =?UTF-8?q?=D0=BE=D0=B1=D0=BB=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B8=20=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 103 +++++++++++------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index fdd70a68e..1602c5731 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -1,8 +1,19 @@ -Перем КонтекстЯдра; +#Область ОписаниеПеременных + +Перем КонтекстЯдра; Перем Утверждения; Перем УтвержденияПроверкаТаблиц; +// // Перем Утверждения; +// // Перем СтроковыеУтилиты; +// // Перем ГенераторТестовыхДанных; +// // Перем ЗапросыИзБД; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования -//{ основная процедура для юнит-тестирования xUnitFor1C Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); @@ -26,7 +37,56 @@ КонецПроцедуры +#КонецОбласти + +#Область Тесты + +Процедура ПередЗапускомТеста() Экспорт + НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; +КонецПроцедуры + +Процедура Тест_ПровестиДокумент(ДокументСсылка) Экспорт + + ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); + + ДвиженияДо = ПолучитьДвиженияДокумента(ДокументОбъект); + + ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); + + ДвиженияПосле = ПолучитьДвиженияДокумента(ДокументОбъект); + + Для Каждого КлючИЗначение Из ДвиженияДо Цикл + ТипДвижения = КлючИЗначение.Ключ; + ТаблицаДвиженияДо = КлючИЗначение.Значение; + ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); + КонецЦикла; + +КонецПроцедуры + +Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + Процедура ЗагрузитьНастройки() + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; + КлючТеста = "ПроведениеДокументов"; ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); ПлагинНастройки.Инициализация(КонтекстЯдра); @@ -51,6 +111,8 @@ Возврат Результат; КонецФункции +#КонецОбласти + Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) ПараметрыОтбораДокументов = Настройки; @@ -110,37 +172,6 @@ Возврат Ложь; КонецФункции -//} - -//{ Блок юнит-тестов -Процедура ПередЗапускомТеста() Экспорт - НачатьТранзакцию(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - Если ТранзакцияАктивна() Тогда - ОтменитьТранзакцию(); - КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПровестиДокумент(ДокументСсылка) Экспорт - - ДокументОбъект = ДокументСсылка.ПолучитьОбъект(); - - ДвиженияДо = ПолучитьДвиженияДокумента(ДокументОбъект); - - ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение); - - ДвиженияПосле = ПолучитьДвиженияДокумента(ДокументОбъект); - - Для Каждого КлючИЗначение Из ДвиженияДо Цикл - ТипДвижения = КлючИЗначение.Ключ; - ТаблицаДвиженияДо = КлючИЗначение.Значение; - ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); - УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); - КонецЦикла; - -КонецПроцедуры Функция ПолучитьДвиженияДокумента(ДокументОбъект) @@ -157,8 +188,4 @@ КонецФункции -Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт - КонтекстЯдра.ПропуститьТест(Сообщение); -КонецПроцедуры - -//} \ No newline at end of file +#КонецОбласти From 354a8cf0c37ec59da296a9157f043a2e3199997f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 22:45:37 +0300 Subject: [PATCH 099/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BF.=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=20=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=81=D0=B5?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=BD=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 4 +- .../Ext/ObjectModule.bsl" | 54 +++++++++++++++---- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 9c1a350ac..578669eaa 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -737,7 +737,8 @@ - движения до и после проведения одинаковы, т.е. перепроведение документа не меняет движений Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. -- ключ настройки `ФормированиеПечатныхФорм` +- ключ настройки `ПроведениеДокументов` + - вложенный ключ `Используется` типа Булеов. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов - вложенный массив с ключом `Исключения`, отвечающий за исключение конкретных документов по `имени документа`. - во этой коллекции возможен поиск 2х видов @@ -757,6 +758,7 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` + - вложенный ключ `Используется` типа Булеов. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество объектов\документов, для которых проверяются печатные формы - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключение конкретных печатных форм по `идентификатору печатной формы` - вложенный массив с ключом `ИсключенияПоИмени`, отвечающий за исключение конкретных печатных форм по `имени печатной формы` diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index 1602c5731..4486c21b0 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -3,10 +3,6 @@ Перем КонтекстЯдра; Перем Утверждения; Перем УтвержденияПроверкаТаблиц; -// // Перем Утверждения; -// // Перем СтроковыеУтилиты; -// // Перем ГенераторТестовыхДанных; -// // Перем ЗапросыИзБД; #КонецОбласти @@ -14,6 +10,10 @@ #Область ИнтерфейсТестирования +Функция КлючНастройки() Экспорт + Возврат "ПроведениеДокументов"; +КонецФункции + Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); @@ -27,6 +27,10 @@ ЗагрузитьНастройки(); + Если Не НужноВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + Для Каждого МетаОбъект Из Метаданные.Документы Цикл Если МетаОбъект.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить И ПравоДоступа("Проведение", МетаОбъект) Тогда @@ -65,7 +69,8 @@ ТипДвижения = КлючИЗначение.Ключ; ТаблицаДвиженияДо = КлючИЗначение.Значение; ТаблицаДвиженияПосле = ДвиженияПосле.Получить(ТипДвижения); - УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, "Отличаются движения по регистру " + ТипДвижения); + УтвержденияПроверкаТаблиц.ПроверитьРавенствоТаблиц(ТаблицаДвиженияДо, ТаблицаДвиженияПосле, + "Отличаются движения по регистру " + ТипДвижения); КонецЦикла; КонецПроцедуры @@ -87,30 +92,57 @@ Возврат; КонецЕсли; - КлючТеста = "ПроведениеДокументов"; ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); ПлагинНастройки.Инициализация(КонтекстЯдра); + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); - Настройки = ПлагинНастройки.ПолучитьНастройку(КлючТеста); - If ТипЗнч(Настройки) <> Тип("Структура") Then + Если ТипЗнч(Настройки) <> Тип("Структура") Then Настройки = НастройкиПоУмолчанию; Иначе ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); Настройки = НастройкиПоУмолчанию; - EndIf; + КонецЕсли; КонецПроцедуры Функция НастройкиПоУмолчанию() Результат = Новый Структура; + Результат.Вставить("Используется", Истина); Результат.Вставить("КоличествоДокументов", 10); Результат.Вставить("Исключения", Новый Массив); Возврат Результат; КонецФункции +Функция НужноВыполнятьТест(КонтекстЯдра) + + ЗагрузитьНастройки(); + //Настройки(КонтекстЯдра, ПутьНастройки); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + //ИмяТеста = ИмяТеста(); + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + //И Настройки.Свойство("Параметры") + //И Настройки.Параметры.Свойство(ИмяТеста) Тогда + + //ВыполнятьТест = Настройки.Параметры[ИмяТеста]; + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + #КонецОбласти Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) @@ -188,4 +220,8 @@ КонецФункции +Функция ИмяТеста() + Возврат Метаданные().Имя; +КонецФункции + #КонецОбласти From 3c4ba043abc9a2ed3f85e8524c9d8878be29b906 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 22:55:46 +0300 Subject: [PATCH 100/421] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=86=D0=B5=D0=BB=D0=B8=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20+=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=82=D0=B8=20=D0=BC=D0=BE=D0=B4=D1=83=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + убрал заполнение настроек, если они ранее уже заполнены --- tests/smoke/readme.md | 8 +- tests/smoke/smoke.bsp.json | 2 + tests/smoke/smoke.example.json | 2 + .../Ext/ObjectModule.bsl" | 148 ++++++++++++------ tools/JSON/xUnitParams.json | 2 + 5 files changed, 114 insertions(+), 48 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 578669eaa..3cc37e917 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -738,14 +738,14 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ПроведениеДокументов` - - вложенный ключ `Используется` типа Булеов. Отвечает за включение\выключение теста + - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов - вложенный массив с ключом `Исключения`, отвечающий за исключение конкретных документов по `имени документа`. - во этой коллекции возможен поиск 2х видов - возможен поиск по полному наименованию - `СчетФактура` - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` -- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 122](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка настройки](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L122) ## Тесты печатных форм для БСП-конфигураций @@ -758,7 +758,7 @@ Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. - ключ настройки `ФормированиеПечатныхФорм` - - вложенный ключ `Используется` типа Булеов. Отвечает за включение\выключение теста + - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество объектов\документов, для которых проверяются печатные формы - вложенный массив с ключом `ИсключенияПоИдентификатору`, отвечающий за исключение конкретных печатных форм по `идентификатору печатной формы` - вложенный массив с ключом `ИсключенияПоИмени`, отвечающий за исключение конкретных печатных форм по `имени печатной формы` @@ -767,7 +767,7 @@ - возможен поиск по полному наименованию - `СчетФактура` - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` -- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 126](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L126) +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка настройки](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L126) ## Проверка чтения метаданных обычными пользователями, без полных прав diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index e60d18a6f..4c1cf0791 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -80,6 +80,7 @@ }, "ПроведениеДокументов":{ + "Используется" : true, "КоличествоДокументов" : 5, "Исключения" : [ "_ДемоСписаниеТоваров*", @@ -88,6 +89,7 @@ }, "ФормированиеПечатныхФорм":{ + "Используется" : true, "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы", diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index bcc46870d..3fcc8f0fe 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -120,6 +120,7 @@ }, "ПроведениеДокументов":{ + "Используется" : true, "КоличествоДокументов" : 5, "Исключения" : [ "_ДемоСписаниеТоваров*", @@ -128,6 +129,7 @@ }, "ФормированиеПечатныхФорм":{ + "Используется" : true, "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ "ИдентификаторПечатнойФормы", diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index eb3db7850..89511a8a0 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -1,7 +1,18 @@ -Перем КонтекстЯдра; +#Область ОписаниеПеременных + +Перем КонтекстЯдра; Перем Утверждения; -//{ основная процедура для юнит-тестирования xUnitFor1C +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + Возврат "ФормированиеПечатныхФорм"; +КонецФункции + Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); @@ -14,6 +25,10 @@ ЗагрузитьНастройки(); + Если Не НужноВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + Для Каждого МетаОбъект Из Метаданные.Документы Цикл Если ПравоДоступа("Просмотр", МетаОбъект) Тогда ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект); @@ -22,14 +37,66 @@ КонецПроцедуры +#КонецОбласти + +#Область Тесты + +Процедура ПередЗапускомТеста() Экспорт + //НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + //Если ТранзакцияАктивна() Тогда + // ОтменитьТранзакцию(); + //КонецЕсли; +КонецПроцедуры + +Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт + + ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); + Если ДокументыДляПечати.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Для Каждого ДокСсылка Из ДокументыДляПечати Цикл + НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; + КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); + + Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); + Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); + + Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл + ТабДок = СтрокаТаблицы.ТабличныйДокумент; + Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); + Утверждения.Проверить(ТабДок.ВысотаТаблицы > 0, НачалоСообщенияОбОшибке + "Ожидалось, что высота полученного табличного документа будет больше 0!"); + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + Процедура ЗагрузитьНастройки() - КлючТеста = "ФормированиеПечатныхФорм"; + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); ПлагинНастройки.Инициализация(КонтекстЯдра); НастройкиПоУмолчанию = НастройкиПоУмолчанию(); - Настройки = ПлагинНастройки.ПолучитьНастройку(КлючТеста); + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); Если ТипЗнч(Настройки) <> Тип("Структура") Then Настройки = НастройкиПоУмолчанию; Иначе @@ -43,6 +110,7 @@ Функция НастройкиПоУмолчанию() Результат = Новый Структура; + Результат.Вставить("Используется", Истина); Результат.Вставить("КоличествоДокументов", 1); Результат.Вставить("ИсключенияПоИдентификатору", Новый Массив); Результат.Вставить("ИсключенияПоИмени", Новый Массив); @@ -50,9 +118,35 @@ Возврат Результат; КонецФункции -//} -//{ Блок юнит-тестов +Функция НужноВыполнятьТест(КонтекстЯдра) + + ЗагрузитьНастройки(); + //Настройки(КонтекстЯдра, ПутьНастройки); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + //ИмяТеста = ИмяТеста(); + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + //И Настройки.Свойство("Параметры") + //И Настройки.Параметры.Свойство(ИмяТеста) Тогда + + //ВыполнятьТест = Настройки.Параметры[ИмяТеста]; + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти + Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) // TODO реализовать возможность указания исключаемых объектов, а то у некоторых документов в менеджере нет процедуры ДобавитьКомандыПечати() @@ -127,40 +221,6 @@ Возврат Ложь; КонецФункции -Процедура ПередЗапускомТеста() Экспорт - //НачатьТранзакцию(); -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - //Если ТранзакцияАктивна() Тогда - // ОтменитьТранзакцию(); - //КонецЕсли; -КонецПроцедуры - -Процедура Тест_ПолучитьПечатнуюФорму(МетаИмя, КомандаПечати) Экспорт - - ДокументыДляПечати = ПолучитьДокументыДляПечати(Метаданные.Документы[МетаИмя], КомандаПечати.УсловияВидимости); - Если ДокументыДляПечати.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Для Каждого ДокСсылка Из ДокументыДляПечати Цикл - НачалоСообщенияОбОшибке = "Печать документа " + ДокСсылка + ": "; - КоллекцияПечатныхФорм = ПолучитьКоллекциюПечатныхФорм(КомандаПечати, ДокСсылка); - - Утверждения.Проверить(ТипЗнч(КоллекцияПечатныхФорм) = Тип("ТаблицаЗначений"), НачалоСообщенияОбОшибке + "Ожидалось, что КоллекцияПечатныхФорм будет иметь тип Таблица значений!"); - Утверждения.Проверить(КоллекцияПечатныхФорм.Количество() > 0, НачалоСообщенияОбОшибке + "Ожидалось, что количество элементов в КоллекцияПечатныхФорм будет больше 0!"); - - Для Каждого СтрокаТаблицы Из КоллекцияПечатныхФорм Цикл - ТабДок = СтрокаТаблицы.ТабличныйДокумент; - Утверждения.Проверить(ТабДок <> Неопределено, НачалоСообщенияОбОшибке + "Ожидалось, что будет получен табличный документ, а получено значение <Неопределено>!"); - Утверждения.Проверить(ТабДок.ВысотаТаблицы > 0, НачалоСообщенияОбОшибке + "Ожидалось, что высота полученного табличного документа будет больше 0!"); - КонецЦикла; - - КонецЦикла; - -КонецПроцедуры - Функция ПолучитьДокументыДляПечати(МетаОбъект, УсловияВидимости = Неопределено) // здесь можно указать количество документов, для которых нужно проверить каждую форму @@ -347,8 +407,8 @@ КонецФункции -Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт - КонтекстЯдра.ПропуститьТест(Сообщение); -КонецПроцедуры +Функция ИмяТеста() + Возврат Метаданные().Имя; +КонецФункции -//} \ No newline at end of file +#КонецОбласти diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index aaa0d95f9..78a44d7f9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -135,6 +135,7 @@ }, "ПроведениеДокументов": { + "Используется" : true, "КоличествоДокументов" : 1, "Исключения" : [ "_ДемоСписаниеТоваров*", @@ -143,6 +144,7 @@ }, "ФормированиеПечатныхФорм": { + "Используется" : true, "КоличествоДокументов" : 2, "ИсключенияПоИдентификатору" : [ "Office", From dbdfa0e2360549f366b8abc48a645f9b12475ab3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 23:14:09 +0300 Subject: [PATCH 101/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B0=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20json-?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2=20+=20=D0=BE=D0=B1=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B8=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\276\320\262\320\241\320\232\320\224.xml" | 35 ++++++- .../Ext/ObjectModule.bsl" | 91 +++++++++++++++++-- 2 files changed, 117 insertions(+), 9 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" index 5811a7584..e4ed4676c 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" @@ -23,6 +23,39 @@ - + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" index e04266c61..ae642e622 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" @@ -1,24 +1,44 @@ -Перем КонтекстЯдра; +#Область ОписаниеПеременных + +Перем КонтекстЯдра; Перем Утверждения; -#Область Основные_процедуры_теста +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + Возврат "МакетыСКД"; +КонецФункции Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); КонецПроцедуры Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; - + + ЗагрузитьНастройки(); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + ДобавитьОбщиеМакеты(НаборТестов); ДобавитьМакетМетаданных(НаборТестов); КонецПроцедуры -#Область События_юнит_тестирования +#КонецОбласти + +#Область Тесты Процедура ПередЗапускомТеста() Экспорт @@ -28,8 +48,6 @@ КонецПроцедуры -#КонецОбласти - Процедура ТестДолжен_ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета) Экспорт Менеджер = МенеджерОбьектаПоИмени(ИмяМенеджера); @@ -70,7 +88,64 @@ #КонецОбласти -#Область Служебные_функции_и_процедуры +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + +Процедура ЗагрузитьНастройки() + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + КонецЕсли; +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("КоличествоДокументов", 10); + Результат.Вставить("Исключения", Новый Массив); + + Возврат Результат; +КонецФункции + +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти Процедура ДобавитьОбщиеМакеты(НаборТестов) @@ -239,4 +314,4 @@ Возврат "ОбщиеМакеты"; КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти From be2837d9c51d487c657cd8d37fa7c4b03934a153 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 23:14:47 +0300 Subject: [PATCH 102/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88=D0=B8=D0=B5=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index 4486c21b0..9d8729950 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -27,7 +27,7 @@ ЗагрузитьНастройки(); - Если Не НужноВыполнятьТест(КонтекстЯдра) Тогда + Если Не НужноВыполнятьТест() Тогда Возврат; КонецЕсли; @@ -117,25 +117,20 @@ Возврат Результат; КонецФункции -Функция НужноВыполнятьТест(КонтекстЯдра) +Функция НужноВыполнятьТест() ЗагрузитьНастройки(); - //Настройки(КонтекстЯдра, ПутьНастройки); Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат Истина; КонецЕсли; - //ИмяТеста = ИмяТеста(); КлючНастройки = КлючНастройки(); ВыполнятьТест = Истина; Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется", ВыполнятьТест) Тогда - //И Настройки.Свойство("Параметры") - //И Настройки.Параметры.Свойство(ИмяТеста) Тогда - //ВыполнятьТест = Настройки.Параметры[ИмяТеста]; Возврат ВыполнятьТест = Истина; КонецЕсли; @@ -147,8 +142,6 @@ Процедура ДобавитьТестыДляДокумента(НаборТестов, МетаОбъект) - ПараметрыОтбораДокументов = Настройки; - Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 @@ -164,7 +157,7 @@ Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВЫБРАТЬ ПЕРВЫЕ 1", - "ВЫБРАТЬ ПЕРВЫЕ " + Формат(ПараметрыОтбораДокументов.КоличествоДокументов, "ЧГ=") + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоДокументов, "ЧГ=") ); РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда From 4580e6201671f6a660813f3888102c5b3e0b7699 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 23:35:50 +0300 Subject: [PATCH 103/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B0=D0=B7=D0=BD=D1=8B=D1=85?= =?UTF-8?q?=20=D0=B2=D0=B8=D0=B4=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D0=B4?= =?UTF-8?q?=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BC=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=9A=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 19 +++++++- tests/smoke/smoke.bsp.json | 15 +++++++ tests/smoke/smoke.example.json | 15 +++++++ .../Ext/ObjectModule.bsl" | 45 ++++++++++++++++++- tools/JSON/xUnitParams.json | 15 +++++++ 5 files changed, 105 insertions(+), 4 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 3cc37e917..9b132b681 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -725,6 +725,19 @@ Выполняется синтаксический контроль схемы и запроса СКД. +Есть возможность настройки с помощью json-файла настройки. + +- ключ настройки `МакетыСКД` + - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + - вложенный массив с ключом `ИсключенияОбщихМакетов`, отвечающий за исключение общих макетов по `имени общего макета` + - вложенный массив с ключом `ИсключенияПоИмениМетаданных`, отвечающий за исключение конкретных метаданных по `имени метаданного` + - вложенный массив с ключом `ИсключенияПоИмениМакетов`, отвечающий за исключение конкретных макетов метаданных по `имени макета`. + - во всех коллекциях возможен поиск 2х видов + - возможен поиск по полному наименованию - `СчетФактура` + - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` + +- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка настройки](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L151) + ## Тесты проведения документов @@ -736,7 +749,8 @@ - документ перепроводится - движения до и после проведения одинаковы, т.е. перепроведение документа не меняет движений -Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. +Есть возможность настройки проверяемых документов с помощью json-файла настройки. + - ключ настройки `ПроведениеДокументов` - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество отбираемых документов @@ -756,7 +770,8 @@ - печатная форма (табличный документ) формируется - содержит по крайней мере одну строку (т.е. высота табличного документа > 0) -Есть возможность настройки количества проверяемых документов с помощью файла конфигурации. +Есть возможность настройки проверяемых печатных форм с помощью json-файла настройки. + - ключ настройки `ФормированиеПечатныхФорм` - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста - вложенный ключ `КоличествоДокументов`, отвечающий за количество объектов\документов, для которых проверяются печатные формы diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 4c1cf0791..39724f597 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -106,5 +106,20 @@ "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] + }, + + "МакетыСКД" : { + "Используется" : true, + "ИсключенияОбщихМакетов" : [ + "ПолучениеДереваОбработчиковОбновления*" + ], + "ИсключенияПоИмениМетаданных" : [ + "ИнтерактивноеИзменениеВыгрузки*", + "ПереходНа*" + ], + "ИсключенияПоИмениМакетов" : [ + "СхемаКомпоновкиДанных", + "*Макет*" + ] } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 3fcc8f0fe..eca7e873b 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -146,5 +146,20 @@ "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] + }, + + "МакетыСКД" : { + "Используется" : true, + "ИсключенияОбщихМакетов" : [ + "ПолучениеДереваОбработчиковОбновления*" + ], + "ИсключенияПоИмениМетаданных" : [ + "ИнтерактивноеИзменениеВыгрузки*", + "ПереходНа*" + ], + "ИсключенияПоИмениМакетов" : [ + "СхемаКомпоновкиДанных", + "*Макет*" + ] } } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" index ae642e622..4a788dd5e 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" @@ -118,8 +118,9 @@ Результат = Новый Структура; Результат.Вставить("Используется", Истина); - Результат.Вставить("КоличествоДокументов", 10); - Результат.Вставить("Исключения", Новый Массив); + Результат.Вставить("ИсключенияОбщихМакетов", Новый Массив); + Результат.Вставить("ИсключенияПоИмениМетаданных", Новый Массив); + Результат.Вставить("ИсключенияПоИмениМакетов", Новый Массив); Возврат Результат; КонецФункции @@ -156,6 +157,12 @@ Если ОбщийМакет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда Продолжить; КонецЕсли; + Сообщение = "Пропускаем из-за исключения по имени общего макета - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекстОбщиеМакеты(), ОбщийМакет.Имя); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ОбщийМакет.Имя, Настройки.ИсключенияОбщихМакетов, + Сообщение, НаборТестов, мНаборов) Тогда + Продолжить; + КонецЕсли; мНаборов.Добавить( Новый Структура("ИмяПроцедуры, Параметры, Представление", @@ -193,11 +200,25 @@ ИмяМенеджера = ВРЕГ(ПроверяемыйОбъект); + Сообщение = "Пропускаем из-за исключения по имени метаданного - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), "Макеты", ТекОбъект.Имя); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекОбъект.Имя, Настройки.ИсключенияПоИмениМетаданных, + Сообщение, НаборТестов, мНаборов) Тогда + Продолжить; + КонецЕсли; + Для Каждого ТекДанныеМакета Из ТекОбъект.Макеты Цикл Если ТекДанныеМакета.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда Продолжить; КонецЕсли; + + Сообщение = "Пропускаем из-за исключения по имени макета - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекОбъект.Имя, ТекДанныеМакета.Имя); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекДанныеМакета.Имя, Настройки.ИсключенияПоИмениМакетов, + Сообщение, НаборТестов, мНаборов) Тогда + Продолжить; + КонецЕсли; мНаборов.Добавить( Новый Структура("ИмяПроцедуры, Параметры, Представление", @@ -314,4 +335,24 @@ Возврат "ОбщиеМакеты"; КонецФункции +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов, Знач Наборы) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + //НаборТестов.Добавить("Тест_ПропуститьПечатнуюФорму", ПараметрыТеста, Сообщение); + Наборы.Добавить( + Новый Структура("ИмяПроцедуры, Параметры, Представление", + "Тест_ПропуститьПечатнуюФорму", + ПараметрыТеста, + Сообщение)); + + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + #КонецОбласти diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 78a44d7f9..b945ee7a5 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -160,5 +160,20 @@ "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] + }, + + "МакетыСКД" : { + "Используется" : true, + "ИсключенияОбщихМакетов" : [ + "ПолучениеДереваОбработчиковОбновления*" + ], + "ИсключенияПоИмениМетаданных" : [ + "ИнтерактивноеИзменениеВыгрузки*", + "ПереходНа*" + ], + "ИсключенияПоИмениМакетов" : [ + "СхемаКомпоновкиДанных", + "*Макет*" + ] } } \ No newline at end of file From 66ad5d16ae51f77614841a1b1e9b4c2d610532e8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 9 Jul 2020 23:39:15 +0300 Subject: [PATCH 104/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=9F=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/history.MD | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/history.MD b/doc/history.MD index c9127d79e..6286c2dca 100644 --- a/doc/history.MD +++ b/doc/history.MD @@ -5,6 +5,10 @@ - Новые тесты проведения документов и проверки их движений #768 + Новые тесты печатных форм, в т.ч. и внешних #768 ++ Настройки для дымовых тестов макетов СКД #769 + ++ настройка включения\отключения для 3х видов дымовых #769 + ## TDD - https://github.com/vanessa-opensource/add/pull/768 From 83e9e68c354cb078af17bc7975519fefa9dd6c00 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Jul 2020 18:25:52 +0300 Subject: [PATCH 105/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=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 --- tasks/vanessa.os | 31 +++---------------------------- tools/JSON/VBParams8310UF.json | 32 +++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 39 deletions(-) diff --git a/tasks/vanessa.os b/tasks/vanessa.os index 39c0d11c4..789826d8b 100644 --- a/tasks/vanessa.os +++ b/tasks/vanessa.os @@ -40,7 +40,6 @@ Аргументы = Новый Структура("Команда, ЗначенияПараметров", "all", Новый Соответствие); КонецЕсли; - СтрокаЗапуска = "runner vanessa"; Если Аргументы.ЗначенияПараметров.Получить("--tag") <> Неопределено Тогда @@ -73,36 +72,12 @@ Результат = ЗапуститьИПодождать(СтрокаЗапуска, БезОжидания); Если Результат.КодВозврата <> 0 Тогда - Лог.Ошибка("Код возврат "+Результат.КодВозврата); - ВызватьИсключение "Неверный код возврата "+ Результат.КодВозврата; + Лог.Ошибка("Код возврат " +Результат.КодВозврата); + ВызватьИсключение "Неверный код возврата " + Результат.КодВозврата; КонецЕсли; КонецПроцедуры -Функция ПрочитатьФайлИнформации(Знач ПутьКФайлу) - - Текст = ""; - Файл = Новый Файл(ПутьКФайлу); - Если Файл.Существует() Тогда - Чтение = Новый ЧтениеТекста(Файл.ПолноеИмя); - Текст = Чтение.Прочитать(); - Чтение.Закрыть(); - Иначе - Текст = "Информации об ошибке нет"; - КонецЕсли; - - Лог.Отладка("файл информации: - |"+Текст); - Возврат Текст; - -КонецФункции - - -Функция ЗначениеПоУмолчанию(value, defValue="") - res = ?( ЗначениеЗаполнено(value), value, defValue); - Возврат res; -КонецФункции - Функция ЗапуститьИПодождать(СтрокаЗапуска, БезОжидания = Ложь) ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.УстановитьСтроку(); @@ -174,4 +149,4 @@ КонецФункции -ИнициализацияВанесса(); \ No newline at end of file +ИнициализацияВанесса(); diff --git a/tools/JSON/VBParams8310UF.json b/tools/JSON/VBParams8310UF.json index 719eb2d39..6e13fef23 100644 --- a/tools/JSON/VBParams8310UF.json +++ b/tools/JSON/VBParams8310UF.json @@ -19,7 +19,7 @@ "ДопПараметры": "/NАдмин", "ТипКлиента": "Тонкий", "ИмяКомпьютера": "localhost", - "ПортЗапускаТестКлиента": "48000", + "ПортЗапускаТестКлиента": "48050", "АктивизироватьСтроку": "Ложь" } ], @@ -29,25 +29,35 @@ "ЗакрытьTestClientПослеЗапускаСценариев": true, "DebugLog": false, "ПриравниватьPendingКFailed": false, + "ВыводитьВЛогВыполнениеШагов": true, - "ДелатьЛогВыполненияСценариевВЖР": "Истина", - "ДелатьОтчетВФорматеАллюр": "Истина", - "ДелатьОтчетВФорматеjUnit": "Истина", - "ДелатьОтчетВФорматеCucumberJson": "Истина", - "ДелатьЛогВыполненияСценариевВТекстовыйФайл": "Истина", - "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": "Истина", + "ДелатьЛогВыполненияСценариевВЖР": true, + + "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/./ServiceBases/log.txt", + + "ДелатьОтчетВФорматеАллюр": true, + "СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки": true, "КаталогOutputAllure": "$workspaceRoot/./ServiceBases/allurereport", "КаталогOutputAllureБазовый": "$workspaceRoot/./ServiceBases/allurereport", + + "ДелатьОтчетВФорматеjUnit": true, "КаталогOutputjUnit": "$workspaceRoot/./ServiceBases/junitreport", + + "ДелатьОтчетВФорматеCucumberJson": false, "КаталогOutputCucumberJson": "$workspaceRoot/./ServiceBases/cucumber", + "КаталогВнешнихОбработокEDT": "./features/Drafts/step_definitions/bin", - "ДелатьСкриншотПриВозникновенииОшибки": "Истина", + + "ДелатьСкриншотПриВозникновенииОшибки": false, "КаталогOutputСкриншоты": "$workspaceRoot/./ServiceBases/ScreenShots", - "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/./ServiceBases/log.txt", "КомандаСделатьСкриншот": "\"C:\\Program Files (x86)\\IrfanView\\i_view32.exe\" /capture=1 /convert=", - "ВыгружатьСтатусВыполненияСценариевВФайл": "Истина", + + "ВыгружатьСтатусВыполненияСценариевВФайл": true, "ПутьКФайлуДляВыгрузкиСтатусаВыполненияСценариев": "$workspaceRoot/./ServiceBases/BuildStatus.log", - "ДобавлятьКИмениСценарияУсловияВыгрузки": "Истина", + + "ДобавлятьКИмениСценарияУсловияВыгрузки": true, + "СписокТеговИсключение": [ "IgnoreOnCIMainBuild", "IgnoreOn8310", From 46f901adcffc12f213dc5a9bd0c2dce9aa0a8c73 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Jul 2020 18:26:15 +0300 Subject: [PATCH 106/421] =?UTF-8?q?=D1=80=D0=B0=D0=B7=D1=80=D0=B5=D1=88?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BF=D1=83=D1=81=D1=82=D1=8B=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0=D1=82=D1=8B=20Junit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 5accf5f26..24dd92c94 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -341,8 +341,8 @@ tasks["report"] = { echo "allure status : ${e}" currentBuild.result = 'UNSTABLE' } - junit 'build/ServiceBases/junitreport/**/*.xml' - //junit 'build/ServiceBases/junitreport/*.xml' + junit allowEmptyResults: true, testResults: 'build/ServiceBases/junitreport/**/*.xml' + //junit allowEmptyResults: true, testResults: 'build/ServiceBases/junitreport/*.xml' //cucumber fileIncludePattern: '**/*.json', jsonReportDirectory: 'build/ServiceBases/cucumber' try{ From 713cefc0a0a59dbbc2496d289f39ea1dc589a326 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Jul 2020 18:42:01 +0300 Subject: [PATCH 107/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=D0=BE=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/env.json.file.build | 2 +- tools/JSON/env.json.server.build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/JSON/env.json.file.build b/tools/JSON/env.json.file.build index d5f822485..a28785933 100644 --- a/tools/JSON/env.json.file.build +++ b/tools/JSON/env.json.file.build @@ -4,12 +4,12 @@ "--ibconnection": "/F./build/ib", "--db-user": "", "--db-pwd": "", + "--workspace": ".", "--v8version": "8.3.10", "--additional": "/DisplayAllFunctions /Lru /iTaxi" }, "vanessa": { "--vanessasettings": "./tools/JSON/VBParams.json", - "--workspace": "./%1/.", "--pathvanessa": "./%1bddRunner.epf", "--additional": "/DisplayAllFunctions /Lru /iTaxi" }, diff --git a/tools/JSON/env.json.server.build b/tools/JSON/env.json.server.build index c81b9a23f..bc3ab5b52 100644 --- a/tools/JSON/env.json.server.build +++ b/tools/JSON/env.json.server.build @@ -4,12 +4,12 @@ "--ibconnection":"/Sserveronec.service.consul/trade", "--db-user":"", "--db-pwd":"", + "--workspace":".", "--v8version":"8.3.10", "--additional":"/DisplayAllFunctions /Lru /iTaxi" }, "vanessa":{ "--vanessasettings":"./tools/JSON/VBParams.json", - "--workspace":"./%1/.", "--pathvanessa":"./%1bddRunner.epf", "--additional":"/DisplayAllFunctions /Lru /iTaxi" }, From 655ef079416480d3b7a30ce238148c8b1f2514cd Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Jul 2020 18:45:49 +0300 Subject: [PATCH 108/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=B4=20=D0=B2=D0=B8=D0=B4=D0=B5=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 24dd92c94..74a852096 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -74,7 +74,7 @@ builds.each{ } tasks["behavior video write"] = { - node ("video") { + // node ("video") { stage("behavior video") { // ws(env.WORKSPACE.replaceAll("%", "_").replaceAll(/(-[^-]+$)/, "")) // { @@ -103,7 +103,7 @@ tasks["behavior video write"] = { // } } - } + // } } tasks["buildRelease"] = { node("slave"){ From 862f968eab1d4d325bc86d62b8e7420918b6dbd2 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Fri, 14 Aug 2020 17:16:26 +0500 Subject: [PATCH 109/421] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B8=D0=B2=D0=B5?= =?UTF-8?q?=D0=B4=D0=B5=D0=BD=D1=8B=20=D0=BA=20=D0=BD=D0=B8=D0=B6=D0=BD?= =?UTF-8?q?=D0=B5=D0=BC=D1=83=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=83.=20(#771)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Поиск тоже надо вести в нижнем регистре --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8ece2835c..72b2d3d14 100644 --- "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -271,7 +271,7 @@ Иначе - Результат = (СловарьИсключений.Найти(Слово) <> Неопределено); + Результат = (СловарьИсключений.Найти(НРег(Слово)) <> Неопределено); КонецЕсли; From 7ec954f45ddc53f7596eed19ee1d3f0c1a8fd099 Mon Sep 17 00:00:00 2001 From: BarmashovAndrey <69312931+BarmashovAndrey@users.noreply.github.com> Date: Sat, 10 Oct 2020 17:32:14 +0300 Subject: [PATCH 110/421] Update Module.bsl (#776) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ошибка в журнале регистрации при запуске теста "Тесты_ОткрытиеФормКонфигурации" #772 --- .../Ext/Form/Module.bsl" | 32 ++++++++----------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3c251767b..1500aa6c1 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1109,30 +1109,24 @@ &НаСервереБезКонтекста Процедура УдалитьСозданныеОбъекты(СоздаваемыйЭлемент) - Если СоздаваемыйЭлемент.Метаданные().Владельцы.Количество() > 0 - И Не СоздаваемыйЭлемент.Владелец.Пустая() Тогда - - Попытка - СозданныйОбъектВладелец = СоздаваемыйЭлемент.Владелец.ПолучитьОбъект(); - СозданныйОбъектВладелец.Удалить(); - Исключение - - ИнформацияОбОшибке = ИнформацияОбОшибке(); - ЗаписьЖурналаРегистрации( - НСтр("ru='Тесты_ОткрытиеФормКонфигурации'", "ru"), - УровеньЖурналаРегистрации.Ошибка, - СозданныйОбъектВладелец, - СоздаваемыйЭлемент.Владелец, - ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); - ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - - КонецПопытки; - + Если СоздаваемыйЭлемент = Неопределено Тогда + Возврат; КонецЕсли; Попытка СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); + + Если ЗначениеЗаполнено(СоздаваемыйЭлемент.Владелец) Тогда + + Если СоздаваемыйЭлемент.Метаданные().Владельцы.Количество() > 0 + И Не СоздаваемыйЭлемент.Владелец.Пустая() Тогда + УдалитьСозданныеОбъекты(СозданныйОбъект.Владелец); + Возврат; + КонецЕсли; + + КонецЕсли; + СозданныйОбъект.Удалить(); Исключение From 784c37b024103051f3e2022e82d34a4bd8ac5a4d Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Sat, 10 Oct 2020 19:34:13 +0500 Subject: [PATCH 111/421] =?UTF-8?q?feat:=20=D0=A0=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=20=D1=81=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=BC=D0=B8=20=D0=BE=D0=BA=D1=80=D1=83=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20(#770)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Заготовка плагина * feat: Чтение переменных * test: Заготовка для тестов * test: Прогон тестов * feat: Работа через плагин * fix: Обработка пустой Переменной окружения * fix: Вдруг в значении переменной будет "равно" --- .../Ext/Form/Module.bsl" | 24 +++ .../Ext/Form/Module.bsl" | 59 +++--- ...0\266\320\265\320\275\320\270\321\217.xml" | 30 +++ .../Ext/ObjectModule.bsl" | 18 ++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 +++ .../Ext/Form.xml" | 14 ++ .../Ext/Form/Module.bsl" | 184 ++++++++++++++++++ ...0\266\320\265\320\275\320\270\321\217.xml" | 30 +++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 +++ .../Ext/Form.xml" | 12 ++ .../Ext/Form/Module.bsl" | 83 ++++++++ 11 files changed, 465 insertions(+), 33 deletions(-) create mode 100644 "plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" create mode 100644 "plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" create mode 100644 "plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index 4e68d25a6..7cf723ec0 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -996,6 +996,30 @@ КонецПроцедуры +&НаКлиенте +Процедура смв_УдалитьФайлы(ОписаниеОповещенияОЗавершении, Путь, Маска = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + НачатьУдалениеФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьУдалениеФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска)"); + + Иначе + + УдалитьФайлы(Путь, Маска); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + &НаКлиенте Процедура смв_КаталогВременныхФайлов(ОписаниеОповещенияОЗавершении) Экспорт diff --git "a/features/libraries/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/step_definitions/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265_\320\276\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/step_definitions/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265_\320\276\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1a10cec31..c44c483b8 100644 --- "a/features/libraries/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/step_definitions/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265_\320\276\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/step_definitions/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265_\320\276\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,6 +13,9 @@ // Структура, в которой можно хранить служебные данные между запусками сценариев. Существует, пока открыта форма Vanessa-ADD. Перем КонтекстСохраняемый Экспорт; +&НаКлиенте +Перем ПеременныеОкружения; + &НаКлиенте // Функция экспортирует список шагов, которые реализованы в данной внешней обработке. Функция ПолучитьСписокТестов(КонтекстФреймворкаBDD) Экспорт @@ -44,6 +47,19 @@ Возврат ПолучитьМакетСервер(ИмяМакета); КонецФункции +&НаКлиенте +Функция ПеременныеОкружения() + + Если ПеременныеОкружения = Неопределено Тогда + + ПеременныеОкружения = Ванесса.Плагин("ПеременныеОкружения"); + + КонецЕсли; + + Возврат ПеременныеОкружения; + +КонецФункции + #КонецОбласти @@ -73,21 +89,28 @@ //Когда Я запоминаю переменную окружения "PATH" в переменную "МояПеременнаяСреды" //@ЯЗапоминаюПеременнуюОкруженияВПеременную(Парам01,Парам02) Процедура ЯЗапоминаюПеременнуюОкруженияВПеременную(ИмяПеременнойОкружения, ИмяПеременнойКонтекста) Экспорт - Ванесса.СохранитьЗначениеВКонтекст(ИмяПеременнойКонтекста, ПеременныеОкружения(ИмяПеременнойОкружения)); + + Переменная = ПеременныеОкружения().ЗначениеПеременнойОкружения(ИмяПеременнойОкружения); + Ванесса.СохранитьЗначениеВКонтекст(ИмяПеременнойКонтекста, Переменная); + КонецПроцедуры &НаКлиенте //Когда Я запоминаю все переменные окружения в переменную "МоиПеременныеСреды" //@ЯЗапоминаюВсеПеременныеОкруженияВПеременную(Парам01) Процедура ЯЗапоминаюВсеПеременныеОкруженияВПеременную(ИмяПеременнойКонтекста) Экспорт - Ванесса.СохранитьЗначениеВКонтекст(ИмяПеременнойКонтекста, ПеременныеОкружения()); + + Ванесса.СохранитьЗначениеВКонтекст(ИмяПеременнойКонтекста, ПеременныеОкружения().ВсеПеременныеОкружения()); + КонецПроцедуры &НаКлиенте //И я читаю переменные окружения //@ЯЧитаюПеременныеОкружения() Процедура ЯЧитаюПеременныеОкружения() Экспорт - Ванесса.СохранитьЗначениеВКонтекст("ПеременныеОкружения", ПеременныеОкружения()); + + Ванесса.СохранитьЗначениеВКонтекст("ПеременныеОкружения", ПеременныеОкружения().ВсеПеременныеОкружения()); + КонецПроцедуры &НаКлиенте @@ -97,33 +120,3 @@ //Ванесса.ПосмотретьЗначение(Парам01,Истина); ВызватьИсключение "Не реализовано."; КонецПроцедуры - -&НаКлиенте -Функция ПеременныеОкружения(ИмяПеременнойОкружения = Неопределено) Экспорт - ПеременныеОкружения = Новый Соответствие(); - - ВременныйФайл = ПолучитьИмяВременногоФайла(); - КомандаСистемы("SET > """ + ВременныйФайл + """"); - - Текст = Новый ЧтениеТекста; - Текст.Открыть(ВременныйФайл); - Стр = Текст.ПрочитатьСтроку(); - - ИмяПеременнойОкруженияВРег = ВРег(ИмяПеременнойОкружения); - Пока Стр <> Неопределено Цикл - СоставСтроки = Ванесса.РазложитьСтрокуВМассивПодстрок(Стр, "="); - ИмяНайденнойПеременной = СоставСтроки[0]; - ЗначениеПеременнойОкружения = СоставСтроки[1]; - - Если ЗначениеЗаполнено(ИмяПеременнойОкружения) И ВРег(ИмяНайденнойПеременной) = ИмяПеременнойОкруженияВРег Тогда - Возврат ЗначениеПеременнойОкружения; - КонецЕсли; - - ПеременныеОкружения.Вставить(ИмяНайденнойПеременной, СоставСтроки[1]); - Стр = Текст.ПрочитатьСтроку(); - КонецЦикла; - - Текст.Закрыть(); - - Возврат ПеременныеОкружения; -КонецФункции diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..a26c2b937 --- /dev/null +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 3b680f02-9b75-44c2-8590-1741f742db6a + + + 77ed8537-5340-4da0-8beb-76079f7351fe + 103c31a5-7006-47ca-8551-b28598154fe1 + + + + ПеременныеОкружения + + + ru + Переменные окружения + + + + ExternalDataProcessor.ПеременныеОкружения.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..55a6fb869 --- /dev/null +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -0,0 +1,18 @@ + +// { Plugin interface +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + + Результат = Новый Структура; + + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", "Работа с переменными окружения"); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + +КонецПроцедуры +// } Plugin interface diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..54bcd433c --- /dev/null +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..1150d88d8 --- /dev/null +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,14 @@ + +
+ + false + + + + + cfg:ExternalDataProcessorObject.ПеременныеОкружения + + true + + +
\ No newline at end of file diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..592412d42 --- /dev/null +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,184 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем УправлениеПриложениями; + + +// { Plugin interface + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); + + // Инициализация параметров + +КонецПроцедуры + +&НаКлиенте +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции + +// } Plugin interface + +&НаКлиенте +Процедура ПустоеОповещение(ДополнительныеПараметры = Неопределено) Экспорт + +КонецПроцедуры + +&НаКлиенте +// Считывает переменные окружения в соответствие +// +// Параметры: +// +// Возвращаемое значение: +// Соответствие - все переменные окружения +// +Функция ВсеПеременныеОкружения() Экспорт + + ПеременныеОкружения = Новый Соответствие; + + ФайлСПеременными = СчитатьПеременныеОкруженияВФайл(); + + Текст = Новый ЧтениеТекста; + Текст.Открыть(ФайлСПеременными); + Стр = Текст.ПрочитатьСтроку(); + + Пока Стр <> Неопределено Цикл + + ПозРазделителя = СтрНайти(Стр, "="); + + Если ПозРазделителя = 0 Тогда + + Стр = Текст.ПрочитатьСтроку(); + Продолжить; + + КонецЕсли; + + ИмяНайденнойПеременной = ВРег(Лев(Стр, ПозРазделителя - 1)); + ЗначениеПеременнойОкружения = Сред(Стр, ПозРазделителя + 1); + + ПеременныеОкружения.Вставить(ИмяНайденнойПеременной + , ЗначениеПеременнойОкружения); + + Стр = Текст.ПрочитатьСтроку(); + + КонецЦикла; + + Текст.Закрыть(); + + Описание = КонтекстЯдра.АСинк().смв_НовыйОписаниеОповещения("ПустоеОповещение", ЭтаФорма); + + КонтекстЯдра.АСинк().смв_УдалитьФайлы(Описание, ФайлСПеременными); + + Возврат ПеременныеОкружения; + +КонецФункции // ПолучитьПеременныеОкружения() + +&НаКлиенте +// Считывает переменные окружения в соответствие +// +// Параметры: +// ИмяПеременной - Строка - имя переменной, значение которой надо получить +// ЗначениеПоУмолчанию - Строка - значение, которое вернуть если переменная не определена +// +// Возвращаемое значение: +// Соответствие - все переменные окружения +// +Функция ЗначениеПеременнойОкружения(ИмяПеременной + , ЗначениеПоУмолчанию = Неопределено) Экспорт + + Результат = ВсеПеременныеОкружения()[ВРег(ИмяПеременной)]; + Если Результат = Неопределено Тогда + + Результат = ЗначениеПоУмолчанию; + + КонецЕсли; + + Возврат Результат; + +КонецФункции // ПолучитьЗначениеПеременнойОкружения() + +&НаКлиенте +// Устанавливает значение переменной +// +// Параметры: +// ИмяПеременной - Строка - имя переменной для установки +// Значение - Строка - устанавливаемое значение +// +Процедура УстановитьЗначениеПеременнойОкружения(ИмяПеременной, Значение) Экспорт + + Если КонтекстЯдра.ЭтоLinux Тогда + + ТекстКоманды = "export " + ИмяПеременной + "=" + Строка(Значение); + + Иначе + + ТекстКоманды = "setx /M " + ИмяПеременной + " """ + Строка(Значение) + """"; + + КонецЕсли; + + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды); + +КонецПроцедуры // УстановитьЗначениеПеременнойОкружения() + + +&НаКлиенте +Функция СчитатьПеременныеОкруженияВФайл() + + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); + + Если КонтекстЯдра.ЭтоLinux Тогда + + ТекстКоманды = "sh -c 'env = > " + ИмяВременногоФайла + "'"; + + Иначе + + ТекстКоманды = "SET > """ + ИмяВременногоФайла + """"; + + КонецЕсли; + + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды); + + Возврат ИмяВременногоФайла; + +КонецФункции + +// { Helpers +&НаСервере +Функция ЭтотОбъектНаСервере() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаКлиенте +Процедура Отладка(ТекстСообщения) + + КонтекстЯдра.Отладка(ТекстСообщения); + +КонецПроцедуры + +&НаКлиенте +Процедура Лог(ТекстСообщения, Важное = Ложь) + + Если Важное Тогда + + КонтекстЯдра.ВывестиСообщение(ТекстСообщения, СтатусСообщения.Важное); + + Иначе + + КонтекстЯдра.ВывестиСообщение(ТекстСообщения); + + КонецЕсли; + +КонецПроцедуры +// } Helpers diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..d39838110 --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 2d913278-74b7-4205-9751-84a4cac3214b + + + e12c3239-b8a8-439e-b510-dff367686e9a + 00d55794-ed67-41e4-bab0-68a0e9104277 + + + + Тесты_ПеременныеОкружения + + + ru + Тесты переменные окружения + + + + ExternalDataProcessor.Тесты_ПеременныеОкружения.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..d7956986b --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..54fe592aa --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПеременныеОкружения + + true + + + \ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..47bb54a96 --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,83 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем ПеременныеОкружения; + +// { интерфейс тестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + ПеременныеОкружения = КонтекстЯдра.Плагин("ПеременныеОкружения"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.НачатьГруппу("Функции чтения переменных", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПрочитатьВсеПеременные", , "Проверка работы ВсеПеременныеОкружения"); + НаборТестов.Добавить("ТестДолжен_ПрочитатьОднуПеременную", , "Проверка работы ЗначениеПеременнойОкружения"); + НаборТестов.Добавить("ТестДолжен_ПрочитатьНесуществующуюПеременную", , "Проверка работы ЗначениеПеременнойОкружения (Значение по умолчанию)"); + + НаборТестов.НачатьГруппу("Функции установки значений", Ложь); + + // НаборТестов.Добавить("ТестДолжен_УстановатьПеременную", , "Проверка работы УстановитьЗначениеПеременнойОкружения"); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +&НаКлиенте +Процедура ТестДолжен_ПрочитатьВсеПеременные() Экспорт + + Результат = ПеременныеОкружения.ВсеПеременныеОкружения(); + Ожидаем.Что(Результат, "Некорректно считались переменные окружения") + .ИмеетТип("Соответствие") + .Заполнено(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПрочитатьОднуПеременную() Экспорт + + Результат = ПеременныеОкружения.ЗначениеПеременнойОкружения("Path"); + Ожидаем.Что(Результат, "Некорректно считалась переменная PATH") + .Заполнено(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПрочитатьНесуществующуюПеременную() Экспорт + + Результат = ПеременныеОкружения.ЗначениеПеременнойОкружения("MyGreatEnv", "Тест работает"); + Ожидаем.Что(Результат, "Некорректно считалась несуществующая переменная") + .Равно("Тест работает"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_УстановатьПеременную() Экспорт + + ГСЧ = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах()); + КонтрольноеЗначение = Формат(ГСЧ.СлучайноеЧисло(0, 10000), "ЧН=; ЧГ="); + + ПеременныеОкружения.УстановитьЗначениеПеременнойОкружения("MyTestEnv", КонтрольноеЗначение); + Результат = ПеременныеОкружения.ЗначениеПеременнойОкружения("MyTestEnv"); + + Ожидаем.Что(Результат, "Не удалось установить переменную окружения").Равно(КонтрольноеЗначение); + +КонецПроцедуры + +// } блок юнит-тестов - сами тесты From c0dc08af8d4f3d9357f6eda5b18a623e8301bb76 Mon Sep 17 00:00:00 2001 From: Alexander Kuzin Date: Sat, 10 Oct 2020 18:41:13 +0400 Subject: [PATCH 112/421] =?UTF-8?q?=D0=A1=D1=80=D0=B0=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B0=D1=82=20=D0=B8=20=D1=87=D0=B8?= =?UTF-8?q?=D1=81=D0=B5=D0=BB=20=D0=BF=D0=BE=20=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8E=20=D0=B2=20"=D0=A2=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BB=D0=B0=20=D1=80=D0=B0=D0=B2=D0=BD=D0=BE=D0=B9?= =?UTF-8?q?"=20(#779)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cd770bff2..051eb5277 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3892,8 +3892,30 @@ ЗначНовое = СтрНовое[ИмяКолонкиСтарое]; ЗначНовое = СтрЗаменить(ЗначНовое,Символы.НПП," "); - ЗначСтарое = ЗаменитьПробельныеСимволы(ЗначСтарое); + Если Не СравнениеПоШаблону Тогда + Если ТипЗнч(ЗначСтарое) = Тип("Дата") Тогда + Попытка + ЗначНовое = СтрокаВДату(ЗначНовое); + Исключение + Если НачалоДня(ЗначСтарое) = ЗначСтарое Тогда + ЗначСтарое = Формат(ЗначСтарое, "ДЛФ=D"); + Иначе + ЗначСтарое = Формат(ЗначСтарое, "ДЛФ=DT"); + КонецЕсли; + КонецПопытки; + ИначеЕсли ТипЗнч(ЗначСтарое) = Тип("Число") Тогда + Попытка + ЗначНовое = СтрокаВЧисло(ЗначНовое); + Исключение + ЗначСтарое = Строка(ЗначСтарое); + КонецПопытки; + КонецЕсли; + КонецЕсли; + Если ТипЗнч(ЗначСтарое) = Тип("Строка") Тогда + ЗначСтарое = ЗаменитьПробельныеСимволы(ЗначСтарое); + КонецЕсли; + Если СравнениеПоШаблону Тогда Если Не Ванесса.СтрокаСоответствуетШаблону(ЗначНовое, ЗначСтарое) Тогда Ванесса.АктивизироватьЭлементформы(ТЧ); @@ -8920,4 +8942,17 @@ КонецФункции +&НаКлиентеНаСервереБезКонтекста +Функция СтрокаВДату(Знач Значение) + Возврат Дата(Значение); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция СтрокаВЧисло(Знач Значение) + Значение = СтрЗаменить(Значение, " ", ""); + Значение = СтрЗаменить(Значение, Символы.НПП, ""); + Значение = СтрЗаменить(Значение, ",", "."); + Возврат Число(Значение); +КонецФункции + КоличествоПопытокПоискаОкон = 0; From 3c552b222001dcb0f37d585c9b843311b8141aad Mon Sep 17 00:00:00 2001 From: Sulfur Date: Sat, 10 Oct 2020 17:43:47 +0300 Subject: [PATCH 113/421] =?UTF-8?q?=D0=BF=D0=BE=D1=87=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D1=83=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20(#775)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit теперь при загрузке настроек не ломается дерево конфигурации --- .../Ext/Form/Module.bsl" | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e39585121..98cd5056d 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -684,8 +684,10 @@ Процедура ЗагрузитьНастройкиСервер(Данные) Попытка - Дерево = ЗначениеИзСтрокиВнутр(Данные); - ЗначениеВРеквизитФормы(Дерево,"Объект.ДеревоМетаданных"); + ДеревоНастроек = ЗначениеИзСтрокиВнутр(Данные); + ДеревоМетаданных = РеквизитФормыВЗначение("Объект.ДеревоМетаданных", Тип("ДеревоЗначений")); + ЗагрузитьНастройкиВДеревоМетаданных(ДеревоНастроек.Строки, ДеревоМетаданных.Строки); + ЗначениеВРеквизитФормы(ДеревоМетаданных, "Объект.ДеревоМетаданных"); Исключение Сообщить(ОписаниеОшибки()); Возврат; @@ -695,6 +697,28 @@ КонецПроцедуры +&НаСервереБезКонтекста +Процедура ЗагрузитьНастройкиВДеревоМетаданных(СтрокиДереваНастроек, СтрокиДереваМетаданных) + Для каждого СтрокаДереваНастроек Из СтрокиДереваНастроек Цикл + + СтрокаДереваМетаданных = СтрокиДереваМетаданных.Найти(СтрокаДереваНастроек.ПолноеИмяМетаданных, "ПолноеИмяМетаданных"); + Если СтрокаДереваМетаданных <> Неопределено Тогда + ЗаполнитьЗначенияСвойств(СтрокаДереваМетаданных, СтрокаДереваНастроек); + Если СтрокаДереваНастроек.ИспользоватьОтбор + И СтрокаДереваНастроек.НастройкиКомпоновщика.Элементы.Количество() = 0 Тогда + + ПолноеИмяМетаданныхСРодителем = СтрокаДереваНастроек.Родитель.ПолноеИмяМетаданных + "." + СтрокаДереваНастроек.ПолноеИмяМетаданных; + Сообщить("Не удалось загрузить отборы элемента " + ПолноеИмяМетаданныхСРодителем); + КонецЕсли; + + ЗагрузитьНастройкиВДеревоМетаданных(СтрокаДереваНастроек.Строки, СтрокаДереваМетаданных.Строки); + Иначе + // Эта ветка метаданных была конфигурации в которой сохраняли файл настроек, но ее нет в метаданных этой конфигурации. + // Делать ничего не надо. + КонецЕсли; + КонецЦикла; +КонецПроцедуры + &НаКлиенте Процедура ПутьКФайлуНастроекНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) From e83aefd30fca0f91eaf570e4f301865e897bc1c6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 10 Oct 2020 18:40:19 +0300 Subject: [PATCH 114/421] =?UTF-8?q?=D0=93=D0=B0=D1=80=D0=B0=D0=BD=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=D1=85=20=D1=82=D0=B5=D1=81=D1=82-=D0=BA=D0=BB?= =?UTF-8?q?=D0=B8=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20(#782)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #758 --- .../Ext/Form/Module.bsl" | 3 +++ 1 file changed, 3 insertions(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6f026befc..14dfb7d35 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1345,6 +1345,9 @@ КонецЕсли; ТестКлиенты = Состояние.НастройкиШагов.ТестКлиенты; + Если ТестКлиенты = Неопределено Тогда + ТестКлиенты = Плагин("ТестКлиенты"); + КонецЕсли; Если ТестКлиенты <> Неопределено Тогда From 702badba21f9922d26e701272d34652c17bc053a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 10 Oct 2020 19:30:08 +0300 Subject: [PATCH 115/421] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0,?= =?UTF-8?q?=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B0=20=D1=8F=D0=B2=D0=BB=D1=8F=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=91=D1=83=D0=BB=D0=B5=D0=B2=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 340f4779a..2a84d4d36 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1042,7 +1042,7 @@ Настройка = Неопределено; ЕстьНастройка = Настройки.Свойство(ВидМетаданного, Настройка); Если ЕстьНастройка Тогда - Если ТипЗнч(Настройка) = Тип("Массив") ИЛИ ВидПроверки = "" Тогда + Если ТипЗнч(Настройка) = Тип("Массив") ИЛИ ВидПроверки = "" Или ТипЗнч(Настройка) = Тип("Булево") Тогда МассивИсключений = Настройка; Иначе МассивИсключений = Неопределено; From 0dac9ddfe941a4ea3fb1f373c2dab02b668b8e8b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 10 Oct 2020 19:46:55 +0300 Subject: [PATCH 116/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=91=D0=A1?= =?UTF-8?q?=D0=9F-=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 39724f597..91107797b 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -25,13 +25,16 @@ "ВидыКонтактнойИнформации", "ГруппыВнешнихПользователей", "ИдентификаторыОбъектовМетаданных", - "ИдентификаторыОбъектовРасширений" + "ИдентификаторыОбъектовРасширений", + "Файлы", + "КлючевыеОперации" ], "Новые": [ "Банки", "ГруппыВнешнихПользователей", "ПравилаПроверкиУчета", - "Файлы" + "Файлы", + "КлючевыеОперации" ] }, "Отчеты": [ @@ -59,6 +62,9 @@ ], "Справочники": [ + "ВариантыОтчетов", + "Файлы", + "КлючевыеОперации" ] , "Документы": false, From d802f66a0b6fc875d98845a104ea45c93ec4a411 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 10 Oct 2020 19:56:48 +0300 Subject: [PATCH 117/421] =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D1=8C=D1=88=D0=B5=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=91=D0=A1=D0=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 68 +++++++++++++++++++++++++++++++++++--- 1 file changed, 64 insertions(+), 4 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 91107797b..ce6dcf83f 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -20,6 +20,24 @@ "smoke": { "Справочники": { "Списки": [ + "ВидыКонтактнойИнформации", + "ГруппыВнешнихПользователей", + "ИдентификаторыОбъектовМетаданных", + "ИдентификаторыОбъектовРасширений", + "Файлы", + "КлючевыеОперации", + "ВариантыОтчетов", + "ВерсииРасширений", + "ВерсииФайлов", + "ВнешниеКомпоненты", + "ПапкиФайлов", + "ПользовательскиеНастройкиОтчетов", + "ПредопределенныеВариантыОтчетов", + "ПредопределенныеВариантыОтчетовРасширений", + "ПрофилиКлючевыхОпераций", + "ПрофилиГруппДоступа", + "РассылкиОтчетов", + "УчетныеЗаписиЭлектроннойПочты" ], "Существующие": [ "ВидыКонтактнойИнформации", @@ -27,14 +45,40 @@ "ИдентификаторыОбъектовМетаданных", "ИдентификаторыОбъектовРасширений", "Файлы", - "КлючевыеОперации" + "КлючевыеОперации", + "ВариантыОтчетов", + "ВерсииРасширений", + "ВерсииФайлов", + "ВнешниеКомпоненты", + "ПапкиФайлов", + "ПользовательскиеНастройкиОтчетов", + "ПредопределенныеВариантыОтчетов", + "ПредопределенныеВариантыОтчетовРасширений", + "ПрофилиКлючевыхОпераций", + "ПрофилиГруппДоступа", + "РассылкиОтчетов", + "УчетныеЗаписиЭлектроннойПочты" ], "Новые": [ + "ИдентификаторыОбъектовМетаданных", + "ИдентификаторыОбъектовРасширений", "Банки", + "ВариантыОтчетов", "ГруппыВнешнихПользователей", "ПравилаПроверкиУчета", "Файлы", - "КлючевыеОперации" + "КлючевыеОперации", + "ВерсииРасширений", + "ВерсииФайлов", + "ВнешниеКомпоненты", + "ПапкиФайлов", + "ПользовательскиеНастройкиОтчетов", + "ПредопределенныеВариантыОтчетов", + "ПредопределенныеВариантыОтчетовРасширений", + "ПрофилиКлючевыхОпераций", + "ПрофилиГруппДоступа", + "РассылкиОтчетов", + "УчетныеЗаписиЭлектроннойПочты" ] }, "Отчеты": [ @@ -62,9 +106,25 @@ ], "Справочники": [ - "ВариантыОтчетов", + "ИдентификаторыОбъектовМетаданных", + "ИдентификаторыОбъектовРасширений", + "Банки", + "ГруппыВнешнихПользователей", + "ПравилаПроверкиУчета", "Файлы", - "КлючевыеОперации" + "КлючевыеОперации", + "ВариантыОтчетов", + "ВерсииРасширений", + "ВерсииФайлов", + "ВнешниеКомпоненты", + "ПапкиФайлов", + "ПользовательскиеНастройкиОтчетов", + "ПредопределенныеВариантыОтчетов", + "ПредопределенныеВариантыОтчетовРасширений", + "ПрофилиКлючевыхОпераций", + "ПрофилиГруппДоступа", + "РассылкиОтчетов", + "УчетныеЗаписиЭлектроннойПочты" ] , "Документы": false, From ccd545dbfea675972c7c31af30eba4953251215a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 10 Oct 2020 20:11:39 +0300 Subject: [PATCH 118/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=91=D0=A1=D0=9F-=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=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 --- tests/smoke/smoke.bsp.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index ce6dcf83f..781773e5e 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -82,6 +82,7 @@ ] }, "Отчеты": [ + "ДвиженияДокумента", "ПраваДоступа" ], "Обработки": [ @@ -129,16 +130,21 @@ , "Документы": false, "Отчеты": [ + "ДвиженияДокумента", "ПраваДоступа" ], "Обработки": [ "ЗаменаИОбъединениеЭлементов", + "ЗагрузкаКурсовВалют", "ВводКонтактнойИнформации", "ПанельАдминистрированияБСП", "ПанельАдминистрированияЭДО", + "ПереносФайлов", "ПереносФайловВТома", + "РаботаСФайлами", "РасширенныйВводКонтактнойИнформации", - "РекомендацияПоПовышениюСкоростиРаботы" + "РекомендацияПоПовышениюСкоростиРаботы", + "Сканирование" ], "БизнесПроцессы": [ ] From 935c98e50da26c1869f9076a70bfae277fb86ef6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 12 Oct 2020 09:50:06 +0300 Subject: [PATCH 119/421] =?UTF-8?q?=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B8=206.7.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для внутренних тестов --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 2 +- epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl | 2 +- lib/CF/83/Configuration.xml | 4 ++-- lib/CF/83NoSync/Configuration.xml | 4 ++-- lib/CF/83xdd/Configuration.xml | 4 ++-- lib/CF/83xddNoSync/Configuration.xml | 4 ++-- packagedef | 2 +- .../Ext/ObjectModule.bsl" | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index e44455871..88b70e086 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -7,7 +7,7 @@ Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт - Версия = "6.6.5"; + Версия = "6.7.0"; Если ТолькоЦифры Тогда Возврат Версия; diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 4829138fd..a81f1637d 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1,7 +1,7 @@ Перем РегулярныеВыражения; Функция Версия() Экспорт - Версия = "6.6.5"; + Версия = "6.7.0"; Возврат Версия; КонецФункции diff --git a/lib/CF/83/Configuration.xml b/lib/CF/83/Configuration.xml index ddcccfbed..d4b5f7d30 100644 --- a/lib/CF/83/Configuration.xml +++ b/lib/CF/83/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/BDD, ver. 6.6.5 + ADD/BDD, ver. 6.7.0 @@ -45,7 +45,7 @@ Russian - 6.6.5 + 6.7.0 false false diff --git a/lib/CF/83NoSync/Configuration.xml b/lib/CF/83NoSync/Configuration.xml index a5f97c7a9..186a9cce7 100644 --- a/lib/CF/83NoSync/Configuration.xml +++ b/lib/CF/83NoSync/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/BDD, ver. 6.6.5 + ADD/BDD, ver. 6.7.0 @@ -45,7 +45,7 @@ Russian - 6.6.5 + 6.7.0 false false diff --git a/lib/CF/83xdd/Configuration.xml b/lib/CF/83xdd/Configuration.xml index 4b20d408f..3c3c950e8 100644 --- a/lib/CF/83xdd/Configuration.xml +++ b/lib/CF/83xdd/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/TDD, ver. 6.6.5 + ADD/TDD, ver. 6.7.0 @@ -45,7 +45,7 @@ Russian - 6.6.5 + 6.7.0 false true diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index b008bb729..fca5690bd 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/TDD, ver. 6.6.5 + ADD/TDD, ver. 6.7.0 @@ -45,7 +45,7 @@ Russian - 6.6.5 + 6.7.0 false true diff --git a/packagedef b/packagedef index c3b9971a9..d7fb7c43f 100644 --- a/packagedef +++ b/packagedef @@ -161,7 +161,7 @@ Сообщить("ИНФОРМАЦИЯ - Создан файл релиза " + ФайлКонечный.ПолноеИмя); КонецПроцедуры -ВерсияПакета = "6.6.5"; +ВерсияПакета = "6.7.0"; Описание.Имя("add") .Версия(ВерсияПакета) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index c71418756..9594e6935 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -22,7 +22,7 @@ Перем мТЗКэшОбъектов; Функция Версия() Экспорт - Версия = "6.6.5"; + Версия = "6.7.0"; Возврат Версия; КонецФункции From c2cc02042fdfe81d37175dda3cc079a21dc12138 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 12 Oct 2020 20:26:35 +0300 Subject: [PATCH 120/421] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=B0?= =?UTF-8?q?=20+=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проверка чтения не-администраторами добавил области в модуль https://github.com/vanessa-opensource/add/issues/645 --- tests/smoke/smoke.bsp.json | 12 ++ ...0\276\321\200\320\260\320\274\320\270.xml" | 35 +++- .../Ext/ObjectModule.bsl" | 164 +++++++++++++++--- tools/JSON/xUnitParams.json | 16 +- 4 files changed, 196 insertions(+), 31 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 781773e5e..d456d5e05 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -151,6 +151,18 @@ }, + "ПроверкаЧтенияНеАдминистраторами": { + "Используется" : true, + "ИсключенияПоИмениМетаданных" : [ + "Справочник_Нужный*" + ], + "ПривилегированныеРоли" : [ + "Администратор", + "ПолныеПрава", + "АдминистраторСистемы" + ] + }, + "ПроведениеДокументов":{ "Используется" : true, "КоличествоДокументов" : 5, diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270.xml" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270.xml" index 9beca182d..c4d889230 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270.xml" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270.xml" @@ -23,6 +23,39 @@ - + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + \ No newline at end of file diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" index f91b3da23..6c77b442b 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" @@ -1,9 +1,21 @@ -Перем КонтекстЯдра; +#Область ОписаниеПеременных + +Перем КонтекстЯдра; Перем Ожидаем, ИтераторМетаданных; Перем НаборТестов; Перем ПривилегированныеРоли; +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + Возврат "ПроверкаЧтенияНеАдминистраторами"; +КонецФункции + Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; @@ -11,8 +23,8 @@ ЗагрузитьНастройки(); - Если Не ЗначениеЗаполнено(ПривилегированныеРоли) Тогда - Возврат; // ВНИМАНИЕ! Ранний возврат. + Если Не ЗначениеЗаполнено(ПривилегированныеРоли) Или Не НужноВыполнятьТест() Тогда + Возврат; КонецЕсли; ИтераторМетаданных = КонтекстЯдра.Плагин("ИтераторМетаданных"); @@ -37,14 +49,14 @@ Процедура ЗаполнитьНаборТестов(НаборТестовПараметр, КонтекстЯдраПараметр) Экспорт НаборТестов = НаборТестовПараметр; // Запищем в переменную модуля, чтобы другие методы могли дополнять набор тестов - Инициализация(КонтекстЯдраПараметр);// Все инициализируем. В т.ч. и ИтераторМетаданных + Инициализация(КонтекстЯдраПараметр); // Все инициализируем. В т.ч. и ИтераторМетаданных НаборТестов.Добавить("Тест_РолиОпределены", Неопределено, "Есть роли с полными/администраторскими полномочиями чтения - " + ЗаголовокОбщаяЧасть()); // Заполним дерево тестов Если ЗначениеЗаполнено(ПривилегированныеРоли) Тогда - ИтераторМетаданных.Перечислить(ЭтотОбъект, "ПриСледующемОбъектеМетаданных", "ПриСледующемОбъектеМетаданных"); + ИтераторМетаданных.Перечислить(ЭтотОбъект, "ПриСледующемОбъектеМетаданных", "ПриСледующемТипеМетаданных"); КонецЕсли; КонецПроцедуры @@ -52,25 +64,45 @@ Процедура ДобавитьРоль(РолиСоответствие, ИмяРоли) Попытка - РолиСоответствие.Вставить(Метаданные.Роли[ИмяРоли], Истина) + РолиСоответствие.Вставить(Метаданные.Роли[ИмяРоли], Истина); Исключение КонецПопытки; КонецПроцедуры +#КонецОбласти + +#Область Тесты + Процедура Тест_РолиОпределены() Экспорт Ожидаем.Что(ПривилегированныеРоли, "Есть проверяемые роли").Заполнено(); КонецПроцедуры +Процедура ПриСледующемТипеМетаданных(ОбъектМетаданных, Родитель) Экспорт + + ЗаголовокОбщаяЧасть = ЗаголовокОбщаяЧасть(); + Если Родитель = Неопределено И ТипЗнч(ОбъектМетаданных) = Тип("Строка") Тогда + НаборТестов.НачатьГруппу(ЗаголовокОбщаяЧасть + " " + ОбъектМетаданных); + + КонецЕсли; + +КонецПроцедуры + Процедура ПриСледующемОбъектеМетаданных(ОбъектМетаданных, Родитель) Экспорт ПолноеИмяОбъекта = ОбъектМетаданных.ПолноеИмя(); ЗаголовокОбщаяЧасть = ЗаголовокОбщаяЧасть(); - Если Родитель=Неопределено И ТипЗнч(ОбъектМетаданных)=Тип("Строка") Тогда - НаборТестов.НачатьГруппу(ЗаголовокОбщаяЧасть + " " + ОбъектМетаданных); + + Если ОбъектМетаданных <> Неопределено Тогда + + Сообщение = "Пропускаем из-за исключения по имени метаданного - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), Родитель, ОбъектМетаданных.Имя); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ОбъектМетаданных.Имя, Настройки.ИсключенияПоИмениМетаданных, + Сообщение, НаборТестов) Тогда + Возврат; + КонецЕсли; - ИначеЕсли ОбъектМетаданных<>Неопределено Тогда ПараметрыТеста = НаборТестов.ПараметрыТеста(ПолноеИмяОбъекта, Родитель); ЗаголовокТеста = "" + ОбъектМетаданных.ПолноеИмя() + ": " + ЗаголовокОбщаяЧасть; НаборТестов.Добавить("Тест_ПроверитьНеАдминистраторскиеПраваНаЧтение", ПараметрыТеста, ЗаголовокТеста); @@ -85,7 +117,7 @@ ЧтениеДоступно = Ложь; Для Каждого ТекРоль Из Метаданные.Роли Цикл - Если ПривилегированныеРоли.Получить(ТекРоль)<>Неопределено Тогда + Если ПривилегированныеРоли.Получить(ТекРоль) <> Неопределено Тогда Продолжить; КонецЕсли; @@ -105,35 +137,115 @@ Возврат "Проверка доступа на Чтение Не-Администраторами"; КонецФункции -#Область РаботаСНастройками +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ШаблонПредставления() + Возврат ЗаголовокОбщаяЧасть() + " %1: %2"; +КонецФункции + +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + НаборТестов.Добавить("Тест_ПропуститьМетаданное", ПараметрыТеста, Сообщение); + //Наборы.Добавить( + // Новый Структура("ИмяПроцедуры, Параметры, Представление", + // "Тест_ПропуститьМетаданное", + // ПараметрыТеста, + // Сообщение)); + + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +#Область Настройки Процедура ЗагрузитьНастройки() + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; - ПутьНастройки = "ПроверкаЧтенияНеАдминистраторами"; - ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); - ПлагинНастроек.Инициализация(КонтекстЯдра); - МассивПривилегированныеРоли = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + КонецЕсли; + + МассивПривилегированныеРоли = Настройки.ПривилегированныеРоли; ПривилегированныеРоли = Новый Соответствие; Если ЗначениеЗаполнено(МассивПривилегированныеРоли) Тогда Для Каждого ИмяРоли Из МассивПривилегированныеРоли Цикл ДобавитьРоль(ПривилегированныеРоли, ИмяРоли); КонецЦикла; - Иначе - ЗаполнитьПривилегированныеРолиПоУмолчанию(); КонецЕсли; КонецПроцедуры -Процедура ЗаполнитьПривилегированныеРолиПоУмолчанию() +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("ИсключенияПоИмениМетаданных", Новый Массив); + Результат.Вставить("ПривилегированныеРоли", ЗаполнитьПривилегированныеРолиПоУмолчанию()); + + Возврат Результат; +КонецФункции + +Функция ЗаполнитьПривилегированныеРолиПоУмолчанию() // Заполняем специализированные роли - это не администраторские роли и не общие роли на Чтение - ДобавитьРоль(ПривилегированныеРоли, "Администратор"); - ДобавитьРоль(ПривилегированныеРоли, "ПолныеПрава"); - ДобавитьРоль(ПривилегированныеРоли, "АдминНСИ"); - ДобавитьРоль(ПривилегированныеРоли, "Тестирование"); - ДобавитьРоль(ПривилегированныеРоли, "РазработкаКонфигурации"); - ДобавитьРоль(ПривилегированныеРоли, "Обмен"); - ДобавитьРоль(ПривилегированныеРоли, "Пользователь"); // общая роль на Чтение -КонецПроцедуры + Результат = Новый Массив; + + Результат.Добавить("Админ"); + Результат.Добавить("Администратор"); + Результат.Добавить("ПолныеПрава"); + Результат.Добавить("АдминНСИ"); + Результат.Добавить("Тестирование"); + Результат.Добавить("РазработкаКонфигурации"); + Результат.Добавить("Обмен"); + Результат.Добавить("Пользователь"); // общая роль на Чтение + + Возврат Результат; +КонецФункции + +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти #КонецОбласти diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index b945ee7a5..2e9042604 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -110,10 +110,18 @@ ] }, - "ПроверкаЧтенияНеАдминистраторами": [ - "ПолныеПрава", - "АдминистраторСистемы" - ], + "ПроверкаЧтенияНеАдминистраторами": { + "Используется" : true, + "ИсключенияПоИмениМетаданных" : [ + "Справочник*" + ], + "ПривилегированныеРоли" : [ + "Админ", + "Администратор", + "ПолныеПрава", + "АдминистраторСистемы" + ] + }, "smokeInputBasedOn": { "Исключения": { From 9596b40fe4cc979a18fb7e80d21df94247644563 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 12 Oct 2020 20:29:48 +0300 Subject: [PATCH 121/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 5 ----- 1 file changed, 5 deletions(-) diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" index 6c77b442b..3871ba021 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" @@ -155,11 +155,6 @@ ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); НаборТестов.Добавить("Тест_ПропуститьМетаданное", ПараметрыТеста, Сообщение); - //Наборы.Добавить( - // Новый Структура("ИмяПроцедуры, Параметры, Представление", - // "Тест_ПропуститьМетаданное", - // ПараметрыТеста, - // Сообщение)); Возврат Истина; КонецЕсли; From 6760c25dfdb5582b7edcab499fa97fa80ee97193 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 12 Oct 2020 20:33:16 +0300 Subject: [PATCH 122/421] =?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=B8=D0=BC=D0=B5=D1=80=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.example.json | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index eca7e873b..545ddafad 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -62,10 +62,17 @@ } }, - "ПроверкаЧтенияНеАдминистраторами": [ - "ПолныеПрава", - "Роль1" - ], + "ПроверкаЧтенияНеАдминистраторами": { + "Используется" : true, + "ИсключенияПоИмениМетаданных" : [ + "Справочник_Нужный*" + ], + "ПривилегированныеРоли" : [ + "Администратор", + "ПолныеПрава", + "АдминистраторСистемы" + ] + }, "smokeInputBasedOn": { "Исключения": { From 9fc84139479b4645359b094fe8a68882bb63751a Mon Sep 17 00:00:00 2001 From: Alexander Kuntashov Date: Fri, 16 Oct 2020 20:07:28 +0400 Subject: [PATCH 123/421] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D0=B8?= =?UTF-8?q?,=20=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B0=D1=82=D0=B8=D0=BA?= =?UTF-8?q?=D1=83=20=D0=B8=20=D0=BE=D1=80=D1=84=D0=BE=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D1=84=D0=B8=D1=8E=20(#787)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправил опечатки, грамматику и орфографию --- CODE_OF_CONDUCT.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 6f40d7d64..0943655cb 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,14 +1,14 @@ # Кодекс поведения участника проекта -## Наш принцнип +## Наш принцип -В интересах создания открытой и гостепреимной среды разработки, мы, как контрибьюторы и пользователи обязуемся участвовать в нашем проекте и в Нашем сообществе без притеснений кого бы то ни было, независимо от возраста, размера тела, наличия инвалидности, этнической принадлежности, половых характеристик, уровеня опыта, образования, социально-экономический статуса, национальности, личности, внешности, расы или религии. +В интересах создания открытой и гостепреимной среды разработки, мы, как контрибьюторы и пользователи обязуемся участвовать в нашем проекте и в нашем сообществе без притеснений кого бы то ни было, независимо от возраста, размера тела, наличия инвалидности, этнической принадлежности, половых характеристик, уровеня опыта, образования, социально-экономический статуса, национальности, личности, внешности, расы или религии. ## Наши стандарты -Примеры поведения, способствующего созданию позитивной среды в нашем сообществе включают: +Примеры поведения, способствующего созданию позитивной среды в нашем сообществе, включают: -* Использование приветливого стиля в формулировках +* Использовать приветливый стиль в формулировках * С уважением относиться к различным точкам зрения и опыту * Изящно принимать конструктивную критику * Сосредоточиться на том, что лучше для сообщества @@ -24,26 +24,25 @@ Ответственные за проект обеспечивают уточнение стандартов приемлемого поведения и, предпримут соответствующие и справедливые корректирующие действия на любые случаи недопустимого поведения. -Ответственные за проект имеют право и главное ответственность удалять, редактировать или отклонять комментарии, коммиты, код, правки вики, обсуждения и другие материалы которые не приведены в соответствие с настоящим Кодексом поведения, или временно запретить доступ участнику или навсегда удалить любого участника за систематическое нарушение настоящего кодекса поведения. +Ответственные за проект имеют право и главное ответственность удалять, редактировать или отклонять комментарии, коммиты, код, правки вики, обсуждения и другие материалы которые не приведены в соответствие с настоящим Кодексом поведения, или временно запретить доступ участнику или навсегда удалить любого участника за систематическое нарушение настоящего Кодекса поведения. -## Объем применения настоящего кодекса +## Объем применения настоящего Кодекса Настоящий Кодекс поведения применяется как внутри проекта, так и в общественных местах (включая публичные сообщества) когда человек представляет проект или его сообщество. Примеры: -* представление проекта или сообщества, включая использование официальной электронной почты проекта адрес -* размещение через официальный аккаунт в социальной сети, или выступать в качестве назначенного представитель на онлайн или оффлайн мероприятии. +* представление проекта или сообщества, включая использование официальной электронной почты проекта и адреса +* размещение через официальный аккаунт в социальной сети, или выступление в качестве назначенного представителя на онлайн или оффлайн мероприятии. -Способы представление проекта может быть далее определены и уточнены ответственными за данный проект. +Способы представления проекта могут быть далее определены и уточнены ответственными за данный проект. -## Правоприменение настоящего кодекса +## Правоприменение настоящего Кодекса -Случаи оскорбительного, оскорбительного или иного неприемлемого поведения могут быть направлены на рассмотрение команде проекта. +Случаи оскорбительного или иного неприемлемого поведения могут быть направлены на рассмотрение команде проекта. Все жалобы будут рассмотрены и расследованы, по каждому случаю будут приняты меры сообразно обстоятельствам. Команда проекта обязуется сохранять конфиденциальность в отношении автора жалобы. Дальнейшие подробности конкретных политик исполнения могут быть размещены отдельно. -Ответственные за проект, которые не соблюдают Кодекс поведения должным образом могут столкнуться с временными или постоянными последствиями, тем способом как это определено другими -членами руководства проекта. +Ответственные за проект, которые не соблюдают Кодекс поведения должным образом могут столкнуться с временными или постоянными последствиями, тем способом, как это определено другими членами руководства проекта. From 6b01be20f6525dbfc83581aee2d59d7fcada4b59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= Date: Fri, 16 Oct 2020 20:14:37 +0400 Subject: [PATCH 124/421] =?UTF-8?q?issues=20#784=20=D0=9E=D1=82=D0=BE?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=83?= =?UTF-8?q?=D1=82=D0=B8=20=D0=BA=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=BC=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B0=D0=BC=20=D0=B2=20=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D1=83=D0=B7=D0=B5=D1=80=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20(#786)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -- Изменена управляемая форма. Добавлен элемент Декорация и группа элементов. -- Добавлен метод формирования представления пути к файлу настроек, для вывода в Декорации -- Событие Нажатие в Декорации связано с командой ЗагрузитьНастройкиИзФайла --- .../Ext/Form.xml" | 52 ++++++++++++++++--- .../Ext/Form/Module.bsl" | 27 ++++++++++ 2 files changed, 71 insertions(+), 8 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 1e6d59880..4ed7e2f68 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -311,14 +311,50 @@ - - ИндикаторВыполнения - None - Broken - true - - - + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Группа информация подвал</v8:content> + </v8:item> + + + + ru + Группа информация подвал + + + Vertical + None + false + + + + ИндикаторВыполнения + None + Broken + true + + + + + false + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content><Настройки не загружены></v8:content> + </v8:item> + + true + + + + ЗагрузитьНастройкиИзФайла + + + + diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 14dfb7d35..22d56964d 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -53,6 +53,8 @@ КонецЕсли; ЗагрузитьПлагины(); + + ОбновитьДекорацияНастройкиЗагружены(); //КэшироватьПеречисленияПлагинов(); //СброситьПодключенныеВнешниеОбработки(); @@ -2210,6 +2212,8 @@ ПлагинНастроек = Плагин("Настройки"); ПлагинНастроек.Обновить(); + + ОбновитьДекорацияНастройкиЗагружены(); КонецПроцедуры @@ -2281,6 +2285,29 @@ КонецПроцедуры +&НаКлиенте +Функция ПутьФайлаНастроекПредставление() + Перем сПредставление; + + сПредставление = "<Настройки не загружены>"; + + Если НЕ ПустаяСтрока(ЭтотОбъект.Объект.ПутьФайлаНастроек) Тогда + сПредставление = СтрШаблон_("%1: %2","Настройки загружены из файла", ЭтотОбъект.Объект.ПутьФайлаНастроек); + КонецЕсли; + + Возврат сПредставление; +КонецФункции + +&НаКлиенте +Процедура ОбновитьДекорацияНастройкиЗагружены() + + ЭтотОбъект.Элементы.ДекорацияНастройкиЗагружены.Заголовок = ПутьФайлаНастроекПредставление(); + Если ЭтотОбъект.Элементы.Найти("ДеревоТестов") <> Неопределено Тогда + ЭтотОбъект.ТекущийЭлемент = ЭтотОбъект.Элементы.ДеревоТестов; + КонецЕсли; + +КонецПроцедуры + // } работа с настройками // { режим совместимости 8.3.5 From ad8420607be0e8c5c28f0d6fb2850672d0caaa1c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 15:32:17 +0300 Subject: [PATCH 125/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B0=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=A0?= =?UTF-8?q?=D0=B5=D0=B6=D0=B8=D0=BC=D0=91=D0=BB=D0=BE=D0=BA=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B8=D0=94=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit в т.ч. исключения по виду метаданных и конкретных метаданным - можно использовать шаблоны с * closes #645 --- tests/smoke/smoke.bsp.json | 6 +- tests/smoke/smoke.example.json | 14 +- ...1\200\320\276\320\262\320\272\320\270.xml" | 43 ++++- .../Ext/ObjectModule.bsl" | 157 ++++++++++++++++-- tools/JSON/xUnitParams.json | 14 +- 5 files changed, 214 insertions(+), 20 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index d456d5e05..9316441f9 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -1,5 +1,5 @@ { - "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, @@ -205,5 +205,9 @@ "СхемаКомпоновкиДанных", "*Макет*" ] + }, + + "РежимУправленияБлокировкойДанных" : { + "Используется" : false } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 545ddafad..b19d2ef8c 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -1,5 +1,5 @@ { - "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, @@ -168,5 +168,17 @@ "СхемаКомпоновкиДанных", "*Макет*" ] + }, + + "РежимУправленияБлокировкойДанных" : { + "Используется" : true, + "ИсключенияПоВидуМетаданных" : [ + "НужноеНазваниеВида_Справочник*" + ], + "ИсключенияПоИмениМетаданных" : [ + "ДокументСДвижениями", + "ИнтерактивноеИзменениеВыгрузки*", + "ПереходНа*" + ] } } diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.xml" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.xml" index b4e041de2..e8b334533 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.xml" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270.xml" @@ -1,14 +1,14 @@  - + c3831ec8-d8d5-4f93-8a22-f9bfae07327f - 0966cc50-c47b-497e-adc8-f21eebacff8d + acae7c85-2063-43d5-b99a-7d8d2a6ed3fb - 40de5826-8f25-4b00-a777-0a1a8f271cee - 8e434fe6-7ceb-4cf8-b1bf-61ccffcf22c0 + 0e8aedc8-9d5e-491f-bbee-e77d3e26920e + 7ccf7a70-70d9-4203-9ecc-2e94ddf484fc @@ -23,6 +23,39 @@ - + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + \ No newline at end of file diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" index 4557796f4..6e77c62e1 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" @@ -1,16 +1,36 @@ -Перем Ожидаем; +#Область ОписаниеПеременных + +Перем КонтекстЯдра; + +Перем Ожидаем; Перем ИтераторМетаданных; -#Область Стандартный_интерфейс +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + Возврат "РежимУправленияБлокировкойДанных"; +КонецФункции Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + // Подключаем плагин для текучих утверждений - Ожидаем = КонтекстЯдраПараметр.Плагин("УтвержденияBDD"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + + ЗагрузитьНастройки(); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; // Подключаем Итератор - ИтераторМетаданных = КонтекстЯдраПараметр.Плагин("ИтераторМетаданных"); - ИтераторМетаданных.Инициализация(КонтекстЯдраПараметр); // Сбрасываем настройки Итератора + ИтераторМетаданных = КонтекстЯдра.Плагин("ИтераторМетаданных"); + ИтераторМетаданных.Инициализация(КонтекстЯдра); // Сбрасываем настройки Итератора ИтераторМетаданных.ДополнятьЗависимымиОбъектами = Истина; // Исключим коллекции, у элементов которых нет свойства РежимУправленияБлокировкойДанных ИтераторМетаданных.ИсключаемыеМетаданные.Добавить(Метаданные.Перечисления); @@ -25,7 +45,7 @@ КонецПроцедуры -Процедура ЗаполнитьНаборТестов(НаборТестовПараметр, КонтекстЯдраПараметр) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт Если Метаданные.РежимУправленияБлокировкойДанных = Метаданные.СвойстваОбъектов.РежимУправленияБлокировкойДанныхПоУмолчанию.Управляемый Тогда Возврат; @@ -33,6 +53,10 @@ // Инициализируем плагины Инициализация(КонтекстЯдраПараметр); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; // Из итератора получаем ДеревоЗначений с описанием метаданных ДеревоМетаданных = ИтераторМетаданных.ДеревоМетаданных(); @@ -41,28 +65,44 @@ Для Каждого КорневаяСтрока Из ДеревоМетаданных.Строки Цикл Родитель = КорневаяСтрока.ОбъектМетаданных; + // Начинаем группу тестов по разделу метаданных ИмяНабораТестов = "Проверка режима блокировки данных " + Родитель; - НаборТестовПараметр.НачатьГруппу(ИмяНабораТестов); + НаборТестов.НачатьГруппу(ИмяНабораТестов); + + Сообщение = "Пропускаем из-за исключения по виду метаданных - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), "Вид метаданных", Родитель); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Родитель, Настройки.ИсключенияПоВидуМетаданных, + Сообщение, НаборТестов) Тогда + Продолжить; + КонецЕсли; // Проходим по составу раздела метаданных Для Каждого СтрокаМетаданных Из КорневаяСтрока.Строки Цикл ТекОбъектМетаданных = СтрокаМетаданных.ОбъектМетаданных; ПолноеИмяОбъекта = ТекОбъектМетаданных.ПолноеИмя(); + + Сообщение = "Пропускаем из-за исключения по имени метаданного - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), Родитель, ТекОбъектМетаданных.Имя); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекОбъектМетаданных.Имя, Настройки.ИсключенияПоИмениМетаданных, + Сообщение, НаборТестов) Тогда + Продолжить; + КонецЕсли; + ЭтоВебСервис = Найти(ПолноеИмяОбъекта, "WebСервис")=1; Если ЭтоВебСервис Тогда // Для веб-сервиса режим блокировки проверяем у его операций Для Каждого Операция Из ТекОбъектМетаданных.Операции Цикл - ПараметрыТеста = НаборТестовПараметр.ПараметрыТеста(ПолноеИмяОбъекта, Родитель, Операция.Имя); + ПараметрыТеста = НаборТестов.ПараметрыТеста(ПолноеИмяОбъекта, Родитель, Операция.Имя); ЗаголовокТеста = "" + ПолноеИмяОбъекта + "." + Операция.Имя + " - " + ИмяНабораТестов; - НаборТестовПараметр.Добавить("Тест_ПроверитьРежимБлокировкиОбъекта", ПараметрыТеста, ЗаголовокТеста); + НаборТестов.Добавить("Тест_ПроверитьРежимБлокировкиОбъекта", ПараметрыТеста, ЗаголовокТеста); КонецЦикла; Иначе - ПараметрыТеста = НаборТестовПараметр.ПараметрыТеста(ПолноеИмяОбъекта, Родитель, ""); + ПараметрыТеста = НаборТестов.ПараметрыТеста(ПолноеИмяОбъекта, Родитель, ""); ЗаголовокТеста = ПолноеИмяОбъекта + " - " + ИмяНабораТестов; - НаборТестовПараметр.Добавить("Тест_ПроверитьРежимБлокировкиОбъекта", ПараметрыТеста, ЗаголовокТеста); + НаборТестов.Добавить("Тест_ПроверитьРежимБлокировкиОбъекта", ПараметрыТеста, ЗаголовокТеста); КонецЕсли; КонецЦикла; @@ -70,7 +110,10 @@ КонецПроцедуры -// Сам тест +#КонецОбласти + +#Область Тесты + Процедура Тест_ПроверитьРежимБлокировкиОбъекта(ПолноеИмяМетаданного, Родитель, ИмяОперации) Экспорт ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданного); Если ЗначениеЗаполнено(ИмяОперации) Тогда @@ -83,3 +126,93 @@ КонецПроцедуры #КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ЗаголовокОбщаяЧасть() + Возврат "Проверка режима управления блокировкой данных"; +КонецФункции + +Функция ШаблонПредставления() + Возврат ЗаголовокОбщаяЧасть() + " %1: %2"; +КонецФункции + +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + НаборТестов.Добавить("Тест_ПропуститьМетаданное", ПараметрыТеста, Сообщение); + //Наборы.Добавить( + // Новый Структура("ИмяПроцедуры, Параметры, Представление", + // "Тест_ПропуститьМетаданное", + // ПараметрыТеста, + // Сообщение)); + + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +#Область Настройки + +Процедура ЗагрузитьНастройки() + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + КонецЕсли; + +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("ИсключенияПоВидуМетаданных", Новый Массив); + Результат.Вставить("ИсключенияПоИмениМетаданных", Новый Массив); + + Возврат Результат; +КонецФункции + +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти + +#КонецОбласти diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 2e9042604..51287b753 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -1,5 +1,5 @@ { - "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, @@ -183,5 +183,17 @@ "СхемаКомпоновкиДанных", "*Макет*" ] + }, + + "РежимУправленияБлокировкойДанных" : { + "Используется" : true, + "ИсключенияПоВидуМетаданных" : [ + "Справочник*" + ], + "ИсключенияПоИмениМетаданных" : [ + "ДокументСДвижениями", + "ИнтерактивноеИзменениеВыгрузки*", + "ПереходНа*" + ] } } \ No newline at end of file From 206d70253bfdb04fc97757ea1bfcfb1eb5106a61 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 15:39:36 +0300 Subject: [PATCH 126/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=202=D1=85=20?= =?UTF-8?q?=D0=B2=D0=B8=D0=B4=D0=BE=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 63 +++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 17 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 9b132b681..dd899c613 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -2,32 +2,38 @@ # Дымовые тесты -- [Настройка дымовых тестов под конкретную конфигурацию](#настройка-дымовых-тестов-под-конкретную-конфигурацию) -- [Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных](#дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных) +- [Дымовые тесты](#дымовые-тесты) + - [Настройка дымовых тестов под конкретную конфигурацию](#настройка-дымовых-тестов-под-конкретную-конфигурацию) + - [Файл настроек `smoke.json`](#файл-настроек-smokejson) + - [Возможности управления модальными окнами](#возможности-управления-модальными-окнами) + - [Дымовые тесты открытия/закрытия форм объектов метаданных и изменения метаданных](#дымовые-тесты-открытиязакрытия-форм-объектов-метаданных-и-изменения-метаданных) - [Варианты запуска](#варианты-запуска) - [Описание возможностей](#описание-возможностей) - [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) - [Основные настройки](#основные-настройки) - [Исключения](#исключения) - - [Исключения по виду метаданных](#исключения-по-виду-метаданных) - - [Исключения по виду объекта метаданных](#исключения-по-виду-объекта-метаданных) - - [Исключения конкретной формы](#исключения-конкретной-формы) - - [Исключение форм, зависящих от отключенных функциональных опций](#исключение-форм-зависящих-от-отключенных-функциональных-опций) - - [Исключения для типовых конфигураций 1С, основанных на БСП](#исключения-для-типовых-конфигураций-1с-основанных-на-бсп) + - [Исключения по виду метаданных](#исключения-по-виду-метаданных) + - [Исключения по виду объекта метаданных](#исключения-по-виду-объекта-метаданных) + - [Исключения конкретной формы](#исключения-конкретной-формы) + - [Исключение форм, зависящих от отключенных функциональных опций](#исключение-форм-зависящих-от-отключенных-функциональных-опций) + - [Исключения для типовых конфигураций 1С, основанных на БСП](#исключения-для-типовых-конфигураций-1с-основанных-на-бсп) + - [Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется](#исключения-для-версии-ниже-41хх-более-сложный-способ---не-рекомендуется) - [Проверка форм подчиненных справочников](#проверка-форм-подчиненных-справочников) - [Значения для заполнения реквизитов при создании новых ссылочных объектов](#значения-для-заполнения-реквизитов-при-создании-новых-ссылочных-объектов) - [Группировка дымовых тестов при запуске в интерактивном режиме](#группировка-дымовых-тестов-при-запуске-в-интерактивном-режиме) -- [Дымовые тесты командного интерфейса](#дымовые-тесты-командного-интерфейса) + - [Дымовые тесты командного интерфейса](#дымовые-тесты-командного-интерфейса) - [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса) -- [Дымовое тестирование ввода документов на основании](#дымовое-тестирование-ввода-документов-на-основании) - - [Настройка дымовых тестов для запуска в tddTestRunner](Настройка-дымовых-тестов-для-запуска-в-tddTestRunner) + - [Пример файла настройки](#пример-файла-настройки) + - [Дымовое тестирование ввода документов на основании](#дымовое-тестирование-ввода-документов-на-основании) + - [Настройка дымовых тестов для запуска в tddTestRunner](#настройка-дымовых-тестов-для-запуска-в-tddtestrunner) - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) -- [Тесты макетов СКД](#тесты-макетов-скд) -- [Тесты проведения документов](#тесты-проведения-документов) -- [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-БСП-конфигураций) -- [Дымовое тестирование настройки общих модулей и наличия подсистем](#дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) -- [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) -- [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) + - [Быстрый старт для типовых конфигураций через BDD (bddRunner.epf)](#быстрый-старт-для-типовых-конфигураций-через-bdd-bddrunnerepf) + - [Дымовое тестирование настройки общих модулей и наличия подсистем](#дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) + - [Тесты макетов СКД](#тесты-макетов-скд) + - [Тесты проведения документов](#тесты-проведения-документов) + - [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-бсп-конфигураций) + - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) + - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. @@ -791,8 +797,18 @@ Для справочников, документов и регистров есть хотя бы одна роль на Чтение метаданных, отличная от ролей с администраторскими/полными привилегиями. +Есть возможность настройки прав, которые являются администраторскими, с помощью json-файла настройки. + +- ключ настройки `ПроверкаЧтенияНеАдминистраторами` + - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + - вложенный массив с ключом `ИсключенияПоИмениМетаданных`, отвечающий за исключение метаданных по `имени метаданного` - например, Номенклатура, ПриходнаяНакладная и т.п. + - вложенный массив с ключом `ПривилегированныеРоли`, отвечающий за роли-администраторов. + - в обоих настройках возможен поиск 2х видов + - возможен поиск по полному наименованию - `СчетФактура` + - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` + Есть возможность настройки прав, которые являются администраторскими, с помощью файла конфигурации. -- Пример настройки есть в файле [tests/smoke/smoke.example.json - строка 53](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json#L53) +- Пример настройки есть в файле [tests/smoke/smoke.example.json](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json) ## Проверка режима управления блокировкой данных в транзакции по умолчанию @@ -809,3 +825,16 @@ Если режим всей конфигурации "Управляемый", тогда тест не выполняется, т.к. эта проверка не имеет смысла. Такое несоответствие неверно и может привести к ошибкам при выполнении явных или неявных (системных) транзакций 1С. + +Есть возможность настройки с помощью json-файла настройки. + +- ключ настройки `РежимУправленияБлокировкойДанных` + - вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + - вложенный массив с ключом `ИсключенияПоВидуМетаданных`, отвечающий за исключение метаданных по `имени метаданного` - например, Справочник, Документ и т.п. + - вложенный массив с ключом `ИсключенияПоИмениМетаданных`, отвечающий за исключение метаданных по `имени метаданного` - например, Номенклатура, ПриходнаяНакладная и т.п. + - в обоих настройках возможен поиск 2х видов + - возможен поиск по полному наименованию - `СчетФактура` + - возможен поиск по шаблону со звездочкой - `Счет*` или `*Счет` или `*Счет*` или `Счет*Реестр` + +Есть возможность настройки прав, которые являются администраторскими, с помощью файла конфигурации. +- Пример настройки есть в файле [tests/smoke/smoke.example.json](https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.example.json) From 16ed1920835b1d1bc93ea1cf2c1675055d0b3934 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 15:50:57 +0300 Subject: [PATCH 127/421] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=20=D0=B7=D0=B0=D0=BA?= =?UTF-8?q?=D1=80=D1=8B=D0=B2=D0=B0=D0=B5=D0=BC=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D1=83=20=D1=81=20=D0=B2=D0=BE=D0=BF=D1=80=D0=BE=D1=81=D0=BE?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Завершить работу с помощником closes https://github.com/vanessa-opensource/add/issues/746 --- tests/smoke/smoke.bsp.json | 11 ++++------- tests/smoke/smoke.example.json | 3 ++- tools/JSON/xUnitParams.json | 3 ++- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 9316441f9..24e96509e 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -1,5 +1,5 @@ { - "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, @@ -8,10 +8,11 @@ "МодальныеОкна": { "ШаблонПомощника":{ "Заголовки" : [ - "Демо: Шаблон помощника" + "*Шаблон помощника" ], "Поля" : [ - "Закрыть помощник?" + "Закрыть помощник?", + "Завершить работу с помощником?" ], "Кнопка": 0 } @@ -205,9 +206,5 @@ "СхемаКомпоновкиДанных", "*Макет*" ] - }, - - "РежимУправленияБлокировкойДанных" : { - "Используется" : false } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index b19d2ef8c..b215acecb 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -11,7 +11,8 @@ "Демо: Шаблон помощника" ], "Поля" : [ - "Закрыть помощник?" + "Закрыть помощник?", + "Завершить работу с помощником?" ], "Кнопка": 0 } diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 51287b753..732485516 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -11,7 +11,8 @@ "Демо: Шаблон помощника" ], "Поля" : [ - "Закрыть помощник?" + "Закрыть помощник?", + "Завершить работу с помощником?" ], "Кнопка": 0 } From 37f6a693337fc1bd6e45aaeb4d93d6ba0c546b13 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 16:12:43 +0300 Subject: [PATCH 128/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=B5=20=D0=B2=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0=20=D0=BD=D0=B0=20=D0=BE=D1=81=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - иногда возникает closes #743 --- .../Ext/Form/Module.bsl" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e5ef076cf..08832f9e0 100644 --- "a/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -561,7 +561,9 @@ Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док.Номер", """"""); КонецЕсли; - Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док", ТипМетаданного.Значение.Имя); + Запрос.Текст = СтрЗаменить(Запрос.Текст, ".#Док", "."+ТипМетаданного.Значение.Имя); + Запрос.Текст = СтрЗаменить(Запрос.Текст, """#Док""", """" + ТипМетаданного.Значение.Имя + """"); + Запрос.Текст = СтрЗаменить(Запрос.Текст, "#Док", "Док_"+ТипМетаданного.Значение.Имя); Попытка Результат = Запрос.Выполнить().Выгрузить(); From e1a68cb2cc14d7fc5ccc61b872d5110d4e93040c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 19:54:58 +0300 Subject: [PATCH 129/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=91=D0=A1?= =?UTF-8?q?=D0=9F-=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 35 +++++++++++++++++++++++++++++++++- tests/smoke/smoke.example.json | 2 +- tools/JSON/xUnitParams.json | 2 +- 3 files changed, 36 insertions(+), 3 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 24e96509e..d64a734b3 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -155,7 +155,36 @@ "ПроверкаЧтенияНеАдминистраторами": { "Используется" : true, "ИсключенияПоИмениМетаданных" : [ - "Справочник_Нужный*" + "Удалить*", + + "АвтоматическиНастраиватьРазрешенияВПрофиляхБезопасности", + "ИспользоватьАльтернативныйСерверДляЗагрузкиКурсовВалют", + "НастройкиВходаПользователей", + "ПараметрыАдминистрированияИБ", + "ПользовательСтандартногоИнтерфейсаOData", + "ПоследнееОбновлениеДоступа", + "РазмерПорцииФайловДляЗагрузкиССайта", + "ОбновлениеИнформационнойБазы", + "БезопасноеХранилищеДанныхОбластейДанных", + "ДанныеОбработанныеВЦентральномУзлеРИБ", + "ДвоичныеДанныеФайлов", + "ЗапросыРазрешенийНаИспользованиеВнешнихРесурсов", + "КлючиДоступаВнешнихПользователей", + "КлючиДоступаГруппДоступа", + "КлючиДоступаКРегистрам", + "КэшПрограммныхИнтерфейсов", + "ОбновлениеКлючейДоступаПользователей", + "ПараметрыОграниченияДоступа", + "ПраваРолей", + "РазрешенияНаИспользованиеВнешнихРесурсов", + "РежимыПодключенияВнешнихМодулей", + "СклоненияПредставленийОбъектов", + "События", + "ТаблицыГруппДоступа", + "ФайлыВРабочемКаталоге", + "ВерсииРасширений", + "КлючиДоступа", + "ТомаХраненияФайлов" ], "ПривилегированныеРоли" : [ "Администратор", @@ -206,5 +235,9 @@ "СхемаКомпоновкиДанных", "*Макет*" ] + }, + + "РежимУправленияБлокировкойДанных" : { + "Используется" : false } } \ No newline at end of file diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index b215acecb..3178da2fb 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -66,7 +66,7 @@ "ПроверкаЧтенияНеАдминистраторами": { "Используется" : true, "ИсключенияПоИмениМетаданных" : [ - "Справочник_Нужный*" + "Удалить*" ], "ПривилегированныеРоли" : [ "Администратор", diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 732485516..7e6e234fb 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -114,7 +114,7 @@ "ПроверкаЧтенияНеАдминистраторами": { "Используется" : true, "ИсключенияПоИмениМетаданных" : [ - "Справочник*" + "Удалить*" ], "ПривилегированныеРоли" : [ "Админ", From 61032bcc5ccaee51d8ecbcb6f80e186a34641203 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 20:04:22 +0300 Subject: [PATCH 130/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D0=B5=D0=BC=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D1=81=20=D0=BD=D0=B0=D1=87=D0=B0=D0=BB?= =?UTF-8?q?=D0=BE=D0=BC=20=D0=BD=D0=B0=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 20 +++++++++++++++++++- tests/smoke/smoke.example.json | 25 +++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index d64a734b3..d4c4a6c25 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -21,6 +21,7 @@ "smoke": { "Справочники": { "Списки": [ + "Удалить*", "ВидыКонтактнойИнформации", "ГруппыВнешнихПользователей", "ИдентификаторыОбъектовМетаданных", @@ -41,6 +42,7 @@ "УчетныеЗаписиЭлектроннойПочты" ], "Существующие": [ + "Удалить*", "ВидыКонтактнойИнформации", "ГруппыВнешнихПользователей", "ИдентификаторыОбъектовМетаданных", @@ -61,6 +63,7 @@ "УчетныеЗаписиЭлектроннойПочты" ], "Новые": [ + "Удалить*", "ИдентификаторыОбъектовМетаданных", "ИдентификаторыОбъектовРасширений", "Банки", @@ -83,10 +86,12 @@ ] }, "Отчеты": [ + "Удалить*", "ДвиженияДокумента", "ПраваДоступа" ], "Обработки": [ + "Удалить*", "ЗаменаИОбъединениеЭлементов", "ВводКонтактнойИнформации", "ПанельАдминистрированияБСП", @@ -101,13 +106,16 @@ "СтрогийПорядокВыполнения": true, "ОбщиеКоманды": [ + "Удалить*", "ЗагрузитьДанныеИзФайла" ], "ОбщиеФормы": [ + "Удалить*" ], "Справочники": [ + "Удалить*", "ИдентификаторыОбъектовМетаданных", "ИдентификаторыОбъектовРасширений", "Банки", @@ -129,12 +137,16 @@ "УчетныеЗаписиЭлектроннойПочты" ] , - "Документы": false, + "Документы": [ + "Удалить*" + ], "Отчеты": [ + "Удалить*", "ДвиженияДокумента", "ПраваДоступа" ], "Обработки": [ + "Удалить*", "ЗаменаИОбъединениеЭлементов", "ЗагрузкаКурсовВалют", "ВводКонтактнойИнформации", @@ -197,6 +209,7 @@ "Используется" : true, "КоличествоДокументов" : 5, "Исключения" : [ + "Удалить*", "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] @@ -206,17 +219,20 @@ "Используется" : true, "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ + "Удалить*", "ИдентификаторПечатнойФормы", "СчетФактура", "*Счет", "*Реестр*" ], "ИсключенияПоИмени" : [ + "Удалить*", "*Гарантийное письмо*", "Счет на оплату*", " Комплект документов (из расширения)" ], "ИсключенияПоОбъекту" : [ + "Удалить*", "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] @@ -225,9 +241,11 @@ "МакетыСКД" : { "Используется" : true, "ИсключенияОбщихМакетов" : [ + "Удалить*", "ПолучениеДереваОбработчиковОбновления*" ], "ИсключенияПоИмениМетаданных" : [ + "Удалить*", "ИнтерактивноеИзменениеВыгрузки*", "ПереходНа*" ], diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 3178da2fb..eeff687e2 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -30,9 +30,11 @@ "Справочники": { "Списки": [ + "Удалить*", "ПростойСправочник.Форма.ФормаВыбора" ], "Новые": [ + "Удалить*", "ПростойСправочник2" ], "Подчиненные": { @@ -49,15 +51,18 @@ "Отчет1" ], "Обработки": [ + "Удалить*", "xddGuidShow", "ТестОбработка_Форма_ИсключениеПриОткрытии", "СериализаторMXL.Форма.УправляемаяФорма" ], "БизнесПроцессы": { "Списки": [ + "Удалить*", "БизнесПроцесс2" ], "Новые": [ + "Удалить*", "БизнесПроцесс2" ] } @@ -94,35 +99,44 @@ "FoxyLink.Tasks", "FoxyLink.*" ], - "ExcludedCommonModules": ["SocialNetworks_ExchangeServer"] + "ExcludedCommonModules": [ + "Удалить*", + "SocialNetworks_ExchangeServer" + ] }, "CommandInterface": { "СтрогийПорядокВыполнения": true, "ОбщиеКоманды": [ + "Удалить*", "ЗагрузитьДанныеИзФайла" ], "ОбщиеФормы": [ + "Удалить*" ], "Справочники": [ + "Удалить*", "ПростойСправочник" ] , "Документы": false, "Отчеты": [ + "Удалить*", "Отчет1", "КомпоновкаТест" ], "Обработки": [ + "Удалить*", "xddGuidShow", "ТестОбработка_Форма_ИсключениеПриОткрытии", "СериализаторMXL" ], "БизнесПроцессы": [ - "БизнесПроцесс2" + "Удалить*", + "БизнесПроцесс2" ] }, @@ -131,6 +145,7 @@ "Используется" : true, "КоличествоДокументов" : 5, "Исключения" : [ + "Удалить*", "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] @@ -140,17 +155,20 @@ "Используется" : true, "КоличествоДокументов" : 1, "ИсключенияПоИдентификатору" : [ + "Удалить*", "ИдентификаторПечатнойФормы", "СчетФактура", "*Счет", "*Реестр*" ], "ИсключенияПоИмени" : [ + "Удалить*", "*Гарантийное письмо*", "Счет на оплату*", " Комплект документов (из расширения)" ], "ИсключенияПоОбъекту" : [ + "Удалить*", "_ДемоСписаниеТоваров*", "*еНаОбработку*" ] @@ -159,9 +177,11 @@ "МакетыСКД" : { "Используется" : true, "ИсключенияОбщихМакетов" : [ + "Удалить*", "ПолучениеДереваОбработчиковОбновления*" ], "ИсключенияПоИмениМетаданных" : [ + "Удалить*", "ИнтерактивноеИзменениеВыгрузки*", "ПереходНа*" ], @@ -177,6 +197,7 @@ "НужноеНазваниеВида_Справочник*" ], "ИсключенияПоИмениМетаданных" : [ + "Удалить*", "ДокументСДвижениями", "ИнтерактивноеИзменениеВыгрузки*", "ПереходНа*" From beb3116c6ec0cdfd1880a78f902f90dbb1c6727e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 17 Oct 2020 20:11:56 +0300 Subject: [PATCH 131/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B1=D1=8B=D1=82=D1=8B=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8F=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 27 +++++++++++++++++++++++- tests/smoke/smoke.example.json | 38 ++++++++++++++++++++++++---------- tools/JSON/xUnitParams.json | 27 ++++++++++++++++-------- 3 files changed, 71 insertions(+), 21 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index d4c4a6c25..20bd8fb79 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -99,7 +99,32 @@ "ПереносФайловВТома", "РасширенныйВводКонтактнойИнформации", "РекомендацияПоПовышениюСкоростиРаботы" - ] + ], + "Документы": { + "Списки": [ + "Удалить*" + ], + "Новые": [ + "Удалить*" + ], + "Существующие": [ + "Удалить*" + ], + "ПеренестиДату": [ + "Удалить*" + ] + }, + "БизнесПроцессы": { + "Списки": [ + "Удалить*" + ], + "Новые": [ + "Удалить*" + ], + "Существующие": [ + "Удалить*" + ] + } }, "CommandInterface": { diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index eeff687e2..ef1a4677a 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -46,16 +46,20 @@ } } }, - "Документы": false, - "Отчеты": [ - "Отчет1" - ], - "Обработки": [ - "Удалить*", - "xddGuidShow", - "ТестОбработка_Форма_ИсключениеПриОткрытии", - "СериализаторMXL.Форма.УправляемаяФорма" - ], + "Документы": { + "Списки": [ + "Удалить*" + ], + "Новые": [ + "Удалить*" + ], + "Существующие": [ + "Удалить*" + ], + "ПеренестиДату": [ + "Удалить*" + ] + }, "БизнесПроцессы": { "Списки": [ "Удалить*", @@ -64,8 +68,20 @@ "Новые": [ "Удалить*", "БизнесПроцесс2" + ], + "Существующие": [ + "Удалить*" ] - } + }, + "Отчеты": [ + "Отчет1" + ], + "Обработки": [ + "Удалить*", + "xddGuidShow", + "ТестОбработка_Форма_ИсключениеПриОткрытии", + "СериализаторMXL.Форма.УправляемаяФорма" + ] }, "ПроверкаЧтенияНеАдминистраторами": { diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 7e6e234fb..fc2c62b81 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -49,12 +49,29 @@ }, "Документы": { "Списки": [ + "Удалить*" + ], + "Новые": [ + "Удалить*" ], "Существующие": [ + "Удалить*" + ], + "ПеренестиДату": [ + "Удалить*" + ] + }, + "БизнесПроцессы": { + "Списки": [ + "Удалить*", + "БизнесПроцесс2" ], "Новые": [ + "Удалить*", + "БизнесПроцесс2" ], - "ПеренестиДату": [ + "Существующие": [ + "Удалить*" ] }, "Отчеты": [ @@ -63,14 +80,6 @@ "ОткрытьVanessaADD", "ТестОбработка_Форма_ИсключениеПриОткрытии" ], - "БизнесПроцессы": { - "Списки": [ - "КакойТоБизнесПроцесс" - ], - "Новые": [ - "КакойТоБизнесПроцесс" - ] - }, "ПропускаемыеИсключения" : [ "Обработка не предназначена для непосредственного использования", "Самостоятельное использование формы не предусмотрено" From 368063d774f7f21f232330161cd0d5a1cad89f96 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 18 Oct 2020 17:19:24 +0300 Subject: [PATCH 132/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B0=20=D0=BF=D1=80=D0=B0=D0=B2=20=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=91=D0=A1=D0=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 20bd8fb79..f1003c559 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -221,7 +221,28 @@ "ФайлыВРабочемКаталоге", "ВерсииРасширений", "КлючиДоступа", - "ТомаХраненияФайлов" + "ТомаХраненияФайлов", + "ПараметрыРезервногоКопирования", + "ИспользоватьУдалениеПомеченныхОбъектов", + "КоличествоПотоковОбновленияДоступа", + "ОбновлениеКлючейДоступаКДанным", + "НаборыЗначенийДоступа", + "НастройкиВерсионированияОбъектов", + "НаборыГруппДоступа", + "СинхронизироватьФайлы", + "ЗначенияГруппДоступа", + "СведенияОФайлах", + "ОбновлениеКлючейДоступаТекущиеЗадания", + "ПараметрыРаботыПрограммы", + "КлючиДоступаНаборовГруппДоступа", + "НастройкиОчисткиФайлов", + "ПараметрыРаботыВерсийРасширений", + "РабочиеКаталогиФайлов", + "ПараметрыАдресногоКлассификатора", + "ВерсииПодсистем", + "БезопасноеХранилищеДанных", + "НастройкаПроксиСервера", + "НаследованиеНастроекПравОбъектов" ], "ПривилегированныеРоли" : [ "Администратор", From 6b498424a1a4d18338a3b09d6a986169ce4888c4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 19 Oct 2020 19:36:22 +0300 Subject: [PATCH 133/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=D1=8E=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D1=8B?= =?UTF-8?q?=20=D0=91=D0=A1=D0=9F=20=D0=B2=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=BC=20=D1=82=D0=B5=D1=81=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit прав на метаданные --- tests/smoke/smoke.bsp.json | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index f1003c559..5b4aaa644 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -242,7 +242,19 @@ "ВерсииПодсистем", "БезопасноеХранилищеДанных", "НастройкаПроксиСервера", - "НаследованиеНастроекПравОбъектов" + "НаследованиеНастроекПравОбъектов", + "ПараметрыБлокировкиРаботыСВнешнимиРесурсами", + "ПрофильБезопасностиИнформационнойБазы", + "БлокировкиСеансовОбластейДанных", + "ГруппыЗначенийДоступа", + "ЗависимостиПравДоступа", + "ЗначенияГруппДоступаПоУмолчанию", + "КлючиДоступаКОбъектам", + "КлючиДоступаПользователей", + "НастройкиКомандПечати", + "НастройкиПравОбъектов", + "СведенияОПользователях", + "СеансыВерсийРасширений" ], "ПривилегированныеРоли" : [ "Администратор", From 9ac969dbc83e98350177e1b259729ee800614c09 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 19 Oct 2020 19:37:16 +0300 Subject: [PATCH 134/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=B0=D1=82=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D1=81=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit в дымовых тестах - прав доступа - управления блокировкой --- .../Ext/ObjectModule.bsl" | 9 ++++----- .../Ext/ObjectModule.bsl" | 4 ++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" index 6e77c62e1..cf0468dbd 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\266\320\270\320\274\320\260\320\221\320\273\320\276\320\272\320\270\321\200\320\276\320\262\320\272\320\270/Ext/ObjectModule.bsl" @@ -125,6 +125,10 @@ КонецПроцедуры +Процедура Тест_ПропуститьМетаданное(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); +КонецПроцедуры + #КонецОбласти #КонецОбласти @@ -147,11 +151,6 @@ ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); НаборТестов.Добавить("Тест_ПропуститьМетаданное", ПараметрыТеста, Сообщение); - //Наборы.Добавить( - // Новый Структура("ИмяПроцедуры, Параметры, Представление", - // "Тест_ПропуститьМетаданное", - // ПараметрыТеста, - // Сообщение)); Возврат Истина; КонецЕсли; diff --git "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" index 3871ba021..973c835a3 100644 --- "a/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\247\321\202\320\265\320\275\320\270\321\217\320\235\320\265\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200\320\260\320\274\320\270/Ext/ObjectModule.bsl" @@ -137,6 +137,10 @@ Возврат "Проверка доступа на Чтение Не-Администраторами"; КонецФункции +Процедура Тест_ПропуститьМетаданное(Знач Сообщение) Экспорт + КонтекстЯдра.ПропуститьТест(Сообщение); +КонецПроцедуры + #КонецОбласти #КонецОбласти From e9049c82c61efcdfc2b8dc32c78db5e88649ec98 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 26 Oct 2020 14:12:51 +0300 Subject: [PATCH 135/421] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D1=8E=20=D1=81=D1=82=D0=B0=D1=80=D1=82=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1c07f5dbb..868523336 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -506,7 +506,7 @@ КонецЕсли; Результат = КонтекстЯдра.СтрШаблон_( - """%1"" ENTERPRISE /IBConnectionString""%2""%3%4 /TestClient -TPort%5 /L%6 %7", + """%1"" ENTERPRISE /IBConnectionString""%2""%3%4 /TestClient -TPort%5 /L%6 %7 /DisableStartupMessages", СтрокаЗапуска1с, СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", """"""), ?(ПустаяСтрока(ИмяПользователя), "", " /N""" + ИмяПользователя + """"), From d27788b05762ad1a17ebe8daa52082dbb0509acd Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 26 Oct 2020 14:13:36 +0300 Subject: [PATCH 136/421] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D1=8E=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8?= =?UTF-8?q?=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BF=D1=80=D0=B8=D1=81=D0=BE=D0=B5=D0=B4=D0=B8?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 5b4aaa644..f6a2bdc42 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -15,6 +15,12 @@ "Завершить работу с помощником?" ], "Кнопка": 0 + }, + "СписокПрисоединенныхФайлов":{ + "Поля" : [ + "Список присоединенных файлов можно посмотреть*" + ], + "Кнопка": 0 } }, @@ -129,6 +135,9 @@ "CommandInterface": { "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], "ОбщиеКоманды": [ "Удалить*", @@ -189,6 +198,27 @@ }, + "smokeInputBasedOn": { + "Исключения": { + "ДокументыПроведенные": [ + "ЧтоОткрываем/ДокументОснование", + "ЗаказКлиента/ЗаданиеТорговомуПредставителю" + ], + "ДокументыНеПроведенные": [ + "ОперацияПоПлатежнойКарте/ЗаявкаНаРасходованиеДенежныхСредств" + ] + } + }, + + "SmokeCommonModules": { + "Subsystems": [ + "Удалить*" + ], + "ExcludedCommonModules": [ + "Удалить*" + ] + }, + "ПроверкаЧтенияНеАдминистраторами": { "Используется" : true, "ИсключенияПоИмениМетаданных" : [ From 8a623bf3d4c946d27f0b8f9890bd10801d581142 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= Date: Mon, 26 Oct 2020 21:34:29 +0400 Subject: [PATCH 137/421] =?UTF-8?q?doc:=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=20=D0=B8=20=D1=83=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=20=D1=81?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20"=D0=A2=D0=B5=D0=BA?= =?UTF-8?q?=D1=83=D1=87=D0=B8=D0=B5-(fluent)-=D1=83=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F"=20(#796)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * issues #784 Отображение пути к загруженным настройкам в браузере тестов -- Изменена управляемая форма. Добавлен элемент Декорация и группа элементов. -- Добавлен метод формирования представления пути к файлу настроек, для вывода в Декорации -- Событие Нажатие в Декорации связано с командой ЗагрузитьНастройкиИзФайла * doc: уточнен раздел справки "Текучие-(fluent)-утверждения" -- добавлено описание метода ВыбрасываетИсключение() -- уточнен пример запуска "Из кода тестов (TDD)" -- измен порядок методов публичного api, методы сгруппированы по смыслу -- исправлена грамматическая ошибка * doc: Добавлено описание метода Метод добавлен пример для Метод --- ...20\264\320\265\320\275\320\270\321\217.MD" | 48 +++++++++++++------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git "a/doc/xdd/\320\242\320\265\320\272\321\203\321\207\320\270\320\265-(fluent)-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" "b/doc/xdd/\320\242\320\265\320\272\321\203\321\207\320\270\320\265-(fluent)-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" index 6336300d2..f00a03d4f 100644 --- "a/doc/xdd/\320\242\320\265\320\272\321\203\321\207\320\270\320\265-(fluent)-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" +++ "b/doc/xdd/\320\242\320\265\320\272\321\203\321\207\320\270\320\265-(fluent)-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" @@ -4,13 +4,14 @@ - [Текучие-(fluent)-утверждения](#текучие-fluent-утверждения) - - [Введение](#введение) - - [Обращение к плагину (пример)](#обращение-к-плагину-пример) - - [Из кода шагов (BDD), запускаемых через `bddRunner`](#из-кода-шагов-bdd-запускаемых-через-bddrunner) - - [Из кода тестов (TDD), запускаемых через `xddTestRunner`](#из-кода-тестов-tdd-запускаемых-через-xddtestrunner) - - [Публичный интерфейс](#публичный-интерфейс) - - [Примеры использования](#примеры-использования) - - [Пример немного сложнее](#пример-немного-сложнее) + - [Введение](#введение) + - [Обращение к плагину (пример)](#обращение-к-плагину-пример) + - [Из кода шагов (BDD), запускаемых через `bddRunner`](#из-кода-шагов-bdd-запускаемых-через-bddrunner) + - [Из кода тестов (TDD), запускаемых через `xddTestRunner`](#из-кода-тестов-tdd-запускаемых-через-xddtestrunner) + - [Публичный интерфейс](#публичный-интерфейс) + - [Примеры использования](#примеры-использования) + - [Базовый пример](#базовый-пример) + - [Пример немного сложнее](#пример-немного-сложнее) @@ -50,7 +51,7 @@ Процедура ТестДолжен() Экспорт Ожидаем.Что(НекийМассив.Количество(), "Ожидали 9 элементов, но это не так") - .ЭтоНе() + .Не_() .Равно(9); КонецПроцедуры ``` @@ -66,35 +67,42 @@ - `ЭтоЛожь()` — утверждает, что проверяемое значение является Ложью. +- `ЭтоNull()` — утверждает, что проверяемое значение это Null. + +- `ЭтоНеопределено()` — утверждает, что проверяемое значение это Неопределено. + - `Равно(ОжидаемоеЗначение)` — утверждает, что проверяемое значение равно ожидаемому. - `Больше(МеньшееЗначение)` — утверждает, что проверяемое значение больше, чем переданное в утверждение. +- `Меньше(БольшееЗначение)` — утверждает, что проверяемое значение меньше, чем переданное в утверждение. + - `БольшеИлиРавно(МеньшееИлиРавноеЗначение)` / `Минимум(МинимальноеЗначение)` — утверждает, что проверяемое значение больше или равно переданному в утверждение. - `МеньшеИлиРавно(БольшееИлиРавноеЗначение)` / `Максимум(МаксимальноеЗначение)` — утверждает, что проверяемое значение меньше или равно переданному в утверждение. -- `Меньше(БольшееЗначение)` — утверждает, что проверяемое значение меньше, чем переданное в утверждение. +- `Между(НачальноеЗначение, КонечноеЗначение)` — утверждает, что проверяемое значение находится между переданными в утверждение значениями. - `Заполнено()` — утверждает, что проверяемое значение отличается от значения по умолчанию того же типа. - `Существует()` — утверждает, что проверяемое значение не Null и не Неопределено. -- `ЭтоНеопределено()` — утверждает, что проверяемое значение это Неопределено. - -- `ЭтоNull()` — утверждает, что проверяемое значение это Null. +- `Содержит(ИскомоеЗначение)` — утверждает, что проверяемое значение содержит переданное в утверждение. Применяется для строк и коллекций. - `ИмеетТип(Тип)` — утверждает, что проверяемое значение имеет переданный в утверждение тип или имя типа. -- `Между(НачальноеЗначение, КонечноеЗначение)` — утверждает, что проверяемое значение находится между переданными в утверждение значениями. +- `ИмеетДлину(ОжидаемаяДлина)` — утверждает, что проверяемое значение имеет длину переданную в утверждение. Применяется для строк и коллекций. -- `Содержит(ИскомоеЗначение)` — утверждает, что проверяемое значение содержит переданное в утверждение. Применяется для строк и коллекций. +- `ВыбрасываетИсключение(ФрагментТекстаИсключения)` — утверждает, что при вызове метода с помощью Метод() платформа формирует исключение с информацией содержащей ФрагментТекстаИсключения (необязательный параметр). -- `ИмеетДлину(ОжидаемаяДлина)` — утверджает, что проверяемое значение имеет длину переданную в утверждение. Применяется для строк и коллекций. +- `Метод(ИмяМетода, ПараметрыМетода)` - вызывает метод с именем ИмяМетода и параметрами ПараметрыМетода. ПараметрыМетода (необязательный параметр) произвольного типа или массив для передачи нескольких параметров в метод. ## Примеры использования + +### Базовый пример + ```bsl Ожидаем.Что(1 > 0).ЭтоИстина(); Ожидаем.Что(13 = 2).Не_().ЭтоИстина(); @@ -126,3 +134,13 @@ .ИмеетДлину(12) .Не_().Содержит("!!!"); ``` + +```bsl +ПараметрыМетода = Новый Массив(); +ПараметрыМетода.Добавить("ЗначениеПараметра_1"); +ПараметрыМетода.Добавить("ЗначениеПараметра_2"); + +Ожидаем.Что("Метод МетодСДвумяПараметрами вызывается и не генерирует исключений, но это не так.") + .Метод("МетодСДвумяПараметрами", ПараметрыМетода) + .Не_().ВыбрасываетИсключение(); +``` From f4674ee028b024e0dfa6215f9443187af1550460 Mon Sep 17 00:00:00 2001 From: Alexander Kuntashov Date: Mon, 26 Oct 2020 21:58:54 +0400 Subject: [PATCH 138/421] =?UTF-8?q?=D0=92=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=D0=9A=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=83?= =?UTF-8?q?=D0=9E=D0=A1*=D0=A1=D0=92=D1=8B=D0=B2=D0=BE=D0=B4=D0=BE=D0=BC?= =?UTF-8?q?=20=D0=B2=20=D0=BB=D0=B8=D0=BD=D1=83=D0=BA=D1=81=D0=B5=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B0=D0=B5=D1=82=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20(#789)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ВыполнитьКомандуОС*СВыводом в линуксе не получал вывод Исправлено: Метод ВыполнитьКомандуОСБезПоказаЧерногоОкнаСВыводом() в линуксе не получал вывод (stdout) выполненной команды и всегда возвращал пустую строку. * Выгрузил обрабтку в формате 8.3.10 * Удаление временных файлов защищено от исключений при вызове команды --- .../Ext/ObjectModule.bsl" | 91 +++++++++++++++--- .../Ext/Form/Module.bsl" | 92 ++++++++++++++++--- 2 files changed, 154 insertions(+), 29 deletions(-) diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" index 1a763fedd..bce312b8c 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" @@ -93,14 +93,36 @@ // Возвращаемое значение: // Число - Результат выполнения скрипта. 0 - если не было ошибок. // -&НаКлиенте Функция ВыполнитьКомандуОСБезПоказаЧерногоОкнаСВыводом(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт Если КонтекстЯдра.ЭтоLinux Тогда + КодВозврата = 0; - ЗапуститьПриложение(ТекстКоманды,, ЖдатьОкончания, КодВозврата); - Возврат КодВозврата; + + ИмяФайлаВывода = ПолучитьИмяВременногоФайла("txt"); + ВремКоманда = ТекстКоманды + " > """ + ИмяФайлаВывода + """"; + + Попытка + + ЗапуститьПриложение(ВремКоманда,, ЖдатьОкончания, КодВозврата); + + Если КодВозврата = 0 Тогда + КонсольныйВывод = ПрочитатьФайлКакТекст(ИмяФайлаВывода, ИспользоватьКодировкуТекстаUTF8); + КонецЕсли; + + Исключение + + УдалитьВременныйФайл(ИмяФайлаВывода); + + ВызватьИсключение; + + КонецПопытки; + + УдалитьВременныйФайл(ИмяФайлаВывода); + + Возврат КодВозврата; + КонецЕсли; Если ЖдатьОкончания = -1 Тогда @@ -133,24 +155,37 @@ WshShell = ПолучитьWshShell(); - Рез = WshShell.Run(ИмяВременногоФайлаКоманды, 0, ?(ЖдатьОкончания, -1, 0)); - Если Рез = 0 Тогда - // команда выполнилась успешно - ЧТ = Новый ЧтениеТекста(ИмяФайлаВывода); - КонсольныйВывод = ЧТ.Прочитать(); - ЧТ.Закрыть(); - КонецЕсли; + Попытка + + Рез = WshShell.Run(ИмяВременногоФайлаКоманды, 0, ?(ЖдатьОкончания, -1, 0)); + + Если Рез = 0 Тогда + // команда выполнилась успешно + КонсольныйВывод = ПрочитатьФайлКакТекст(ИмяФайлаВывода, ИспользоватьКодировкуТекстаUTF8); + КонецЕсли; + + Исключение + + УдалитьВременныйФайл(ИмяФайлаВывода); + + Если ЖдатьОкончания И УдалятьФайл Тогда + //иначе удалять нельзя + УдалитьВременныйФайл(ИмяВременногоФайлаКоманды); + КонецЕсли; + + ВызватьИсключение; + + КонецПопытки; + + УдалитьВременныйФайл(ИмяФайлаВывода); Если ЖдатьОкончания И УдалятьФайл Тогда //иначе удалять нельзя - Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда - // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяВременногоФайлаКоманды); - Иначе - УдалитьФайлы(ИмяВременногоФайлаКоманды); - КонецЕсли; + УдалитьВременныйФайл(ИмяВременногоФайлаКоманды); КонецЕсли; Возврат Рез; + КонецФункции // далее переменная WshShell будет закеширована, чтобы не создавать ComObject каждый раз @@ -417,4 +452,30 @@ КонецПроцедуры +Функция ПрочитатьФайлКакТекст(ИмяФайла, ИспользоватьКодировкуТекстаUTF8) + + Если ИспользоватьКодировкуТекстаUTF8 Тогда + ЧТ = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); + Иначе + ЧТ = Новый ЧтениеТекста(ИмяФайла); + КонецЕсли; + + СодержимоеФайла = ЧТ.Прочитать(); + + ЧТ.Закрыть(); + + Возврат СодержимоеФайла; + +КонецФункции + +Процедура УдалитьВременныйФайл(ИмяФайла) + + Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда + // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяФайла); + Иначе + УдалитьФайлы(ИмяФайла); + КонецЕсли; + +КонецПроцедуры + // } Helpers \ No newline at end of file diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c7564dde1..f7b4250d6 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -113,9 +113,32 @@ Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт Если КонтекстЯдра.ЭтоLinux Тогда + КодВозврата = 0; - ЗапуститьПриложение(ТекстКоманды,, ЖдатьОкончания, КодВозврата); - Возврат КодВозврата; + + ИмяФайлаВывода = ПолучитьИмяВременногоФайла("txt"); + ВремКоманда = ТекстКоманды + " > """ + ИмяФайлаВывода + """"; + + Попытка + + ЗапуститьПриложение(ВремКоманда,, ЖдатьОкончания, КодВозврата); + + Если КодВозврата = 0 Тогда + КонсольныйВывод = ПрочитатьФайлКакТекст(ИмяФайлаВывода, ИспользоватьКодировкуТекстаUTF8); + КонецЕсли; + + Исключение + + УдалитьВременныйФайл(ИмяФайлаВывода); + + ВызватьИсключение; + + КонецПопытки; + + УдалитьВременныйФайл(ИмяФайлаВывода); + + Возврат КодВозврата; + КонецЕсли; Если ЖдатьОкончания = -1 Тогда @@ -148,24 +171,37 @@ WshShell = ПолучитьWshShell(); - Рез = WshShell.Run(ИмяВременногоФайлаКоманды, 0, ?(ЖдатьОкончания, -1, 0)); - Если Рез = 0 Тогда - // команда выполнилась успешно - ЧТ = Новый ЧтениеТекста(ИмяФайлаВывода); - КонсольныйВывод = ЧТ.Прочитать(); - ЧТ.Закрыть(); - КонецЕсли; + Попытка + + Рез = WshShell.Run(ИмяВременногоФайлаКоманды, 0, ?(ЖдатьОкончания, -1, 0)); + + Если Рез = 0 Тогда + // команда выполнилась успешно + КонсольныйВывод = ПрочитатьФайлКакТекст(ИмяФайлаВывода, ИспользоватьКодировкуТекстаUTF8); + КонецЕсли; + + Исключение + + УдалитьВременныйФайл(ИмяФайлаВывода); + + Если ЖдатьОкончания И УдалятьФайл Тогда + //иначе удалять нельзя + УдалитьВременныйФайл(ИмяВременногоФайлаКоманды); + КонецЕсли; + + ВызватьИсключение; + + КонецПопытки; + + УдалитьВременныйФайл(ИмяФайлаВывода); Если ЖдатьОкончания И УдалятьФайл Тогда //иначе удалять нельзя - Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда - // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяВременногоФайлаКоманды); - Иначе - УдалитьФайлы(ИмяВременногоФайлаКоманды); - КонецЕсли; + УдалитьВременныйФайл(ИмяВременногоФайлаКоманды); КонецЕсли; Возврат Рез; + КонецФункции // далее переменная WshShell будет закеширована, чтобы не создавать ComObject каждый раз @@ -447,4 +483,32 @@ КонецПроцедуры +&НаКлиенте +Функция ПрочитатьФайлКакТекст(ИмяФайла, ИспользоватьКодировкуТекстаUTF8) + + Если ИспользоватьКодировкуТекстаUTF8 Тогда + ЧТ = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); + Иначе + ЧТ = Новый ЧтениеТекста(ИмяФайла); + КонецЕсли; + + СодержимоеФайла = ЧТ.Прочитать(); + + ЧТ.Закрыть(); + + Возврат СодержимоеФайла; + +КонецФункции + +&НаКлиенте +Процедура УдалитьВременныйФайл(ИмяФайла) + + Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда + // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяФайла); + Иначе + УдалитьФайлы(ИмяФайла); + КонецЕсли; + +КонецПроцедуры + // } Helpers From 0001533bb822759616eba5ee1e1072001e5a57cd Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 26 Oct 2020 21:09:48 +0300 Subject: [PATCH 139/421] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BC=D0=BE=D0=BA=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20(#762)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\201\321\202\320\265\320\274\321\203.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 255 ++++++++ ...0\260\320\275\320\275\321\213\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 388 ++++++++++++ ...0\267\320\270\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 414 +++++++++++++ ...0\261\320\276\321\202\320\276\320\272.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 356 +++++++++++ ...0\267\320\270\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 209 +++++++ ...0\262\321\211\320\270\320\272\320\260.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 339 +++++++++++ ...1\207\320\265\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 356 +++++++++++ ...0\265\320\272\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 235 +++++++ ...0\265\320\272\321\202\320\260\320\274.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 297 +++++++++ ...0\265\320\272\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 185 ++++++ ...0\265\320\272\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 363 +++++++++++ ...65\320\272\321\202\320\276\320\262RLS.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 532 ++++++++++++++++ ...0\273\320\265\320\275\320\270\321\217.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 156 +++++ ...0\265\320\275\320\275\321\213\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 160 +++++ ...0\267\320\270\321\202\320\260\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 62 ++ .../Ext/Form/Module.bsl" | 550 +++++++++++++++++ ...0\265\320\272\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 461 ++++++++++++++ ...0\265\320\272\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 284 +++++++++ ...0\264\320\260\320\275\320\270\320\271.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 239 ++++++++ ...0\265\320\275\320\275\321\213\320\271.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 233 +++++++ ...0\267\320\270\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 418 +++++++++++++ ...0\260\320\275\320\275\321\213\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 428 +++++++++++++ ...0\260\320\275\320\275\321\213\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 571 ++++++++++++++++++ ...0\240\320\276\320\273\320\265\320\271.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 308 ++++++++++ ...0\260\320\275\320\275\321\213\321\205.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 441 ++++++++++++++ ...1\207\320\265\321\202\320\276\320\262.xml" | 62 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 326 ++++++++++ 125 files changed, 10979 insertions(+) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" new file mode 100644 index 000000000..10ebda031 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему + + + ru + Тесты "Проверка включения новых объектов с префиксом в подсистему" + + + + ExternalDataProcessor.Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..e39752340 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..013f97387 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,255 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИмяПодсистемы; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ИмяПодсистемы) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Подсистема") Тогда + ИмяПодсистемы = ВРег(Настройки.Параметры.Подсистема); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы(ПолноеИмяМетаданных) Экспорт + + Результат = ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, ИмяПодсистемы); + Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы)); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, ИмяПодсистемы) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Подсистема = Метаданные.Подсистемы[ИмяПодсистемы]; + Результат = Ложь; + + Если Подсистема.Состав.Содержит(ОбъектМетаданных) Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы) + + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" не входит в подсистему ""%2"".'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, ИмяПодсистемы); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов) + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ОбщиеМодули", Новый Массив); + ОбъектыМетаданных.Вставить("ПараметрыСеанса", Новый Массив); + ОбъектыМетаданных.Вставить("Роли", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("КритерииОтбора", Новый Массив); + ОбъектыМетаданных.Вставить("ПодпискиНаСобытия", Новый Массив); + ОбъектыМетаданных.Вставить("РегламентныеЗадания", Новый Массив); + ОбъектыМетаданных.Вставить("ФункциональныеОпции", Новый Массив); + ОбъектыМетаданных.Вставить("ПараметрыФункциональныхОпций", Новый Массив); + ОбъектыМетаданных.Вставить("ОпределяемыеТипы", Новый Массив); + ОбъектыМетаданных.Вставить("ХранилищаНастроек", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеФормы", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеКоманды", Новый Массив); + ОбъектыМетаданных.Вставить("ГруппыКоманд", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеМакеты", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеКартинки", Новый Массив); + ОбъектыМетаданных.Вставить("ПакетыXDTO", Новый Массив); + ОбъектыМетаданных.Вставить("WebСервисы", Новый Массив); + ОбъектыМетаданных.Вставить("HTTPСервисы", Новый Массив); + ОбъектыМетаданных.Вставить("ЭлементыСтиля", Новый Массив); + ОбъектыМетаданных.Вставить("Стили", Новый Массив); + ОбъектыМетаданных.Вставить("Константы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("ЖурналыДокументов", Новый Массив); + ОбъектыМетаданных.Вставить("Перечисления", Новый Массив); + ОбъектыМетаданных.Вставить("Отчеты", Новый Массив); + ОбъектыМетаданных.Вставить("Обработки", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыНакопления", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыБухгалтерии", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + ОбъектыМетаданных.Вставить("ВнешниеИсточникиДанных", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + Если СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) = 0 Тогда + Продолжить; + КонецЕсли; + Если Метаданные.ВнешниеИсточникиДанных.Содержит(ОбъектМетаданных) Тогда + ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, ОбъектыМетаданных[Элемент.Ключ]); + Иначе + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЕсли; + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, КоллекцияОбъектовМетаданных) + + КоллекцииВнешнегоИсчтоникаДанных = Новый Структура; + КоллекцииВнешнегоИсчтоникаДанных.Вставить("Таблицы", "Таблица"); + КоллекцииВнешнегоИсчтоникаДанных.Вставить("Кубы", "Куб"); + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого КоллекцияВнешнегоИсчтоникаДанных Из КоллекцииВнешнегоИсчтоникаДанных Цикл + Для Каждого ОбъектВнешнегоИсчтоникаДанных Из ОбъектМетаданных[КоллекцияВнешнегоИсчтоникаДанных.Ключ] Цикл + + Имя = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2.%3", + ОбъектМетаданных.Имя, + КоллекцияВнешнегоИсчтоникаДанных.Значение, + ОбъектВнешнегоИсчтоникаДанных.Имя); + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектВнешнегоИсчтоникаДанных.ПолноеИмя()); + КоллекцияОбъектовМетаданных.Добавить(СтруктураЭлемента); + + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 000000000..677424768 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных + + + ru + Тесты "Проверка индексирования устаревших объектов метаданных" + + + + ExternalDataProcessor.Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..641d582b3 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..57543fab7 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,388 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из ОбъектМетаданных.Значение Цикл + + НаборТестов.Добавить( + "ТестДолжен_ПроверитьИндексированиеУстаревшихОбъектовМетаданных", + НаборТестов.ПараметрыТеста(ЭлементСтруктурыОбъектовМетаданных.ПолноеИмя), + ЭлементСтруктурыОбъектовМетаданных.ИмяТеста); + + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьИндексированиеУстаревшихОбъектовМетаданных(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьИндексированиеУстаревшихОбъектовМетаданных(ПолноеИмяМетаданных); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьИндексированиеУстаревшихОбъектовМетаданных(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = (ОбъектМетаданных.Индексирование = Метаданные.СвойстваОбъектов.Индексирование.НеИндексировать); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'У свойства ""%1"" включено индексирование.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + мОтборПоПрефиксу = ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов); + ВключитьВсеЭлементы = ЭтоУстаревшийОбъектМетаданных(ОбъектМетаданных.Имя); + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ОтборПоПрефиксу", мОтборПоПрефиксу); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + Параметры.Вставить("ВключитьВсеЭлементы", ВключитьВсеЭлементы); + + ОбработатьЭлементыОбъектаМетаданных(Параметры, "ЗначенияПеречисления"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Измерения"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Ресурсы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Реквизиты"); + ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, "ТабличныеЧасти"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Графы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "РеквизитыАдресации"); + + + КонецЦикла; + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + ВключитьВсеЭлементы = Параметры.ВключитьВсеЭлементы; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + ОбработатьВсеРеквизиты = ВключитьВсеЭлементы; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + Если ВключитьВсеЭлементы Или ЭтоУстаревшийОбъектМетаданных(ЭлементКоллекции.Имя) Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ОбработатьВсеРеквизиты = Истина; + + КонецЕсли; + + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + мПараметры.Вставить("ВключитьВсеЭлементы", ОбработатьВсеРеквизиты); + + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Реквизиты"); + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + ВключитьВсеЭлементы = Параметры.ВключитьВсеЭлементы; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + Если ВключитьВсеЭлементы Или ЭтоУстаревшийОбъектМетаданных(ЭлементКоллекции.Имя) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ЭлементКоллекции.ПолноеИмя()); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя) + + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1: %2", + ПолноеИмя, + НСтр("ru = 'Проверка индексов устаревшего объекта'")); + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + КоличествоБуквОтступа = 7; + Возврат СтрНайти(ВРег(Лев(ИмяОбъектаМетаданных, КоличествоБуквОтступа)), "УДАЛИТЬ"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + МассивИменОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..c3a19e180 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов + + + ru + Тесты "Проверка каноничности префикса новых объектов и реквизитов" + + + + ExternalDataProcessor.Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..f275e5e11 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..4bc108a43 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,414 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); + Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьКаноничностьПрефиксаОбъектаИлиРеквизитов", + НаборТестов.ПараметрыТеста(ЭлементКоллекции.Имя, ЭлементКоллекции.ПолноеИмя), + ЭлементКоллекции.ИмяТеста); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); + ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьКаноничностьПрефиксаОбъектаИлиРеквизитов(ИмяМетаданных, ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + ДлинаПрефикса = СтрДлина(ПрефиксОбъектов); + + Результат = (Лев(ИмяМетаданных, ДлинаПрефикса) = ПрефиксОбъектов); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Префикс объекта ""%1"" отличается от канонического написания.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя(), + ОбъектМетаданных.Имя); + + КонецЕсли; + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + + ОбработатьЭлементыОбъекта(Параметры, "Подсистемы", "Подсистема"); + ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); + ОбработатьЭлементыОбъекта(Параметры, "Измерения", "Измерение"); + ОбработатьЭлементыОбъекта(Параметры, "Ресурсы", "Ресурс"); + ОбработатьЭлементыОбъекта(Параметры, "Реквизиты", "Реквизит"); + ОбработатьЭлементыОбъекта(Параметры, "РеквизитыАдресации", "РеквизитАдресации"); + ОбработатьЭлементыОбъекта(Параметры, "Перерасчеты", "Перерасчет"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчета", "ПризнакУчета"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчетаСубконто", "ПризнакУчетаСубконто"); + ОбработатьТабличныеЧастиОбъекта(Параметры, "ТабличныеЧасти", "ТабличнаяЧасть"); + ОбработатьЭлементыОбъекта(Параметры, "Графы", "Граф"); + ОбработатьЭлементыОбъекта(Параметры, "Формы", "Форма"); + ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); + ОбработатьЭлементыОбъекта(Параметры, "Макеты", "Макет"); + + КонецЦикла; + + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + ШаблонПоиска = "%1.%2.%3"; + ШаблонРеквизит = "%1.%2.%3.Реквизит.%4"; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ИмяОбъекта = СтроковыеУтилиты().ПодставитьПараметрыВСтроку( + ШаблонПоиска, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Имя); + КонецЕсли; + + Для Каждого Реквизит Из ЭлементКоллекции.Реквизиты Цикл + + ИмяОбъекта = СтроковыеУтилиты().ПодставитьПараметрыВСтроку( + ШаблонРеквизит, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя, + Реквизит.Имя); + + Если ИмяСодержитПрефикс(Реквизит.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + Реквизит.ПолноеИмя(), + Реквизит.Имя); + КонецЕсли; + КонецЦикла; + + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента, ИмяРодителя = "") + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + мИмяОбъекта = ?(ЗначениеЗаполнено(ИмяРодителя), ИмяРодителя, ОбъектМетаданных.Имя); + ИмяОбъекта = СтроковыеУтилиты().ПодставитьПараметрыВСтроку( + "%1.%2.%3", + мИмяОбъекта, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Имя); + КонецЕсли; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ЭлементКоллекции, ИмяКоллекции) Тогда + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + ОбработатьЭлементыОбъекта(мПараметры, ИмяКоллекции, ИмяЭлемента, ИмяОбъекта); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, ИмяТеста, ПолноеИмя, Имя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("Подсистемы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМодули"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыСеанса"); + МассивИменОбъектовМетаданных.Добавить("Роли"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ПодпискиНаСобытия"); + МассивИменОбъектовМетаданных.Добавить("РегламентныеЗадания"); + МассивИменОбъектовМетаданных.Добавить("ФункциональныеОпции"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыФункциональныхОпций"); + МассивИменОбъектовМетаданных.Добавить("ОпределяемыеТипы"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеФормы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКоманды"); + МассивИменОбъектовМетаданных.Добавить("ГруппыКоманд"); + МассивИменОбъектовМетаданных.Добавить("Интерфейсы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМакеты"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКартинки"); + МассивИменОбъектовМетаданных.Добавить("ПакетыXDTO"); + МассивИменОбъектовМетаданных.Добавить("WebСервисы"); + МассивИменОбъектовМетаданных.Добавить("HTTPСервисы"); + МассивИменОбъектовМетаданных.Добавить("WSСсылки"); + МассивИменОбъектовМетаданных.Добавить("ЭлементыСтиля"); + МассивИменОбъектовМетаданных.Добавить("Стили"); + МассивИменОбъектовМетаданных.Добавить("Языки"); + МассивИменОбъектовМетаданных.Добавить("Константы"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("Перечисления"); + МассивИменОбъектовМетаданных.Добавить("Отчеты"); + МассивИменОбъектовМетаданных.Добавить("Обработки"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + МассивИменОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" new file mode 100644 index 000000000..395bed0c3 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок + + + ru + Тесты "Проверка макетов СКД внешних отчетов и обработок" + + + + ExternalDataProcessor.Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..c41fc57a8 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ad427ecd5 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,356 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем КаталогиВнешнихОбработок; +&НаКлиенте +Перем КаталогиВнешнихОтчетов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл + Макеты = МакетыВнешнегоОбъекта("ВнешниеОтчеты", КаталогВнешнихОтчетов, "*.erf"); + Если Макеты.Количество() Тогда + ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + Для Каждого Макет Из Макеты Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнегоОтчета"; + НаборТестов.Добавить( + ИмяПроцедуры, + НаборТестов.ПараметрыТеста(Макет.ИмяФайла, Макет.ПолноеИмя, Макет.ИмяМакета), + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Макет.ИмяФайла, Макет.ИмяМакета)); + КонецЦикла; + КонецЕсли; + КонецЦикла; + + Для Каждого КаталогВнешнихОбработок Из КаталогиВнешнихОбработок Цикл + Макеты = МакетыВнешнегоОбъекта("ВнешниеОбработки", КаталогВнешнихОбработок, "*.epf"); + Если Макеты.Количество() Тогда + ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние Обработки [%1]", КаталогВнешнихОтчетов); + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + Для Каждого Макет Из Макеты Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнейОбработки"; + НаборТестов.Добавить( + ИмяПроцедуры, + НаборТестов.ПараметрыТеста(Макет.ИмяФайла, Макет.ПолноеИмя, Макет.ИмяМакета), + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Макет.ИмяФайла, Макет.ИмяМакета)); + КонецЦикла; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + КаталогиВнешнихОбработок = Новый Массив; + КаталогиВнешнихОтчетов = Новый Массив; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда + КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути(Настройки[ИмяТеста()].КаталогиВнешнихОтчетов); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОбработок") Тогда + КаталогиВнешнихОбработок = ОбработатьОтносительныеПути(Настройки[ИмяТеста()].КаталогиВнешнихОбработок); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьМакетСКДВнешнегоОтчета(ИмяОтчета, ПолноеИмяОтчета, ИмяМакета) Экспорт + + ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОтчета)); + ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); + Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + + Результат = ПроверитьМакетСКД("ВнешниеОтчеты", Адрес, ИмяМакета); + Если Не Результат.ОтчетПодключен И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьМакетСКДВнешнейОбработки(ИмяОбработки, ПолноеИмяОбработки, ИмяМакета) Экспорт + + ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОбработки)); + ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОбработки); + Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + + Результат = ПроверитьМакетСКД("ВнешниеОбработки", Адрес, ИмяМакета); + Если Не Результат.ОтчетПодключен И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьМакетСКД(ИмяМенеджера, Адрес, ИмяМакета) + + Менеджер = Вычислить(ИмяМенеджера); + Результат = Новый Структура; + Результат.Вставить("ТекстОшибки", ""); + Результат.Вставить("ОтчетПодключен", Ложь); + + Попытка + ИмяФайла = ВременныйФайлОбработкиОтчета(Адрес); + ВнешнийОбъект = Менеджер.Создать(ИмяФайла); + Результат.ОтчетПодключен = Истина; + УдалитьФайлы(ИмяФайла); + Исключение + УдалитьФайлы(ИмяФайла); + Результат.ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Возврат Результат; + КонецПопытки; + + СхемаКомпоновкиДанных = ВнешнийОбъект.ПолучитьМакет(СокрЛП(ИмяМакета)); + КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных; + ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных); + КомпоновщикНастроекКомпоновкиДанных.Инициализировать(ИсточникДоступныхНастроек); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяОтчета) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяОтчета, Результат) + + ШаблонСообщения = НСтр("ru = 'Для отчета ""%1"" не указаны формы:%2.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаКлиенте +Функция МакетыВнешнегоОбъекта(ИмяМенеджера, Каталог, Маска) + + Результат = Новый Массив(); + Файлы = НайтиФайлы(Каталог, Маска, Истина); + Если Не Файлы.Количество() Тогда + Возврат Результат; + КонецЕсли; + + Для Каждого Файл Из Файлы Цикл + + ДвоичныеДанные = Новый ДвоичныеДанные(Файл.ПолноеИмя); + Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + + мПараметры = Новый Структура; + мПараметры.Вставить("Адрес", Адрес); + мПараметры.Вставить("ИмяМенеджера", ИмяМенеджера); + мПараметры.Вставить("ИмяФайла", Файл.Имя); + мПараметры.Вставить("ПолноеИмя", Файл.ПолноеИмя); + + Макеты = МакетыВнешнегоОбъектаСервер(мПараметры); + + Для Каждого Макет Из Макеты Цикл + Результат.Добавить(Макет); + КонецЦикла; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция МакетыВнешнегоОбъектаСервер(Параметры) + + Результат = Новый Массив(); + Менеджер = Вычислить(Параметры.ИмяМенеджера); + + Если Параметры.ИмяМенеджера = "ВнешниеОтчеты" Тогда + СтруктураОсновногоМакета = Новый Структура; + СтруктураОсновногоМакета.Вставить("ИмяМакета", "ОсновнаяСхемаКомпоновкиДанных"); + СтруктураОсновногоМакета.Вставить("ИмяФайла", Параметры.ИмяФайла); + СтруктураОсновногоМакета.Вставить("ПолноеИмя", Параметры.ПолноеИмя); + КонецЕсли; + + Попытка + ИмяВременногоФайла = ВременныйФайлОбработкиОтчета(Параметры.Адрес); + МетаданныеФайла = Менеджер.Создать(ИмяВременногоФайла).Метаданные(); + УдалитьФайлы(ИмяВременногоФайла); + Исключение + УдалитьФайлы(ИмяВременногоФайла); + Если Параметры.ИмяМенеджера = "ВнешниеОтчеты" Тогда + Результат.Добавить(СтруктураОсновногоМакета); + КонецЕсли; + Возврат Результат; + КонецПопытки; + + Для Каждого Макет Из МетаданныеФайла.Макеты Цикл + + Если Макет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда + Продолжить; + КонецЕсли; + + СтруктураМакета = Новый Структура; + СтруктураМакета.Вставить("ИмяМакета", Макет.Имя); + СтруктураМакета.Вставить("ИмяФайла", Параметры.ИмяФайла); + СтруктураМакета.Вставить("ПолноеИмя", Параметры.ПолноеИмя); + Результат.Добавить(СтруктураМакета); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ВременныйФайлОбработкиОтчета(Адрес) + + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); + ДвоичныеДанные.Записать(ИмяВременногоФайла); + + Возврат ИмяВременногоФайла; + +КонецФункции + +&НаКлиенте +Функция ОбработатьОтносительныеПути(Знач ОтносительныеПути) + + Результат = Новый Массив; + + Для Каждого ОтносительныйПуть Из ОтносительныеПути Цикл + + Если Лев(ОтносительныйПуть, 1) = "." И ЗначениеЗаполнено(КонтекстЯдра.Объект.КаталогПроекта) Тогда + ОтносительныйПуть = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2", + КонтекстЯдра.Объект.КаталогПроекта, + Сред(ОтносительныйПуть, 2)); + КонецЕсли; + + ОтносительныйПуть = СтрЗаменить(ОтносительныйПуть, "\\", "\"); + + Если Результат.Найти(ОтносительныйПуть) = Неопределено Тогда + Результат.Добавить(ОтносительныйПуть); + КонецЕсли; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..8c340b7bb --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаОбщихРеквизитов + + + ru + Тесты "Проверка общих реквизитов" + + + + ExternalDataProcessor.Тесты_ПроверкаОбщихРеквизитов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..7cc08cb5c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаОбщихРеквизитов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..4a89e4cb2 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,209 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + МассивОбъектовМетаданных = МассивОбъектовМетаданных("ОбщиеРеквизиты"); + НаборТестов.НачатьГруппу("Обшие реквизиты", Истина); + + Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + + НаборТестов.Добавить( + "ТестДолжен_ПроверитьОбщийРеквизит", + НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя), + ЭлементМассиваОбъектовМетаданных.Имя); + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОбщийРеквизит(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьОбщийРеквизит(ПолноеИмяМетаданных); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьОбщийРеквизит(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Возврат Строка(ОбъектМетаданных.РазделениеДанных) = "Разделять"; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ЭтоУстаревшийОбъектМетаданных(ПолноеИмяМетаданных) Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки, устаревший объект.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'У общего реквизита ""%1"" выключено разделение данных.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных) + + МассивОбъектовМетаданных = Новый Массив; + Для Каждого ОбъектМетаданных Из Метаданные[ИмяОбъектовМетаданных] Цикл + ДобавитьЭлементКоллекцииОбъектовМетаданных( + МассивОбъектовМетаданных, + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + КонецЦикла; + + Возврат МассивОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" new file mode 100644 index 000000000..7ec547813 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика + + + ru + Тесты "Проверка объектов метаданных конфигурации поставщика" + + + + ExternalDataProcessor.Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..2e5810195 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..fcc11f278 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,339 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем КонфигурацияПоставщика; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(КонфигурацияПоставщика) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(КонфигурацияПоставщика); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + ИмяТеста = ЭлементСтруктурыОбъектовМетаданных.Ключ; + МассивОбъектовМетаданных = ЭлементСтруктурыОбъектовМетаданных.Значение; + НаборТестов.Добавить( + "ТестДолжен_ПроверитьОбъектМетаданныхКонфигурацииПоставщика", + НаборТестов.ПараметрыТеста(МассивОбъектовМетаданных), + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ИмяТеста, МассивОбъектовМетаданных.Количество())); + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(мКонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = мКонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("КонфигурацияПоставщика") Тогда + ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки) + + #Если Не ВебКлиент Тогда + ПутьФайлаКонфигурацииПоставщика = Настройки.Параметры.КонфигурацияПоставщика; + ПутьФайлаКонфигурацииПоставщика = ОбработатьОтносительныйПуть(ПутьФайлаКонфигурацииПоставщика, мКонтекстЯдра); + + Файл = Новый Файл(ПутьФайлаКонфигурацииПоставщика); + Если Не Файл.Существует() Тогда + Возврат; + КонецЕсли; + + ЧтениеJson = Новый ЧтениеJSON; + ЧтениеJson.ОткрытьФайл(ПутьФайлаКонфигурацииПоставщика); + КонфигурацияПоставщика = ПрочитатьJSON(ЧтениеJson); + ЧтениеJson.Закрыть(); + + Файл = Неопределено; + #КонецЕсли + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОбъектМетаданныхКонфигурацииПоставщика(МассивОбъектовМетаданных) Экспорт + + Результат = ПроверитьОбъектМетаданныхКонфигурацииПоставщика(МассивОбъектовМетаданных); + Утверждения.Проверить(Результат = "", ТекстСообщения(Результат)); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьОбъектМетаданныхКонфигурацииПоставщика(МассивОбъектовМетаданных) + + Результат = ""; + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого ОбъектМетаданных Из МассивОбъектовМетаданных Цикл + Если Метаданные.НайтиПоПолномуИмени(ОбъектМетаданных.ПолноеИмя) = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), Символы.ПС, ""); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2%3", + Результат, + Разделитель, + ОбъектМетаданных.ПолноеИмя); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ТекстСообщения(Результат) + + ШаблонСообщения = НСтр("ru = 'Не удалось найти объекты конфигурации поставщика: %1%2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Символы.ПС, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(КонфигурацияПоставщика) + + СоответствиеИменОбъектовМетаданных = СоответствиеИменОбъектовМетаданных(); + СтруктураОбъектовМетаданных = Новый Структура; + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого КоллекцияОбъектовМетаданных Из КонфигурацияПоставщика Цикл + + ИмяКоллекции = СоответствиеИменОбъектовМетаданных.Получить(КоллекцияОбъектовМетаданных.Ключ); + + СтруктураОбъектовМетаданных.Вставить(КоллекцияОбъектовМетаданных.Ключ, Новый Массив); + + Для Каждого ОбъектаМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл + + ИмяОбъектаМетаданных = ИмяОбъектаМетаданных(ОбъектаМетаданных, СтроковыеУтилиты); + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[КоллекцияОбъектовМетаданных.Ключ], + ИмяОбъектаМетаданных, + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", ИмяКоллекции, ИмяОбъектаМетаданных)); + + КонецЦикла; + + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Функция СоответствиеИменОбъектовМетаданных() + + СоответствиеИменОбъектовМетаданных = Новый Соответствие; + + СоответствиеИменОбъектовМетаданных.Вставить("Подсистемы", "Подсистема"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеМодули", "ОбщийМодуль"); + СоответствиеИменОбъектовМетаданных.Вставить("ПараметрыСеанса", "ПараметрСеанса"); + СоответствиеИменОбъектовМетаданных.Вставить("Роли", "Роль"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеРеквизиты", "ОбщиеРеквизит"); + СоответствиеИменОбъектовМетаданных.Вставить("ПланыОбмена", "ПланОбмена"); + СоответствиеИменОбъектовМетаданных.Вставить("КритерииОтбора", "КритерийОтбора"); + СоответствиеИменОбъектовМетаданных.Вставить("ПодпискиНаСобытия", "ПодпискаНаСобытие"); + СоответствиеИменОбъектовМетаданных.Вставить("РегламентныеЗадания", "РегламентноеЗадание"); + СоответствиеИменОбъектовМетаданных.Вставить("ФункциональныеОпции", "ФункциональнаяОпция"); + СоответствиеИменОбъектовМетаданных.Вставить("ПараметрыФункциональныхОпций", "ПараметрФункциональныхОпций"); + СоответствиеИменОбъектовМетаданных.Вставить("ОпределяемыеТипы", "ОпределяемыйТип"); + СоответствиеИменОбъектовМетаданных.Вставить("ХранилищаНастроек", "ХранилищеНастроек"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеФормы", "ОбщаяФорма"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеКоманды", "ОбщаяКоманда"); + СоответствиеИменОбъектовМетаданных.Вставить("ГруппыКоманд", "ГруппаКоманд"); + СоответствиеИменОбъектовМетаданных.Вставить("Интерфейсы", "Интерфейс"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеМакеты", "ОбщийМакет"); + СоответствиеИменОбъектовМетаданных.Вставить("ОбщиеКартинки", "ОбщаяКартинка"); + СоответствиеИменОбъектовМетаданных.Вставить("ПакетыXDTO", "ПакетXDTO"); + СоответствиеИменОбъектовМетаданных.Вставить("WebСервисы", "WebСервис"); + СоответствиеИменОбъектовМетаданных.Вставить("HTTPСервисы", "HTTPСервис"); + СоответствиеИменОбъектовМетаданных.Вставить("WSСсылки", "WSСсылка"); + СоответствиеИменОбъектовМетаданных.Вставить("ЭлементыСтиля", "ЭлементСтиля"); + СоответствиеИменОбъектовМетаданных.Вставить("Стили", "Стиль"); + СоответствиеИменОбъектовМетаданных.Вставить("Языки", "Язык"); + СоответствиеИменОбъектовМетаданных.Вставить("Константы", "Константа"); + СоответствиеИменОбъектовМетаданных.Вставить("Справочники", "Справочник"); + СоответствиеИменОбъектовМетаданных.Вставить("Документы", "Документ"); + СоответствиеИменОбъектовМетаданных.Вставить("ЖурналыДокументов", "ЖурналДокументов"); + СоответствиеИменОбъектовМетаданных.Вставить("Перечисления", "Перечисление"); + СоответствиеИменОбъектовМетаданных.Вставить("Отчеты", "Отчет"); + СоответствиеИменОбъектовМетаданных.Вставить("Обработки", "Обработка"); + СоответствиеИменОбъектовМетаданных.Вставить("ПланыВидовХарактеристик", "ПланВидовХарактеристик"); + СоответствиеИменОбъектовМетаданных.Вставить("ПланыСчетов", "ПланСчетов"); + СоответствиеИменОбъектовМетаданных.Вставить("ПланыВидовРасчета", "ПланВидовРасчета"); + СоответствиеИменОбъектовМетаданных.Вставить("РегистрыСведений", "РегистрСведений"); + СоответствиеИменОбъектовМетаданных.Вставить("РегистрыНакопления", "РегистрНакопления"); + СоответствиеИменОбъектовМетаданных.Вставить("РегистрыБухгалтерии", "РегистрБухгалтерии"); + СоответствиеИменОбъектовМетаданных.Вставить("РегистрыРасчета", "РегистрРасчета"); + СоответствиеИменОбъектовМетаданных.Вставить("БизнесПроцессы", "БизнесПроцесс"); + СоответствиеИменОбъектовМетаданных.Вставить("Задачи", "Задача"); + СоответствиеИменОбъектовМетаданных.Вставить("ВнешниеИсточникиДанных", "ВнешнийИсточникиДанных"); + + Возврат СоответствиеИменОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Функция ИмяОбъектаМетаданных(ОбъектаМетаданных, СтроковыеУтилиты) + + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ОбъектаМетаданных, "."); + СоответствиеИменСвойств = СоответствиеИменСвойств(); + ШагОбходаСтрок = 2; + ИндексСтроки = 1; + + Пока ИндексСтроки <= МассивСтрок.Количество() - 1 Цикл + ЗначениеСтроки = МассивСтрок.Получить(ИндексСтроки); + Если СоответствиеИменСвойств.Получить(ЗначениеСтроки) <> Неопределено Тогда + МассивСтрок.Установить(ИндексСтроки, СоответствиеИменСвойств.Получить(ЗначениеСтроки)); + КонецЕсли; + ИндексСтроки = ИндексСтроки + ШагОбходаСтрок; + КонецЦикла; + + ИмяОбъектаМетаданных = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, "."); + + Возврат ИмяОбъектаМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Функция СоответствиеИменСвойств() + + СоответствиеИменСвойств = Новый Соответствие; + + СоответствиеИменСвойств.Вставить("Подсистемы", "Подсистема"); + СоответствиеИменСвойств.Вставить("Реквизиты", "Реквизит"); + СоответствиеИменСвойств.Вставить("Формы", "Форма"); + СоответствиеИменСвойств.Вставить("ТабличныеЧасти", "ТабличнаяЧасть"); + СоответствиеИменСвойств.Вставить("Макеты", "Макет"); + СоответствиеИменСвойств.Вставить("Команды", "Команда"); + СоответствиеИменСвойств.Вставить("ЗначенияПеречисления", "ЗначениеПеречисления"); + СоответствиеИменСвойств.Вставить("Измерения", "Измерение"); + СоответствиеИменСвойств.Вставить("Ресурсы", "Ресурс"); + СоответствиеИменСвойств.Вставить("РеквизитыАдресации", "РеквизитАдресации"); + СоответствиеИменСвойств.Вставить("Графы", "Графа"); + СоответствиеИменСвойств.Вставить("Операции", "Операция"); + СоответствиеИменСвойств.Вставить("Параметры", "Параметр"); + + Возврат СоответствиеИменСвойств; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиенте +Функция ОбработатьОтносительныйПуть(Знач ОтносительныйПуть, КонтекстЯдра) + + Если Лев(ОтносительныйПуть, 1) = "." И ЗначениеЗаполнено(КонтекстЯдра.Объект.КаталогПроекта) Тогда + ОтносительныйПуть = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2", + КонтекстЯдра.Объект.КаталогПроекта, + Сред(ОтносительныйПуть, 2)); + КонецЕсли; + + Результат = СтрЗаменить(ОтносительныйПуть, "\\", "\"); + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..6088ec6e1 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаОсновныхФормОтчетов + + + ru + Тесты "Проверка основных форм отчетов" + + + + ExternalDataProcessor.Тесты_ПроверкаОсновныхФормОтчетов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..861db8ce3 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаОсновныхФормОтчетов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..996dff274 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,356 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем КаталогиВнешнихОтчетов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("Отчеты", Истина); + мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); + Для Каждого Отчет Из мОтчеты Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьОсновныеФормыОтчетов"; + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Отчет.Имя, Отчет.ПолноеИмя), Отчет.Имя); + КонецЦикла; + + Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл + ФайлыВнешнихОтчетов = НайтиФайлы(КаталогВнешнихОтчетов, "*.erf", Истина); + Если ФайлыВнешнихОтчетов.Количество() Тогда + ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + Для Каждого ФайлВнешнегоОтчета Из ФайлыВнешнихОтчетов Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьОсновныеФормыВнешнихОтчетов"; + НаборТестов.Добавить( + ИмяПроцедуры, + НаборТестов.ПараметрыТеста(ФайлВнешнегоОтчета.Имя, ФайлВнешнегоОтчета.ПолноеИмя), + ФайлВнешнегоОтчета.Имя); + КонецЦикла; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + КаталогиВнешнихОтчетов = Новый Массив; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда + КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути( + Настройки[ИмяТеста()].КаталогиВнешнихОтчетов, + КонтекстЯдра); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОсновныеФормыОтчетов(ИмяОтчета, ПолноеИмяОтчета) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяОтчета); + + Результат = ПроверитьОсновныеФормыОтчетов(ИмяОтчета); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяОтчета, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьОсновныеФормыОтчетов(ИмяОтчета) + + Отчет = Метаданные.Отчеты.Найти(ИмяОтчета); + Результат = ""; + СтроковыеУтилиты = СтроковыеУтилиты(); + + Если Метаданные.ОсновнаяФормаОтчета = Неопределено И Отчет.ОсновнаяФорма = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + + Если Метаданные.ОсновнаяФормаНастроекОтчета = Неопределено И Отчет.ОсновнаяФормаНастроек = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма настроек отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + + Если Метаданные.ОсновнаяФормаВариантаОтчета = Неопределено И Отчет.ОсновнаяФормаВарианта = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма варианта отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОсновныеФормыВнешнихОтчетов(ИмяОтчета, ПолноеИмяОтчета) Экспорт + + ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОтчета)); + ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); + Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + + Результат = ПроверитьОсновныеФормыВнешнихОтчетов(Адрес); + Если Результат.ТекстОшибки <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + ИначеЕсли Не Результат.ОтчетПодключен Тогда + Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); + Иначе + Утверждения.Проверить(Результат.ТекстОшибки = "", ТекстСообщения(ИмяОтчета, Результат.ТекстОшибки)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьОсновныеФормыВнешнихОтчетов(Адрес) + + Результат = Новый Структура; + Результат.Вставить("ТекстОшибки", ""); + Результат.Вставить("ОтчетПодключен", Ложь); + + Попытка + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); + ИмяФайлаОтчета = ПолучитьИмяВременногоФайла("erf"); + ДвоичныеДанные.Записать(ИмяФайлаОтчета); + ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайлаОтчета).Метаданные(); + Результат.ОтчетПодключен = Истина; + УдалитьФайлы(ИмяФайлаОтчета); + Исключение + УдалитьФайлы(ИмяФайлаОтчета); + Результат.ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Возврат Результат; + КонецПопытки; + + СтроковыеУтилиты = СтроковыеУтилиты(); + ТекстОшибки = ""; + + Если Метаданные.ОсновнаяФормаОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФорма = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма отчета'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + КонецЕсли; + + Если Метаданные.ОсновнаяФормаНастроекОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФормаНастроек = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма настроек отчета'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + КонецЕсли; + + Если Метаданные.ОсновнаяФормаВариантаОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФормаВарианта = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 форма варианта отчета'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + КонецЕсли; + + Результат.ТекстОшибки = ТекстОшибки; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяОтчета) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяОтчета, Результат) + + ШаблонСообщения = НСтр("ru = 'Для отчета ""%1"" не указаны формы:%2.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаКлиенте +Функция ОбработатьОтносительныеПути(Знач ОтносительныеПути, КонтекстЯдра) + + Результат = Новый Массив; + + Для Каждого ОтносительныйПуть Из ОтносительныеПути Цикл + + Если Лев(ОтносительныйПуть, 1) = "." И ЗначениеЗаполнено(КонтекстЯдра.Объект.КаталогПроекта) Тогда + ОтносительныйПуть = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2", + КонтекстЯдра.Объект.КаталогПроекта, + Сред(ОтносительныйПуть, 2)); + КонецЕсли; + + ОтносительныйПуть = СтрЗаменить(ОтносительныйПуть, "\\", "\"); + + Если Результат.Найти(ОтносительныйПуть) = Неопределено Тогда + Результат.Добавить(ОтносительныйПуть); + КонецЕсли; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +&НаСервереБезКонтекста +Функция Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу) + + Результат = Новый Массив; + + Для Каждого Отчет Из Метаданные.Отчеты Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Отчет.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + СтруктураОтчета = Новый Структура; + СтруктураОтчета.Вставить("Имя", Отчет.Имя); + СтруктураОтчета.Вставить("Синоним", Отчет.Синоним); + СтруктураОтчета.Вставить("ПолноеИмя", Отчет.ПолноеИмя()); + Результат.Добавить(СтруктураОтчета); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..b252fc00c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов + + + ru + Тесты "Проверка пользовательских представлений новых объектов" + + + + ExternalDataProcessor.Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..7f0a43a18 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ad36a35cc --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,235 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьПользовательскиеПредставленияОбъектов", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + ИсключенияИзПроверок = Новый Соответствие; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьПользовательскиеПредставленияОбъектов(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьПользовательскиеПредставленияОбъектовСервер(ПолноеИмяМетаданных); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = Истина, НСтр("ru = 'Не заполнено ни одно представление объекта.'")); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьПользовательскиеПредставленияОбъектовСервер(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = Ложь; + СтроковыеУтилиты = СтроковыеУтилиты(); + + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + Если МассивСтрок.Количество() = 0 Тогда + Возврат Результат; + КонецЕсли; + + ЭтоРегистр = СтрНайти(ВРег(МассивСтрок[0]), ВРег("Регистр")) > 0; + ПредставлениеОбъекта = ?(ЭтоРегистр, ОбъектМетаданных.ПредставлениеЗаписи, ОбъектМетаданных.ПредставлениеОбъекта); + + Если ЗначениеЗаполнено(ПредставлениеОбъекта) Тогда + Результат = Истина; + КонецЕсли; + + Если ЗначениеЗаполнено(ОбъектМетаданных.ПредставлениеСписка) Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов) + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + + Если СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) = 0 Тогда + Продолжить; + КонецЕсли; + + Если Элемент.Ключ = "РегистрыСведений" + И Строка(ОбъектМетаданных.РежимЗаписи) = "ПодчинениеРегистратору" Тогда + Продолжить; + КонецЕсли; + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции // ОбъектыМетаданных() + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" new file mode 100644 index 000000000..ed8119229 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПравКУстаревшимОбъектамМетданных + + + ru + Тесты "Проверка прав к устаревшим объектам метаданных" + + + + ExternalDataProcessor.Тесты_ПроверкаПравКУстаревшимОбъектамМетданных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..d7b0a6b0c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравКУстаревшимОбъектамМетданных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..f523673db --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,297 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных(ПолноеИмяМетаданных); + Если Не Результат = "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = ""; + + ПроверитьПрава(Результат, ОбъектМетаданных); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) + + ШаблонСообщения = НСтр("ru = 'Есть право к устаревшиму объекту метаданных ""%1"": %2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПроверитьПрава(Результат, ОбъектМетаданных) + + СписокПрав = СписокПрав(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого Роль Из Метаданные.Роли Цикл + + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + + Для Каждого Право Из СписокПрав Цикл + ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + Если ЕстьПраво Тогда + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2%3 право: %4", + Результат, + Символы.ПС, + Роль.Имя, + Право); + КонецЕсли; + КонецЦикла; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СписокПрав() + + СписокПрав = Новый Массив; + СписокПрав.Добавить("Чтение"); + СписокПрав.Добавить("Изменение"); + СписокПрав.Добавить("Просмотр"); + СписокПрав.Добавить("Редактирование"); + + Возврат СписокПрав; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("Константы", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("Отчеты", Новый Массив); + ОбъектыМетаданных.Вставить("Обработки", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыНакопления", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыБухгалтерии", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + Если Не ЭтоУстаревшийОбъектМетаданных(ОбъектМетаданных.Имя) Тогда + Продолжить; + КонецЕсли; + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Ложь; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..b1c12cc8c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов + + + ru + Тесты "Проверка прав на предопределенные данные объектов" + + + + ExternalDataProcessor.Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..8ef6e2590 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..eca0dbf6a --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,185 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных) Экспорт + + Результат = ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных); + ТекстШаблона = НСтр("ru = 'Есть право на удаление или пометку предопределенных объектов:%1'"); + ТекстРезультата = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ТекстШаблона, Результат); + Утверждения.Проверить(Результат = "", ТекстРезультата); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = ""; + + ПроверитьПрава(Результат, ОбъектМетаданных); + + Возврат Результат; + +КонецФункции // ПроверитьЧтоЕстьПраваНаЧтениеСервер() + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервереБезКонтекста +Функция ПроверитьПрава(Результат, ОбъектМетаданных) + + СписокПрав = СписокПрав(); + + Для Каждого Роль Из Метаданные.Роли Цикл + + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + + Для Каждого Право Из СписокПрав Цикл + ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + Если ЕстьПраво Тогда + Результат = Результат + Символы.ПС + Роль.Имя + " право: " + Право; + КонецЕсли; + КонецЦикла; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СписокПрав() + + СписокПрав = Новый Массив; + СписокПрав.Добавить("ИнтерактивноеУдалениеПредопределенныхДанных"); + СписокПрав.Добавить("ИнтерактивнаяПометкаУдаленияПредопределенныхДанных"); + СписокПрав.Добавить("ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных"); + СписокПрав.Добавить("ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных"); + + Возврат СписокПрав; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных() + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции // ОбъектыМетаданных() + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..cb8be160d --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПравНаЧтениеОбъектов + + + ru + Тесты "Проверка прав на чтение объектов" + + + + ExternalDataProcessor.Тесты_ПроверкаПравНаЧтениеОбъектов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..57a7d353f --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравНаЧтениеОбъектов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..0f8bba5e9 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,363 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтение", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.Параметры.ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтение(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + Право = ПравоДляПроверки(ПолноеИмяМетаданных); + + Результат = ПроверитьЧтоЕстьПраваНаЧтениеСервер( + ПолноеИмяМетаданных, + Право, + ПрефиксОбъектов, + ОтборПоПрефиксу); + + + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных, Право)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоЕстьПраваНаЧтениеСервер(ПолноеИмяМетаданных, Право, ПрефиксОбъектов, ОтборПоПрефиксу) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ЕстьПраво = Ложь; + + Для Каждого Роль Из Метаданные.Роли Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Роль.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + + ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + Если ЕстьПраво Тогда + Возврат Истина; + КонецЕсли; + + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ПолноеИмяМетаданных), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Право) + + ШаблонСообщения = НСтр("ru = 'Нет роли с правом ""%1"", кроме основных ролей, на объект метаданныхх ""%2""'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Право, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу) + + ОбъектыМетаданных = Новый Структура; + + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("Константы", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("Отчеты", Новый Массив); + ОбъектыМетаданных.Вставить("Обработки", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыНакопления", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыБухгалтерии", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеФормы", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеКоманды", Новый Массив); + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + ОбъектыМетаданных[Элемент.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", ОбъектыМетаданных); + Параметры.Вставить("ИмяМетаданных", Элемент.Ключ); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); + + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1.%2.%3", + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя()); + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПравоДляПроверки(ПолноеИмяМетаданных) + + Если СтрНайти(ПолноеИмяМетаданных, "Обработка.") > 0 + Или СтрНайти(ПолноеИмяМетаданных, "Отчет.") > 0 Тогда + Право = "Использование"; + ИначеЕсли СтрНайти(ПолноеИмяМетаданных, "ОбщаяФорма.") > 0 + Или СтрНайти(ПолноеИмяМетаданных, "ОбщаяКоманда.") > 0 + Или СтрНайти(ПолноеИмяМетаданных, ".Команда.") > 0 Тогда + Право = "Просмотр"; + Иначе + Право = "Чтение"; + КонецЕсли; + + Возврат Право; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" new file mode 100644 index 000000000..6edd3a4e1 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПравНаЧтениеОбъектовRLS + + + ru + Тесты "Проверка прав на чтение объектов с RLS" + + + + ExternalDataProcessor.Тесты_ПроверкаПравНаЧтениеОбъектовRLS.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..0a284c052 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравНаЧтениеОбъектовRLS + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..34f6c9eb4 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,532 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОбъектыМетаданных; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ОбъектыМетаданных) Тогда + Возврат; + КонецЕсли; + + Для Каждого КоллекцияОбъектовМетаданных Из ОбъектыМетаданных Цикл + Если КоллекцияОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(КоллекцияОбъектовМетаданных.Ключ, Ложь); + Для Каждого ОбъектМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтениеRLS", + НаборТестов.ПараметрыТеста(ОбъектМетаданных.ПолноеИмя), + ОбъектМетаданных.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОбъектыМетаданных") Тогда + ОбъектаМетаданных(Настройки); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбъектаМетаданных(Настройки) + + ОбъектыМетаданных = Новый Структура; + + Для Каждого КоллекцияОбъектовМетаданных Из Настройки[ИмяТеста()].ОбъектыМетаданных Цикл + + Если Не КоллекцияМетаданныхДоступнаДляПроверки(КоллекцияОбъектовМетаданных.Ключ) Тогда + Продолжить; + КонецЕсли; + + Если КоллекцияОбъектовМетаданных.Значение.Найти("*") <> Неопределено Тогда + МассивОбъектовМетаданных = ВсеОбъектыКоллекцииМетаданных(КоллекцияОбъектовМетаданных.Ключ); + Иначе + + МассивОбъектовМетаданных = Новый Массив; + Для Каждого ЭлементКоллекцииОбъектовМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл + ПолноеИмя = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1.%2", + КоллекцияОбъектовМетаданных.Ключ, + ЭлементКоллекцииОбъектовМетаданных); + СтруктураИмен = Новый Структура; + СтруктураИмен.Вставить("Имя", ЭлементКоллекцииОбъектовМетаданных); + СтруктураИмен.Вставить("ПолноеИмя", ПолноеИмя); + МассивОбъектовМетаданных.Добавить(СтруктураИмен); + КонецЦикла; + + КонецЕсли; + + ОбъектыМетаданных.Вставить(КоллекцияОбъектовМетаданных.Ключ, МассивОбъектовМетаданных); + + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтениеRLS(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + Право = "Чтение"; + + Результат = ПроверитьЧтоЕстьПраваНаЧтениеRLS(ПолноеИмяМетаданных, Право, ИсключенияИзПроверок); + + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Право, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоЕстьПраваНаЧтениеRLS(ПолноеИмяМетаданных, Право, ИсключенияИзПроверок) + + Результат = ""; + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + СписокПолей = ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, ПолноеИмяМетаданных); + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого Роль Из Метаданные.Роли Цикл + + Если ИсключенияИзПроверок.Получить(ВРег(Роль.ПолноеИмя())) <> Неопределено Тогда + Продолжить; + КонецЕсли; + + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + + ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + ЕстьRLS = ПараметрыДоступа(Право, ОбъектМетаданных, СписокПолей, Роль).ОграничениеУсловием; + + Если ЕстьПраво И Не ЕстьRLS Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), Символы.ПС, ""); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1%2%3", Результат, Разделитель, Роль.Имя); + КонецЕсли; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Право, Результат) + + ШаблонСообщения = НСтр("ru = 'Есть роли с правом ""%1"" без RLS на объект ""%2"":%3%4'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонСообщения, + Право, + ПолноеИмяМетаданных, + Символы.ПС, + Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция КоллекцияМетаданныхДоступнаДляПроверки(ИмяКоллекции) + + КоллекцииОбъектовМетаданных = Новый Массив; + + КоллекцииОбъектовМетаданных.Добавить("ПланОбмена"); + КоллекцииОбъектовМетаданных.Добавить("Константа"); + КоллекцииОбъектовМетаданных.Добавить("Документ"); + КоллекцииОбъектовМетаданных.Добавить("Справочник"); + КоллекцииОбъектовМетаданных.Добавить("ЖурналДокументов"); + КоллекцииОбъектовМетаданных.Добавить("Последовательность"); + КоллекцииОбъектовМетаданных.Добавить("ПланВидовХарактеристик"); + КоллекцииОбъектовМетаданных.Добавить("ПланСчетов"); + КоллекцииОбъектовМетаданных.Добавить("ПланВидовРасчета"); + КоллекцииОбъектовМетаданных.Добавить("РегистрСведений"); + КоллекцииОбъектовМетаданных.Добавить("РегистрНакопления"); + КоллекцииОбъектовМетаданных.Добавить("РегистрБухгалтерии"); + КоллекцииОбъектовМетаданных.Добавить("РегистрРасчета"); + КоллекцииОбъектовМетаданных.Добавить("БизнесПроцесс"); + КоллекцииОбъектовМетаданных.Добавить("Задача"); + + Возврат КоллекцииОбъектовМетаданных.Найти(ИмяКоллекции); + +КонецФункции + +&НаСервереБезКонтекста +Функция ВсеОбъектыКоллекцииМетаданных(ИмяКоллекции) + + Результат = Новый Массив; + СтроковыеУтилиты = СтроковыеУтилиты(); + + СоответствиеОбъектовМетаданных = Новый Соответствие; + СоответствиеОбъектовМетаданных.Вставить("ПланОбмена", "ПланыОбмена"); + СоответствиеОбъектовМетаданных.Вставить("Константа", "Константы"); + СоответствиеОбъектовМетаданных.Вставить("Документ", "Документы"); + СоответствиеОбъектовМетаданных.Вставить("Справочник", "Справочники"); + СоответствиеОбъектовМетаданных.Вставить("ЖурналДокументов", "ЖурналыДокументов"); + СоответствиеОбъектовМетаданных.Вставить("Последовательность", "Последовательности"); + СоответствиеОбъектовМетаданных.Вставить("ПланВидовХарактеристик", "ПланыВидовХарактеристик"); + СоответствиеОбъектовМетаданных.Вставить("ПланСчетов", "ПланыСчетов"); + СоответствиеОбъектовМетаданных.Вставить("ПланВидовРасчета", "ПланыВидовРасчета"); + СоответствиеОбъектовМетаданных.Вставить("РегистрСведений", "РегистрыСведений"); + СоответствиеОбъектовМетаданных.Вставить("РегистрНакопления", "РегистрыНакопления"); + СоответствиеОбъектовМетаданных.Вставить("РегистрБухгалтерии", "РегистрыБухгалтерии"); + СоответствиеОбъектовМетаданных.Вставить("РегистрРасчета", "РегистрыРасчета"); + СоответствиеОбъектовМетаданных.Вставить("БизнесПроцесс", "БизнесПроцессы"); + СоответствиеОбъектовМетаданных.Вставить("Задача", "Задачы"); + + Для Каждого ОбъектМетаданных Из Метаданные[СоответствиеОбъектовМетаданных.Получить(ИмяКоллекции)] Цикл + + ПолноеИмя = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", ИмяКоллекции, ОбъектМетаданных.Имя); + + СтруктураИмен = Новый Структура; + СтруктураИмен.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураИмен.Вставить("ПолноеИмя", ПолноеИмя); + + Результат.Добавить(СтруктураИмен); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, + ПолноеИмя, + ОбъектИБ = Неопределено, + ПолучитьМассивИмен = Ложь) + + ИмяТипа = Лев(ПолноеИмя, СтрНайти(ПолноеИмя, ".") - 1); + ИменаКоллекций = ИменаКоллекций(ИмяТипа); + + ИменаПолей = Новый Массив; + Если ОбъектИБ = Неопределено Тогда + ТипХранилищеЗначения = Тип("ХранилищеЗначения"); + Иначе + ТипХранилищеЗначения = ОбъектИБ.NewObject("ОписаниеТипов", "ХранилищеЗначения").Типы().Получить(0); + КонецЕсли; + + Для Каждого ИмяКоллекции Из ИменаКоллекций Цикл + Если ИмяКоллекции = "ТабличныеЧасти" + ИЛИ ИмяКоллекции = "СтандартныеТабличныеЧасти" Тогда + Для Каждого ТабличнаяЧасть Из ОбъектМетаданных[ИмяКоллекции] Цикл + ДобавитьПолеОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, ТабличнаяЧасть.Имя, ИменаПолей, ОбъектИБ); + ОбработатьРеквизитыТабличнойЧасти( + ТипХранилищеЗначения, + ОбъектМетаданных, + ТабличнаяЧасть, + ИмяКоллекции, + ИменаПолей, + ОбъектИБ); + КонецЦикла; + Иначе + ОбработатьПоляОбъектаМетаданных( + ИмяТипа, + ОбъектМетаданных, + ИмяКоллекции, + ТипХранилищеЗначения, + ИменаПолей, + ОбъектИБ); + КонецЕсли; + КонецЦикла; + + Если ПолучитьМассивИмен Тогда + Возврат ИменаПолей; + КонецЕсли; + + СписокПолей = ""; + Для Каждого ИмяПоля Из ИменаПолей Цикл + СписокПолей = СписокПолей + ", " + ИмяПоля; + КонецЦикла; + + Возврат Сред(СписокПолей, 3); + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьРеквизитыТабличнойЧасти(ТипХранилищеЗначения, + ОбъектМетаданных, + ТабличнаяЧасть, + ИмяКоллекции, + ИменаПолей, + ОбъектИБ) + + Реквизиты = ?(ИмяКоллекции = "ТабличныеЧасти", ТабличнаяЧасть.Реквизиты, ТабличнаяЧасть.СтандартныеРеквизиты); + + Для Каждого Поле Из Реквизиты Цикл + Если Поле.Тип.СодержитТип(ТипХранилищеЗначения) Тогда + Продолжить; + КонецЕсли; + ДобавитьПолеОграниченияДоступаОбъектаМетаданных( + ОбъектМетаданных, + ТабличнаяЧасть.Имя + "." + Поле.Имя, + ИменаПолей, + ОбъектИБ); + КонецЦикла; + Если ИмяКоллекции = "СтандартныеТабличныеЧасти" И ТабличнаяЧасть.Имя = "ВидыСубконто" Тогда + Для Каждого Поле Из ОбъектМетаданных.ПризнакиУчетаСубконто Цикл + ДобавитьПолеОграниченияДоступаОбъектаМетаданных( + ОбъектМетаданных, + "ВидыСубконто." + Поле.Имя, + ИменаПолей, + ОбъектИБ); + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьПоляОбъектаМетаданных(ИмяТипа, + ОбъектМетаданных, + ИмяКоллекции, + ТипХранилищеЗначения, + ИменаПолей, + ОбъектИБ) + + Для Каждого Поле Из ОбъектМетаданных[ИмяКоллекции] Цикл + Если ПропускатьПоле(ИмяТипа, Поле, ИмяКоллекции) Тогда + Продолжить; + КонецЕсли; + Если ИмяКоллекции = "Графы" + Или Поле.Тип.СодержитТип(ТипХранилищеЗначения) Тогда + Продолжить; + КонецЕсли; + Если ЭтоБалансовоеПоле(Поле, ИмяКоллекции, ОбъектИБ, Метаданные, ОбъектМетаданных) Тогда + // Дт + ДобавитьПолеОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, Поле.Имя + "Дт", ИменаПолей, ОбъектИБ); + // Кт + ДобавитьПолеОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, Поле.Имя + "Кт", ИменаПолей, ОбъектИБ); + Иначе + ДобавитьПолеОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, Поле.Имя, ИменаПолей, ОбъектИБ); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ИменаКоллекций(ИмяТипа) + + ИменаТипов = Новый Массив; + ИменаТипов.Добавить("Справочник"); + ИменаТипов.Добавить("Документ"); + ИменаТипов.Добавить("ПланВидовХарактеристик"); + ИменаТипов.Добавить("БизнесПроцесс"); + + ИменаТиповРегистров = Новый Массив; + ИменаТиповРегистров.Добавить("РегистрСведений"); + ИменаТиповРегистров.Добавить("РегистрНакопления"); + ИменаТиповРегистров.Добавить("РегистрБухгалтерии"); + ИменаТиповРегистров.Добавить("РегистрРасчета"); + + ИменаКоллекций = Новый Массив; + + Если ИменаТипов.Найти(ИмяТипа) <> Неопределено Тогда + ИменаКоллекций.Добавить("Реквизиты"); + ИменаКоллекций.Добавить("ТабличныеЧасти"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + ИначеЕсли ИмяТипа = "ЖурналДокументов" Тогда + ИменаКоллекций.Добавить("Графы"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + ИначеЕсли ИмяТипа = "ПланСчетов" Тогда + ИменаКоллекций.Добавить("Реквизиты"); + ИменаКоллекций.Добавить("ТабличныеЧасти"); + ИменаКоллекций.Добавить("ПризнакиУчета"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + ИменаКоллекций.Добавить("СтандартныеТабличныеЧасти"); + ИначеЕсли ИмяТипа = "ПланВидовРасчета" Тогда + ИменаКоллекций.Добавить("Реквизиты"); + ИменаКоллекций.Добавить("ТабличныеЧасти"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + ИменаКоллекций.Добавить("СтандартныеТабличныеЧасти"); + ИначеЕсли ИменаТиповРегистров.Найти(ИмяТипа) <> Неопределено Тогда + ИменаКоллекций.Добавить("Измерения"); + ИменаКоллекций.Добавить("Ресурсы"); + ИменаКоллекций.Добавить("Реквизиты"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + ИначеЕсли ИмяТипа = "Задача" Тогда + ИменаКоллекций.Добавить("РеквизитыАдресации"); + ИменаКоллекций.Добавить("Реквизиты"); + ИменаКоллекций.Добавить("ТабличныеЧасти"); + ИменаКоллекций.Добавить("СтандартныеРеквизиты"); + Иначе + ИменаКоллекций.Добавить(""); + КонецЕсли; + + Возврат ИменаКоллекций; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПропускатьПоле(ИмяТипа, Поле, ИмяКоллекции) + + Возврат ИмяТипа = "ЖурналДокументов" И Поле.Имя = "Тип" + ИЛИ ИмяТипа = "ПланВидовХарактеристик" И Поле.Имя = "ТипЗначения" + ИЛИ ИмяТипа = "ПланСчетов" И Поле.Имя = "Вид" + ИЛИ ИмяТипа = "РегистрНакопления" И Поле.Имя = "ВидДвижения" + ИЛИ ИмяТипа = "РегистрБухгалтерии" И ИмяКоллекции = "СтандартныеРеквизиты" И СтрНайти(Поле.Имя, "Субконто") > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЭтоБалансовоеПоле(Поле, ИмяКоллекции, ОбъектИБ, Метаданные, ОбъектМетаданных) + + мОбъектМетаданных = ?(ОбъектИБ = Неопределено, Метаданные, ОбъектИБ.Метаданные); + ЭтоРегистраБухгалтерии = мОбъектМетаданных.РегистрыБухгалтерии.Содержит(ОбъектМетаданных); + + Возврат (ИмяКоллекции = "Измерения" ИЛИ ИмяКоллекции = "Ресурсы") И ЭтоРегистраБухгалтерии И НЕ Поле.Балансовый; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьПолеОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, + ИмяПоля, + ИменаПолей, + ОбъектИБ) + + Попытка + Если ОбъектИБ = Неопределено Тогда + ПараметрыДоступа("Чтение", ОбъектМетаданных, ИмяПоля, Метаданные.Роли.ПолныеПрава); + Иначе + ОбъектИБ.ПараметрыДоступа( + "Чтение", + ОбъектМетаданных, + ИмяПоля, + ОбъектИБ.Метаданные.Роли.ПолныеПрава); + КонецЕсли; + ПараметрыДоступаМожноПолучить = Истина; + Исключение + ПараметрыДоступаМожноПолучить = Ложь; + КонецПопытки; + + Если ПараметрыДоступаМожноПолучить Тогда + ИменаПолей.Добавить(ИмяПоля); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..e0ec661b4 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПраваИнтерактивногоУдаления + + + ru + Тесты "Проверка права интерактивного удаления" + + + + ExternalDataProcessor.Тесты_ПроверкаПраваИнтерактивногоУдаления.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..a2bb5918c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..c4d28810f --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПраваИнтерактивногоУдаления + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..aaa35abfa --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,156 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) Экспорт + + Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных); + Утверждения.Проверить(Результат = "", "Есть право на интерактивное удаление объектов:" + Результат); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ЕстьПраво = Ложь; + Результат = ""; + + Для Каждого Роль Из Метаданные.Роли Цикл + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + ЕстьПраво = ПравоДоступа("ИнтерактивноеУдаление", ОбъектМетаданных, Роль); + Если ЕстьПраво Тогда + Результат = Результат + Символы.ПС + Роль.Имя; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции // ПроверитьЧтоЕстьПраваНаЧтениеСервер() + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных() + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции // ОбъектыМетаданных() + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 000000000..2be453535 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных + + + ru + Тесты "Проверка права интерактивного удаления помеченных" + + + + ExternalDataProcessor.Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..fcc21698c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..6b41f4b79 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,160 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных) Экспорт + + Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных); + ШаблонСообщения = НСтр("ru = 'Есть право на интерактивное удаление помеченных объектов:%1'"); + Утверждения.Проверить(Результат = "", СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат)); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ЕстьПраво = Ложь; + Результат = ""; + + Для Каждого Роль Из Метаданные.Роли Цикл + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + ЕстьПраво = ПравоДоступа("ИнтерактивноеУдалениеПомеченных", ОбъектМетаданных, Роль); + Если ЕстьПраво Тогда + Результат = Результат + Символы.ПС + Роль.Имя; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных() + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" new file mode 100644 index 000000000..1591e5069 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах + + + ru + Тесты "Проверка префикса в новых объектах и реквизитах" + + + + ExternalDataProcessor.Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..ab26449bb --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,62 @@ + +
+ + + + + + + + ТекстJSON + false + false + true + + + + + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах + + true + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текст JSON</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Выбор файла</v8:content> + </v8:item> + + + + ru + Выбор файла + + + ПоместитьФайлИнтерактивно + + +
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..9a0658263 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,550 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем КонфигурацияПоставщика; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(КонфигурацияПоставщика) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(КонфигурацияПоставщика); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); + Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов", + НаборТестов.ПараметрыТеста(ЭлементКоллекции.ПолноеИмя), + ЭлементКоллекции.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(мКонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = мКонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("КонфигурацияПоставщика") Тогда + ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки) + + #Если Не ВебКлиент Тогда + ПутьФайлаКонфигурацииПоставщика = Настройки.Параметры.КонфигурацияПоставщика; + ПутьФайлаКонфигурацииПоставщика = ОбработатьОтносительныйПуть(ПутьФайлаКонфигурацииПоставщика, мКонтекстЯдра); + + Файл = Новый Файл(ПутьФайлаКонфигурацииПоставщика); + Если Не Файл.Существует() Тогда + Возврат; + КонецЕсли; + + ЧтениеJson = Новый ЧтениеJSON; + ЧтениеJson.ОткрытьФайл(ПутьФайлаКонфигурацииПоставщика); + КонфигурацияПоставщика = ПрочитатьJSON(ЧтениеJson); + ЧтениеJson.Закрыть(); + + Файл = Неопределено; + #КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных, ПрефиксОбъектов); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных, ПрефиксОбъектов) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = (СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) > 0); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Не задан префикс объекта: %1.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(КонфигурацияПоставщика) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + ОбластьКонфигурацииПоставщика = КонфигурацияПоставщика[ЭлементСтруктурыОбъектовМетаданных.Ключ]; + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Если ОбластьКонфигурацииПоставщика.Найти(ОбъектМетаданных.Имя) <> Неопределено Тогда + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("Область", ОбластьКонфигурацииПоставщика); + + ОбработатьЭлементыОбъекта(Параметры, "Подсистемы", "Подсистема"); + ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); + ОбработатьЭлементыОбъекта(Параметры, "Измерения", "Измерение"); + ОбработатьЭлементыОбъекта(Параметры, "Ресурсы", "Ресурс"); + ОбработатьЭлементыОбъекта(Параметры, "Реквизиты", "Реквизит"); + ОбработатьЭлементыОбъекта(Параметры, "РеквизитыАдресации", "РеквизитАдресации"); + ОбработатьЭлементыОбъекта(Параметры, "Перерасчеты", "Перерасчет"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчета", "ПризнакУчета"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчетаСубконто", "ПризнакУчетаСубконто"); + ОбработатьКоллекциюОбъекта(Параметры, "ТабличныеЧасти", "ТабличнаяЧасть", "Реквизиты", "Реквизит"); + ОбработатьКоллекциюОбъекта(Параметры, "Операции", "Операция", "Параметры", "Параметр"); + ОбработатьЭлементыОбъекта(Параметры, "Графы", "Граф"); + ОбработатьЭлементыОбъекта(Параметры, "Формы", "Форма"); + ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); + ОбработатьЭлементыОбъекта(Параметры, "Макеты", "Макет"); + + Продолжить; + + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + + КонецЦикла; + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьКоллекциюОбъекта(Параметры, ИмяНабораКоллекции, ИмяЭлементаНабора, ИмяЭлементов, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОбластьКонфигурацииПоставщика = Параметры.Область; + ШаблонКоллекции = "%1.%2.%3"; + ШаблонЭлементов = "%1.%2.%3.%4.%5"; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяНабораКоллекции) Тогда + Возврат; + КонецЕсли; + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого ЭлементНабораКоллекции Из ОбъектМетаданных[ИмяНабораКоллекции] Цикл + + ИмяДляПоиска = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонКоллекции, + ОбъектМетаданных.Имя, + ИмяНабораКоллекции, + ЭлементНабораКоллекции.Имя); + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонКоллекции, + ОбъектМетаданных.Имя, + ИмяЭлементаНабора, + ЭлементНабораКоллекции.Имя); + + Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементНабораКоллекции.ПолноеИмя()); + Продолжить; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ЭлементНабораКоллекции[ИмяЭлементов] Цикл + + ИмяДляПоиска = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонЭлементов, + ОбъектМетаданных.Имя, + ИмяНабораКоллекции, + ЭлементНабораКоллекции.Имя, + ИмяЭлементов, + ЭлементКоллекции.Имя); + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонЭлементов, + ОбъектМетаданных.Имя, + ИмяЭлементаНабора, + ЭлементНабораКоллекции.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя()); + КонецЕсли; + + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента, ИмяРодителяДляПоиска = "", ИмяРодителя = "") + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОбластьКонфигурацииПоставщика = Параметры.Область; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + мИмяДляПоиска = ?(ЗначениеЗаполнено(ИмяРодителяДляПоиска), ИмяРодителяДляПоиска, ОбъектМетаданных.Имя); + ИмяДляПоиска = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1.%2.%3", + мИмяДляПоиска, + ИмяКоллекции, + ЭлементКоллекции.Имя); + + мИмяОбъекта = ?(ЗначениеЗаполнено(ИмяРодителя), ИмяРодителя, ОбъектМетаданных.Имя); + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2.%3", мИмяОбъекта, ИмяЭлемента, ЭлементКоллекции.Имя); + + Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя()); + КонецЕсли; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ЭлементКоллекции, ИмяКоллекции) Тогда + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("Область", ОбластьКонфигурацииПоставщика); + ОбработатьЭлементыОбъекта(мПараметры, ИмяКоллекции, ИмяЭлемента, ИмяДляПоиска, ИмяОбъекта); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьФайлИнтерактивно(Команда) + + ОбработкаОкончанияВыбора = Новый ОписаниеОповещения("ОбработкаОкончанияВыбора", ЭтотОбъект); + ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ВыборФайла.Фильтр = "Текстовый документ (txt)|*.txt"; + ВыборФайла.МножественныйВыбор = Ложь; + + ВыборФайла.Показать(ОбработкаОкончанияВыбора); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОкончанияВыбора(ВыбранныеФайлы, Контекст) Экспорт + + Если ЗначениеЗаполнено(ВыбранныеФайлы) Тогда + ТекстJSON = ОбработатьФайлКонфигурацииПоставщика(ВыбранныеФайлы[0]); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция ОбработатьФайлКонфигурацииПоставщика(ИмяФайла) + + СтрокаКонфигурацииПоставщика = Новый Массив; + СтруктураОбъектовМетаданных = Новый Структура; + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + ШаблонПоиска = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивИменОбъектовМетаданных, "|"); + Файл = Новый ЧтениеТекста(ИмяФайла); + Строка = Файл.ПрочитатьСтроку(); + Пока Строка <> Неопределено Цикл + Если СтрНайти(СокрЛП(Строка), "-") Тогда + Строка = СтрЗаменить(Строка, "- ", ""); + СтрокаКонфигурацииПоставщика.Добавить(СокрЛП(Строка)); + КонецЕсли; + Строка = Файл.ПрочитатьСтроку(); + КонецЦикла; + + Файл.Закрыть(); + + Для Каждого СтрокаКонфигурацииПоставщика Из СтрокаКонфигурацииПоставщика Цикл + МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(СтрокаКонфигурацииПоставщика, "."); + ИмяСвойства = МассивСтрок[0]; + Попытка + ЕстьСвойство = СтруктураОбъектовМетаданных.Свойство(ИмяСвойства); + Исключение + ЕстьСвойство = Ложь; + КонецПопытки; + Если ЕстьСвойство Тогда + МассивСтрок.Удалить(0); + НоваяСтрока = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, "."); + СтруктураОбъектовМетаданных[ИмяСвойства].Добавить(НоваяСтрока); + КонецЕсли; + КонецЦикла; + + ЗаписьJSON = Новый ЗаписьJSON; + ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(); + ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи); + ЗаписатьJSON(ЗаписьJSON, СтруктураОбъектовМетаданных); + + Возврат ЗаписьJSON.Закрыть(); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("Подсистемы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМодули"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыСеанса"); + МассивИменОбъектовМетаданных.Добавить("Роли"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ПодпискиНаСобытия"); + МассивИменОбъектовМетаданных.Добавить("РегламентныеЗадания"); + МассивИменОбъектовМетаданных.Добавить("ФункциональныеОпции"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыФункциональныхОпций"); + МассивИменОбъектовМетаданных.Добавить("ОпределяемыеТипы"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеФормы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКоманды"); + МассивИменОбъектовМетаданных.Добавить("ГруппыКоманд"); + МассивИменОбъектовМетаданных.Добавить("Интерфейсы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМакеты"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКартинки"); + МассивИменОбъектовМетаданных.Добавить("ПакетыXDTO"); + МассивИменОбъектовМетаданных.Добавить("WebСервисы"); + МассивИменОбъектовМетаданных.Добавить("HTTPСервисы"); + МассивИменОбъектовМетаданных.Добавить("WSСсылки"); + МассивИменОбъектовМетаданных.Добавить("ЭлементыСтиля"); + МассивИменОбъектовМетаданных.Добавить("Стили"); + МассивИменОбъектовМетаданных.Добавить("Языки"); + МассивИменОбъектовМетаданных.Добавить("Константы"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("Перечисления"); + МассивИменОбъектовМетаданных.Добавить("Отчеты"); + МассивИменОбъектовМетаданных.Добавить("Обработки"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + МассивИменОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаКлиенте +Функция ОбработатьОтносительныйПуть(Знач ОтносительныйПуть, КонтекстЯдра) + + Если Лев(ОтносительныйПуть, 1) = "." И ЗначениеЗаполнено(КонтекстЯдра.Объект.КаталогПроекта) Тогда + ОтносительныйПуть = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2", + КонтекстЯдра.Объект.КаталогПроекта, + Сред(ОтносительныйПуть, 2)); + КонецЕсли; + + Результат = СтрЗаменить(ОтносительныйПуть, "\\", "\"); + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..e581868db --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов + + + ru + Тесты "Проверка префикса свойств новых объектов" + + + + ExternalDataProcessor.Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..26f9bc6ac --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..9f9431ab2 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,461 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); + Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьПрефиксСвойствНовыхОбъектов", + НаборТестов.ПараметрыТеста(ЭлементКоллекции.ИмяСвойства, ЭлементКоллекции.ПолноеИмя), + ЭлементКоллекции.Имя); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); + ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьПрефиксСвойствНовыхОбъектов(ИмяМетаданных, ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + ДлинаПрефикса = СтрДлина(ПрефиксОбъектов); + + Результат = СтрНайти(ВРег(Лев(ИмяМетаданных, ДлинаПрефикса)), ВРег(ПрефиксОбъектов)) = 0; + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Свойство ""%1"" содержит префикс.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + + ОбработатьЭлементыОбъекта(Параметры, "Подсистемы", "Подсистема"); + ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); + ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); + ОбработатьЭлементыОбъекта(Параметры, "Измерения", "Измерение"); + ОбработатьЭлементыОбъекта(Параметры, "Ресурсы", "Ресурс"); + ОбработатьЭлементыОбъекта(Параметры, "Реквизиты", "Реквизит"); + ОбработатьЭлементыОбъекта(Параметры, "РеквизитыАдресации", "РеквизитАдресации"); + ОбработатьЭлементыОбъекта(Параметры, "Перерасчеты", "Перерасчет"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчета", "ПризнакУчета"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчетаСубконто", "ПризнакУчетаСубконто"); + ОбработатьКоллекциюОбъекта(Параметры, "ТабличныеЧасти", "ТабличнаяЧасть", "Реквизиты", "Реквизит"); + ОбработатьКоллекциюОбъекта(Параметры, "Операции", "Операция", "Параметры", "Параметр"); + ОбработатьЭлементыОбъекта(Параметры, "Графы", "Граф"); + ОбработатьЭлементыОбъекта(Параметры, "Формы", "Форма"); + ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); + ОбработатьЭлементыОбъекта(Параметры, "Макеты", "Макет"); + + Иначе + + ОбработатьКоллекциюОбъекта(Параметры, "ТабличныеЧасти", "ТабличнаяЧасть", "Реквизиты", "Реквизит"); + ОбработатьКоллекциюОбъекта(Параметры, "Операции", "Операция", "Параметры", "Параметр"); + + КонецЕсли; + + КонецЦикла; + + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьКоллекциюОбъекта(Параметры, ИмяНабораКоллекции, ИмяЭлементаНабора, ИмяЭлементов, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + ШаблонКоллекции = "%1.%2.%3"; + ШаблонЭлементов = "%1.%2.%3.%4.%5"; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяНабораКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементНабораКоллекции Из ОбъектМетаданных[ИмяНабораКоллекции] Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонКоллекции, + ОбъектМетаданных.Имя, + ИмяЭлементаНабора, + ЭлементНабораКоллекции.Имя); + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементНабораКоллекции.ПолноеИмя(), + ЭлементНабораКоллекции.Синоним); + Продолжить; + КонецЕсли; + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) + Или ИмяСодержитПрефикс(ЭлементНабораКоллекции.Имя, ПрефиксОбъектов) Тогда + + Для Каждого ЭлементКоллекции Из ЭлементНабораКоллекции[ИмяЭлементов] Цикл + + ИмяДляПоиска = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонЭлементов, + ОбъектМетаданных.Имя, + ИмяНабораКоллекции, + ЭлементНабораКоллекции.Имя, + ИмяЭлементов, + ЭлементКоллекции.Имя); + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонЭлементов, + ОбъектМетаданных.Имя, + ИмяЭлементаНабора, + ЭлементНабораКоллекции.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Синоним); + + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + ШаблонПоиска = "%1.%2.%3"; + ШаблонРеквизит = "%1.%2.%3.Реквизит.%4"; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонПоиска, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Имя); + КонецЕсли; + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) + Или ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + + Для Каждого Реквизит Из ЭлементКоллекции.Реквизиты Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонРеквизит, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя, + Реквизит.Имя); + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + Реквизит.ПолноеИмя(), + Реквизит.Имя); + + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента, ИмяРодителя = "") + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + мИмяОбъекта = ?(ЗначениеЗаполнено(ИмяРодителя), ИмяРодителя, ОбъектМетаданных.Имя); + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2.%3", мИмяОбъекта, ИмяЭлемента, ЭлементКоллекции.Имя); + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Имя); + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ЭлементКоллекции, ИмяКоллекции) Тогда + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + ОбработатьЭлементыОбъекта(мПараметры, ИмяКоллекции, ИмяЭлемента, ИмяОбъекта); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, Синоним) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("ИмяСвойства", Синоним); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("Подсистемы"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеФормы"); + МассивИменОбъектовМетаданных.Добавить("WebСервисы"); + МассивИменОбъектовМетаданных.Добавить("HTTPСервисы"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("Перечисления"); + МассивИменОбъектовМетаданных.Добавить("Отчеты"); + МассивИменОбъектовМетаданных.Добавить("Обработки"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..8698d0f5c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПривилегированногоРежимаОбъектов + + + ru + Тесты "Проверка привилегированного режима объектов" + + + + ExternalDataProcessor.Тесты_ПроверкаПривилегированногоРежимаОбъектов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..db3bb3bd9 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПривилегированногоРежимаОбъектов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..37b956d42 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,284 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ГруппыТестов = ГруппыТестов(); + + Для Каждого ГруппаТестов Из ГруппыТестов Цикл + + МассивОбъектовМетаданных = МассивОбъектовМетаданных(ГруппаТестов.ИмяОбъектовМетаданных); + НаборТестов.НачатьГруппу(ГруппаТестов.ИмяГруппыТестов, Истина); + + Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + + НаборТестов.Добавить( + "ТестДолжен_ПроверитьПривилегированныйРежимОбъекта", + НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя, ГруппаТестов.ПроверяемыеСвойства), + ЭлементМассиваОбъектовМетаданных.Имя); + + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьПривилегированныйРежимОбъекта(ПолноеИмяМетаданных, ПроверяемыеСвойства) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьПривилегированныйРежимОбъекта(ПолноеИмяМетаданных, ПроверяемыеСвойства); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьПривилегированныйРежимОбъекта(ПолноеИмяМетаданных, ПроверяемыеСвойства) + + Результат = ""; + СтроковыеУтилиты = СтроковыеУтилиты(); + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + + Для Каждого ПроверяемоеСвойство Из ПроверяемыеСвойства Цикл + Если ОбъектМетаданных[ПроверяемоеСвойство.Ключ] <> ПроверяемоеСвойство.Значение Тогда + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1: %2", + ПроверяемоеСвойство.Ключ, + ОбъектМетаданных[ПроверяемоеСвойство.Ключ]); + Разделитель = ?(ЗначениеЗаполнено(Результат), Символы.ПС, ""); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1%2%3", Результат, Разделитель, ТекстОшибки); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ЭтоУстаревшийОбъектМетаданных(ПолноеИмяМетаданных) Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки, устаревший объект.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) + + ШаблонСообщения = НСтр("ru = 'У объект метаданных ""%1"" установлены свойства: %2%3'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонСообщения, + ПолноеИмяМетаданных, + Символы.ПС, + Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ГруппыТестов() + + ГруппыТестов = Новый Массив; + + ПроверяемыеСвойства = Новый Структура; + ПроверяемыеСвойства.Вставить("ПривилегированныйРежимПриПолучении", Истина); + + СтруктураГруппыТестов = Новый Структура; + СтруктураГруппыТестов.Вставить("ИмяГруппыТестов", "Функциональные опции"); + СтруктураГруппыТестов.Вставить("ИмяОбъектовМетаданных", "ФункциональныеОпции"); + СтруктураГруппыТестов.Вставить("ПроверяемыеСвойства", ПроверяемыеСвойства); + + ГруппыТестов.Добавить(СтруктураГруппыТестов); + + ПроверяемыеСвойства = Новый Структура; + ПроверяемыеСвойства.Вставить("ПривилегированныйРежимПриПроведении", Истина); + ПроверяемыеСвойства.Вставить("ПривилегированныйРежимПриОтменеПроведения", Истина); + + СтруктураГруппыТестов = Новый Структура; + СтруктураГруппыТестов.Вставить("ИмяГруппыТестов", "Документы"); + СтруктураГруппыТестов.Вставить("ИмяОбъектовМетаданных", "Документы"); + СтруктураГруппыТестов.Вставить("ПроверяемыеСвойства", ПроверяемыеСвойства); + + ГруппыТестов.Добавить(СтруктураГруппыТестов); + + ПроверяемыеСвойства = Новый Структура; + ПроверяемыеСвойства.Вставить("ПривилегированныйРежимПриСозданииЗадач", Истина); + + СтруктураГруппыТестов = Новый Структура; + СтруктураГруппыТестов.Вставить("ИмяГруппыТестов", "Бизнес процессы"); + СтруктураГруппыТестов.Вставить("ИмяОбъектовМетаданных", "БизнесПроцессы"); + СтруктураГруппыТестов.Вставить("ПроверяемыеСвойства", ПроверяемыеСвойства); + + ГруппыТестов.Добавить(СтруктураГруппыТестов); + + Возврат ГруппыТестов; + +КонецФункции + +&НаСервереБезКонтекста +Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных) + + ПроведениеЗапретить = Метаданные.СвойстваОбъектов.Проведение.Запретить; + МассивОбъектовМетаданных = Новый Массив; + + Для Каждого ОбъектМетаданных Из Метаданные[ИмяОбъектовМетаданных] Цикл + Если Метаданные.Документы.Содержит(ОбъектМетаданных) + И ОбъектМетаданных.Проведение = ПроведениеЗапретить Тогда + Продолжить; + КонецЕсли; + ДобавитьЭлементКоллекцииОбъектовМетаданных( + МассивОбъектовМетаданных, + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + КонецЦикла; + + Возврат МассивОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" new file mode 100644 index 000000000..69f601eb7 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаРегламентныхЗаданий + + + ru + Тесты "Проверка регламентных заданий" + + + + ExternalDataProcessor.Тесты_ПроверкаРегламентныхЗаданий.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..0e9d28e17 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаРегламентныхЗаданий + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..67eda36ad --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,239 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + МассивОбъектовМетаданных = МассивОбъектовМетаданных("РегламентныеЗадания", ПрефиксОбъектов, ОтборПоПрефиксу); + НаборТестов.НачатьГруппу("Регламентные задания", Истина); + + Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + + НаборТестов.Добавить( + "ТестДолжен_ПроверитьРегламентноеЗадание", + НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя), + ЭлементМассиваОбъектовМетаданных.Имя); + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРегламентноеЗадание(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьРегламентноеЗадание(ПолноеИмяМетаданных); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьРегламентноеЗадание(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + + Возврат ОбъектМетаданных.Использование = Ложь; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ЭтоУстаревшийОбъектМетаданных(ПолноеИмяМетаданных) Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки, устаревший объект.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'У Регламентного задания ""%1"" включено использование.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных, ПрефиксОбъектов, ОтборПоПрефиксу) + + МассивОбъектовМетаданных = Новый Массив; + Для Каждого ОбъектМетаданных Из Метаданные[ИмяОбъектовМетаданных] Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + ДобавитьЭлементКоллекцииОбъектовМетаданных( + МассивОбъектовМетаданных, + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + КонецЦикла; + + Возврат МассивОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" new file mode 100644 index 000000000..64d3775a6 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный + + + ru + Тесты "Проверка реквизитов документов: комментарий, ответственный " + + + + ExternalDataProcessor.Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..8d15b88bf --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..7b1d681d0 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,233 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("Документы", Ложь); + мДокументы = Документы(ПрефиксОбъектов, ОтборПоПрефиксу); + Для Каждого Документ Из мДокументы Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьРеквизитыДокументовКомментарийОтветственный"; + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Документ.Имя, Документ.ПолноеИмя), Документ.Имя); + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента, ПолноеИмяДокумента) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяДокумента); + + Результат = ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяДокумента, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента) + + Документ = Метаданные.Документы.Найти(ИмяДокумента); + Результат = ""; + СтроковыеУтилиты = СтроковыеУтилиты(); + + Если Документ.Реквизиты.Найти("Комментарий") = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонСообщения = НСтр("ru = '%1%2 комментарий'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат, Разделитель); + КонецЕсли; + + Если Документ.Реквизиты.Найти("Ответственный") = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонСообщения = НСтр("ru = '%1%2 ответственный'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат, Разделитель); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяДокумента) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяДокумента)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяДокумента); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяДокумента, Результат) + + ШаблонСообщения = НСтр("ru = 'Для документа ""%1"" не указаны реквизиты:%2.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяДокумента, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +&НаСервереБезКонтекста +Функция Документы(ПрефиксОбъектов, ОтборПоПрефиксу) + + Результат = Новый Массив; + + Для Каждого Документ Из Метаданные.Документы Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Документ.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + СтруктураДокумента = Новый Структура; + СтруктураДокумента.Вставить("Имя", Документ.Имя); + СтруктураДокумента.Вставить("Синоним", Документ.Синоним); + СтруктураДокумента.Вставить("ПолноеИмя", Документ.ПолноеИмя()); + Результат.Добавить(СтруктураДокумента); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..f98419a22 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов + + + ru + Тесты "Проверка синонима новых объектов и реквизитов" + + + + ExternalDataProcessor.Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..ff863474a --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..0db2dc3f7 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,418 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); + Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьСинонимОбъектаИлиРеквизитов", + НаборТестов.ПараметрыТеста(ЭлементКоллекции.ПолноеИмя, ЭлементКоллекции.Синоним), + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ЭлементКоллекции.Имя, ЭлементКоллекции.Синоним)); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); + ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСинонимОбъектаИлиРеквизитов(ПолноеИмяМетаданных, Синоним) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + мПрефиксОбъектов = ВРег(СтрЗаменить(ПрефиксОбъектов, "_", "")); + ДлинаПрефикса = СтрДлина(мПрефиксОбъектов); + + Результат = (ВРег(Лев(Синоним, ДлинаПрефикса)) <> ВРег(мПрефиксОбъектов)); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Синоним объекта ""%1"" содержит префикс.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя(), + ОбъектМетаданных.Синоним); + + КонецЕсли; + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъекта(Параметры, "Подсистемы", "Подсистема"); + ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); + ОбработатьЭлементыОбъекта(Параметры, "Измерения", "Измерение"); + ОбработатьЭлементыОбъекта(Параметры, "Ресурсы", "Ресурс"); + ОбработатьЭлементыОбъекта(Параметры, "Реквизиты", "Реквизит"); + ОбработатьЭлементыОбъекта(Параметры, "РеквизитыАдресации", "РеквизитАдресации"); + ОбработатьЭлементыОбъекта(Параметры, "Перерасчеты", "Перерасчет"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчета", "ПризнакУчета"); + ОбработатьЭлементыОбъекта(Параметры, "ПризнакиУчетаСубконто", "ПризнакУчетаСубконто"); + ОбработатьТабличныеЧастиОбъекта(Параметры, "ТабличныеЧасти", "ТабличнаяЧасть"); + ОбработатьЭлементыОбъекта(Параметры, "Графы", "Граф"); + ОбработатьЭлементыОбъекта(Параметры, "Формы", "Форма"); + ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); + ОбработатьЭлементыОбъекта(Параметры, "Макеты", "Макет"); + + КонецЦикла; + + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + ШаблонПоиска = "%1.%2.%3"; + ШаблонРеквизит = "%1.%2.%3.Реквизит.%4"; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонПоиска, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя); + + Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Синоним); + КонецЕсли; + + Для Каждого Реквизит Из ЭлементКоллекции.Реквизиты Цикл + + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонРеквизит, + ОбъектМетаданных.Имя, + ИмяЭлемента, + ЭлементКоллекции.Имя, + Реквизит.Имя); + + Если ИмяСодержитПрефикс(Реквизит.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + Реквизит.ПолноеИмя(), + Реквизит.Синоним); + КонецЕсли; + + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъекта(Параметры, ИмяКоллекции, ИмяЭлемента, ИмяРодителя = "") + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + мИмяОбъекта = ?(ЗначениеЗаполнено(ИмяРодителя), ИмяРодителя, ОбъектМетаданных.Имя); + ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2.%3", мИмяОбъекта, ИмяЭлемента, ЭлементКоллекции.Имя); + + Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ИмяМетаданных], + ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Синоним); + КонецЕсли; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ЭлементКоллекции, ИмяКоллекции) Тогда + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + ОбработатьЭлементыОбъекта(мПараметры, ИмяКоллекции, ИмяЭлемента, ИмяОбъекта); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, Синоним) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("Синоним", Синоним); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("Подсистемы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМодули"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыСеанса"); + МассивИменОбъектовМетаданных.Добавить("Роли"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ПодпискиНаСобытия"); + МассивИменОбъектовМетаданных.Добавить("РегламентныеЗадания"); + МассивИменОбъектовМетаданных.Добавить("ФункциональныеОпции"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыФункциональныхОпций"); + МассивИменОбъектовМетаданных.Добавить("ОпределяемыеТипы"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеФормы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКоманды"); + МассивИменОбъектовМетаданных.Добавить("ГруппыКоманд"); + МассивИменОбъектовМетаданных.Добавить("Интерфейсы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМакеты"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКартинки"); + МассивИменОбъектовМетаданных.Добавить("ПакетыXDTO"); + МассивИменОбъектовМетаданных.Добавить("WebСервисы"); + МассивИменОбъектовМетаданных.Добавить("HTTPСервисы"); + МассивИменОбъектовМетаданных.Добавить("WSСсылки"); + МассивИменОбъектовМетаданных.Добавить("ЭлементыСтиля"); + МассивИменОбъектовМетаданных.Добавить("Стили"); + МассивИменОбъектовМетаданных.Добавить("Языки"); + МассивИменОбъектовМетаданных.Добавить("Константы"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("Перечисления"); + МассивИменОбъектовМетаданных.Добавить("Отчеты"); + МассивИменОбъектовМетаданных.Добавить("Обработки"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + МассивИменОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 000000000..f725ff458 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных + + + ru + Тесты "Проверка синонима устаревших объектов метаданных" + + + + ExternalDataProcessor.Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..062d88f83 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..afc012029 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,428 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из ОбъектМетаданных.Значение Цикл + + ПараметрыТеста = НаборТестов.ПараметрыТеста( + ЭлементСтруктурыОбъектовМетаданных.ПолноеИмя, + ЭлементСтруктурыОбъектовМетаданных.Синоним); + + НаборТестов.Добавить( + "ТестДолжен_ПроверитьСинонимУстаревшихОбъектовМетаданных", + ПараметрыТеста, + ЭлементСтруктурыОбъектовМетаданных.ИмяТеста); + + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСинонимУстаревшихОбъектовМетаданных(ПолноеИмяМетаданных, Синоним) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = (СтрНайти(НРег(Синоним), "(не используется)") > 0); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'У объекта %1 в синониме не указан префикс (не используется).'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) + + МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементМассива Из МассивИменОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Если ЭтоУстаревшийОбъектМетаданных(ОбъектМетаданных.Имя) Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.ПолноеИмя(), + ОбъектМетаданных.Синоним); + Продолжить; + КонецЕсли; + + ВключитьВсеЭлементы = ОтборПоПрефиксу И ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов); + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу И Не ВключитьВсеЭлементы); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъектаМетаданных(Параметры, "ЗначенияПеречисления"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Измерения"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Ресурсы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Реквизиты"); + ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, "ТабличныеЧасти"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Графы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Формы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Команды"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Макеты"); + + + КонецЦикла; + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + ШаблонПоиска = "%1.%2.%3"; + ШаблонРеквизит = "%1.%2.%3.Реквизит.%4"; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + Если ЭтоУстаревшийОбъектМетаданных(ЭлементКоллекции.Имя) Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Синоним); + Продолжить; + + КонецЕсли; + + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Реквизиты"); + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + Если ЭтоУстаревшийОбъектМетаданных(ЭлементКоллекции.Имя) Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ЭлементКоллекции.ПолноеИмя(), + ЭлементКоллекции.Синоним); + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя, Синоним) + + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1 [%2]: %3", + ПолноеИмя, + Синоним, + НСтр("ru = 'Проверка синонима устаревших объектов метаданных'")); + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("Синоним", Синоним); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) + КоличествоБуквОтступа = 7; + Возврат СтрНайти(ВРег(Лев(ИмяОбъектаМетаданных, КоличествоБуквОтступа)), "УДАЛИТЬ"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция МассивИменОбъектовМетаданных() + + МассивИменОбъектовМетаданных = Новый Массив; + + МассивИменОбъектовМетаданных.Добавить("Подсистемы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМодули"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыСеанса"); + МассивИменОбъектовМетаданных.Добавить("Роли"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивИменОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивИменОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивИменОбъектовМетаданных.Добавить("ПодпискиНаСобытия"); + МассивИменОбъектовМетаданных.Добавить("РегламентныеЗадания"); + МассивИменОбъектовМетаданных.Добавить("ФункциональныеОпции"); + МассивИменОбъектовМетаданных.Добавить("ПараметрыФункциональныхОпций"); + МассивИменОбъектовМетаданных.Добавить("ОпределяемыеТипы"); + МассивИменОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеФормы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКоманды"); + МассивИменОбъектовМетаданных.Добавить("ГруппыКоманд"); + МассивИменОбъектовМетаданных.Добавить("Интерфейсы"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеМакеты"); + МассивИменОбъектовМетаданных.Добавить("ОбщиеКартинки"); + МассивИменОбъектовМетаданных.Добавить("ПакетыXDTO"); + МассивИменОбъектовМетаданных.Добавить("WebСервисы"); + МассивИменОбъектовМетаданных.Добавить("HTTPСервисы"); + МассивИменОбъектовМетаданных.Добавить("WSСсылки"); + МассивИменОбъектовМетаданных.Добавить("ЭлементыСтиля"); + МассивИменОбъектовМетаданных.Добавить("Стили"); + МассивИменОбъектовМетаданных.Добавить("Языки"); + МассивИменОбъектовМетаданных.Добавить("Константы"); + МассивИменОбъектовМетаданных.Добавить("Справочники"); + МассивИменОбъектовМетаданных.Добавить("Документы"); + МассивИменОбъектовМетаданных.Добавить("ЖурналыДокументов"); + МассивИменОбъектовМетаданных.Добавить("Перечисления"); + МассивИменОбъектовМетаданных.Добавить("Отчеты"); + МассивИменОбъектовМетаданных.Добавить("Обработки"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивИменОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивИменОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивИменОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивИменОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивИменОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивИменОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивИменОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивИменОбъектовМетаданных.Добавить("Задачи"); + МассивИменОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивИменОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 000000000..5e02b4929 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаСоставныхТиповДанных + + + ru + Тесты "Проверка составных типов данных" + + + + ExternalDataProcessor.Тесты_ПроверкаСоставныхТиповДанных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..e7969688e --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаСоставныхТиповДанных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..7103fb55d --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,571 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; +&НаКлиенте +Перем НеПроверятьДополнительныеРеквизиты; +&НаКлиенте +Перем ТипыОбъектСсылка; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Истина); + Для Каждого СтруктураОбъектаМетаданных Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьСоставнойТип", + НаборТестов.ПараметрыТеста(СтруктураОбъектаМетаданных.ПолноеИмя), + СтруктураОбъектаМетаданных.ИмяТеста); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки["Параметры"].Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки["Параметры"].ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("НеПроверятьДополнительныеРеквизиты") Тогда + НеПроверятьДополнительныеРеквизиты = Настройки[ИмяТеста()].НеПроверятьДополнительныеРеквизиты; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСоставнойТип(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьПримитивныеТипыВСоставномТипе(ПолноеИмяМетаданных); + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" содержит ссылочные и примитивные типы'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения); + КонецЕсли; + + Если Не ЗначениеЗаполнено(ТипыОбъектСсылка) Тогда + ТипыОбъектСсылка = ТипыОбъектСсылка(); + КонецЕсли; + + Результат = ПроверитьТипыОбъектСсылкаВСоставномТипе(ПолноеИмяМетаданных, ТипыОбъектСсылка); + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" содержит типы: %2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, Результат); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьПримитивныеТипыВСоставномТипе(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ПримитывныеТипыДанных = ПримитывныеТипыДанных(); + СодержитПримитивныйТипДанных = Ложь; + ТипыОбъектаМетаданных = ОбъектМетаданных.Тип.Типы(); + ТипыДляУдаления = Новый Массив; + Результат = Новый Массив; + + Для Каждого ТипДанных Из ТипыОбъектаМетаданных Цикл + ТипДанныхСтрока = Строка(ТипДанных); + Если ПримитывныеТипыДанных.Получить(ТипДанныхСтрока) <> Неопределено Тогда + ТипыДляУдаления.Добавить(ТипДанных); + СодержитПримитивныйТипДанных = Истина; + КонецЕсли; + КонецЦикла; + + Если Не СодержитПримитивныйТипДанных Тогда + Возврат Истина; + КонецЕсли; + + Для Каждого Элемент Из ТипыОбъектаМетаданных Цикл + Если ТипыДляУдаления.Найти(Элемент) = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПроверитьТипыОбъектСсылкаВСоставномТипе(ПолноеИмяМетаданных, ТипыОбъектСсылка) + + Результат = ""; + СтрокаЛюбаяСсылка = "ЛюбаяСсылка"; + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + + Если ПроверитьТипОбъектСсылкаВСоставномТипе(ОбъектМетаданных, ТипыОбъектСсылка[СтрокаЛюбаяСсылка]) Тогда + Возврат СтрокаЛюбаяСсылка; + КонецЕсли; + + Для каждого ТипОбъектСсылка Из ТипыОбъектСсылка Цикл + Если ТипОбъектСсылка.Ключ = СтрокаЛюбаяСсылка Тогда + Продолжить; + КонецЕсли; + Если ПроверитьТипОбъектСсылкаВСоставномТипе(ОбъектМетаданных, ТипОбъектСсылка.Значение) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); + Результат = Результат + Разделитель + ТипОбъектСсылка.Ключ; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПроверитьТипОбъектСсылкаВСоставномТипе(ОбъектМетаданных, ТипОбъектСсылка) + + ТипыОбъектаМетаданных = ОбъектМетаданных.Тип.Типы(); + ТипОбъектСсылкаКоличествоТипов = ТипОбъектСсылка.Количество(); + ТипыОбъектаМетаданныхКоличествоТипов = ТипыОбъектаМетаданных.Количество(); + КоличествоОбработанныхТипов = 0; + + Если ТипОбъектСсылкаКоличествоТипов = 1 Тогда + Возврат Ложь; + КонецЕсли; + + Если ТипыОбъектаМетаданныхКоличествоТипов < ТипОбъектСсылкаКоличествоТипов Тогда + Возврат Ложь; + КонецЕсли; + + Для Каждого ТипДанных Из ТипыОбъектаМетаданных Цикл + Если ТипОбъектСсылка.Получить(ТипДанных) = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + КоличествоОбработанныхТипов = КоличествоОбработанныхТипов + 1; + Если КоличествоОбработанныхТипов = ТипОбъектСсылкаКоличествоТипов Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ПропускатьОбъектыСПрефиксомУдалить И СтрНайти(ВРег(ПолноеИмяМетаданных), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + СтрокаПоиска = ВРег("ДополнительныеРеквизиты"); + Если НеПроверятьДополнительныеРеквизиты = Истина И СтрНайти(ВРег(ПолноеИмяМетаданных), СтрокаПоиска) > 0 Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки, доп. реквизиты не проверяются'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) + + СоответсвиеОбъектовМетаданных = СоответсвиеОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементСоответствия Из СоответсвиеОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементСоответствия.Ключ, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + ВидПроверки = СоответсвиеОбъектовМетаданных.Получить(ЭлементСтруктурыОбъектовМетаданных.Ключ); + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("ВидПроверки", ВидПроверки); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ЭлементСтруктурыОбъектовМетаданных", ЭлементСтруктурыОбъектовМетаданных); + Параметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьОбъектМетаданных(Параметры); + + КонецЦикла; + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьОбъектМетаданных(Параметры) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + ВидПроверки = Параметры.ВидПроверки; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ЭлементСтруктурыОбъектовМетаданных = Параметры.ЭлементСтруктурыОбъектовМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + ВидыПроверок = ВидыПроверок(); + + Если ВидПроверки = ВидыПроверок.СамОбъект И ОбъектМетаданных.Тип.Типы().Количество() > 1 Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.ПолноеИмя()); + + ИначеЕсли ВидПроверки = ВидыПроверок.СвойстваОбъекта Тогда + + ВключитьВсеЭлементы = ОтборПоПрефиксу И ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов); + + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + мПараметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу И Не ВключитьВсеЭлементы); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Измерения"); + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Ресурсы"); + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Реквизиты"); + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "РеквизитыАдресации"); + ОбработатьТабличныеЧастиОбъектаМетаданных(мПараметры, "ТабличныеЧасти"); + + Иначе + Возврат; + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ВключитьВсеЭлементы = ОтборПоПрефиксу И ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов); + + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу И Не ВключитьВсеЭлементы); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Реквизиты"); + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + Если ЭлементКоллекции.Тип.Типы().Количество() > 1 Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ЭлементКоллекции.ПолноеИмя()); + + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя) + + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1: %2", + ПолноеИмя, + НСтр("ru = 'Проверка составных типов данных'")); + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция СоответсвиеОбъектовМетаданных() + + ВидыПроверки = ВидыПроверок(); + + СоответсвиеОбъектовМетаданных = Новый Соответствие; + + СоответсвиеОбъектовМетаданных.Вставить("ПараметрыСеанса", ВидыПроверки.СамОбъект); + СоответсвиеОбъектовМетаданных.Вставить("ОбщиеРеквизиты", ВидыПроверки.СамОбъект); + СоответсвиеОбъектовМетаданных.Вставить("ПланыОбмена", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("КритерииОтбора", ВидыПроверки.СамОбъект); + СоответсвиеОбъектовМетаданных.Вставить("ХранилищаНастроек", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("Константы", ВидыПроверки.СамОбъект); + СоответсвиеОбъектовМетаданных.Вставить("Справочники", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("Документы", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("ПланыВидовХарактеристик", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("ПланыСчетов", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("ПланыВидовРасчета", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("РегистрыСведений", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("РегистрыНакопления", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("РегистрыБухгалтерии", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("РегистрыРасчета", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("БизнесПроцессы", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("Задачи", ВидыПроверки.СвойстваОбъекта); + СоответсвиеОбъектовМетаданных.Вставить("ВнешниеИсточникиДанных", ВидыПроверки.СвойстваОбъекта); + + Возврат СоответсвиеОбъектовМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ВидыПроверок() + Возврат Новый Структура("СамОбъект,СвойстваОбъекта", "Объект", "Свойства"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ПримитывныеТипыДанных() + + ПримитывныеТипыДанных = Новый Соответствие; + ПримитывныеТипыДанных.Вставить("Число", Истина); + ПримитывныеТипыДанных.Вставить("Строка", Истина); + ПримитывныеТипыДанных.Вставить("Булево", Истина); + ПримитывныеТипыДанных.Вставить("Дата", Истина); + + Возврат ПримитывныеТипыДанных; + +КонецФункции + +&НаСервереБезКонтекста +Функция ТипыОбъектСсылка() + + СтрокаЛюбаяСсылка = "ЛюбаяСсылка"; + + ТипыОбъектСсылка = Новый Структура; + ТипыОбъектСсылка.Вставить(СтрокаЛюбаяСсылка, Новый Соответствие); + + ТипыОбъектовМетаданных = Новый Структура; + ТипыОбъектовМетаданных.Вставить("СправочникСсылка", Справочники.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ДокументСсылка", Документы.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ПеречислениеСсылка", Перечисления.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ПланВидовХарактеристикСсылка", ПланыВидовХарактеристик.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ПланСчетовСсылка", ПланыСчетов.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ПланВидовРасчетаСсылка", ПланыВидовРасчета.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("БизнесПроцессСсылка", БизнесПроцессы.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ТочкаМаршрутаБизнесПроцессаСсылка", + БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()); + ТипыОбъектовМетаданных.Вставить("ЗадачаСсылка", Задачи.ТипВсеСсылки().Типы()); + ТипыОбъектовМетаданных.Вставить("ПланОбменаСсылка", ПланыОбмена.ТипВсеСсылки().Типы()); + + Для Каждого ЭлементСтруктурыТипыОбъектовМетаданных Из ТипыОбъектовМетаданных Цикл + ТипыОбъектСсылка.Вставить(ЭлементСтруктурыТипыОбъектовМетаданных.Ключ, Новый Соответствие); + Для Каждого ТипДанных Из ЭлементСтруктурыТипыОбъектовМетаданных.Значение Цикл + ТипыОбъектСсылка[СтрокаЛюбаяСсылка].Вставить(ТипДанных, Истина); + ТипыОбъектСсылка[ЭлементСтруктурыТипыОбъектовМетаданных.Ключ].Вставить(ТипДанных, Истина); + КонецЦикла; + КонецЦикла; + + Возврат ТипыОбъектСсылка; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" new file mode 100644 index 000000000..cba64658c --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаСтандартныхРолей + + + ru + Тесты "Проверка стандартных ролей" + + + + ExternalDataProcessor.Тесты_ПроверкаСтандартныхРолей.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..567df6daf --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаСтандартныхРолей + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..b357b05a2 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,308 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОсновныеРоли; +&НаКлиенте +Перем СтандартныеРоли; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если ЗначениеЗаполнено(ОсновныеРоли) Тогда + НаборТестов.НачатьГруппу("Основные роли конфигурации", Ложь); + Для Каждого ОсновнаяРоль Из ОсновныеРоли Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьСоставОсновныхРолей"; + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(ОсновнаяРоль), ОсновнаяРоль); + КонецЦикла; + КонецЕсли; + + Если ЗначениеЗаполнено(СтандартныеРоли) Тогда + НаборТестов.НачатьГруппу("Стандартные роли", Ложь); + Для Каждого СтандартнаяРоль Из СтандартныеРоли Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьПраваДоступаСтандартнойРоли"; + НаборТестов.Добавить( + ИмяПроцедуры, + НаборТестов.ПараметрыТеста(СтандартнаяРоль.Ключ, СтандартнаяРоль.Значение), + СтандартнаяРоль.Ключ); + КонецЦикла; + КонецЕсли; + + НаборТестов.НачатьГруппу("Роли", Ложь); + ИменаРолей = ИменаРолей(СтандартныеРоли); + Для Каждого ИменаРоли Из ИменаРолей Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей"; + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(ИменаРоли.Имя, ИменаРоли.ПолноеИмя), ИменаРоли.Имя); + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОсновныеРоли") Тогда + ОсновныеРоли = Настройки[ИмяТеста()].ОсновныеРоли; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("СтандартныеРоли") Тогда + СтандартныеРоли = Настройки[ИмяТеста()].СтандартныеРоли; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьСоставОсновныхРолей(ИмяРоли) Экспорт + + Результат = ПроверитьСоставОсновныхРолей(ИмяРоли); + ШаблонОшибки = НСтр("ru = 'Роль %1 не входит в состав основных ролей конфигурации'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ИмяРоли); + Утверждения.Проверить(Результат = Истина, ТекстОшибки); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьСоставОсновныхРолей(ИмяРоли) + + Роль = Метаданные.Роли.Найти(ИмяРоли); + Результат = Метаданные.ОсновныеРоли.Содержит(Роль); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ПроверитьПраваДоступаСтандартнойРоли(ИмяРоли, ПраваДоступаРоли) Экспорт + + Результат = ПроверитьПраваДоступаСтандартнойРоли(ИмяРоли, ПраваДоступаРоли); + ШаблонОшибки = НСтр("ru = 'Для стандартной роли %1 не установлены права доступа: %2'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ИмяРоли, Результат); + Утверждения.Проверить(Результат = "", ТекстОшибки); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьПраваДоступаСтандартнойРоли(ИмяРоли, ПраваДоступаРоли) + + Результат = ""; + + Роль = Метаданные.Роли.Найти(ИмяРоли); + + Для Каждого ПравоДоступаРоли Из ПраваДоступаРоли Цикл + Если Не ПравоДоступа(ПравоДоступаРоли, Метаданные, Роль) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); + Результат = Результат + Разделитель + ПравоДоступаРоли; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей(ИмяРоли, ПолноеИмяРоли) Экспорт + + ПропускатьТест = ПропускатьТест(ИмяРоли, ПолноеИмяРоли); + + Результат = ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей(ИмяРоли); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяРоли, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей(ИмяРоли) + + Результат = ""; + + Роль = Метаданные.Роли.Найти(ИмяРоли); + ПраваДоступаДляПроверки = ПраваДоступаДляПроверки(); + + Для Каждого ПравоДоступаДляПроверки Из ПраваДоступаДляПроверки Цикл + Если ПравоДоступа(ПравоДоступаДляПроверки, Метаданные, Роль) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); + Результат = Результат + Разделитель + ПравоДоступаДляПроверки; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяРоли, ПолноеИмяРоли) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяРоли)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Роль ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяРоли); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяРоли, Результат) + + ШаблонСообщения = НСтр("ru = 'Для роли %1 установлены права доступа на корень конфигурации: %2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяРоли, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +&НаСервереБезКонтекста +Функция ИменаРолей(СтандартныеРоли) + + ИменаРолей = Новый Массив; + + Для Каждого Роль Из Метаданные.Роли Цикл + Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Продолжить; + КонецЕсли; + Если ТипЗнч(СтандартныеРоли) = Тип("Структура") И СтандартныеРоли.Свойство(Роль.Имя) Тогда + Продолжить; + КонецЕсли; + СтруктураРоли = Новый Структура; + СтруктураРоли.Вставить("Имя", Роль.Имя); + СтруктураРоли.Вставить("ПолноеИмя", Роль.ПолноеИмя()); + ИменаРолей.Добавить(СтруктураРоли); + КонецЦикла; + + Возврат ИменаРолей; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПраваДоступаДляПроверки() + + ПраваДоступаДляПроверки = Новый Массив; + + ПраваДоступаДляПроверки.Добавить("Администрирование"); + ПраваДоступаДляПроверки.Добавить("АдминистрированиеДанных"); + ПраваДоступаДляПроверки.Добавить("ОбновлениеКонфигурацииБазыДанных"); + ПраваДоступаДляПроверки.Добавить("МонопольныйРежим"); + ПраваДоступаДляПроверки.Добавить("АктивныеПользователи"); + ПраваДоступаДляПроверки.Добавить("ЖурналРегистрации"); + ПраваДоступаДляПроверки.Добавить("ТонкийКлиент"); + ПраваДоступаДляПроверки.Добавить("ВебКлиент"); + ПраваДоступаДляПроверки.Добавить("МобильныйКлиент"); + ПраваДоступаДляПроверки.Добавить("ТолстыйКлиент"); + ПраваДоступаДляПроверки.Добавить("ВнешнееСоединение"); + ПраваДоступаДляПроверки.Добавить("Automation"); + ПраваДоступаДляПроверки.Добавить("РежимВсеФункции"); + ПраваДоступаДляПроверки.Добавить("РегистрацияИнформационнойБазыСистемыВзаимодействия"); + ПраваДоступаДляПроверки.Добавить("СохранениеДанныхПользователя"); + ПраваДоступаДляПроверки.Добавить("АдминистрированиеРасширенийКонфигурации"); + ПраваДоступаДляПроверки.Добавить("ИнтерактивноеОткрытиеВнешнихОбработок"); + ПраваДоступаДляПроверки.Добавить("ИнтерактивноеОткрытиеВнешнихОтчетов"); + ПраваДоступаДляПроверки.Добавить("Вывод"); + + Возврат ПраваДоступаДляПроверки; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" new file mode 100644 index 000000000..254b7908a --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаУстаревшихТиповДанных + + + ru + Тесты "Проверка устаревших типов данных" + + + + ExternalDataProcessor.Тесты_ПроверкаУстаревшихТиповДанных.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..796470d1a --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаУстаревшихТиповДанных + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..14a3c3c8d --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,441 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Истина); + Для Каждого СтруктураОбъектаМетаданных Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьУстаревшийТипДанных", + НаборТестов.ПараметрыТеста(СтруктураОбъектаМетаданных.ПолноеИмя), + СтруктураОбъектаМетаданных.ИмяТеста); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки["Параметры"].Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки["Параметры"].ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("НеПроверятьДополнительныеРеквизиты") Тогда + НеПроверятьДополнительныеРеквизиты = Настройки[ИмяТеста()].НеПроверятьДополнительныеРеквизиты; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьУстаревшийТипДанных(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьУстаревшийТипДанных(ПолноеИмяМетаданных); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьУстаревшийТипДанных(ПолноеИмяМетаданных) + + Результат = ""; + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ПрефиксИмени = "УДАЛИТЬ"; + ПрефиксСинонима = "(не используется)"; + + Если Лев(ВРег(ОбъектМетаданных.Имя), СтрДлина(ПрефиксИмени)) <> ПрефиксИмени Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); + Результат = Результат + Разделитель + НСтр("ru = 'имя не содержит префикса ""Удалить""'"); + КонецЕсли; + + Если Лев(НРег(ОбъектМетаданных.Синоним), СтрДлина(ПрефиксСинонима)) <> ПрефиксСинонима Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); + Результат = Результат + Разделитель + НСтр("ru = 'синоним не содержит префикса ""(не используется)""'"); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) + + ШаблонСообщения = НСтр("ru = 'Свойство ""%1"" : %2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) + + МассивОбъектовМетаданных = МассивОбъектовМетаданных(); + СтроковыеУтилиты = СтроковыеУтилиты(); + + СтруктураОбъектовМетаданных = Новый Структура; + Для Каждого ЭлементСоответствия Из МассивОбъектовМетаданных Цикл + СтруктураОбъектовМетаданных.Вставить(ЭлементСоответствия, Новый Массив); + КонецЦикла; + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл + + Параметры = Новый Структура; + Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); + Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + Параметры.Вставить("ИмяМетаданных", ЭлементСтруктурыОбъектовМетаданных.Ключ); + Параметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу); + Параметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + Параметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьОбъектМетаданных(Параметры); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Измерения"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Ресурсы"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Реквизиты"); + ОбработатьЭлементыОбъектаМетаданных(Параметры, "РеквизитыАдресации"); + ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, "ТабличныеЧасти"); + + КонецЦикла; + КонецЦикла; + + Возврат СтруктураОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбработатьОбъектМетаданных(Параметры) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, "Тип") Тогда + Возврат; + КонецЕсли; + + ТипыДанных = ОбъектМетаданных.Тип.Типы(); + + Если ТипыДанных.Количество() = 1 И СодержитУстаревшийТипДанных(ТипыДанных) Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Возврат; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ОбъектМетаданных); + + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + + ВключитьВсеЭлементы = ОтборПоПрефиксу И ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов); + + мПараметры = Новый Структура; + мПараметры.Вставить("ОбъектМетаданных", ЭлементКоллекции); + мПараметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); + мПараметры.Вставить("ИмяМетаданных", ИмяМетаданных); + мПараметры.Вставить("ОтборПоПрефиксу", ОтборПоПрефиксу И Не ВключитьВсеЭлементы); + мПараметры.Вставить("ПрефиксОбъектов", ПрефиксОбъектов); + мПараметры.Вставить("СтроковыеУтилиты", СтроковыеУтилиты); + + ОбработатьЭлементыОбъектаМетаданных(мПараметры, "Реквизиты"); + + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ОбработатьЭлементыОбъектаМетаданных(Параметры, ИмяКоллекции) + + ОбъектМетаданных = Параметры.ОбъектМетаданных; + СтруктураОбъектовМетаданных = Параметры.СтруктураОбъектовМетаданных; + ИмяМетаданных = Параметры.ИмяМетаданных; + ОтборПоПрефиксу = Параметры.ОтборПоПрефиксу; + ПрефиксОбъектов = Параметры.ПрефиксОбъектов; + СтроковыеУтилиты = Параметры.СтроковыеУтилиты; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда + Возврат; + КонецЕсли; + + Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + ТипыДанных = ЭлементКоллекции.Тип.Типы(); + Если ТипыДанных.Количество() = 1 И СодержитУстаревшийТипДанных(ТипыДанных) Тогда + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, + СтруктураОбъектовМетаданных[ИмяМетаданных], + ЭлементКоллекции); + + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ЭлементМетаданных) + + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1 [%2]: %3", + ЭлементМетаданных.ПолноеИмя(), + ЭлементМетаданных.Синоним, + НСтр("ru = 'Проверка устаревших типов данных'")); + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + СтруктураЭлемента.Вставить("ПолноеИмя", ЭлементМетаданных.ПолноеИмя()); + СтруктураЭлемента.Вставить("КоличествоТипов", ЭлементМетаданных.Тип.Типы().Количество()); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция СодержитУстаревшийТипДанных(ТипыДанных) + + Для Каждого ТипДанных Из ТипыДанных Цикл + Если ЭтоУстаревшийТипДанных(ТипДанных) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция МассивОбъектовМетаданных() + + МассивОбъектовМетаданных = Новый Массив; + + МассивОбъектовМетаданных.Добавить("ПараметрыСеанса"); + МассивОбъектовМетаданных.Добавить("ОбщиеРеквизиты"); + МассивОбъектовМетаданных.Добавить("ПланыОбмена"); + МассивОбъектовМетаданных.Добавить("КритерииОтбора"); + МассивОбъектовМетаданных.Добавить("ХранилищаНастроек"); + МассивОбъектовМетаданных.Добавить("Константы"); + МассивОбъектовМетаданных.Добавить("Справочники"); + МассивОбъектовМетаданных.Добавить("Документы"); + МассивОбъектовМетаданных.Добавить("ПланыВидовХарактеристик"); + МассивОбъектовМетаданных.Добавить("ПланыСчетов"); + МассивОбъектовМетаданных.Добавить("ПланыВидовРасчета"); + МассивОбъектовМетаданных.Добавить("РегистрыСведений"); + МассивОбъектовМетаданных.Добавить("РегистрыНакопления"); + МассивОбъектовМетаданных.Добавить("РегистрыБухгалтерии"); + МассивОбъектовМетаданных.Добавить("РегистрыРасчета"); + МассивОбъектовМетаданных.Добавить("БизнесПроцессы"); + МассивОбъектовМетаданных.Добавить("Задачи"); + МассивОбъектовМетаданных.Добавить("ВнешниеИсточникиДанных"); + + Возврат МассивОбъектовМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЭтоУстаревшийТипДанных(ТипДанных) + + МетаданныеПоТипу = Метаданные.НайтиПоТипу(ТипДанных); + Если МетаданныеПоТипу <> Неопределено Тогда + Возврат СтрНайти(ВРег(МетаданныеПоТипу.Имя), "УДАЛИТЬ"); + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..47f0d4663 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаХранилищаВариантовОтчетов + + + ru + Тесты "Проверка хранилища вариантов отчетов" + + + + ExternalDataProcessor.Тесты_ПроверкаХранилищаВариантовОтчетов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..ba1a1c621 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаХранилищаВариантовОтчетов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..c99b3d527 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,326 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ХранилищеВариантовОтчетов; +&НаКлиенте +Перем КаталогиВнешнихОтчетов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Инициализация(КонтекстЯдра); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ХранилищеВариантовОтчетов) Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("Отчеты", Ложь); + мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); + Для Каждого Отчет Из мОтчеты Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьХранилищеВариантовОтчетов"; + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Отчет.Имя, Отчет.ПолноеИмя), Отчет.Имя); + КонецЦикла; + + Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл + ФайлыВнешнихОтчетов = НайтиФайлы(КаталогВнешнихОтчетов, "*.erf", Истина); + Если ФайлыВнешнихОтчетов.Количество() Тогда + ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + Для Каждого ФайлВнешнегоОтчета Из ФайлыВнешнихОтчетов Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьХранилищеВариантовВнешнихОтчетов"; + НаборТестов.Добавить( + ИмяПроцедуры, + НаборТестов.ПараметрыТеста(ФайлВнешнегоОтчета.Имя, ФайлВнешнегоОтчета.ПолноеИмя), + ФайлВнешнегоОтчета.Имя); + КонецЦикла; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + КаталогиВнешнихОтчетов = Новый Массив; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Параметры.Префикс; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда + КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути( + Настройки[ИмяТеста()].КаталогиВнешнихОтчетов, + КонтекстЯдра); + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ХранилищеВариантовОтчетов") Тогда + ХранилищеВариантовОтчетов = Настройки[ИмяТеста()].ХранилищеВариантовОтчетов; + КонецЕсли; + + Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ПолноеИмяОтчета) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяОтчета); + + Результат = ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ХранилищеВариантовОтчетов); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ИмяОтчета)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ХранилищеВариантовОтчетов) + + Отчет = Метаданные.Отчеты.Найти(ИмяОтчета); + Хранилище = Метаданные.ХранилищаНастроек.Найти(ХранилищеВариантовОтчетов); + + Возврат Метаданные.ХранилищеВариантовОтчетов = Хранилище + Или Отчет.ХранилищеВариантов = Хранилище; + +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ПроверитьХранилищеВариантовВнешнихОтчетов(ИмяОтчета, ПолноеИмяОтчета) Экспорт + + ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОтчета)); + ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); + Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); + + Результат = ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ХранилищеВариантовОтчетов); + Если Не Результат.ХранилищеУстановлено И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + ИначеЕсли Не Результат.ОтчетПодключен Тогда + Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); + Иначе + Утверждения.Проверить(Результат.ХранилищеУстановлено, ТекстСообщения(ИмяОтчета)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ХранилищеВариантовОтчетов) + + Результат = Новый Структура; + Результат.Вставить("ТекстОшибки", ""); + Результат.Вставить("ОтчетПодключен", Ложь); + Результат.Вставить("ХранилищеУстановлено", Ложь); + + Попытка + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); + ИмяФайлаОтчета = ПолучитьИмяВременногоФайла("erf"); + ДвоичныеДанные.Записать(ИмяФайлаОтчета); + ВнешнийОтчет = ВнешниеОтчеты.Создать(ИмяФайлаОтчета).Метаданные(); + Результат.ОтчетПодключен = Истина; + УдалитьФайлы(ИмяФайлаОтчета); + Исключение + УдалитьФайлы(ИмяФайлаОтчета); + Результат.ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Возврат Результат; + КонецПопытки; + + Хранилище = Метаданные.ХранилищаНастроек.Найти(ХранилищеВариантовОтчетов); + + Результат.ХранилищеУстановлено = (Метаданные.ХранилищеВариантовОтчетов = Хранилище + Или ВнешнийОтчет.ХранилищеВариантов = Хранилище); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяОтчета) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяОтчета) + + ШаблонСообщения = НСтр("ru = 'Для отчета ""%1"" не указано хранилище вариантов отчета.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); + + Возврат ТекстСообщения; + +КонецФункции + +&НаКлиенте +Функция ОбработатьОтносительныеПути(Знач ОтносительныеПути, КонтекстЯдра) + + Результат = Новый Массив; + + Для Каждого ОтносительныйПуть Из ОтносительныеПути Цикл + + Если Лев(ОтносительныйПуть, 1) = "." И ЗначениеЗаполнено(КонтекстЯдра.Объект.КаталогПроекта) Тогда + ОтносительныйПуть = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1%2", + КонтекстЯдра.Объект.КаталогПроекта, + Сред(ОтносительныйПуть, 2)); + КонецЕсли; + + ОтносительныйПуть = СтрЗаменить(ОтносительныйПуть, "\\", "\"); + + Если Результат.Найти(ОтносительныйПуть) = Неопределено Тогда + Результат.Добавить(ОтносительныйПуть); + КонецЕсли; + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = "Тесты"; + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Параметры") + И Настройки.Параметры.Свойство(ИмяТеста()) Тогда + ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +&НаСервереБезКонтекста +Функция Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу) + + Результат = Новый Массив; + + Для Каждого Отчет Из Метаданные.Отчеты Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Отчет.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + СтруктураОтчета = Новый Структура; + СтруктураОтчета.Вставить("Имя", Отчет.Имя); + СтруктураОтчета.Вставить("Синоним", Отчет.Синоним); + СтруктураОтчета.Вставить("ПолноеИмя", Отчет.ПолноеИмя()); + Результат.Добавить(СтруктураОтчета); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +#КонецОбласти \ No newline at end of file From 297c0a4a3d6ed6a6c694a99bf7d78b44ca81c0f1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 26 Oct 2020 23:03:10 +0300 Subject: [PATCH 140/421] =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D1=80=D1=8B=20json-=D0=BD=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B5=D0=BA=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=85=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20(#797)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Новые смок тесты * исправил под версию 8.3.10 * исправлены ошибки запуска * настройки новых дымовых тестов Co-authored-by: SidnevAV --- tests/smoke/smoke.bsp.json | 289 +++++++++++++++++- tests/smoke/smoke.example.json | 287 +++++++++++++++++ .../Ext/Form/Module.bsl" | 1 - .../Ext/Form/Module.bsl" | 2 + ...0\273\320\265\320\275\320\270\321\217.xml" | 2 +- ...0\244\320\276\321\200\320\274\320\260.xml" | 7 +- .../Ext/Form.xml" | 2 +- tools/JSON/xUnitParams.json | 289 +++++++++++++++++- 8 files changed, 870 insertions(+), 9 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index f6a2bdc42..b730e77cd 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -345,5 +345,292 @@ "РежимУправленияБлокировкойДанных" : { "Используется" : false + }, + + "Тесты": { + "Параметры" : { + "Префикс" : "", + "Подсистема" : "", + "ПропускатьОбъектыСПрефиксомУдалить" : true, + + "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, + "Тесты_ПроверкаОбщихРеквизитов" : true, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : true, + "Тесты_ПроверкаОсновныхФормОтчетов" : true, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : true, + "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных" : true, + "Тесты_ПроверкаПравКУстаревшимОбъектам" : true, + "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : true, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : true, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, + "Тесты_ПроверкаРегламентныхЗаданий" : true, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : true, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаСоставныхТиповДанных" : true, + "Тесты_ПроверкаСтандартныхРолей" : true, + "Тесты_ПроверкаУстаревшихТиповДанных" : true, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : true + }, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : { + "КаталогиВнешнихОтчетов" : [ + "" + ], + "КаталогиВнешнихОбработок" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбщихРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОсновныхФормОтчетов" : { + "ОтборПоПрефиксу" : false, + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравКУстаревшимОбъектамМетданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : { + "ОтборПоПрефиксу" : false, + "ПропускатьОбъектыСПрефиксомУдалить" : true, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : { + "ОбъектыМетаданных" : { + "Справочник" : [ + "" + ], + "Документ" : [ + "" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРегламентныхЗаданий" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСоставныхТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСтандартныхРолей" : { + "ОсновныеРоли" : [ + "ИмяРоли" + ], + "СтандартныеРоли" : { + "ИмяРоли" : [ + "Чтение", + "ЧтениеПросмотр" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаУстаревшихТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : { + "ОтборПоПрефиксу" : false, + "ХранилищеВариантовОтчетов" : "", + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + } + } -} \ No newline at end of file +} diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index ef1a4677a..0d0f35aed 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -218,5 +218,292 @@ "ИнтерактивноеИзменениеВыгрузки*", "ПереходНа*" ] + }, + + "Тесты": { + "Параметры" : { + "Префикс" : "", + "Подсистема" : "", + "ПропускатьОбъектыСПрефиксомУдалить" : true, + + "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, + "Тесты_ПроверкаОбщихРеквизитов" : true, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : true, + "Тесты_ПроверкаОсновныхФормОтчетов" : true, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : true, + "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных" : true, + "Тесты_ПроверкаПравКУстаревшимОбъектам" : true, + "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : true, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : true, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, + "Тесты_ПроверкаРегламентныхЗаданий" : true, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : true, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаСоставныхТиповДанных" : true, + "Тесты_ПроверкаСтандартныхРолей" : true, + "Тесты_ПроверкаУстаревшихТиповДанных" : true, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : true + }, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : { + "КаталогиВнешнихОтчетов" : [ + "" + ], + "КаталогиВнешнихОбработок" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбщихРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОсновныхФормОтчетов" : { + "ОтборПоПрефиксу" : false, + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравКУстаревшимОбъектамМетданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : { + "ОтборПоПрефиксу" : false, + "ПропускатьОбъектыСПрефиксомУдалить" : true, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : { + "ОбъектыМетаданных" : { + "Справочник" : [ + "" + ], + "Документ" : [ + "" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРегламентныхЗаданий" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСоставныхТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСтандартныхРолей" : { + "ОсновныеРоли" : [ + "ИмяРоли" + ], + "СтандартныеРоли" : { + "ИмяРоли" : [ + "Чтение", + "ЧтениеПросмотр" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаУстаревшихТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : { + "ОтборПоПрефиксу" : false, + "ХранилищеВариантовОтчетов" : "", + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + } + } } diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 013f97387..b0885f0ab 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -78,7 +78,6 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); КонецЕсли; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 34f6c9eb4..5c193698f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -30,6 +30,8 @@ &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + Инициализация(КонтекстЯдра); + Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" index e0ec661b4..aca3551aa 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" @@ -1,5 +1,5 @@  - + diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" index a2bb5918c..8120149f9 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -1,5 +1,5 @@  - +
Форма @@ -13,10 +13,9 @@ Managed false - PlatformApplication - MobilePlatformApplication + PersonalComputer + MobileDevice -
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index c4d28810f..dd3ca0532 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -1,5 +1,5 @@  -
+ diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index fc2c62b81..fb9dbf318 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -205,5 +205,292 @@ "ИнтерактивноеИзменениеВыгрузки*", "ПереходНа*" ] + }, + + "Тесты": { + "Параметры" : { + "Префикс" : "", + "Подсистема" : "", + "ПропускатьОбъектыСПрефиксомУдалить" : true, + + "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, + "Тесты_ПроверкаОбщихРеквизитов" : true, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : true, + "Тесты_ПроверкаОсновныхФормОтчетов" : true, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : true, + "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных" : true, + "Тесты_ПроверкаПравКУстаревшимОбъектам" : true, + "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : true, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : true, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : true, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, + "Тесты_ПроверкаРегламентныхЗаданий" : true, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : true, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, + "Тесты_ПроверкаСоставныхТиповДанных" : true, + "Тесты_ПроверкаСтандартныхРолей" : true, + "Тесты_ПроверкаУстаревшихТиповДанных" : true, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : true + }, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : { + "КаталогиВнешнихОтчетов" : [ + "" + ], + "КаталогиВнешнихОбработок" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбщихРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаОсновныхФормОтчетов" : { + "ОтборПоПрефиксу" : false, + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравКУстаревшимОбъектамМетданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектов" : { + "ОтборПоПрефиксу" : false, + "ПропускатьОбъектыСПрефиксомУдалить" : true, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : { + "ОбъектыМетаданных" : { + "Справочник" : [ + "" + ], + "Документ" : [ + "" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРегламентныхЗаданий" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : { + "ОтборПоПрефиксу" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСоставныхТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаСтандартныхРолей" : { + "ОсновныеРоли" : [ + "ИмяРоли" + ], + "СтандартныеРоли" : { + "ИмяРоли" : [ + "Чтение", + "ЧтениеПросмотр" + ] + }, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаУстаревшихТиповДанных" : { + "ОтборПоПрефиксу" : false, + "НеПроверятьДополнительныеРеквизиты" : false, + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты_ПроверкаХранилищаВариантовОтчетов" : { + "ОтборПоПрефиксу" : false, + "ХранилищеВариантовОтчетов" : "", + "КаталогиВнешнихОтчетов" : [ + "" + ], + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + } + } -} \ No newline at end of file +} From e7368ea05215564b69e2343b2ff2069505bc8284 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 28 Oct 2020 21:13:23 +0300 Subject: [PATCH 141/421] =?UTF-8?q?=D0=92=D1=8B=D0=B2=D0=BE=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D1=81=D1=8F=20=D0=BB=D0=BE=D0=B3=20=D0=BE=D1=82=20=D1=81?= =?UTF-8?q?=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D1=85=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=D0=B5=20=D0=B2=20=D0=A3=D0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit теперь можно видеть ошибки серверных тестов (из модуля объекта) сразу в логе консоли --- epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl | 4 ++++ .../Ext/Form/Module.bsl" | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index a81f1637d..457f9f83c 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -565,6 +565,10 @@ Если ПлагинВыводВЛогФайл.Открыт() Тогда ПлагинВыводВЛогФайл.Вывести(Сообщение); Иначе + СообщениеПользователю = Новый СообщениеПользователю(); + СообщениеПользователю.Текст = Сообщение; + СообщениеПользователю.Сообщить(); + ЗафиксироватьОшибкуВЖурналеРегистрации("Плагины.Сервер", Сообщение); КонецЕсли; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 22d56964d..ff3df594d 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -891,7 +891,7 @@ Перем ПолныйТекстОшибки, РезультатТестирования; - МассивСообщений = Неопределено; + МассивСообщений = Новый Массив; Успешно = Ложь; Попытка From 1a1443fa8b6fcf332ec5ab17ac35bdf8a1f21c08 Mon Sep 17 00:00:00 2001 From: AlexPCRus <47207960+AlexPCRus@users.noreply.github.com> Date: Wed, 28 Oct 2020 23:15:20 +0300 Subject: [PATCH 142/421] =?UTF-8?q?=D0=9E=D1=88=D0=B8=D0=B1=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=B8=D0=BC=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B0=20=D0=B2=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=D0=A2?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=98=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=D0=95=D1=81=D0=BB=D0=B8=D0=95=D1=81=D1=82?= =?UTF-8?q?=D1=8C=D0=92=D0=98=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5?= =?UTF-8?q?=D0=BC=D0=BE=D0=B9=D0=9A=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20(#777)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update ObjectModule.bsl Ошибочное имя теста в функции ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции * уточнил имя пропускаемого теста * исправил опечатку Co-authored-by: Artur Ayukhanov --- .../Ext/ObjectModule.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" index 9d8729950..cd185592b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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/\321\202\320\265\321\201\321\202\321\213_\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/Ext/ObjectModule.bsl" @@ -75,7 +75,7 @@ КонецПроцедуры -Процедура Тест_ПропуститьПечатнуюФорму(Знач Сообщение) Экспорт +Процедура Тест_ПропуститьПроведениеДокумента(Знач Сообщение) Экспорт КонтекстЯдра.ПропуститьТест(Сообщение); КонецПроцедуры @@ -190,7 +190,7 @@ КонтекстЯдра.Отладка(Сообщение); ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); - НаборТестов.Добавить("Тест_ПропуститьПечатнуюФорму", ПараметрыТеста, Сообщение); + НаборТестов.Добавить("Тест_ПропуститьПроведениеДокумента", ПараметрыТеста, Сообщение); Возврат Истина; КонецЕсли; From 165e12b7eafe2e898db340e32195e8f88add1454 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 29 Oct 2020 18:46:03 +0300 Subject: [PATCH 143/421] =?UTF-8?q?=D0=BD=D0=B5=20=D0=B2=D1=81=D0=B5=D0=B3?= =?UTF-8?q?=D0=B4=D0=B0=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=D1=8B=D0=B2=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D1=81=D1=8C=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/vanessa-opensource/add/pull/802 --- .../Ext/Form/Module.bsl" | 27 ++++++++++++++----- 1 file changed, 21 insertions(+), 6 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ff3df594d..7b92582ba 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -797,6 +797,12 @@ Возврат Макс(Состояние1, Состояние2); КонецФункции +&НаКлиенте +Функция ТестУпалИлиНеРеализован(Знач Состояние) + СостояниеПройден = Объект.СостоянияТестов.Пройден; + Возврат ВыбратьХудшееСостояниеВыполненияТестов(Состояние, СостояниеПройден) <> СостояниеПройден; +КонецФункции + &НаКлиенте Функция ВыполнитьТестовыйМетод(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Перем РезультатТестирования; @@ -893,10 +899,16 @@ МассивСообщений = Новый Массив; - Успешно = Ложь; Попытка + РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов, МассивСообщений); - Успешно = Истина; + + Если ТестУпалИлиНеРеализован(РезультатТестирования.Состояние) Тогда + ВывестиНакопленныеСообщенияОтСервера(МассивСообщений); + Иначе + ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); + КонецЕсли; + Исключение ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); @@ -909,10 +921,6 @@ ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); КонецПопытки; - Если Успешно Тогда - ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); - КонецЕсли; - Возврат РезультатТестирования; КонецФункции @@ -922,10 +930,17 @@ Возврат; КонецЕсли; + ВывестиНакопленныеСообщенияОтСервера(МассивСообщений); +КонецПроцедуры + +&НаКлиенте +Процедура ВывестиНакопленныеСообщенияОтСервера(Знач МассивСообщений) Экспорт + Для Каждого Сообщение Из МассивСообщений Цикл Сообщение.Сообщить(); ВывестиСообщениеВЛогФайл(Сообщение.Текст); КонецЦикла; + КонецПроцедуры &НаСервере From 3b4ec886b7bfdd317776d482d3deff80a75b725f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 30 Oct 2020 00:27:34 +0300 Subject: [PATCH 144/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ЕстьВИсключаемойКоллекции - ПолучитьСообщениеБезСтекаВызовов --- .../Ext/Form/Module.bsl" | 71 +++++++++++++++ .../Ext/Form/Module.bsl" | 90 +++++++++++++++++++ 2 files changed, 161 insertions(+) diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b9bef579f..0556fadb1 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,6 +1,8 @@ &НаКлиенте Перем КонтекстЯдра; +#Область ПрограммныйИнтерфейс + // { Plugin interface &НаКлиенте @@ -1111,6 +1113,73 @@ Возврат Результат; КонецФункции +// Получить сообщение без стека вызовов от браузера тестов +// +// Параметры: +// Сообщение - Строка - исходная строка +// ИсключаемыеСтрокиСтекаВызовов - Массив - массив строк-исключений, эти строки и последующие строки исключаются +// МинимальноеПроверяемоеКоличествоСтрок - Число - количество строк, которые не проверяются на исключения +// +// Возвращаемое значение: +// Строка - строка, в которой удалены подстроки, указанные в массиве настроек по ключу "ИсключаемыеСтрокиСтекаВызовов" +// +&НаКлиенте +Функция ПолучитьСообщениеБезСтекаВызовов(Знач Сообщение, Знач ИсключаемыеСтрокиСтекаВызовов, + Знач МинимальноеПроверяемоеКоличествоСтрок = 2) Экспорт + + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Сообщение, Символы.ПС, Ложь); + МассивРезультат = Новый Массив; + + Для Счетчик = 0 По МинимальноеПроверяемоеКоличествоСтрок - 1 Цикл + ОчереднаяСтрока = МассивПодстрок[Счетчик]; + МассивРезультат.Добавить(ОчереднаяСтрока); + КонецЦикла; + ИсключилиСтроки = Ложь; + Для Счетчик = МинимальноеПроверяемоеКоличествоСтрок По МассивПодстрок.ВГраница() Цикл + ОчереднаяСтрока = МассивПодстрок[Счетчик]; + Если ЕстьВИсключаемойКоллекции(ОчереднаяСтрока, ИсключаемыеСтрокиСтекаВызовов) Тогда + ИсключилиСтроки = Истина; + Прервать; + КонецЕсли; + МассивРезультат.Добавить(ОчереднаяСтрока); + КонецЦикла; + + Если Не ИсключилиСтроки Тогда + Возврат Сообщение; + КонецЕсли; + + Результат = СтрокаИзМассиваПодстрок(МассивРезультат, Символы.ПС); + Возврат Результат; +КонецФункции + +// Проверка наличие элемента в исключаемой коллекции +// +// Параметры: +// ЧтоИщем - Строка - искомое значение +// КоллекцияДляПоиска - Массив - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками +// +// Возвращаемое значение: +// Булево - нашли или нет +// +&НаКлиенте +Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) Экспорт + + Перем СтрокаГдеИщем; + + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если КонтекстЯдра.СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + // Выполняет преобразование цифры в римскую нотацию. // // Параметры @@ -1280,3 +1349,5 @@ Возврат РеквизитФормыВЗначение("Объект"); КонецФункции // } Helpers + +#КонецОбласти diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f66e59315..896f984f0 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -56,6 +56,12 @@ НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоРазделительСлов", , "Проверка работы функции ЭтоРазделительСлов"); НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЭтоУникальныйИдентификатор", , "Проверка работы функции ЭтоУникальныйИдентификатор"); + НаборТестов.Добавить("ТестПроверяет_ЕстьВИсключаемойКоллекции", , "Проверка работы функции ЕстьВИсключаемойКоллекции"); + + НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_Обычный", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_Обычный"); + НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_УправляемаяФорма", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_УправляемаяФорма"); + НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_НетПодходящихИсключений", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_НетПодходящихИсключений"); + КонецПроцедуры // } интерфейс тестирования @@ -420,6 +426,90 @@ КонецПроцедуры +&НаКлиенте +Процедура ТестПроверяет_ЕстьВИсключаемойКоллекции() Экспорт + + Массив = Новый Массив; + Массив.Добавить("ПерваяСтрока"); + Массив.Добавить("Исключение"); + Массив.Добавить("ПоследняяСтрока"); + + Нашли = СтроковыеУтилиты.ЕстьВИсключаемойКоллекции("Исключение", Массив); + Массив[1] = "*ключение"; + + Нашли = СтроковыеУтилиты.ЕстьВИсключаемойКоллекции("Исключение", Массив); + Массив[1] = "Исключ*"; + + Нашли = СтроковыеУтилиты.ЕстьВИсключаемойКоллекции("Исключение", Массив); + Массив[1] = "*ключен*"; + + Нашли = СтроковыеУтилиты.ЕстьВИсключаемойКоллекции("Исключение", Массив); + Массив[1] = "*кл*чен*"; + +КонецПроцедуры + +&НаКлиенте +Процедура ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_Обычный() Экспорт + + МассивНенужныхСтрок = Новый Массив; + МассивНенужныхСтрок.Добавить("ВнешняяОбработка.xddTestRunner."); + МассивНенужныхСтрок.Добавить("ExternalDataProcessor.xddTestRunner."); + + СтрокаСоСтекомВызовов = " ОШИБКА: + |В клиенте открыт системный диалог для работы с файлами + |{ВнешняяОбработка.ТестКлиенты.Форма.Форма.Форма(268)}: ПодчиненныеОбъекты = ТестКлиент.ПолучитьПодчиненныеОбъекты(); + |{ВнешняяОбработка.ТестКлиенты.Форма.Форма.Форма(338)}: ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); + |{ВнешняяОбработка.тесты_КомандныйИнтерфейс.Форма.Форма.Форма(193)}: ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); + |{(1)}:КонтекстВыполнения.ПередЗапускомТеста(); + |{ВнешняяОбработка.xddTestRunner.Форма.МодульАсинк.Форма(773)}: Выполнить(1 + + |"; + + СтрокаБезСтека = СтроковыеУтилиты.ПолучитьСообщениеБезСтекаВызовов(СтрокаСоСтекомВызовов, МассивНенужныхСтрок); + Ожидаем.Что(СтрЧислоСтрок(СтрокаБезСтека), "СтрЧислоСтрок(СтрокаБезСтека)").Равно(6); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_УправляемаяФорма() Экспорт + МассивНенужныхСтрок = Новый Массив; + МассивНенужныхСтрок.Добавить("ВнешняяОбработка.xddTestRunner."); + МассивНенужныхСтрок.Добавить("ExternalDataProcessor.xddTestRunner."); + + СтрокаСоСтекомВызовов = "1 + |{Обработка.ЗагрузкаПродуктовИзКаталога.МодульОбъекта(106)}: ВызватьИсключение 1;//TODO + |{ВнешняяОбработка.ТестРаботыРегистраАктуальныеВерсииПоставок.МодульОбъекта(265)}: ОписаниеЗагрузки = ОбработкаЗагрузки.ЗагрузитьПродуктПоОписанию(ОписаниеПродукта); + |{ВнешняяОбработка.ТестРаботыРегистраАктуальныеВерсииПоставок.МодульОбъекта(158)}: ОписаниеДанных = ЗагрузитьПродукт(); + |{(1)}:КонтекстВыполнения.ТестДолжен_ЗарегистрироватьТретьюВерсиюТолькоДляСервисИнженера(); + |{ВнешняяОбработка.xddTestRunner.МодульОбъекта(338)}: Выполнить(ИcполняемыйКод); + |{ВнешняяОбработка.xddTestRunner.МодульОбъекта(262)}: ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры); + |{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(963)}: РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); |И"; + + СтрокаБезСтека = СтроковыеУтилиты.ПолучитьСообщениеБезСтекаВызовов(СтрокаСоСтекомВызовов, МассивНенужныхСтрок); + Ожидаем.Что(СтрЧислоСтрок(СтрокаБезСтека), "СтрЧислоСтрок(СтрокаБезСтека)").Равно(5); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_НетПодходящихИсключений() Экспорт + МассивНенужныхСтрок = Новый Массив; + МассивНенужныхСтрок.Добавить("Несуществующее ВнешняяОбработка.xddTestRunner."); + МассивНенужныхСтрок.Добавить("Несуществующее ExternalDataProcessor.xddTestRunner."); + + СтрокаСоСтекомВызовов = "1 + |{Обработка.ЗагрузкаПродуктовИзКаталога.МодульОбъекта(106)}: ВызватьИсключение 1;//TODO + |{ВнешняяОбработка.ТестРаботыРегистраАктуальныеВерсииПоставок.МодульОбъекта(265)}: ОписаниеЗагрузки = ОбработкаЗагрузки.ЗагрузитьПродуктПоОписанию(ОписаниеПродукта); + |{ВнешняяОбработка.ТестРаботыРегистраАктуальныеВерсииПоставок.МодульОбъекта(158)}: ОписаниеДанных = ЗагрузитьПродукт(); + |{(1)}:КонтекстВыполнения.ТестДолжен_ЗарегистрироватьТретьюВерсиюТолькоДляСервисИнженера(); + |{ВнешняяОбработка.xddTestRunner.МодульОбъекта(338)}: Выполнить(ИcполняемыйКод); + |{ВнешняяОбработка.xddTestRunner.МодульОбъекта(262)}: ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ЭлементДереваТестов.ИмяМетода, ЭлементДереваТестов.Параметры); + |{ВнешняяОбработка.xddTestRunner.Форма.УправляемаяФорма.Форма(963)}: РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); |И"; + + СтрокаБезСтека = СтроковыеУтилиты.ПолучитьСообщениеБезСтекаВызовов(СтрокаСоСтекомВызовов, МассивНенужныхСтрок); + Ожидаем.Что(СтрЧислоСтрок(СтрокаСоСтекомВызовов), "СтрЧислоСтрок()").Равно(СтрЧислоСтрок(СтрокаБезСтека)); + Ожидаем.Что(СтрокаСоСтекомВызовов, "СтрокаБезСтека").Равно(СтрокаБезСтека); + +КонецПроцедуры + // } Тесты функций проверки на соответствие критериям // } блок юнит-тестов - сами тесты From 215598f0cd365c6da11b32bbf53e1b231a4a4105 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 30 Oct 2020 00:47:12 +0300 Subject: [PATCH 145/421] =?UTF-8?q?=D0=9D=D0=B5=20=D0=BF=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=D0=B7=D1=8B=D0=B2=D0=B0=D1=8E=20=D0=B2=20=D1=81=D0=BE=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=D1=85=20=D0=BE=D0=B1=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=D1=85=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D1=81=D1=82=D0=B5=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit служебный стек от браузера тестов скрывается + добавлена возможность управления этой настройкой + по умолчанию включено + опция "ПоказПолногоСтекаВызововВОшибках" --- .../Ext/Form/Module.bsl" | 58 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 4 ++ tests/smoke/smoke.bsp.json | 7 +++ tests/smoke/smoke.example.json | 7 +++ tools/JSON/xUnitParams.json | 7 +++ 5 files changed, 83 insertions(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7b92582ba..9af3af5ca 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -18,6 +18,12 @@ &НаКлиенте Перем РегулярныеВыражения; +&НаКлиенте +Перем СкрыватьПолныйСтекВызововПриОшибкахТестирования; // Булево, уменьшаем количество шумовых строк от браузера тестирования в ошибках + +&НаКлиенте +Перем ИсключаемыеСтрокиСтекаВызовов; // массив строк, которые нужно удалять из пользовательских сообщений + // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -46,6 +52,8 @@ СистемнаяИнформация = Новый СистемнаяИнформация; Версия836ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.6.0"); Версия8315ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.15.0"); + + СкрыватьПолныйСтекВызововПриОшибкахТестирования = Истина; ЭтоLinux = Ложь; Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда @@ -1766,6 +1774,29 @@ КонецЕсли; КонецПроцедуры +// Получить сообщение без стека вызовов от браузера тестов +// +// Параметры: +// Сообщение - Строка - исходная строка +// +// Возвращаемое значение: +// Строка - строка, в которой удалены подстроки, указанные в массиве настроек по ключу "ИсключаемыеСтрокиСтекаВызовов" +// +&НаКлиенте +Функция ПолучитьСообщениеБезСтекаВызововОтБраузераТестов(Знач Сообщение) Экспорт + + Если Не СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда + Возврат Сообщение; + КонецЕсли; + + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; + КонецЕсли; + Результат = Плагин("СтроковыеУтилиты").ПолучитьСообщениеБезСтекаВызовов(Сообщение, ИсключаемыеСтрокиСтекаВызовов); + Возврат Результат; + +КонецФункции + // { Внешние интерфейсные инструменты &НаКлиенте Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = "", Знач ИмяФормы = "Форма") @@ -2283,6 +2314,8 @@ Отладка(СтрШаблон_("ВыводитьЛогВыполненияСценариевВТекстовыйФайл <%1>", Объект.ВыводитьЛогВыполненияСценариевВТекстовыйФайл)); Отладка(СтрШаблон_("ИмяФайлаЛогВыполненияСценариев <%1>", Объект.ИмяФайлаЛогВыполненияСценариев)); + + ПодготовитьИсключаемыеСтрокиСтекаВызовов(); КонецПроцедуры @@ -2300,6 +2333,31 @@ КонецПроцедуры +&НаКлиенте +Процедура ПодготовитьИсключаемыеСтрокиСтекаВызовов() + + Перем ПлагинВыводВЛогФайл; + + ПоказПолногоСтекаВызововВОшибках = Плагин("Настройки").ПолучитьНастройку("ПоказПолногоСтекаВызововВОшибках"); + + ПоказыватьПолныйСтек = ПоказПолногоСтекаВызововВОшибках.Получить("Показывать"); + СкрыватьПолныйСтекВызововПриОшибкахТестирования = (ПоказыватьПолныйСтек = Ложь); + + Если СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда + + ИсключаемыеСтрокиСтекаВызовов = ПоказПолногоСтекаВызововВОшибках.Получить("ИсключаемыеСтрокиСтекаВызовов"); + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; + КонецЕсли; + + ИсключаемыеСтрокиСтекаВызовов.Добавить("ВнешняяОбработка.xddTestRunner."); + ИсключаемыеСтрокиСтекаВызовов.Добавить("ExternalDataProcessor.xddTestRunner."); + Иначе + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Функция ПутьФайлаНастроекПредставление() Перем сПредставление; diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0556fadb1..d02e7b88f 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1127,6 +1127,10 @@ Функция ПолучитьСообщениеБезСтекаВызовов(Знач Сообщение, Знач ИсключаемыеСтрокиСтекаВызовов, Знач МинимальноеПроверяемоеКоличествоСтрок = 2) Экспорт + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + Возврат Сообщение; + КонецЕсли; + МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Сообщение, Символы.ПС, Ложь); МассивРезультат = Новый Массив; diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index b730e77cd..acfb79ed3 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -24,6 +24,13 @@ } }, + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner." + ] + }, + "smoke": { "Справочники": { "Списки": [ diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 0d0f35aed..5a1f65ee8 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -18,6 +18,13 @@ } }, + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner." + ] + }, + "smoke": { "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index fb9dbf318..7a1992bbf 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -18,6 +18,13 @@ } }, + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner." + ] + }, + "smoke": { "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, From a8dae23887500d0e5c881b55e40b4b4eb1b7703a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 30 Oct 2020 01:15:48 +0300 Subject: [PATCH 146/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 34 ++++++++++++------- .../Ext/Form/Module.bsl" | 4 +-- .../Ext/Form/Module.bsl" | 16 +++++++++ 3 files changed, 40 insertions(+), 14 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9af3af5ca..3fcaefd92 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2336,24 +2336,34 @@ &НаКлиенте Процедура ПодготовитьИсключаемыеСтрокиСтекаВызовов() - Перем ПлагинВыводВЛогФайл; + + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; ПоказПолногоСтекаВызововВОшибках = Плагин("Настройки").ПолучитьНастройку("ПоказПолногоСтекаВызововВОшибках"); - ПоказыватьПолныйСтек = ПоказПолногоСтекаВызововВОшибках.Получить("Показывать"); - СкрыватьПолныйСтекВызововПриОшибкахТестирования = (ПоказыватьПолныйСтек = Ложь); - - Если СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда + Если ЗначениеЗаполнено(ПоказПолногоСтекаВызововВОшибках) Тогда + ПоказыватьПолныйСтек = Истина; + Если ПоказПолногоСтекаВызововВОшибках.Свойство("Показывать", ПоказыватьПолныйСтек) Тогда + СкрыватьПолныйСтекВызововПриОшибкахТестирования = (ПоказыватьПолныйСтек = Ложь); + Иначе + СкрыватьПолныйСтекВызововПриОшибкахТестирования = Истина; + КонецЕсли; - ИсключаемыеСтрокиСтекаВызовов = ПоказПолногоСтекаВызововВОшибках.Получить("ИсключаемыеСтрокиСтекаВызовов"); - Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + Если СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; - КонецЕсли; + Если ПоказПолногоСтекаВызововВОшибках.Свойство("ИсключаемыеСтрокиСтекаВызовов", ИсключаемыеСтрокиСтекаВызовов) Тогда + + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; + КонецЕсли; - ИсключаемыеСтрокиСтекаВызовов.Добавить("ВнешняяОбработка.xddTestRunner."); - ИсключаемыеСтрокиСтекаВызовов.Добавить("ExternalDataProcessor.xddTestRunner."); - Иначе - ИсключаемыеСтрокиСтекаВызовов = Новый Массив; + ИсключаемыеСтрокиСтекаВызовов.Добавить("ВнешняяОбработка.xddTestRunner."); + ИсключаемыеСтрокиСтекаВызовов.Добавить("ExternalDataProcessor.xddTestRunner."); + + КонецЕсли; + КонецЕсли; + КонецЕсли; КонецПроцедуры diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d02e7b88f..38b792bd4 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1127,14 +1127,14 @@ Функция ПолучитьСообщениеБезСтекаВызовов(Знач Сообщение, Знач ИсключаемыеСтрокиСтекаВызовов, Знач МинимальноеПроверяемоеКоличествоСтрок = 2) Экспорт - Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда + Если ПустаяСтрока(Сообщение) Или Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда Возврат Сообщение; КонецЕсли; МассивПодстрок = РазложитьСтрокуВМассивПодстрок(Сообщение, Символы.ПС, Ложь); МассивРезультат = Новый Массив; - Для Счетчик = 0 По МинимальноеПроверяемоеКоличествоСтрок - 1 Цикл + Для Счетчик = 0 По Мин(МинимальноеПроверяемоеКоличествоСтрок - 1, МассивПодстрок.ВГраница()) Цикл ОчереднаяСтрока = МассивПодстрок[Счетчик]; МассивРезультат.Добавить(ОчереднаяСтрока); КонецЦикла; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 896f984f0..07e6fd28b 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\242\320\265\321\201\321\202\321\213_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -61,6 +61,7 @@ НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_Обычный", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_Обычный"); НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_УправляемаяФорма", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_УправляемаяФорма"); НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_НетПодходящихИсключений", , "Проверка работы функции ПолучитьСообщениеБезСтекаВызовов_НетПодходящихИсключений"); + НаборТестов.Добавить("ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_ПустаяСтрока", , "Проверка работы функции ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_ПустаяСтрока"); КонецПроцедуры @@ -510,6 +511,21 @@ КонецПроцедуры +&НаКлиенте +Процедура ТестПроверяет_ПолучитьСообщениеБезСтекаВызовов_ПустаяСтрока() Экспорт + + МассивНенужныхСтрок = Новый Массив; + МассивНенужныхСтрок.Добавить("ВнешняяОбработка.xddTestRunner."); + МассивНенужныхСтрок.Добавить("ExternalDataProcessor.xddTestRunner."); + + СтрокаСоСтекомВызовов = ""; + + СтрокаБезСтека = СтроковыеУтилиты.ПолучитьСообщениеБезСтекаВызовов(СтрокаСоСтекомВызовов, МассивНенужныхСтрок); + Ожидаем.Что(СтрЧислоСтрок(СтрокаСоСтекомВызовов), "СтрЧислоСтрок()").Равно(СтрЧислоСтрок(СтрокаБезСтека)); + Ожидаем.Что(СтрокаСоСтекомВызовов, "СтрокаБезСтека").Равно(СтрокаБезСтека); + +КонецПроцедуры + // } Тесты функций проверки на соответствие критериям // } блок юнит-тестов - сами тесты From bb5ddcea0ac72aa3b7ef1f4b1be1a23cc4e326d9 Mon Sep 17 00:00:00 2001 From: Krapivin Andrey Date: Sat, 7 Nov 2020 22:09:08 +0500 Subject: [PATCH 147/421] =?UTF-8?q?feat:=20=D0=A0=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B8=20=D1=81=D1=82=D0=B5=D0=BA=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=20(#808)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: Разделение сообщения об ошибке и трейса Вывод отдельно сообщения об ошибке и подробного представления об ошибке #603 * feat: Вывод подробной ошибки в JUnit и MXL #603 * Revert "feat: Вывод подробной ошибки в JUnit и MXL" This reverts commit 6ee34b5cc3f7eb6380c389f40c5f8fc133e5513d. --- .../xddTestRunner/Ext/ObjectModule.bsl | 9 +++- .../Ext/Form/Module.bsl" | 45 ++++++++++++++----- .../Ext/ObjectModule.bsl" | 6 +-- .../Ext/ObjectModule.bsl" | 18 +++++++- 4 files changed, 61 insertions(+), 17 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 457f9f83c..80e9fb334 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -203,7 +203,8 @@ Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - НовыйДочернийРезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда НовыйДочернийРезультатТестирования.Состояние = СостоянияТестов.Сломан; @@ -271,7 +272,10 @@ Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); Иначе - РезультатТестирования.Сообщение = ТекстОшибки; + + РезультатТестирования.Сообщение = КраткийТекстОшибки; + РезультатТестирования.ПодробноеСообщение = ТекстОшибки; + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = СостоянияТестов.Сломан; ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда @@ -439,6 +443,7 @@ РезультатТестирования.Вставить("ВремяНачала", 0); РезультатТестирования.Вставить("ВремяОкончания", 0); РезультатТестирования.Вставить("Сообщение", ""); + РезультатТестирования.Вставить("ПодробноеСообщение", ""); Возврат РезультатТестирования; КонецФункции diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3fcaefd92..383a7ed62 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -736,17 +736,22 @@ НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполненияДляКонтейнера, ЭлементДеструктор.ИмяМетода); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - НовыйДочернийРезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; Иначе НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; + КонецПопытки; РезультатТестирования.Строки.Добавить(НовыйДочернийРезультатТестирования); @@ -828,7 +833,7 @@ Функция ВыполнитьТестовыйМетодНаКлиенте(Знач КонтекстВыполнения, Знач ЭлементДереваТестов) Экспорт РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); - НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); + НачалоВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); Если ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) Тогда @@ -838,15 +843,23 @@ РезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); + Иначе - РезультатТестирования.Сообщение = ТекстОшибки; + + РезультатТестирования.Сообщение = КраткийТекстОшибки; + РезультатТестирования.ПодробноеСообщение = ТекстОшибки; + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда @@ -854,6 +867,7 @@ Иначе РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; + КонецЕсли; ВывестиСообщениеВЛогФайл(" "); @@ -862,13 +876,19 @@ ВывестиСообщениеВЛогФайл(" =======:"); ВывестиСообщениеВЛогФайл(" "); КонецПопытки; + Попытка + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); - РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; Иначе @@ -878,6 +898,7 @@ ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); КонецПопытки; + КонецЕсли; ОкончаниеВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); @@ -918,15 +939,18 @@ КонецЕсли; Исключение - ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - - ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); - РезультатТестирования.Сообщение = ПолныйТекстОшибки; + + ИнформацияОбОшибке = ИнформацияОбОшибке(); + + РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; - + + ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); + КонецПопытки; Возврат РезультатТестирования; @@ -1081,6 +1105,7 @@ РезультатТестирования.Вставить("ВремяНачала", 0); РезультатТестирования.Вставить("ВремяОкончания", 0); РезультатТестирования.Вставить("Сообщение", ""); + РезультатТестирования.Вставить("ПодробноеСообщение", ""); Возврат РезультатТестирования; КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" index c2a9d3add..7e96327f5 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" @@ -174,7 +174,7 @@ ОписаниеШага.Вставить("start", РезультатШага.ВремяНачала - РазницаВМилисекундахМеждуЮниксИНачалЭпохи); ОписаниеШага.Вставить("stop", РезультатШага.ВремяОкончания - РазницаВМилисекундахМеждуЮниксИНачалЭпохи); - ВставитьОписаниеСтатуса(ОписаниеШага, РезультатШага.Сообщение); + ВставитьОписаниеСтатуса(ОписаниеШага, РезультатШага.Сообщение, РезультатШага.ПодробноеСообщение); ОписаниеШага.Вставить("status", СтатусАллюр(РезультатШага.Состояние)); @@ -200,11 +200,11 @@ Возврат ОписаниеШага; КонецФункции -Процедура ВставитьОписаниеСтатуса(Знач ОписаниеШага, Знач ОписаниеОшибки = "") +Процедура ВставитьОписаниеСтатуса(Знач ОписаниеШага, Знач ОписаниеОшибки = "", Знач Трейс = "") ОписаниеШага.Вставить("statusDetails", Новый Структура("known, muted, flaky, message, trace", - Ложь, Ложь, Ложь, ОписаниеОшибки, "")); + Ложь, Ложь, Ложь, ОписаниеОшибки, Трейс)); КонецПроцедуры Функция СтатусАллюр(Знач СостояниеШага) diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" index 3eb30e619..1ecadcede 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" @@ -79,20 +79,34 @@ СтатусJUnit = "failure"; ЗаписьXML.ЗаписатьАтрибут("status", СтатусJUnit); ЗаписьXML.ЗаписатьНачалоЭлемента(СтатусJUnit); - Сообщение = УдалитьНедопустимыеСимволыXML(РезультатыТестирования.Сообщение); + Сообщение = УдалитьНедопустимыеСимволыXML(СообщениеОбОшибке(РезультатыТестирования)); ЗаписьXML.ЗаписатьАтрибут("message", XMLСтрока(Сообщение)); ЗаписьXML.ЗаписатьКонецЭлемента(); ИначеЕсли РезультатыТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка Тогда СтатусJUnit = "error"; ЗаписьXML.ЗаписатьАтрибут("status", СтатусJUnit); ЗаписьXML.ЗаписатьНачалоЭлемента(СтатусJUnit); - Сообщение = УдалитьНедопустимыеСимволыXML(РезультатыТестирования.Сообщение); + Сообщение = УдалитьНедопустимыеСимволыXML(СообщениеОбОшибке(РезультатыТестирования)); ЗаписьXML.ЗаписатьАтрибут("message", XMLСтрока(Сообщение)); ЗаписьXML.ЗаписатьКонецЭлемента(); КонецЕсли; ЗаписьXML.ЗаписатьКонецЭлемента(); КонецПроцедуры +Функция СообщениеОбОшибке(РезультатТестирования) + + Результат = РезультатТестирования.Сообщение + + ?(ЗначениеЗаполнено(РезультатТестирования.ПодробноеСообщение) + , Символы.ПС + + "------------------" + + Символы.ПС + + РезультатТестирования.ПодробноеСообщение + , ""); + + Возврат Результат; + +КонецФункции + #Если ТолстыйКлиентОбычноеПриложение Тогда Процедура Показать(Отчет) Экспорт Отчет.Показать(); From cd24dbb48975535a80be37f9d8ef7316c4f76b33 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Sat, 7 Nov 2020 20:10:33 +0300 Subject: [PATCH 148/421] fix ClientOrdinaryApplication (#805) --- .../Ext/ObjectModule.bsl | 1 + .../Forms/Form/Ext/Form/Module.bsl | 41 +++---------------- 2 files changed, 6 insertions(+), 36 deletions(-) diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl index 58f0e8e99..c06e2f5eb 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl @@ -546,6 +546,7 @@ Function CommonModule(CommonModuleName) Export Result = New Structure; Result.Insert("Global", False); Result.Insert("ClientManagedApplication", False); + Result.Insert("ClientOrdinaryApplication", False); Result.Insert("Server", False); Result.Insert("ExternalConnection", False); Result.Insert("ServerCall", False); diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl index 07bffa432..69ef1a9fb 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl @@ -777,30 +777,7 @@ EndProcedure // RecursivelyLoadSmokeCommonModuleTestsFromSubsystem() // * ArrayItem - String - part of string. // Function _StrSplit(Val String, Val Separator, IncludeBlank = True) - SplitResult = New Array; - - If IsBlankString(String) Then - If IncludeBlank Then - SplitResult.Add(String); - EndIf; - Return SplitResult; - EndIf; - - Position = Find(String, Separator); - While Position > 0 Do - Substring = Left(String, Position - 1); - If IncludeBlank Or Not IsBlankString(Substring) Then - SplitResult.Add(Substring); - EndIf; - String = Mid(String, Position + StrLen(Separator)); - Position = Find(String, Separator); - EndDo; - - If IncludeBlank Or Not IsBlankString(String) Then - SplitResult.Add(String); - EndIf; - - Return SplitResult; + Return Object()._StrSplit(String, Separator, IncludeBlank); EndFunction // _StrSplit() &AtServer @@ -820,18 +797,10 @@ Function _StrTemplate(Val Template, Val Value1, Val Value2 = Undefined, Val Value6 = Undefined, Val Value7 = Undefined, Val Value8 = Undefined, Val Value9 = Undefined, Val Value10 = Undefined) - Template = StrReplace(Template, "%1", String(Value1)); - Template = StrReplace(Template, "%2", String(Value2)); - Template = StrReplace(Template, "%3", String(Value3)); - Template = StrReplace(Template, "%4", String(Value4)); - Template = StrReplace(Template, "%5", String(Value5)); - Template = StrReplace(Template, "%6", String(Value6)); - Template = StrReplace(Template, "%7", String(Value7)); - Template = StrReplace(Template, "%8", String(Value8)); - Template = StrReplace(Template, "%9", String(Value9)); - Template = StrReplace(Template, "%10", String(Value10)); - - Return Template; + Return Object()._StrTemplate(Template, Value1, Value2, + Value3, Value4, Value5, + Value6, Value7, Value8, + Value9, Value10); EndFunction // _StrTemplate() From a71d9138b57fa99b33fcb1e44eabf2772efff219 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Sat, 7 Nov 2020 20:13:38 +0300 Subject: [PATCH 149/421] =?UTF-8?q?add=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B=5F?= =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=D0=90=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D0=A0=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=D0=9F=D0=BB=D0=B0=D0=BD=D0=BE=D0=B2=D0=9E?= =?UTF-8?q?=D0=B1=D0=BC=D0=B5=D0=BD=D0=B0=20(#807)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\261\320\274\320\265\320\275\320\260.xml" | 62 ++++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 272 ++++++++++++++++++ tools/JSON/xUnitParams.json | 19 ++ 6 files changed, 388 insertions(+) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" new file mode 100644 index 000000000..a34cb3bb8 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -0,0 +1,62 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаАвтоРегистрацииПлановОбмена + + + ru + Тесты "Проверка авто регистрации планов обмена" + + + + ExternalDataProcessor.Тесты_ПроверкаАвтоРегистрацииПлановОбмена.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + Форма + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..6bb2bb7ae --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаАвтоРегистрацииПлановОбмена + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..8a15339e5 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,272 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = ИмяТеста(); + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + мПланыОбмена = ПланыОбмена(ПрефиксОбъектов, ОтборПоПрефиксу); + + Для Каждого ПланОбмена Из мПланыОбмена Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ПланОбмена.Ключ, ПланОбмена.Значение); + Иначе + МассивТестов = ПланОбмена.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ПланОбмена.Ключ, Ложь); + Для Каждого Элемент Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьАвтоРегистрацииПланаОбмена", + НаборТестов.ПараметрыТеста(ПланОбмена.Ключ, Элемент.ПолноеИмя, Элемент.АвтоРегистрация), + КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка авторегистрации планов обмена'"))); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ВыводитьИсключения = Истина; + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьАвтоРегистрацииПланаОбмена(ПланОбмена, ПолноеИмяМетаданных, АвтоРегистрация) Экспорт + + ПропускатьТест = ПропускатьТест(ПланОбмена, ПолноеИмяМетаданных); + Результат = (АвтоРегистрация = "Запретить"); + + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПланОбмена, ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПланОбмена, ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ПланОбмена, ПолноеИмяМетаданных) Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПланОбмена, ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПланОбмена, "."); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", МассивСтрокИмени[1], ПолноеИмяМетаданных); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяТеста)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(ПланОбмена, МассивТестов) + + Исключения = Новый Соответствие; + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если ИсключенИзПроверок(ПланОбмена, Тест.ПолноеИмя) Тогда + Исключения.Вставить(Тест, Истина); + КонецЕсли; + КонецЦикла; + + Для Каждого Тест Из МассивТестов Цикл + Если Исключения.Получить(Тест) = Истина Тогда + Продолжить; + КонецЕсли; + Результат.Добавить(Тест); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПланОбмена, ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Для объекта ""%1"" в плане обмена %2 включена авторегистрация.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + ШаблонСообщения, ПолноеИмяМетаданных, ПланОбмена); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПланыОбмена(ПрефиксОбъектов, ОтборПоПрефиксу) + + СтроковыеУтилиты = СтроковыеУтилиты(); + мПланыОбмена = Новый Соответствие; + + Для Каждого ПланОбмена Из Метаданные.ПланыОбмена Цикл + мПланыОбмена.Вставить(ПланОбмена.ПолноеИмя(), Новый Массив); + КонецЦикла; + + Для Каждого ПланОбмена Из мПланыОбмена Цикл + + ПланОбменаМетаданные = Метаданные.НайтиПоПолномуИмени(ПланОбмена.Ключ); + Если ОтборПоПрефиксу И СтрНайти(ВРег(ПланОбмена.Ключ), ПрефиксОбъектов) = 0 Тогда + Продолжить; + КонецЕсли; + + Для Каждого ЭлементСостава Из ПланОбменаМетаданные.Состав Цикл + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ПолноеИмя", ЭлементСостава.Метаданные.ПолноеИмя()); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + "%1.%2", + ПланОбменаМетаданные.Имя, + ЭлементСостава.Метаданные.ПолноеИмя()); + СтруктураЭлемента.Вставить("Имя", ИмяТеста); + СтруктураЭлемента.Вставить("АвтоРегистрация", Строка(ЭлементСостава.АвтоРегистрация)); + ПланОбмена.Значение.Добавить(СтруктураЭлемента); + КонецЦикла; + + КонецЦикла; + + Возврат мПланыОбмена; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаСервере +Функция ИмяТеста() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + ПутьНастройки = ИмяТеста(); + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 7a1992bbf..23c8accea 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -214,6 +214,25 @@ ] }, + "Тесты_ПроверкаАвтоРегистрацииПлановОбмена": { + + "Используется": true, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "МойПланОбмена": [ + "РегистрСведений.МойРегистрСведений", + "Справочник.МойСправочник", + "Документ.МойДокумент" + ] + + } + + }, + "Тесты": { "Параметры" : { "Префикс" : "", From 784c9237060204216047c61589dfdbae208357c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9?= Date: Sat, 7 Nov 2020 21:17:52 +0400 Subject: [PATCH 150/421] =?UTF-8?q?TDD=20=D0=9F=D0=BB=D0=B0=D0=B3=D0=B8?= =?UTF-8?q?=D0=BD=20"=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8"=20=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20=D0=95=D1=81=D1=82?= =?UTF-8?q?=D1=8C=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=B2=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B8=D0=B8=20=D1=81=D0=BE=20=D1=81=D0=B2=D0=BE?= =?UTF-8?q?=D0=B8=D0=BC=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=D0=BC.=20=D0=90=D0=BB=D1=8C=D1=82=D0=B5=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D0=B9=20=D0=BC=D0=B5=D1=82=D0=BE?= =?UTF-8?q?=D0=B4=20=D0=95=D1=81=D1=82=D1=8C=D0=97=D0=BD=D0=B0=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9?= =?UTF-8?q?=D0=BA=D0=B8.=20(#801)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * issues #784 Отображение пути к загруженным настройкам в браузере тестов -- Изменена управляемая форма. Добавлен элемент Декорация и группа элементов. -- Добавлен метод формирования представления пути к файлу настроек, для вывода в Декорации -- Событие Нажатие в Декорации связано с командой ЗагрузитьНастройкиИзФайла * Исправлен метод ЕстьНастройка -- было, в параметре СтруктураНастроек возвращается тип Структура -- стало, в прараметре Структура настроек возвращается значение ключа, который был указан в параметре ПутьНастроек * feature: Добавлен метод ЗагрузитьНастройки -- так как Настройки это фиксированная структура, то данные в Настройки можно только загружать через конструктор ФиксированнаяСтруктура из структуры с данными -- методы ДобавитьНастройку и ДобавитьНастройки по этой же причине требуется удалить * feature: добавлен тест для плагина Настройки * feature: изменен метод ЗагрузитьНастройки -- позволяет очистить настройки, если вызвать метод без параметров * В тест добавлен метод ЕстьНастройка * fix: вернул код метода ЕстьНастройка к исходному виду -- нужно полностью менять метод * tests: Добавлены тесты для тестирования старой функции ЕстьНастройки. Тесты не проходят * feature, refactor: Добавил метод ЕстьНастройка2 -- Поведение метода соответствует описанию * doc: уточнен раздел справки "Текучие-(fluent)-утверждения" -- добавлено описание метода ВыбрасываетИсключение() -- уточнен пример запуска "Из кода тестов (TDD)" -- измен порядок методов публичного api, методы сгруппированы по смыслу -- исправлена грамматическая ошибка * tests: В тест добавлены методы новые методы -- непроходной тест ДобавитьНастройку -- непроходной тест ДобавитьНастройки * feature: в модуль объекта плагина добавлен метод ЕстьЗначениеНастройки * fix: Изменено описание метода ЕстьНастройка * doc: Добавлено описание метода Метод добавлен пример для Метод * Описание метода * feature, fix: деректива НаКлиенте ненужна * tests: Добавлены тесты серверного контекста -- приведен в порядок тест с методом Метод() на сервере * feature: Изменены методы ДобавитьНастройку, ДобавитьНастройки -- измен алгоритм методов, теперь они работают -- изменено описание методов * tests: добавлен тест плагина Настройки -- тестируются три метода ПолучитьНастройки, ДобавитьНастройку, ДобавитьНастройки на клиенте и на сервере * fix: ошибка в методе ДобавитьНастройки * tests: Добавлены дополнительные сценарии для теста ДобавитьНастройки * fix: Исправлен серверный метод ДобавитьНастройки -- изменено описание метода -- удалена отладочная информация -- добавлена проверка типа входящего параметра * fix: исправлен метод ДобавитьНастройку -- изменено описание метода -- добавлена проверка типа входящего параметра Ключ * fix, tests: уточнены тесты * doc: документация к плагину Настройки * doc: справка плагина Настройки встроена в меню * tests: восстановлены тесты после слияния с конфликтами * fix: удален тестовый метод ЗагрузитьНастройки -- после изменения в методе добавить настройки данный метод больше не нужен * tests: уточнены тесты -- была зависимость тестов друг от друга. добавил в начало каждого теста Настройки.Обновить * doc: добавлено описание методов ЕстьНастройка ЕстьЗначениеНастройки * codereview: https://github.com/vanessa-opensource/add/pull/801#discussion_r513668143 -- вернул, ранее удаленную отладочную информацию * codereview: https://github.com/vanessa-opensource/add/pull/801#discussion_r513672797 -- непроходные тесты переделаны, теперь все тесты проходят --- doc/xdd/README.MD | 1 + ...21\200\320\276\320\271\320\272\320\270.MD" | 53 ++++ ...20\263\320\270\320\275\320\276\320\262.MD" | 1 + .../Ext/ObjectModule.bsl" | 94 +++++-- .../Ext/Form/Module.bsl" | 120 +++++++-- ...1\200\320\276\320\271\320\272\320\270.xml" | 30 +++ .../Ext/ObjectModule.bsl" | 232 ++++++++++++++++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 13 + .../Ext/Form/Module.bsl" | 247 ++++++++++++++++++ 10 files changed, 774 insertions(+), 39 deletions(-) create mode 100644 "doc/xdd/\320\237\320\273\320\260\320\263\320\270\320\275-\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.MD" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git a/doc/xdd/README.MD b/doc/xdd/README.MD index 138498b1a..f1411420f 100644 --- a/doc/xdd/README.MD +++ b/doc/xdd/README.MD @@ -40,6 +40,7 @@ * [ПарсерКоманднойСтроки](ПарсерКоманднойСтроки.MD) * [ЗапросыИзБД](ЗапросыИзБД.MD) * [ЗагрузчикПользовательскихНастроек](Загрузчик-пользовательских-настроек.MD) + * [Настройки](Плагин-Настройки.MD) * [Дымовые тесты (тесты открытия всех форм)](../../tests/smoke) diff --git "a/doc/xdd/\320\237\320\273\320\260\320\263\320\270\320\275-\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.MD" "b/doc/xdd/\320\237\320\273\320\260\320\263\320\270\320\275-\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.MD" new file mode 100644 index 000000000..8b02cffbb --- /dev/null +++ "b/doc/xdd/\320\237\320\273\320\260\320\263\320\270\320\275-\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.MD" @@ -0,0 +1,53 @@ +# Пользовательские настройки + +## Обращение к плагину (пример) + +```bsl +Перем КонтекстЯдра; +Перем Настройки; + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Настройки = КонтекстЯдра.Плагин("Настройки"); + +КонецПроцедуры +``` + +## Использование плагина +Плагин предназначен для чтения пользовательских настроек из файла настроек, а так же для управления настройками и получения значений настроек. + +Файл настроек должен быть в формате JSON. Пример файла настроек: +```json +{ + "ПолноеИмяФайлаТестируемойОбработки": "D:\\MyProject\\MyProcess.epf" +} +``` + +В браузере тестирования xddTrstRunner есть команда для подключения файла настроек +`Загрузить - Загрузить настройки из файла...` +Если настройки подключены, то в дальнейшем, используя программный интерфейс плагина можно получить настройки как коллекция. После чего возможно управление настройками и получение значений конкретных настроек. + +## Методы интерфейса + +`ПолучитьНастройки()` - процедура позволяет получить настройки из подключенного файла настроек. Настройки из файла загружаются в фиксированную структуру Настройки. Получение данных из этой структуры или добавление в нее новых настроек производится с применением методов программного интерфейса. + +`ДобавитьНастройку(Ключ, Значение)` - процедура позволяет добавить настройку к текущим настройкам +Параметры: +Ключ - Строка - наименование добавляемой настройки +Значение - Произвольное - значение добавляемой настройки + +`ДобавитьНастройки(ИсточникНастроек)` - процедура позволяет добавить настройки к текущим настройкам +Параметры: +ИсточникНастроек - Структура | Фиксированная структура - коллекция с новыми настройками, которые нужно добавить к текущим настройкам + +`ЕстьНастройка(ПутьНастроек, СтруктураНастроек)` - функция позволяет проверить, что настройка существует. Возвращает признак Настройка существует (Булево) +Параметры: +ПутьНастроек - Строка - Ключ настройки или путь до настройки, как строка ключей, разделенных точкой, например "Ключ1.Ключ2" +СтруктураНастроек - Структура | Неопределено - исходная структура, которая содержит значение искомой настройки + +`ЕстьЗначениеНастройки(ПутьНастроек, ЗначениеНастройки)` - функция позволяет получить значение настройки по указанному имени или пути, а также проверяет, имеется ли настройка по указанному пути. Возвращаемое значение - Булево - признак того, что настройка найдена + +Параметры: +ПутьНастроек - Строка - Путь из ключей настройки, разделенных точкой, например: "Ключ1.Ключ2" +ЗначениеНастройки - Произвольный - (выходной параметр) найденное значение настройки. Если ключа или пути из ключей нет в настройках, то возвращается Неопределено. diff --git "a/doc/xdd/\320\241\320\270\321\201\321\202\320\265\320\274\320\260-\320\277\320\273\320\260\320\263\320\270\320\275\320\276\320\262.MD" "b/doc/xdd/\320\241\320\270\321\201\321\202\320\265\320\274\320\260-\320\277\320\273\320\260\320\263\320\270\320\275\320\276\320\262.MD" index 87b92c882..cd8a89225 100644 --- "a/doc/xdd/\320\241\320\270\321\201\321\202\320\265\320\274\320\260-\320\277\320\273\320\260\320\263\320\270\320\275\320\276\320\262.MD" +++ "b/doc/xdd/\320\241\320\270\321\201\321\202\320\265\320\274\320\260-\320\277\320\273\320\260\320\263\320\270\320\275\320\276\320\262.MD" @@ -8,6 +8,7 @@ ## Существующие плагины и утилиты - [Генерация макета на базе реальных данных](Генерация-данных.MD) +- [Пользовательские настройки](Плагин-Настройки.MD) - [Полный список актуальных плагинов располагается в каталоге "/plugins"](/plugins) ## Плагины, отвечающие за вызов утверждений diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index e1cabb0a5..92a1ef53b 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -137,48 +137,53 @@ ПолучитьНастройки(); КонецПроцедуры -// Процедура - Добавить настройку +// Добавить настройку к текущим настройкам // // Параметры: -// Ключ - - -// Значение - - +// Ключ - Строка - Наименование настройки +// Значение - Произвольное - Значение настройки // Процедура ДобавитьНастройку(Знач Ключ, Знач Значение) Экспорт - + ПолучитьНастройки(); - + НовыеНастройки = Новый Структура(); Для каждого КлючЗначение Из Настройки Цикл НовыеНастройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЦикла; - - _ДобавитьНастройку(НовыеНастройки, Ключ, Значение); - + + Если ТипЗнч(Ключ) = Тип("Строка") И НЕ ПустаяСтрока(Ключ) Тогда + НовыеНастройки.Вставить(Ключ, Значение); + КонецЕсли; + Настройки = Новый ФиксированнаяСтруктура(НовыеНастройки); КонецПроцедуры -// Процедура - Добавить настройки +// Добавить настройки к текущим настройкам // // Параметры: -// ИсточникНастроек - - +// ИсточникНастроек - Структура | Фиксированная структура - новые настройки, которые нужно добавить к текущим // Процедура ДобавитьНастройки(Знач ИсточникНастроек) Экспорт - + ПолучитьНастройки(); + НовыеНастройки = Новый Структура(); Для каждого КлючЗначение Из Настройки Цикл НовыеНастройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЦикла; - + КонтекстЯдра().Отладка("Добавляю настройки:"); ПоказатьСвойстваВРежимеОтладки(ИсточникНастроек); - - Для каждого КлючЗначение Из ИсточникНастроек Цикл - _ДобавитьНастройку(НовыеНастройки, КлючЗначение.Ключ, КлючЗначение.Значение); - КонецЦикла; - + + Если ТипЗнч(ИсточникНастроек) = Тип("Структура") ИЛИ ТипЗнч(ИсточникНастроек) = Тип("ФиксированнаяСтруктура") Тогда + Для каждого КлючЗначение Из ИсточникНастроек Цикл + НовыеНастройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЦикла; + КонецЕсли; + Настройки = Новый ФиксированнаяСтруктура(НовыеНастройки); - + КонецПроцедуры // Процедура - Показать свойства в режиме отладки @@ -219,6 +224,59 @@ КонецПроцедуры +// Получает значение настройки по указанному имени или пути, а также проверяет, +// имеется ли настройка по указанному пути. +// +// Параметры: +// ПутьНастроек - Строка - Путь из ключей настройки разделенных точкой, +// Например: "Ключ2.Ключ21" +// ЗначениеНастройки - Произвольный - найденное значение настройки, если ключа +// или пути из ключей нет в настройках, то возвращается Неопределено. +// +// Возвращаемое значение: +// Булево - признак того, что настройка найдена +// +Функция ЕстьЗначениеНастройки(Знач ПутьНастроек, ЗначениеНастройки) Экспорт + Перем бЕстьНастройка, мЭлементыПути, стНастройки, элементКоллекции; + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Ложь; + + Если ТипЗнч(ПутьНастроек) <> Тип("Строка") ИЛИ ПустаяСтрока(ПутьНастроек) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + мЭлементыПути = СтрРазделить(ПутьНастроек, ".", Ложь); + Если мЭлементыПути.Количество() = 0 Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + стНастройки = ПолучитьНастройки(); + + Пока мЭлементыПути.Количество() > 0 Цикл + + элементКоллекции = Неопределено; + Если НЕ стНастройки.Свойство(мЭлементыПути[0], элементКоллекции) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + Если мЭлементыПути.Количество() = 1 Тогда + ЗначениеНастройки = элементКоллекции; + бЕстьНастройка = Истина; + Возврат бЕстьНастройка; + КонецЕсли; + + Если НЕ(ТипЗнч(элементКоллекции) = Тип("Структура") ИЛИ ТипЗнч(элементКоллекции) = Тип("ФиксированнаяСтруктура")) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + стНастройки = элементКоллекции; + мЭлементыПути.Удалить(0); + КонецЦикла; + + Возврат бЕстьНастройка; +КонецФункции + // } Settings interface Функция ДобавитьВНастройкиДанныеИзВложенныхФайловНастроек(Знач Настройки, Знач ИмяКлючаФайлаНастройки, diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 62230a3d9..4e7e88c70 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -90,25 +90,28 @@ КонецФункции -// Позволяет одним вызовом получить значение из вложенных друг в друга структур -// по строке ключей, объединенных точкой. +// Позволяет проверить существование настройки по пути из ключей, как +// строка объединенная точкой. // // Параметры: // ПутьНастроек - Строка - Путь или ключ настроек -// СтруктураНастроек - Произвольный, Неопределено - полученное значение -// ( необязательно ) +// СтруктураНастроек - Структура, Неопределено - структура, которая содержит +// значение искомой настройки // // Возвращаемое значение: // Булево - Истина, если ключ/путь найден, иначе Ложь // // Пример: -// Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); -// РезультатПроверки = ЕстьНастройка("Ключ1.Ключ2.Ключ3", ВремЗнач); -// В результате получим ВремЗнач == 42 +// Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); +// Настройки.ЗагрузитьНастройки(Структура); +// ЗначениеНастройки = Неопределено; +// РезультатПроверки = ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); +// В результате получим ВремЗнач == Структура("Ключ3", 42) // &НаКлиенте Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт - + Перем ЗначениеНастройки, бРезультат; + Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = ПолучитьНастройки(); КонецЕсли; @@ -142,35 +145,110 @@ КонецПроцедуры &НаКлиенте -// Процедура - Добавить настройку +// Добавить настройку к текущим настройкам // // Параметры: -// Ключ - - -// Значение - - +// Ключ - Строка - Наименование настройки +// Значение - Произвольное - Значение настройки // Процедура ДобавитьНастройку(Знач Ключ, Знач Значение) Экспорт - + Перем НовыеНастройки, элементНастройки; + ПолучитьНастройки(); - - Объект.Настройки.Вставить(Ключ, Значение); - + + НовыеНастройки = Новый Структура(); + Для каждого элементНастройки Из Объект.Настройки Цикл + НовыеНастройки.Вставить(элементНастройки.Ключ, элементНастройки.Значение); + КонецЦикла; + + Если ТипЗнч(Ключ) = Тип("Строка") И НЕ ПустаяСтрока(Ключ) Тогда + НовыеНастройки.Вставить(Ключ, Значение); + КонецЕсли; + + Объект.Настройки = Новый ФиксированнаяСтруктура(НовыеНастройки); + КонецПроцедуры &НаКлиенте -// Процедура - Добавить настройки +// Добавить настройки к текущим настройкам // // Параметры: -// ИсточникНастроек - - +// ИсточникНастроек - Структура | Фиксированная структура - новые настройки, которые нужно добавить к текущим // Процедура ДобавитьНастройки(Знач ИсточникНастроек) Экспорт - + Перем НовыеНастройки, элементНастройки; + ПолучитьНастройки(); - - Для каждого КлючЗначение Из ИсточникНастроек Цикл - ДобавитьНастройку(КлючЗначение.Ключ, КлючЗначение.Значение); + + НовыеНастройки = Новый Структура(); + Для каждого элементНастройки Из Объект.Настройки Цикл + НовыеНастройки.Вставить(элементНастройки.Ключ, элементНастройки.Значение); КонецЦикла; + + Если ТипЗнч(ИсточникНастроек) = Тип("Структура") ИЛИ ТипЗнч(ИсточникНастроек) = Тип("ФиксированнаяСтруктура") Тогда + Для каждого элементНастройки Из ИсточникНастроек Цикл + НовыеНастройки.Вставить(элементНастройки.Ключ, элементНастройки.Значение); + КонецЦикла; + КонецЕсли; + + Объект.Настройки = Новый ФиксированнаяСтруктура(НовыеНастройки); + КонецПроцедуры +// Получает значение настройки по указанному имени или пути, а также проверяет, +// имеется ли настройка по указанному пути. +// +// Параметры: +// ПутьНастроек - Строка - Путь из ключей настройки разделенных точкой, +// Например: "Ключ2.Ключ21" +// ЗначениеНастройки - Произвольный - найденное значение настройки, если ключа +// или пути из ключей нет в настройках, то возвращается Неопределено. +// +// Возвращаемое значение: +// Булево - признак того, что настройка найдена +// +&НаКлиенте +Функция ЕстьЗначениеНастройки(Знач ПутьНастроек, ЗначениеНастройки) Экспорт + Перем бЕстьНастройка, мЭлементыПути, стНастройки, элементКоллекции; + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Ложь; + + Если ТипЗнч(ПутьНастроек) <> Тип("Строка") ИЛИ ПустаяСтрока(ПутьНастроек) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + мЭлементыПути = СтрРазделить(ПутьНастроек, ".", Ложь); + Если мЭлементыПути.Количество() = 0 Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + стНастройки = ПолучитьНастройки(); + + Пока мЭлементыПути.Количество() > 0 Цикл + + элементКоллекции = Неопределено; + Если НЕ стНастройки.Свойство(мЭлементыПути[0], элементКоллекции) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + Если мЭлементыПути.Количество() = 1 Тогда + ЗначениеНастройки = элементКоллекции; + бЕстьНастройка = Истина; + Возврат бЕстьНастройка; + КонецЕсли; + + Если НЕ(ТипЗнч(элементКоллекции) = Тип("Структура") ИЛИ ТипЗнч(элементКоллекции) = Тип("ФиксированнаяСтруктура")) Тогда + Возврат бЕстьНастройка; + КонецЕсли; + + стНастройки = элементКоллекции; + мЭлементыПути.Удалить(0); + КонецЦикла; + + Возврат бЕстьНастройка; +КонецФункции + // } Settings interface &НаСервере diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" new file mode 100644 index 000000000..abf61c61a --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + ea75be97-b437-4750-a79f-478ea2e60f75 + + + 6fd23cfa-0426-4dc3-9927-aedb28bf29ae + 0ff7877a-1835-4e16-a06f-627983be2f35 + + + + Тесты_Настройки + + + ru + Тесты Настройки + + + + ExternalDataProcessor.Тесты_Настройки.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..8c8af4056 --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -0,0 +1,232 @@ +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем Настройки; + +// { интерфейс тестирования + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Настройки = КонтекстЯдра.Плагин("Настройки"); + +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.СтрогийПорядокВыполнения(); + + НаборТестов.НачатьГруппу("Функции плагина Настройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПолучитьНастройки", , "Проверка работы функции ПолучитьНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройку", , "Проверка работы функции ДобавитьНастройку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройки", , "Проверка работы функции ДобавитьНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьЗначениеНастройки", , "Проверка работы функции ЕстьЗначениеНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка", , "Проверка работы функции ЕстьНастройка"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияСтарый", , "Проверка работы функции ЕстьНастройка по сценарию из старого описания"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияНовый", , "Проверка работы функции ЕстьНастройка по сценарию из нового описания"); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +Процедура ТестДолжен_ПроверитьРаботуФункции_ПолучитьНастройки() Экспорт + + Настройки.Обновить(); + + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что пустая структура, но это не так!") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(0); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройку() Экспорт + + Настройки.Обновить(); + + Настройки.ДобавитьНастройку("Ключ99", 99); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках один элемент, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(1); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройки() Экспорт + + Настройки.Обновить(); + + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после обновления настроек они не содержат элементов, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(0); + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках три элемента, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + + Настройки.ДобавитьНастройки(Новый Структура()); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления пустых настроек текущие настройки не изменятся, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + + Настройки.ДобавитьНастройки("abc"); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления некорректных настроек текущие настройки не изменятся, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьЗначениеНастройки() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("НесуществующийКлюч", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для несуществующего ключа настроек не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для вложенного ключа без указания полного пути не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ1", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1 значение настройки число 1, но это не так") + .ИмеетТип("Число") + .Равно(1); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ2.Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ2.Ключ21 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ2.Ключ21 значение настройки число 21, но это не так") + .ИмеетТип("Число") + .Равно(21); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ3.Ключ32", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ3.Ключ32 значение настройки непустая Структура настроек, но это не так") + .ИмеетТип("Структура") + .НЕ_().ИмеетДлину(0); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ3.Ключ32.Ключ321", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32.Ключ321 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ3.Ключ32.Ключ321 значение настройки число 321, но это не так") + .ИмеетТип("Число") + .Равно(321); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("НесуществующийКлюч", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для несуществующего ключа настроек не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для вложенного ключа без указания полного пути не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для ключа Ключ1 значение настройки НЕ число 1, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(1); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ2.Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ2.Ключ21 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ2.Ключ21 значение настройки НЕ число 21, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(21); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ3.Ключ32", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ3.Ключ32 значение настройки НЕ Структура, но это не так") + .Не_().ИмеетТип("Структура"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияСтарый() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); + Настройки.ДобавитьНастройки(Структура); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для ключа Ключ1.Ключ2.Ключ3 значение настройки НЕ число 42, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(42); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияНовый() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); + Настройки.ДобавитьНастройки(Структура); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 значение это структура, размером 1, но это не так") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(1); + +КонецПроцедуры + +// } блок юнит-тестов - сами тесты + + +// { Служебные методы + +Функция НастройкиДанныеКакСтруктура() + Перем стНастройкиДанные; + + стНастройкиДанные = Новый Структура(); + стНастройкиДанные.Вставить("Ключ1", 1); + стНастройкиДанные.Вставить("Ключ2", Новый Структура("Ключ21, Ключ22", 21, 22)); + стНастройкиДанные.Вставить("Ключ3", Новый Структура("Ключ31, Ключ32", 31, Новый Структура("Ключ321", 321))); + + Возврат стНастройкиДанные; +КонецФункции + +// } Служебные методы \ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..eebbf35b9 --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..a76aaa6bd --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,13 @@ + +
+ useIfNecessary + + + + + cfg:ExternalDataProcessorObject.Тесты_Настройки + + true + + + \ No newline at end of file diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..c7ed44bcd --- /dev/null +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,247 @@ +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Ожидаем; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем Настройки; + +// { интерфейс тестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Настройки = КонтекстЯдра.Плагин("Настройки"); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + + НаборТестов.СтрогийПорядокВыполнения(); + + НаборТестов.НачатьГруппу("Функции плагина Настройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ПолучитьНастройки", , "Проверка работы функции ПолучитьНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройку", , "Проверка работы функции ДобавитьНастройку"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройки", , "Проверка работы функции ДобавитьНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьЗначениеНастройки", , "Проверка работы функции ЕстьЗначениеНастройки"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка", , "Проверка работы функции ЕстьНастройка"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияСтарый", , "Проверка работы функции ЕстьНастройка по сценарию из старого описания"); + НаборТестов.Добавить("ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияНовый", , "Проверка работы функции ЕстьНастройка по сценарию из нового описания"); + +КонецПроцедуры + +// } интерфейс тестирования + + +// { блок юнит-тестов - сами тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ПолучитьНастройки() Экспорт + + Настройки.Обновить(); + + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что пустая структура, но это не так!") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(0); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройку() Экспорт + + Настройки.Обновить(); + + Настройки.ДобавитьНастройку("Ключ99", 99); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках один элемент, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(1); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ДобавитьНастройки() Экспорт + + Настройки.Обновить(); + + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после обновления настроек они не содержат элементов, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(0); + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках три элемента, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + + Настройки.ДобавитьНастройки(Новый Структура()); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления пустых настроек текущие настройки не изменятся, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + + Настройки.ДобавитьНастройки("abc"); + НастройкиДанные = Настройки.ПолучитьНастройки(); + Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления некорректных настроек текущие настройки не изменятся, но это не так.") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(3); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьЗначениеНастройки() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("НесуществующийКлюч", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для несуществующего ключа настроек не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для вложенного ключа без указания полного пути не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ1", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1 значение настройки число 1, но это не так") + .ИмеетТип("Число") + .Равно(1); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ2.Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ2.Ключ21 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ2.Ключ21 значение настройки число 21, но это не так") + .ИмеетТип("Число") + .Равно(21); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ3.Ключ32", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ3.Ключ32 значение настройки непустая Структура настроек, но это не так") + .ИмеетТип("Структура") + .НЕ_().ИмеетДлину(0); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьЗначениеНастройки("Ключ3.Ключ32.Ключ321", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32.Ключ321 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для пути Ключ3.Ключ32.Ключ321 значение настройки число 321, но это не так") + .ИмеетТип("Число") + .Равно(321); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("НесуществующийКлюч", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для несуществующего ключа настроек не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для вложенного ключа без указания полного пути не будет найдено настроек, но это не так!") + .ЭтоЛожь(); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для ключа Ключ1 значение настройки НЕ число 1, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(1); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ2.Ключ21", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ2.Ключ21 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ2.Ключ21 значение настройки НЕ число 21, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(21); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ3.Ключ32", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ3.Ключ32 значение настройки НЕ Структура, но это не так") + .Не_().ИмеетТип("Структура"); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияСтарый() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); + Настройки.ДобавитьНастройки(Структура); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для ключа Ключ1.Ключ2.Ключ3 значение настройки НЕ число 42, но это не так") + .Не_().ИмеетТип("Число") + .Не_().Равно(42); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРаботуФункции_ЕстьНастройка_СценарийИзОписанияНовый() Экспорт + Перем бЕстьНастройка, ЗначениеНастройки; + + Настройки.Обновить(); + + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); + Настройки.ДобавитьНастройки(Структура); + + ЗначениеНастройки = Неопределено; + бЕстьНастройка = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); + Ожидаем.Что(бЕстьНастройка, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 будет найдена настройка, но это не так!") + .ЭтоИстина(); + Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 значение это структура, кразмером 1, но это не так") + .ИмеетТип("ФиксированнаяСтруктура") + .ИмеетДлину(1); + +КонецПроцедуры + + +// } блок юнит-тестов - сами тесты + + +// { Служебные методы + +&НаКлиенте +Функция НастройкиДанныеКакСтруктура() + Перем стНастройкиДанные; + + стНастройкиДанные = Новый Структура(); + стНастройкиДанные.Вставить("Ключ1", 1); + стНастройкиДанные.Вставить("Ключ2", Новый Структура("Ключ21, Ключ22", 21, 22)); + стНастройкиДанные.Вставить("Ключ3", Новый Структура("Ключ31, Ключ32", 31, Новый Структура("Ключ321", 321))); + + Возврат стНастройкиДанные; +КонецФункции + +// } Служебные методы \ No newline at end of file From 1db74b445c7b88010db34593e14b3fe010be0fba Mon Sep 17 00:00:00 2001 From: AlexPCRus <47207960+AlexPCRus@users.noreply.github.com> Date: Sat, 7 Nov 2020 20:22:00 +0300 Subject: [PATCH 151/421] =?UTF-8?q?Smoke=20=D1=82=D0=B5=D1=81=D1=82=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BE=D1=87=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20(#803)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Smoke тест программной записи элементов справочников * Выгрузка в исходные файлы в формате 8.3.10 Проверка "первых" и "последних" элементов --- tests/smoke/smoke.bsp.json | 9 + tests/smoke/smoke.example.json | 9 + ...0\275\320\270\320\272\320\276\320\262.xml" | 61 +++++ .../Ext/ObjectModule.bsl" | 235 ++++++++++++++++++ 4 files changed, 314 insertions(+) create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index acfb79ed3..b0791dddd 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -310,6 +310,15 @@ ] }, + "ЗаписьЭлементовСправочников":{ + "Используется" : true, + "КоличествоПервыхЭлементов" : 3, + "КоличествоПоследнихЭлементов" : 3, + "Исключения" : [ + "*ПрисоединенныеФайлы" + ] + }, + "ФормированиеПечатныхФорм":{ "Используется" : true, "КоличествоДокументов" : 1, diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index 5a1f65ee8..c41ca5a34 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -174,6 +174,15 @@ ] }, + "ЗаписьЭлементовСправочников":{ + "Используется" : true, + "КоличествоПервыхЭлементов" : 3, + "КоличествоПоследнихЭлементов" : 3, + "Исключения" : [ + "*ПрисоединенныеФайлы" + ] + }, + "ФормированиеПечатныхФорм":{ "Используется" : true, "КоличествоДокументов" : 1, diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" new file mode 100644 index 000000000..8205b80f4 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" @@ -0,0 +1,61 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 779efd25-8f08-4570-9985-54d34c524784 + + + 55a6d1d9-c608-4d54-b4ab-fd30cfd055dc + 973684fd-8334-4f26-a08e-747ff9e5a09f + + + + тесты_ЗаписьЭлементовСправочников + + + ru + Проверка программной записи элементов справочников + + + + + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..886684cdd --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1,235 @@ +#Область ОписаниеПеременных + +Перем КонтекстЯдра; +Перем Утверждения; +Перем УтвержденияПроверкаТаблиц; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + + Возврат "ЗаписьЭлементовСправочников"; + +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); + +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + + ЗагрузитьНастройки(); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + Для Каждого МетаОбъект Из Метаданные.Справочники Цикл + Если ПравоДоступа("Изменение", МетаОбъект) Тогда + ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +Процедура ПередЗапускомТеста() Экспорт + + НачатьТранзакцию(); + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + +КонецПроцедуры + +Процедура Тест_ЗаписатьЭлементСправочника(СправочникСсылка) Экспорт + + ЭлементОбъект = СправочникСсылка.ПолучитьОбъект(); + ЭлементОбъект.Записать(); + +КонецПроцедуры + +Процедура Тест_ПропуститьЗаписьЭлементаСправочника(Знач Сообщение) Экспорт + + КонтекстЯдра.ПропуститьТест(Сообщение); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + +Процедура ЗагрузитьНастройки() + + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + КонецЕсли; + +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("КоличествоПервыхЭлементов", 10); + Результат.Вставить("КоличествоПоследнихЭлементов", 10); + Результат.Вставить("Исключения", Новый Массив); + + Возврат Результат; + +КонецФункции + +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти + +Процедура ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПервыхЭлементов + | Ссылка, + | Представление + |ПОМЕСТИТЬ вт_Первые + |ИЗ + | Справочник." + МетаОбъект.Имя + " + | + |УПОРЯДОЧИТЬ ПО + | Ссылка + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ ПЕРВЫЕ &КоличествоПоследнихЭлементов + | Ссылка, + | Представление + |ПОМЕСТИТЬ вт_Последние + |ИЗ + | Справочник." + МетаОбъект.Имя + " + | + |УПОРЯДОЧИТЬ ПО + | Ссылка УБЫВ + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | вт_Первые.Ссылка КАК Ссылка, + | вт_Первые.Представление КАК Представление + |ИЗ + | вт_Первые КАК вт_Первые + | + |ОБЪЕДИНИТЬ + | + |ВЫБРАТЬ + | вт_Последние.Ссылка, + | вт_Последние.Представление + |ИЗ + | вт_Последние КАК вт_Последние"; + + Запрос.Текст = СтрЗаменить(Запрос.Текст, + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПервыхЭлементов", + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоПервыхЭлементов, "ЧГ=") + ); + Запрос.Текст = СтрЗаменить(Запрос.Текст, + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПоследнихЭлементов", + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоПоследнихЭлементов, "ЧГ=") + ); + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу(МетаОбъект.Синоним + " - Справочник." + МетаОбъект.Имя); + + ПредставлениеТеста = "Проверка записи элемента справочника - " + МетаОбъект.Имя; + Сообщение = "Пропускаем из-за исключения по имени справочника - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(МетаОбъект.Имя, Настройки.Исключения, + Сообщение, НаборТестов) Тогда + Возврат; + КонецЕсли; + + Выборка = РезультатЗапроса.Выбрать(); + Пока Выборка.Следующий() Цикл + ПараметрыТеста = НаборТестов.ПараметрыТеста(Выборка.Ссылка); + ПредставлениеТеста = "Проверка записи элемента справочника - " + Выборка.Представление; + + НаборТестов.Добавить("Тест_ЗаписатьЭлементСправочника", ПараметрыТеста, ПредставлениеТеста); + КонецЦикла; + +КонецПроцедуры + +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + НаборТестов.Добавить("Тест_ПропуститьЗаписьЭлементаСправочника", ПараметрыТеста, Сообщение); + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +Функция ИмяТеста() + + Возврат Метаданные().Имя; + +КонецФункции + +#КонецОбласти From d3a3c36cf43c3d71dbc2049d191c3a8f32a25e18 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 7 Nov 2020 20:57:18 +0300 Subject: [PATCH 152/421] =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BA=D0=B8=20vaness?= =?UTF-8?q?a-add=20=D0=B8=20sonar=20=D0=B4=D0=BB=D1=8F=20=D0=B4=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=BA=D0=B8=D0=BD=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 10 +++++----- tools/jenkins/Jenkinsfile-fast | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 74a852096..6ed166bc5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -106,7 +106,7 @@ tasks["behavior video write"] = { // } } tasks["buildRelease"] = { - node("slave"){ + node("vanessa-add"){ stage("build release"){ checkout scm cleanWs(patterns: [[pattern: 'build/**', type: 'INCLUDE']]); @@ -163,7 +163,7 @@ tasks["xdd"] = { } firsttasks=[:] firsttasks["qa"] = { - node("slave"){ + node("sonar"){ stage ("sonar QA"){ unix = isUnix(); if (env.QASONAR) { @@ -237,7 +237,7 @@ firsttasks["qa"] = { } firsttasks["slave"] = { - node("slave") { + node("vanessa-add") { stage("checkout scm"){ checkout scm } @@ -306,7 +306,7 @@ firsttasks["slave"] = { // } //tasks["opmrunclean"] = { -// node("slave"){ +// node("vanessa-add"){ // checkout scm // cmd "opm run clean" // } @@ -387,7 +387,7 @@ stage('Deploy') { echo "Aborted by: [${user}]" } if (userInput == true ) { - node("slave") { + node("vanessa-add") { unstash "deploy" withCredentials([[$class: 'StringBinding', credentialsId: 'GITHUB_OAUTH_TOKEN_ADD', variable: 'GITHUB_OAUTH_TOKEN']]) { if(env.BRANCH_NAME == 'master'){ diff --git a/tools/jenkins/Jenkinsfile-fast b/tools/jenkins/Jenkinsfile-fast index e3241da23..84b27f299 100644 --- a/tools/jenkins/Jenkinsfile-fast +++ b/tools/jenkins/Jenkinsfile-fast @@ -35,7 +35,7 @@ properties([ logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '30', daysToKeepStr: '', numToKeepStr: '30')) ]) -node("slave") { +node("vanessa-add") { isUnix = isUnix(); stage('Получение исходных кодов') { From afe9563a196a4d07828732e2118fbe73c18644fe Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 7 Nov 2020 22:20:50 +0300 Subject: [PATCH 153/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=B3=D0=B8=D1=82?= =?UTF-8?q?=D0=BB=D0=B0=D0=B1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 221 ++++++++++++++++++++++++++++++++++ tools/JSON/gitlab-ci.env.json | 44 +++++++ 2 files changed, 265 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 tools/JSON/gitlab-ci.env.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..9d0ec0ec2 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,221 @@ +variables: + CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci.env.json" + +stages: + - Подготовка + - Сборка пакета + - Статический анализ + - Тестирование + - Allure + +Проверка окружения: + + stage: Подготовка + variables: + GIT_STRATEGY: none + # LOGOS_LEVEL: "DEBUG" + tags: + - vanessa-add + script: + - chcp 65001 + - set PATH + - set + - where oscript + - oscript -version + - where opm + - call opm version + - call opm list + - where vrunner + - call vrunner version + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml + +Сборка файлов: + stage: Подготовка + script: + - chcp 65001 + - opm run init file --v8version 8.3.10 + artifacts: + paths: + - .\build\ib\1Cv8.1CD + - .\*.epf + - .\epf\**\*.* + - .\lib\**\*.* + - .\plugins\**\*.* + - .\features\**\*.* + - .\ospx\**\*.* + - .\tests\**\*.* + - .\tools\**\*.* + - .\vendor\**\*.* + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml + +Сборка пакета: + stage: Сборка пакета + script: + - chcp 65001 + - opm build . + artifacts: + paths: + - .\add-*.zip + - .\add-*.ospx + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/libraries/**/* + - ospx/**/* + - tests/smoke/**/* + - tools/**/* + # - vendor/**/* + - .gitlab-ci.yml + +Модульные тесты: + stage: Тестирование + script: + - chcp 65001 + - call vrunner xunit tests %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-tdd/junit-tdd.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-tdd/allure.xml}" + artifacts: + when: always + paths: + - build/junit-tdd/*.xml + - build/allure-tdd/*.* + reports: + junit: + - build/junit-tdd/*.xml + allow_failure: true + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + # - features/**/* + # - ospx/**/* + - tests/**/* + - tools/**/* + # - vendor/**/* + - .gitlab-ci.yml + +Дымовые тесты: + stage: Тестирование + script: + - chcp 65001 + - call vrunner xunit tests/smoke %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-smoke/junit-smoke.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-smoke/allure.xml}" + artifacts: + when: always + paths: + - build/junit-smoke/*.xml + - build/allure-smoke/*.* + reports: + junit: + - build/junit-smoke/*.xml + allow_failure: true + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/xdd*/**/* + # - lib/**/* + - plugins/**/* + # - features/**/* + # - ospx/**/* + - tests/smoke/**/* + - tools/**/* + # - vendor/**/* + - .gitlab-ci.yml + +BDD тестирование (библиотеки): + stage: Тестирование + script: + - chcp 65001 + - vrunner vanessa %CI_VRUNNER_SETTINGS% --path features/libraries" + artifacts: + when: always + paths: + - ServiceBases/junitreport/*.xml + - ServiceBases/allurereport/*.* + reports: + junit: + - ServiceBases/junitreport/*.xml + allow_failure: true + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/bdd*/**/* + - lib/**/* + - plugins/**/* + - features/**/* + # - ospx/**/* + # - tests/smoke/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml + +Allure: + + stage: Allure + variables: + GIT_STRATEGY: none + allow_failure: true + script: + - call allure generate build/allure-tdd build/allure-smoke ServiceBases/allurereport -c -o build/allure-result + - echo Allure results - %CI_JOB_URL%/artifacts/file/build/allure-result/index.html + artifacts: + when: always + paths: + - build/allure-result + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml diff --git a/tools/JSON/gitlab-ci.env.json b/tools/JSON/gitlab-ci.env.json new file mode 100644 index 000000000..b375a9da1 --- /dev/null +++ b/tools/JSON/gitlab-ci.env.json @@ -0,0 +1,44 @@ + "$schema": "https://github.com/vanessa-opensource/vanessa-runner/blob/develop/vanessa-runner-schema.json", + "default": { + "--ibconnection": "/F./build/ib", + "--db-user": "", + "--db-pwd": "", + "--workspace": ".", + "--v8version": "8.3.10", + "--additional": "/DisplayAllFunctions /Lru /iTaxi" + // "--additional": "/DisplayAllFunctions /Lru /iTaxi /TESTMANAGER /Debug /DebuggerURL tcp://localhost:1561" + }, + "vanessa": { + "--vanessasettings": "./tools/JSON/VBParams8310UF.json", + "--pathvanessa": "./bddRunner.epf" + }, + "compileepf": { + "--ibconnection": "/F./build/ibservice", + "--db-user": "", + "--db-pwd": "", + "inputPath": "./epf", + "outputPath": ".//." + }, + "decompileepf": { + "--ibconnection": "/F./build/ibservice", + "--db-user": "", + "--db-pwd": "", + "inputPath": "./bddRunner.epf", + "outputPath": "./epf" + }, + "compile": { + "-s": "./lib/CF/83NoSync", + "-o": "./build/1Cv8.cf" + }, + "xunit": { + "--ibconnection": "/F./build/ibservicexdd", + "--db-user": "Admin", + "--db-pwd": "", + "--xddConfig": "./tools/JSON/xUnitParams.json", + "testsPath": "./build/tests/smoke", + "--testclient": "::47001", + "--reportsxunit": "ГенераторОтчетаJUnitXML{build/ServiceBases/junitreport/xdd/xddreport.xml};ГенераторОтчетаAllureXML{build/ServiceBases/allurereport/xdd/allure-testsuite.xml}", + "--xddExitCodePath": "xddExitCodePath.txt", + "--pathxunit": "./xddTestRunner.epf" + } +} \ No newline at end of file From 6e3ad77a8cbac32841867da95efc1c5cd75274ec Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 7 Nov 2020 22:34:44 +0300 Subject: [PATCH 154/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/vanessa-opensource/add/pull/801 --- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 92a1ef53b..073e020f8 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -246,7 +246,7 @@ Возврат бЕстьНастройка; КонецЕсли; - мЭлементыПути = СтрРазделить(ПутьНастроек, ".", Ложь); + мЭлементыПути = КонтекстЯдра().РазложитьСтрокуВМассивПодстрок(ПутьНастроек, ".", Ложь); Если мЭлементыПути.Количество() = 0 Тогда Возврат бЕстьНастройка; КонецЕсли; diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4e7e88c70..c1bdfa979 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -218,7 +218,7 @@ Возврат бЕстьНастройка; КонецЕсли; - мЭлементыПути = СтрРазделить(ПутьНастроек, ".", Ложь); + мЭлементыПути = КонтекстЯдра.РазложитьСтрокуВМассивПодстрок(ПутьНастроек, ".", Ложь); Если мЭлементыПути.Количество() = 0 Тогда Возврат бЕстьНастройка; КонецЕсли; From 272fb1b2328f2c63b51d5ee95c68b88d19bda85d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 7 Nov 2020 22:53:40 +0300 Subject: [PATCH 155/421] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=88=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D1=81=D0=BE=D0=B1?= =?UTF-8?q?=D0=B8=D1=80=D0=B0=D1=8E=D1=82=D1=81=D1=8F=20=D0=B2=20=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=20=D0=B0=D1=80=D1=82=D0=B5=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9d0ec0ec2..8c9c502f3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,15 +51,15 @@ stages: artifacts: paths: - .\build\ib\1Cv8.1CD - - .\*.epf - - .\epf\**\*.* - - .\lib\**\*.* - - .\plugins\**\*.* - - .\features\**\*.* - - .\ospx\**\*.* - - .\tests\**\*.* - - .\tools\**\*.* - - .\vendor\**\*.* + - .\**\*.epf + # - .\epf\**\*.epf + # - .\lib\**\*.epf + # - .\plugins\**\*.epf + # - .\features\**\*.epf + # - .\ospx\**\*.epf + # - .\tests\**\*.epf + # - .\tools\**\*.epf + # - .\vendor\**\*.epf tags: - vanessa-add only: From 1da94ae36c6e4a2770e35129952c2e6cbfced14e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 7 Nov 2020 23:37:39 +0300 Subject: [PATCH 156/421] =?UTF-8?q?=D0=BA=D0=B5=D1=88=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20epf-=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D1=83=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8c9c502f3..9cfb0dc83 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,6 @@ variables: CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci.env.json" + EPF_CACHE_PATH: E:\vanessa-add-artifacts\develop stages: - Подготовка @@ -7,6 +8,7 @@ stages: - Статический анализ - Тестирование - Allure + - Сохранение собранных файлов во внешнем хранилище Проверка окружения: @@ -42,6 +44,35 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + +Восстановление epf-файлов: + + stage: Подготовка + variables: + GIT_STRATEGY: none + allow_failure: false + script: + - chcp 65001 + - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /XO /UNICODE + artifacts: + when: always + paths: + - build/allure-result + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml Сборка файлов: stage: Подготовка @@ -219,3 +250,32 @@ Allure: - tools/**/* - vendor/**/* - .gitlab-ci.yml + +Сохранение epf-файлов: + + stage: Сохранение собранных файлов во внешнем хранилище + variables: + GIT_STRATEGY: none + allow_failure: true + script: + - chcp 65001 + - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /NFL /NDL /UNICODE + artifacts: + when: always + paths: + - build/allure-result + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml From fde06c7bdbc8e2b1792f65c3ae7ac85bf7e2974f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:03:12 +0300 Subject: [PATCH 157/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9cfb0dc83..4cfc16707 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -196,7 +196,7 @@ BDD тестирование (библиотеки): stage: Тестирование script: - chcp 65001 - - vrunner vanessa %CI_VRUNNER_SETTINGS% --path features/libraries" + - vrunner vanessa %CI_VRUNNER_SETTINGS% --path features/libraries artifacts: when: always paths: From 268cc1d63e148996840351fdf1664c4c84f5264e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:05:49 +0300 Subject: [PATCH 158/421] =?UTF-8?q?=D0=B0=D1=80=D1=82=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=20=D0=BD=D0=B0=20=D1=8D=D1=82=D0=BE=D0=BC=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=D0=B5=20=D0=BD=D0=B5=20=D0=BD=D1=83=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4cfc16707..fe5ac3a02 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,10 +54,6 @@ stages: script: - chcp 65001 - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /XO /UNICODE - artifacts: - when: always - paths: - - build/allure-result tags: - vanessa-add only: From 64e998e4655a29631bd74377505a722e3ba048d8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:15:47 +0300 Subject: [PATCH 159/421] =?UTF-8?q?=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=80=D1=83=D1=8E=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20robocopy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fe5ac3a02..b0efcf626 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,7 +53,8 @@ stages: allow_failure: false script: - chcp 65001 - - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /XO /UNICODE + # для успешной отработки в гитлабе в команде есть & echo xxx + - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /NOCOPY /XO /UNICODE & echo success ! tags: - vanessa-add only: From a7ce0a40d47be0b22e68c0974f4830f75e87e815 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:37:34 +0300 Subject: [PATCH 160/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B8=20=D0=B0=D1=80=D1=82=D0=B5=D1=84=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=B4=D0=BB=D1=8F=20=D1=83=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0efcf626..9d1b31be3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,6 +10,10 @@ stages: - Allure - Сохранение собранных файлов во внешнем хранилище +# cache: +# paths: +# - build/cache.json + Проверка окружения: stage: Подготовка @@ -57,6 +61,9 @@ stages: - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /NOCOPY /XO /UNICODE & echo success ! tags: - vanessa-add + artifacts: + paths: + - .\build\cache.json only: refs: - develop @@ -73,12 +80,14 @@ stages: Сборка файлов: stage: Подготовка + allow_failure: false script: - chcp 65001 - opm run init file --v8version 8.3.10 artifacts: paths: - .\build\ib\1Cv8.1CD + - .\build\cache.json - .\**\*.epf # - .\epf\**\*.epf # - .\lib\**\*.epf @@ -257,6 +266,7 @@ Allure: script: - chcp 65001 - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /NFL /NDL /UNICODE + when: always artifacts: when: always paths: From 8b888a2e451e8badf653af7085ad3f007104e4a4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:42:11 +0300 Subject: [PATCH 161/421] =?UTF-8?q?=D0=B8=D0=BC=D1=8F=20=D0=B0=D1=80=D1=82?= =?UTF-8?q?=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9d1b31be3..926e0c0b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -62,8 +62,10 @@ stages: tags: - vanessa-add artifacts: + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-epf" paths: - .\build\cache.json + - .\**\*.epf only: refs: - develop @@ -87,8 +89,8 @@ stages: artifacts: paths: - .\build\ib\1Cv8.1CD - - .\build\cache.json - - .\**\*.epf + # - .\build\cache.json + # - .\**\*.epf # - .\epf\**\*.epf # - .\lib\**\*.epf # - .\plugins\**\*.epf From 40132094a6299d92258c2bba662f7613a1280fa4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:44:38 +0300 Subject: [PATCH 162/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9?= =?UTF-8?q?=20=D0=BA=D0=BB=D1=8E=D1=87=20=D0=B4=D0=BB=D1=8F=20=D0=B2=D0=BE?= =?UTF-8?q?=D1=81=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 926e0c0b2..0c4684584 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,7 +58,7 @@ stages: script: - chcp 65001 # для успешной отработки в гитлабе в команде есть & echo xxx - - robocopy %EPF_CACHE_PATH% . *.epf cache.json /MIR /XA:H /NP /NFL /NDL /NOCOPY /XO /UNICODE & echo success ! + - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /NFL /NDL /NOCOPY /XO /UNICODE & echo success ! tags: - vanessa-add artifacts: From eb9aab9fbd201c5c8df2a5b004c31c53e707bfcc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:46:58 +0300 Subject: [PATCH 163/421] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B8=D0=BB=20=D0=B3=D0=B8=D1=82=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B2=D0=BE=D0=BC=20=D0=B6=D0=B5=20=D1=8D?= =?UTF-8?q?=D1=82=D0=B0=D0=BF=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c4684584..19256ced2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,8 +52,8 @@ stages: Восстановление epf-файлов: stage: Подготовка - variables: - GIT_STRATEGY: none + # variables: + # GIT_STRATEGY: none allow_failure: false script: - chcp 65001 From 0e8bccd003d97d5d83872489aebfbf19df32aa23 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 00:51:49 +0300 Subject: [PATCH 164/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BB=D0=B8=D1=88=D0=BD=D1=8E=D1=8E=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=87=D0=B5=D0=B3=D0=BE=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 19256ced2..47400e268 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -52,8 +52,8 @@ stages: Восстановление epf-файлов: stage: Подготовка - # variables: - # GIT_STRATEGY: none + variables: + GIT_STRATEGY: fetch allow_failure: false script: - chcp 65001 @@ -82,6 +82,8 @@ stages: Сборка файлов: stage: Подготовка + variables: + GIT_STRATEGY: none allow_failure: false script: - chcp 65001 @@ -117,6 +119,8 @@ stages: Сборка пакета: stage: Сборка пакета + variables: + GIT_STRATEGY: none script: - chcp 65001 - opm build . @@ -142,6 +146,8 @@ stages: Модульные тесты: stage: Тестирование + variables: + GIT_STRATEGY: none script: - chcp 65001 - call vrunner xunit tests %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-tdd/junit-tdd.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-tdd/allure.xml}" @@ -172,6 +178,8 @@ stages: Дымовые тесты: stage: Тестирование + variables: + GIT_STRATEGY: none script: - chcp 65001 - call vrunner xunit tests/smoke %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-smoke/junit-smoke.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-smoke/allure.xml}" @@ -202,6 +210,8 @@ stages: BDD тестирование (библиотеки): stage: Тестирование + variables: + GIT_STRATEGY: none script: - chcp 65001 - vrunner vanessa %CI_VRUNNER_SETTINGS% --path features/libraries From 7abeca45f24927dd4e80fe96d767df1bab52b013 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 01:00:03 +0300 Subject: [PATCH 165/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D1=8E=20=D0=B2=D0=BE=D1=81=D1=81=D1=82=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 47400e268..4e2020e4c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,8 +57,7 @@ stages: allow_failure: false script: - chcp 65001 - # для успешной отработки в гитлабе в команде есть & echo xxx - - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /NFL /NDL /NOCOPY /XO /UNICODE & echo success ! + - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /NFL /NDL /NOCOPY /NODCOPY /UNICODE tags: - vanessa-add artifacts: From 0519d84784364bf9c3a415762aacdc4398c52f60 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 01:05:33 +0300 Subject: [PATCH 166/421] =?UTF-8?q?=D1=84=D0=B8=D1=88=D0=BA=D0=B8=20roboco?= =?UTF-8?q?py=20(?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4e2020e4c..fbb35720d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,7 +57,7 @@ stages: allow_failure: false script: - chcp 65001 - - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /NFL /NDL /NOCOPY /NODCOPY /UNICODE + - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /UNICODE tags: - vanessa-add artifacts: @@ -276,7 +276,7 @@ Allure: allow_failure: true script: - chcp 65001 - - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /NFL /NDL /UNICODE + - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE when: always artifacts: when: always From 0224bfecb0dd6d02fa0da40c0fa76c4a647798a1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 01:08:41 +0300 Subject: [PATCH 167/421] =?UTF-8?q?=D0=BA=D0=B5=D1=88=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D1=80=D0=B0=D0=B7=D1=83?= =?UTF-8?q?=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D1=81=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 62 +++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fbb35720d..d314d7ced 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,6 @@ stages: - Статический анализ - Тестирование - Allure - - Сохранение собранных файлов во внешнем хранилище # cache: # paths: @@ -116,6 +115,36 @@ stages: - vendor/**/* - .gitlab-ci.yml +Сохранение epf-файлов: + + stage: Подготовка + variables: + GIT_STRATEGY: none + allow_failure: true + script: + - chcp 65001 + - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE + when: always + artifacts: + when: always + paths: + - build/allure-result + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml + Сборка пакета: stage: Сборка пакета variables: @@ -244,6 +273,7 @@ Allure: stage: Allure variables: GIT_STRATEGY: none + when: always allow_failure: true script: - call allure generate build/allure-tdd build/allure-smoke ServiceBases/allurereport -c -o build/allure-result @@ -267,33 +297,3 @@ Allure: - tools/**/* - vendor/**/* - .gitlab-ci.yml - -Сохранение epf-файлов: - - stage: Сохранение собранных файлов во внешнем хранилище - variables: - GIT_STRATEGY: none - allow_failure: true - script: - - chcp 65001 - - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE - when: always - artifacts: - when: always - paths: - - build/allure-result - tags: - - vanessa-add - only: - refs: - - develop - changes: - - epf/**/* - - lib/**/* - - plugins/**/* - - features/**/* - - ospx/**/* - - tests/**/* - - tools/**/* - - vendor/**/* - - .gitlab-ci.yml From 3b5c87b5affee059cb32214746153c5d0c6504e3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 12:46:46 +0300 Subject: [PATCH 168/421] =?UTF-8?q?=D0=BA=D0=BE=D0=B4=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=B2=D1=80=D0=B0=D1=82=D0=B0=20=D0=BE=D1=82=20=D1=80=D0=BE?= =?UTF-8?q?=D0=B1=D0=BE=D0=BA=D0=BE=D0=BF=D0=B8=20=D0=B8=D0=B3=D0=BD=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d314d7ced..a00d6beec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,10 +53,10 @@ stages: stage: Подготовка variables: GIT_STRATEGY: fetch - allow_failure: false + allow_failure: true script: - chcp 65001 - - robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /UNICODE + - cmd /c "robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /UNICODE & dir *.yml & echo success!" tags: - vanessa-add artifacts: @@ -123,12 +123,8 @@ stages: allow_failure: true script: - chcp 65001 - - robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE + - cmd /c "robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE" & dir *.yml & echo success" when: always - artifacts: - when: always - paths: - - build/allure-result tags: - vanessa-add only: @@ -149,6 +145,7 @@ stages: stage: Сборка пакета variables: GIT_STRATEGY: none + allow_failure: true script: - chcp 65001 - opm build . From 1dc329a45c70c77bb6895a7e20913dafd9ac89fe Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 13:20:06 +0300 Subject: [PATCH 169/421] =?UTF-8?q?=D0=BA=D0=B5=D1=88=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B8=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BA=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a00d6beec..d23de7306 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -47,7 +47,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml - + Восстановление epf-файлов: stage: Подготовка @@ -57,6 +57,7 @@ stages: script: - chcp 65001 - cmd /c "robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /UNICODE & dir *.yml & echo success!" + - cmd /c "robocopy %EPF_CACHE_PATH%\.forbuild .\.forbuild *.* /S /XA:H /NP /UNICODE & dir *.yml & echo success!" tags: - vanessa-add artifacts: @@ -169,6 +170,33 @@ stages: # - vendor/**/* - .gitlab-ci.yml +Сохранение epf-файлов для сборки пакета: + + stage: Подготовка + variables: + GIT_STRATEGY: none + allow_failure: true + script: + - chcp 65001 + - cmd /c "robocopy .\.forbuild %EPF_CACHE_PATH%\.forbuild *.* /MIR /XA:H /NP /UNICODE" & dir *.yml & echo success" + - cmd /c "robocopy .\build %EPF_CACHE_PATH%\build cache.json /XA:H /NP /UNICODE" & dir *.yml & echo success" + when: always + tags: + - vanessa-add + only: + refs: + - develop + changes: + - epf/**/* + - lib/**/* + - plugins/**/* + - features/**/* + - ospx/**/* + - tests/**/* + - tools/**/* + - vendor/**/* + - .gitlab-ci.yml + Модульные тесты: stage: Тестирование variables: From 3c2ba28f6af38702f5c19104eb551e400067cb8d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 13:24:12 +0300 Subject: [PATCH 170/421] =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D0=BD=D1=8F?= =?UTF-8?q?=D0=BB=20=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=8D=D1=82=D0=B0?= =?UTF-8?q?=D0=BF=D0=B0=20=D0=BA=D0=B5=D1=88=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d23de7306..0c826c8a7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -172,7 +172,7 @@ stages: Сохранение epf-файлов для сборки пакета: - stage: Подготовка + stage: Сборка пакета variables: GIT_STRATEGY: none allow_failure: true From dfeab35c774bcfb79ed5890ee79f8d6fb27616b0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 13:29:44 +0300 Subject: [PATCH 171/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=84=D0=B0=D0=B9=D0=BB?= =?UTF-8?q?=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- tools/JSON/{gitlab-ci.env.json => gitlab-ci-env.json} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename tools/JSON/{gitlab-ci.env.json => gitlab-ci-env.json} (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c826c8a7..e0cb6a7d2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ variables: - CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci.env.json" + CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci-env.json" EPF_CACHE_PATH: E:\vanessa-add-artifacts\develop stages: diff --git a/tools/JSON/gitlab-ci.env.json b/tools/JSON/gitlab-ci-env.json similarity index 100% rename from tools/JSON/gitlab-ci.env.json rename to tools/JSON/gitlab-ci-env.json From 2247446fef9f7affbee0c9a6e0b1541f4e2ea4ca Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 13:55:02 +0300 Subject: [PATCH 172/421] =?UTF-8?q?=D0=BA=D0=BE=D0=BF=D0=B8=D0=BF=D0=B0?= =?UTF-8?q?=D1=81=D1=82=20=D1=81=20=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=D0=BC=D0=B8=20-=20=D0=B7=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 4 +++- tools/JSON/gitlab-ci-env.json | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e0cb6a7d2..53fb7aaa7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,6 +90,8 @@ stages: artifacts: paths: - .\build\ib\1Cv8.1CD + - .\build\ibservicexdd\1Cv8.1CD + - .\build\ibservice\1Cv8.1CD # - .\build\cache.json # - .\**\*.epf # - .\epf\**\*.epf @@ -203,7 +205,7 @@ stages: GIT_STRATEGY: none script: - chcp 65001 - - call vrunner xunit tests %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-tdd/junit-tdd.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-tdd/allure.xml}" + - call vrunner xunit tests/xunit %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-tdd/junit-tdd.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-tdd/allure.xml}" artifacts: when: always paths: diff --git a/tools/JSON/gitlab-ci-env.json b/tools/JSON/gitlab-ci-env.json index b375a9da1..30c88bb29 100644 --- a/tools/JSON/gitlab-ci-env.json +++ b/tools/JSON/gitlab-ci-env.json @@ -1,4 +1,5 @@ - "$schema": "https://github.com/vanessa-opensource/vanessa-runner/blob/develop/vanessa-runner-schema.json", +{ + "$schema": "https://github.com/vanessa-opensource/vanessa-runner/blob/develop/vanessa-runner-schema.json", "default": { "--ibconnection": "/F./build/ib", "--db-user": "", From 8e82dbc734c3b2d7d450b7ab61e4605934edf52f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 14:13:21 +0300 Subject: [PATCH 173/421] =?UTF-8?q?=D0=BD=D0=B5=20=D0=B2=D1=81=D0=B5=D0=B3?= =?UTF-8?q?=D0=B4=D0=B0=20=D0=BB=D0=BE=D0=B2=D0=B8=D0=BB=D0=B8=D1=81=D1=8C?= =?UTF-8?q?=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20=D1=81=D0=B5=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81=D1=82-=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 868523336..f107eafe2 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -104,6 +104,7 @@ Попытка Выполнить "Результат = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение + Результат = Неопределено; КонецПопытки; Если Результат = Неопределено Тогда @@ -118,6 +119,7 @@ Результат.УстановитьСоединение(); Подключен = Истина; Исключение + Подключен = Ложь; КонецПопытки; Если Подключен Тогда @@ -298,13 +300,27 @@ КонецФункции &НаКлиенте +// Возвращает основное окно текущего тест-клиента +// +// Параметры: +// ТестКлиент - ТестируемоеПриложение - ТестируемоеПриложение +// +// Возвращаемое значение: +// ТестируемоеОкноКлиентскогоПриложения - или Неопределено, если не нашли или ошибка сетевого взаимодействия +// Функция ОсновноеОкно(ТестКлиент) Экспорт - КлиентсткиеОкнаТестируемогоПриложения = ТестКлиент.ПолучитьПодчиненныеОбъекты(); - Для Каждого ТекОкно Из КлиентсткиеОкнаТестируемогоПриложения Цикл - Если ТекОкно.Основное Тогда - Возврат ТекОкно; - КонецЕсли; - КонецЦикла; + Попытка + КлиентскиеОкнаТестируемогоПриложения = ТестКлиент.ПолучитьПодчиненныеОбъекты(); + Для Каждого ТекОкно Из КлиентскиеОкнаТестируемогоПриложения Цикл + Если ТекОкно.Основное Тогда + Возврат ТекОкно; + КонецЕсли; + КонецЦикла; + Исключение + Возврат Неопределено; + КонецПопытки; + + Возврат Неопределено; КонецФункции &НаКлиенте From 038cb53cdfb57593ebc4260a1255162c21c4dd50 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 14:41:12 +0300 Subject: [PATCH 174/421] =?UTF-8?q?=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D1=81=208.3.6=20(?= =?UTF-8?q?#812)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для поддержки функций СтрХХХ --- lib/CF/83/Configuration.xml | 2 +- ...73\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" | 2 +- ...plate.\320\234\320\260\320\272\320\265\321\202.Template.xml" | 2 +- lib/CF/83NoSync/Configuration.xml | 2 +- lib/CF/83xdd/Configuration.xml | 2 +- lib/CF/83xddNoSync/Configuration.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/CF/83/Configuration.xml b/lib/CF/83/Configuration.xml index d4b5f7d30..7f2ba9b16 100644 --- a/lib/CF/83/Configuration.xml +++ b/lib/CF/83/Configuration.xml @@ -118,7 +118,7 @@ Use Use Taxi - Version8_3_8 + Version8_3_6 diff --git "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" index a5e915b14..c9d8a47b7 100644 --- "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" +++ "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.Form.\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260.Form.xml" @@ -439,7 +439,7 @@
- + ФорматированнаяСтрока diff --git "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.Template.\320\234\320\260\320\272\320\265\321\202.Template.xml" "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.Template.\320\234\320\260\320\272\320\265\321\202.Template.xml" index 42bd14e8b..dfedceaaf 100644 --- "a/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.Template.\320\234\320\260\320\272\320\265\321\202.Template.xml" +++ "b/lib/CF/83NoSync/Catalog.\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.Template.\320\234\320\260\320\272\320\265\321\202.Template.xml" @@ -312,7 +312,7 @@ Solid - + 16 diff --git a/lib/CF/83NoSync/Configuration.xml b/lib/CF/83NoSync/Configuration.xml index 186a9cce7..8419bf272 100644 --- a/lib/CF/83NoSync/Configuration.xml +++ b/lib/CF/83NoSync/Configuration.xml @@ -118,7 +118,7 @@ DontUse DontUse Taxi - Version8_3_8 + Version8_3_6 diff --git a/lib/CF/83xdd/Configuration.xml b/lib/CF/83xdd/Configuration.xml index 3c3c950e8..1414d7610 100644 --- a/lib/CF/83xdd/Configuration.xml +++ b/lib/CF/83xdd/Configuration.xml @@ -118,7 +118,7 @@ Use Use TaxiEnableVersion8_2 - Version8_3_5 + Version8_3_6 diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index fca5690bd..20b950d0a 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -118,7 +118,7 @@ DontUse DontUse TaxiEnableVersion8_2 - Version8_3_5 + Version8_3_6 From 1bdacb9c7cac5e9bcb79157e588aa2c26eba71d2 Mon Sep 17 00:00:00 2001 From: AlexPCRus <47207960+AlexPCRus@users.noreply.github.com> Date: Sun, 8 Nov 2020 14:42:18 +0300 Subject: [PATCH 175/421] =?UTF-8?q?fix=20Smoke=20=D0=97=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D1=8C=D0=AD=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=A1=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2:=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BC=D0=BE=D0=B3=20=D0=B2=D1=8B=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D1=8F=D1=82=D1=8C=D1=81=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=BF=D0=BF=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2.=20(#811)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Реальные элементы в тесте записи элементов справочников Новый дымовой тест "Запись групп справочников" с примером настройки * Новый дымовой тест "Запись групп справочников" с примером настройки * Исправлена ошибка. В тесте записи элементов справочников ошибочно мог выполняться тест записи групп справочников. * Решил оставить условие чтобы не рушить запрос, если попадется справочник с именем *где* --- .../Ext/ObjectModule.bsl" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" index 886684cdd..0c479337b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -149,6 +149,8 @@ |ПОМЕСТИТЬ вт_Первые |ИЗ | Справочник." + МетаОбъект.Имя + " + |ГДЕ + | НЕ ЭтоГруппа | |УПОРЯДОЧИТЬ ПО | Ссылка @@ -161,6 +163,8 @@ |ПОМЕСТИТЬ вт_Последние |ИЗ | Справочник." + МетаОбъект.Имя + " + |ГДЕ + | НЕ ЭтоГруппа | |УПОРЯДОЧИТЬ ПО | Ссылка УБЫВ @@ -188,7 +192,12 @@ Запрос.Текст = СтрЗаменить(Запрос.Текст, "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПоследнихЭлементов", "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоПоследнихЭлементов, "ЧГ=") - ); + ); + Если НЕ МетаОбъект.Иерархический + ИЛИ МетаОбъект.ВидИерархии <> Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда + Запрос.Текст = СтрЗаменить(Запрос.Текст, "НЕ ЭтоГруппа", "ИСТИНА"); + КонецЕсли; + РезультатЗапроса = Запрос.Выполнить(); Если РезультатЗапроса.Пустой() Тогда Возврат; From a9923e0ca9902d0794cd89f8d2112eb2eb5699c4 Mon Sep 17 00:00:00 2001 From: AlexPCRus <47207960+AlexPCRus@users.noreply.github.com> Date: Sun, 8 Nov 2020 14:44:24 +0300 Subject: [PATCH 176/421] =?UTF-8?q?Smoke=20=D1=82=D0=B5=D1=81=D1=82=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B8=20=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=BF=D0=BF=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA=D0=BE=D0=B2=20(#810)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Реальные элементы в тесте записи элементов справочников Новый дымовой тест "Запись групп справочников" с примером настройки * Новый дымовой тест "Запись групп справочников" с примером настройки --- tests/smoke/smoke.bsp.json | 9 + tests/smoke/smoke.example.json | 9 + ...0\275\320\270\320\272\320\276\320\262.xml" | 61 +++++ .../Ext/ObjectModule.bsl" | 243 ++++++++++++++++++ 4 files changed, 322 insertions(+) create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index b0791dddd..3df9b34c4 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -319,6 +319,15 @@ ] }, + "ЗаписьГруппСправочников":{ + "Используется" : true, + "КоличествоПервыхГрупп" : 3, + "КоличествоПоследнихГрупп" : 3, + "Исключения" : [ + "*ПрисоединенныеФайлы" + ] + }, + "ФормированиеПечатныхФорм":{ "Используется" : true, "КоличествоДокументов" : 1, diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index c41ca5a34..573cb9e3b 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -183,6 +183,15 @@ ] }, + "ЗаписьГруппСправочников":{ + "Используется" : true, + "КоличествоПервыхГрупп" : 3, + "КоличествоПоследнихГрупп" : 3, + "Исключения" : [ + "*ПрисоединенныеФайлы" + ] + }, + "ФормированиеПечатныхФорм":{ "Используется" : true, "КоличествоДокументов" : 1, diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" new file mode 100644 index 000000000..6582c1a69 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262.xml" @@ -0,0 +1,61 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 779efd25-8f08-4570-9985-54d34c524784 + + + 55a6d1d9-c608-4d54-b4ab-fd30cfd055dc + 973684fd-8334-4f26-a08e-747ff9e5a09f + + + + тесты_ЗаписьГруппСправочников + + + ru + Проверка программной записи групп справочников + + + + + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..2428001f3 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\320\270\321\201\321\214\320\223\321\200\321\203\320\277\320\277\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1,243 @@ +#Область ОписаниеПеременных + +Перем КонтекстЯдра; +Перем Утверждения; +Перем УтвержденияПроверкаТаблиц; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +Функция КлючНастройки() Экспорт + + Возврат "ЗаписьГруппСправочников"; + +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); + +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + + ЗагрузитьНастройки(); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + ВидИерархииГруппыЭлементы = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов; + + Для Каждого МетаОбъект Из Метаданные.Справочники Цикл + Если МетаОбъект.Иерархический + И МетаОбъект.ВидИерархии = ВидИерархииГруппыЭлементы + И ПравоДоступа("Изменение", МетаОбъект) Тогда + ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +Процедура ПередЗапускомТеста() Экспорт + + НачатьТранзакцию(); + +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + +КонецПроцедуры + +Процедура Тест_ЗаписатьГруппуСправочника(СправочникСсылка) Экспорт + + ГруппаОбъект = СправочникСсылка.ПолучитьОбъект(); + ГруппаОбъект.Записать(); + +КонецПроцедуры + +Процедура Тест_ПропуститьЗаписьГруппыСправочника(Знач Сообщение) Экспорт + + КонтекстЯдра.ПропуститьТест(Сообщение); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + +Процедура ЗагрузитьНастройки() + + Если ЗначениеЗаполнено(Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Настройки) <> Тип("Структура") Then + Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Настройки); + Настройки = НастройкиПоУмолчанию; + КонецЕсли; + +КонецПроцедуры + +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("КоличествоПервыхГрупп", 10); + Результат.Вставить("КоличествоПоследнихГрупп", 10); + Результат.Вставить("Исключения", Новый Массив); + + Возврат Результат; + +КонецФункции + +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти + +Процедура ДобавитьТестыДляСправочника(НаборТестов, МетаОбъект) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПервыхГрупп + | Ссылка, + | Представление + |ПОМЕСТИТЬ вт_Первые + |ИЗ + | Справочник." + МетаОбъект.Имя + " + |ГДЕ + | ЭтоГруппа + | + |УПОРЯДОЧИТЬ ПО + | Ссылка + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ ПЕРВЫЕ &КоличествоПоследнихГрупп + | Ссылка, + | Представление + |ПОМЕСТИТЬ вт_Последние + |ИЗ + | Справочник." + МетаОбъект.Имя + " + |ГДЕ + | ЭтоГруппа + | + |УПОРЯДОЧИТЬ ПО + | Ссылка УБЫВ + |; + | + |//////////////////////////////////////////////////////////////////////////////// + |ВЫБРАТЬ + | вт_Первые.Ссылка КАК Ссылка, + | вт_Первые.Представление КАК Представление + |ИЗ + | вт_Первые КАК вт_Первые + | + |ОБЪЕДИНИТЬ + | + |ВЫБРАТЬ + | вт_Последние.Ссылка, + | вт_Последние.Представление + |ИЗ + | вт_Последние КАК вт_Последние"; + + Запрос.Текст = СтрЗаменить(Запрос.Текст, + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПервыхГрупп", + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоПервыхГрупп, "ЧГ=") + ); + Запрос.Текст = СтрЗаменить(Запрос.Текст, + "ВЫБРАТЬ ПЕРВЫЕ &КоличествоПоследнихГрупп", + "ВЫБРАТЬ ПЕРВЫЕ " + Формат(Настройки.КоличествоПоследнихГрупп, "ЧГ=") + ); + РезультатЗапроса = Запрос.Выполнить(); + Если РезультатЗапроса.Пустой() Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу(МетаОбъект.Синоним + " - Справочник." + МетаОбъект.Имя); + + ПредставлениеТеста = "Проверка записи группы справочника - " + МетаОбъект.Имя; + Сообщение = "Пропускаем из-за исключения по имени справочника - " + ПредставлениеТеста; + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(МетаОбъект.Имя, Настройки.Исключения, + Сообщение, НаборТестов) Тогда + Возврат; + КонецЕсли; + + Выборка = РезультатЗапроса.Выбрать(); + Пока Выборка.Следующий() Цикл + ПараметрыТеста = НаборТестов.ПараметрыТеста(Выборка.Ссылка); + ПредставлениеТеста = "Проверка записи группы справочника - " + Выборка.Представление; + + НаборТестов.Добавить("Тест_ЗаписатьГруппуСправочника", ПараметрыТеста, ПредставлениеТеста); + КонецЦикла; + +КонецПроцедуры + +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + НаборТестов.Добавить("Тест_ПропуститьЗаписьГруппыСправочника", ПараметрыТеста, Сообщение); + Возврат Истина; + КонецЕсли; + + Возврат Ложь; +КонецФункции + +Функция ИмяТеста() + + Возврат Метаданные().Имя; + +КонецФункции + +#КонецОбласти From 0f56d5001b350bfeb02a03421ccef1dc67b88894 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 14:51:53 +0300 Subject: [PATCH 177/421] =?UTF-8?q?=D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=20=D1=81=D0=BE=D0=B2=D0=BC=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/README.md b/doc/README.md index 0f9b1d88e..196229f34 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,9 +16,9 @@ - [Документация по разделу xdd/tdd](/doc/xdd/README.MD) - [BDD-Документация по фреймворку Vanessa.Add](/doc/bdd/README.md) -Vanessa.ADD работает с гарантией на платформах 1С версии 8.3.5 и выше в режиме совместимости с 8.3.5 и выше. +Vanessa.ADD работает с гарантией на платформах 1С версии 8.3.6 и выше в режиме совместимости с 8.3.6 и выше. - Рекомендуется режим совместимости 8.3.8 или выше -Частично поддерживаются режимы совместимости от 8.2.16 до 8.3.4 +Частично поддерживаются режимы совместимости от 8.2.16 до 8.3.5 ## Разделы справки From 44b0435b4fea2bc44900e6a05a20d7f21837a6f9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 15:04:58 +0300 Subject: [PATCH 178/421] =?UTF-8?q?=D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 51 +++++++++++-------- 1 file changed, 29 insertions(+), 22 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f107eafe2..79b59544f 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -52,7 +52,8 @@ &НаКлиенте Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры) Экспорт - Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда + Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") + Тогда НовыйМассивПараметров = Новый Массив; НовыйМассивПараметров.Добавить(Параметры_xddTestClient); Параметры_xddTestClient = НовыйМассивПараметров; @@ -230,7 +231,8 @@ КонецФункции &НаКлиенте -Процедура ИдентифицироватьОкноПредупреждение(Знач ТестКлиент, Знач Пояснение = "", Знач ПропускатьПриОтсутствииПрав = Истина) Экспорт +Процедура ИдентифицироватьОкноПредупреждение(Знач ТестКлиент, Знач Пояснение = "", + Знач ПропускатьПриОтсутствииПрав = Истина) Экспорт ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); @@ -273,7 +275,8 @@ Если ТипЗнч(ПодчиненныйОбъект) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Продолжить; КонецЕсли; - ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(ЗаголовкиМодальныхОкон, ПодчиненныйОбъект.Заголовок); + ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(ЗаголовкиМодальныхОкон, + ПодчиненныйОбъект.Заголовок); Если ОписаниеМодальногоОкна <> Неопределено Тогда ОкноПредупреждение = ПодчиненныйОбъект; Прервать; @@ -442,19 +445,31 @@ &НаКлиенте Процедура ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо) Экспорт - ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); - Для Каждого ТекОкно Из ОткрытыеОкна Цикл - Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница - Или ОткрытыеОкнаДо.Получить(ТекОкно.Заголовок) <> Неопределено Тогда - Продолжить; - КонецЕсли; + НужноВыброситьИсключение = Ложь; + Попытка + ОткрытыеОкна = ТестКлиент.НайтиОбъекты(Тип("ТестируемоеОкноКлиентскогоПриложения")); + Для Каждого ТекОкно Из ОткрытыеОкна Цикл + Если ТекОкно = Неопределено Или ТекОкно.Основное Или ТекОкно.НачальнаяСтраница + Или ОткрытыеОкнаДо.Получить(ТекОкно.Заголовок) <> Неопределено Тогда + Продолжить; + КонецЕсли; + + НужноВыброситьИсключение = Истина; + Прервать; + КонецЦикла; + Исключение + КонтекстЯдра.ВывестиСообщение("Не удалось проверить модальные окна ", + СтатусСообщения.ОченьВажное); + Возврат; + КонецПопытки; + Если НужноВыброситьИсключение Тогда ТекстИсключения = КонтекстЯдра.СтрШаблон_(" |Выявлено окно, которое не закрывается! |Возможно, это модальное окно. |Заголовок окна <%1>", ТекОкно.Заголовок); ВызватьИсключение ТекстИсключения; - КонецЦикла; + КонецЕсли; КонецПроцедуры @@ -558,7 +573,8 @@ &НаКлиенте Функция ТекстСкриптаЗавершитьТестКлиент(НомерПорта) - Результат = "wmic process where (CommandLine Like ""%/TESTCLIENT%"" And ExecutablePath Like ""%1cv8c%"") call terminate"; + Результат = + "wmic process where (CommandLine Like ""%/TESTCLIENT%"" And ExecutablePath Like ""%1cv8c%"") call terminate"; Если Не ЗначениеЗаполнено(НомерПорта) Тогда Возврат Результат; @@ -741,7 +757,8 @@ КонецФункции &НаКлиенте -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", + Знач ПропускатьПустыеСтроки = Неопределено) Экспорт Результат = Новый Массив; @@ -881,16 +898,6 @@ Заголовки.Добавить("Список значений"); Описание.Вставить("Кнопка", 0); - //Описание = Новый Структура; - //НастройкиМодальныхОкон.Вставить("ШаблонПомощника", Описание); - ////Заголовки = Новый Массив; - ////Описание.Вставить("Заголовки", Заголовки); - ////Заголовки.Добавить("Демо: Шаблон помощника"); - //Поля = Новый Массив; - //Описание.Вставить("Поля", Поля); - //Поля.Добавить("Закрыть помощник?"); - //Описание.Вставить("Кнопка", 0); - УстановитьНастройкиМодальныхОкон(НастройкиМодальныхОкон); КонецПроцедуры From 7039eb35391b3da9cadd9797eb8486aa287a7d7e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 15:11:54 +0300 Subject: [PATCH 179/421] =?UTF-8?q?=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=90=D0=BB=D0=BB?= =?UTF-8?q?=D1=8E=D1=80=20=D0=B4=D0=BB=D1=8F=20=D0=B1=D0=B4=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 53fb7aaa7..c6cb99561 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -274,7 +274,7 @@ BDD тестирование (библиотеки): when: always paths: - ServiceBases/junitreport/*.xml - - ServiceBases/allurereport/*.* + - ServiceBases/allurereport/**/*.* reports: junit: - ServiceBases/junitreport/*.xml From 950ffae7b0ef8b24a5b7957106c9fbe7586a9466 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 15:45:41 +0300 Subject: [PATCH 180/421] =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D0=BD=D0=B0=20=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c6cb99561..eb2099e36 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -88,6 +88,7 @@ stages: - chcp 65001 - opm run init file --v8version 8.3.10 artifacts: + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-ib" paths: - .\build\ib\1Cv8.1CD - .\build\ibservicexdd\1Cv8.1CD @@ -153,6 +154,7 @@ stages: - chcp 65001 - opm build . artifacts: + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-opm-build" paths: - .\add-*.zip - .\add-*.ospx @@ -207,6 +209,7 @@ stages: - chcp 65001 - call vrunner xunit tests/xunit %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-tdd/junit-tdd.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-tdd/allure.xml}" artifacts: + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-tdd" when: always paths: - build/junit-tdd/*.xml @@ -240,6 +243,7 @@ stages: - call vrunner xunit tests/smoke %CI_VRUNNER_SETTINGS% --reportsxunit "ГенераторОтчетаJUnitXML{build/junit-smoke/junit-smoke.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure-smoke/allure.xml}" artifacts: when: always + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-smoke" paths: - build/junit-smoke/*.xml - build/allure-smoke/*.* @@ -272,6 +276,7 @@ BDD тестирование (библиотеки): - vrunner vanessa %CI_VRUNNER_SETTINGS% --path features/libraries artifacts: when: always + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-bdd-libs" paths: - ServiceBases/junitreport/*.xml - ServiceBases/allurereport/**/*.* @@ -307,6 +312,7 @@ Allure: - echo Allure results - %CI_JOB_URL%/artifacts/file/build/allure-result/index.html artifacts: when: always + name: "%CI_JOB_STAGE%-%CI_COMMIT_REF_NAME%-allure" paths: - build/allure-result tags: From 345e61520a7cfdb46f3932d74b73c7abeda90fd6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 16:47:09 +0300 Subject: [PATCH 181/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B0=D1=8E=20=D0=BF=D0=B0=D0=BF=D0=BA=D1=83=20=D0=93=D0=B8?= =?UTF-8?q?=D1=82=D0=B0=20=D0=B8=D0=B7=20=D0=BA=D0=B5=D1=88=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eb2099e36..0faccfa85 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -56,8 +56,8 @@ stages: allow_failure: true script: - chcp 65001 - - cmd /c "robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /UNICODE & dir *.yml & echo success!" - - cmd /c "robocopy %EPF_CACHE_PATH%\.forbuild .\.forbuild *.* /S /XA:H /NP /UNICODE & dir *.yml & echo success!" + - cmd /c "robocopy %EPF_CACHE_PATH% . *.epf cache.json /S /XA:H /NP /XD .git /UNICODE & dir *.yml & echo success!" + - cmd /c "robocopy %EPF_CACHE_PATH%\.forbuild .\.forbuild *.* /S /XA:H /NP /XD .git /UNICODE & dir *.yml & echo success!" tags: - vanessa-add artifacts: @@ -127,7 +127,7 @@ stages: allow_failure: true script: - chcp 65001 - - cmd /c "robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /UNICODE" & dir *.yml & echo success" + - cmd /c "robocopy . %EPF_CACHE_PATH% *.epf cache.json /MIR /XA:H /NP /XD .git /UNICODE" & dir *.yml & echo success" when: always tags: - vanessa-add @@ -182,8 +182,8 @@ stages: allow_failure: true script: - chcp 65001 - - cmd /c "robocopy .\.forbuild %EPF_CACHE_PATH%\.forbuild *.* /MIR /XA:H /NP /UNICODE" & dir *.yml & echo success" - - cmd /c "robocopy .\build %EPF_CACHE_PATH%\build cache.json /XA:H /NP /UNICODE" & dir *.yml & echo success" + - cmd /c "robocopy .\.forbuild %EPF_CACHE_PATH%\.forbuild *.* /MIR /XA:H /NP /XD .git /UNICODE" & dir *.yml & echo success" + - cmd /c "robocopy .\build %EPF_CACHE_PATH%\build cache.json /XA:H /NP /XD .git /UNICODE" & dir *.yml & echo success" when: always tags: - vanessa-add From b7638ad67d236819c71f19e34b57bb995d03e96f Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Sun, 8 Nov 2020 17:00:09 +0300 Subject: [PATCH 182/421] =?UTF-8?q?fix=20=D0=9F=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B0=D0=9C=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=A1=D0=9A=D0=94=20(#806)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix ПроверкаМакетовСКД * fix Name * fix Name 2 --- ...0\276\320\262\320\241\320\232\320\224.xml" | 13 +- .../Ext/ObjectModule.bsl" | 240 +++++++++++------- ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 231 +++++++++++++++++ 5 files changed, 419 insertions(+), 99 deletions(-) create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" index e4ed4676c..06ded25d5 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224.xml" @@ -1,14 +1,14 @@  - + c3831ec8-d8d5-4f93-8a22-f9bfae07327f - 5c338ed2-4038-4fb8-b34a-3074bcd8f7af + eaa9b243-248a-4d9e-bd07-1f0431064923 - 1567cdb3-b5a9-45d6-8830-5d836128e75e - ef68c847-d316-417d-b22f-63222cf79cfb + 048c5350-84a3-4fcf-b366-083824f10d98 + 5cae0e2c-3563-42d1-bd09-d4738d222b19 @@ -20,11 +20,11 @@ - + ExternalDataProcessor.тесты_ПроверкаМакетовСКД.Form.Форма - + Настройки @@ -56,6 +56,7 @@ Auto +
Форма
\ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" index 4a788dd5e..7b0dd67f2 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Ext/ObjectModule.bsl" @@ -22,8 +22,11 @@ Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - КонтекстЯдра = КонтекстЯдраПараметр; + Если ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Then + Возврат; + КонецЕсли; + КонтекстЯдра = КонтекстЯдраПараметр; ЗагрузитьНастройки(); Если Не НужноВыполнятьТест() Тогда @@ -31,7 +34,6 @@ КонецЕсли; ДобавитьОбщиеМакеты(НаборТестов); - ДобавитьМакетМетаданных(НаборТестов); КонецПроцедуры @@ -40,14 +42,6 @@ #Область Тесты -Процедура ПередЗапускомТеста() Экспорт - -КонецПроцедуры - -Процедура ПослеЗапускаТеста() Экспорт - -КонецПроцедуры - Процедура ТестДолжен_ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета) Экспорт Менеджер = МенеджерОбьектаПоИмени(ИмяМенеджера); @@ -68,7 +62,7 @@ Процедура ТестДолжен_ПроверитьВложенныйМакетСКД(ИмяМенеджера, ИмяОбьекта, ИменаМакетов) Экспорт - ИменаМакетов = КонтекстЯдра.РазложитьСтрокуВМассивПодстрок(ИменаМакетов, "->"); + ИменаМакетов = РазложитьСтрокуВМассивПодстрок(ИменаМакетов, "->"); Если ИмяОбьекта = ТекстОбщиеМакеты() Тогда СхемаКомпоновкиДанных = ПолучитьОбщийМакет(ИменаМакетов[0]); @@ -86,6 +80,10 @@ КонецПроцедуры +Процедура ТестДолжен_ПропуститьМакетСКД(ТекстСообщения) Экспорт + Утверждения.ПропуститьТест(ТекстСообщения); +КонецПроцедуры + #КонецОбласти #КонецОбласти @@ -150,37 +148,22 @@ Процедура ДобавитьОбщиеМакеты(НаборТестов) - мНаборов = Новый Массив; - - Для Каждого ОбщийМакет Из Метаданные.ОбщиеМакеты Цикл - - Если ОбщийМакет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда - Продолжить; - КонецЕсли; - Сообщение = "Пропускаем из-за исключения по имени общего макета - " + - КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекстОбщиеМакеты(), ОбщийМакет.Имя); - Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ОбщийМакет.Имя, Настройки.ИсключенияОбщихМакетов, - Сообщение, НаборТестов, мНаборов) Тогда - Продолжить; - КонецЕсли; - - мНаборов.Добавить( - Новый Структура("ИмяПроцедуры, Параметры, Представление", - "ТестДолжен_ПроверитьОбщийМакетСКД", - НаборТестов.ПараметрыТеста(ОбщийМакет.Имя), - КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекстОбщиеМакеты(), ОбщийМакет.Имя))); - - ДобавитьВложенныеМакеты(мНаборов, ОбщийМакет, ОбщийМакет.Имя, ТекстОбщиеМакеты()); - - КонецЦикла; + мОбщиеМакеты = ОбщиеМакеты(); - Если мНаборов.Количество() > 0 Тогда + Если мОбщиеМакеты.Количество() > 0 Тогда НаборТестов.НачатьГруппу(ТекстОбщиеМакеты(), Ложь); - Для Каждого Набор Из мНаборов Цикл + Для Каждого ОбщийМакет Из мОбщиеМакеты Цикл + + Сообщение = "Пропускаем из-за исключения по имени общего макета - " + + КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекстОбщиеМакеты(), ОбщийМакет.Представление); + Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ОбщийМакет.Представление, + Настройки.ИсключенияОбщихМакетов, Сообщение, НаборТестов) Тогда + Продолжить; + КонецЕсли; - НаборТестов.Добавить(Набор.ИмяПроцедуры, Набор.Параметры, Набор.Представление); + НаборТестов.Добавить(ОбщийМакет.ИмяПроцедуры, ОбщийМакет.Параметры, ОбщийМакет.Представление); КонецЦикла; @@ -190,55 +173,20 @@ Процедура ДобавитьМакетМетаданных(НаборТестов) - ПроверяемыеОбъекты = ПроверяемыеМетаданные(); + ГруппыМакетовМетаданных = ГруппыМакетовМетаданных(); - Для Каждого ПроверяемыйОбъект Из ПроверяемыеОбъекты Цикл - - мНаборов = Новый Массив; + Для Каждого ГруппаМакетовМетаданных Из ГруппыМакетовМетаданных Цикл - Для Каждого ТекОбъект Из Метаданные[ПроверяемыйОбъект] Цикл - - ИмяМенеджера = ВРЕГ(ПроверяемыйОбъект); - - Сообщение = "Пропускаем из-за исключения по имени метаданного - " + - КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), "Макеты", ТекОбъект.Имя); - Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекОбъект.Имя, Настройки.ИсключенияПоИмениМетаданных, - Сообщение, НаборТестов, мНаборов) Тогда - Продолжить; - КонецЕсли; - - Для Каждого ТекДанныеМакета Из ТекОбъект.Макеты Цикл - - Если ТекДанныеМакета.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда - Продолжить; - КонецЕсли; - - Сообщение = "Пропускаем из-за исключения по имени макета - " + - КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекОбъект.Имя, ТекДанныеМакета.Имя); - Если ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(ТекДанныеМакета.Имя, Настройки.ИсключенияПоИмениМакетов, - Сообщение, НаборТестов, мНаборов) Тогда - Продолжить; - КонецЕсли; - - мНаборов.Добавить( - Новый Структура("ИмяПроцедуры, Параметры, Представление", - "ТестДолжен_ПроверитьМакетСКД", - НаборТестов.ПараметрыТеста(ИмяМенеджера, ТекОбъект.Имя, ТекДанныеМакета.Имя), - КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ТекОбъект.Имя, ТекДанныеМакета.Имя))); - - ДобавитьВложенныеМакеты(мНаборов, ТекДанныеМакета, ТекДанныеМакета.Имя, ТекОбъект.Имя, ИмяМенеджера); - - КонецЦикла; - - КонецЦикла; - - Если мНаборов.Количество() > 0 Тогда + Если ГруппаМакетовМетаданных.Значение.Количество() > 0 Тогда - НаборТестов.НачатьГруппу(ПроверяемыйОбъект, Ложь); + НаборТестов.НачатьГруппу(ГруппаМакетовМетаданных.Ключ, Ложь); - Для Каждого Набор Из мНаборов Цикл + Для Каждого МакетМетаданных Из ГруппаМакетовМетаданных.Значение Цикл - НаборТестов.Добавить(Набор.ИмяПроцедуры, Набор.Параметры, Набор.Представление); + НаборТестов.Добавить( + МакетМетаданных.ИмяПроцедуры, + МакетМетаданных.Параметры, + МакетМетаданных.Представление); КонецЦикла; @@ -261,8 +209,8 @@ Для Каждого ВложенныйМакет Из Макет.ВложенныеСхемыКомпоновкиДанных Цикл - ИмяМакета = КонтекстЯдра.СтрШаблон_("%1->%2", ИмяРодителя, ВложенныйМакет.Имя); - Представление = КонтекстЯдра.СтрШаблон_(ШаблонПредставления(), ИмяОбъекта, ИмяМакета); + ИмяМакета = СтрШаблон_("%1->%2", ИмяРодителя, ВложенныйМакет.Имя); + Представление = СтрШаблон_(ШаблонПредставления(), ИмяОбъекта, ИмяМакета); ПараметрыТеста = Новый Массив; ПараметрыТеста.Добавить(ИмяМенеджера); @@ -331,28 +279,134 @@ Возврат НСтр("ru = 'Валидация корректности запроса СКД в %1: %2'"); КонецФункции -Функция ТекстОбщиеМакеты() +Функция ТекстОбщиеМакеты() Экспорт Возврат "ОбщиеМакеты"; КонецФункции -Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач Сообщение, - Знач НаборТестов, Знач Наборы) +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, + Знач КоллекцияДляПоиска, + Знач Сообщение, + Знач НаборТестов) Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + КонтекстЯдра.Отладка(Сообщение); ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); - //НаборТестов.Добавить("Тест_ПропуститьПечатнуюФорму", ПараметрыТеста, Сообщение); - Наборы.Добавить( - Новый Структура("ИмяПроцедуры, Параметры, Представление", - "Тест_ПропуститьПечатнуюФорму", - ПараметрыТеста, - Сообщение)); + НаборТестов.Добавить("Тест_ПропуститьМакетСКД", ПараметрыТеста, Сообщение); Возврат Истина; + КонецЕсли; Возврат Ложь; + КонецФункции -#КонецОбласти +Функция ОбщиеМакеты() Экспорт + + мОбщиеМакеты = Новый Массив; + + Для Каждого ОбщийМакет Из Метаданные.ОбщиеМакеты Цикл + + Если ОбщийМакет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда + Продолжить; + КонецЕсли; + + ПараметрыТеста = Новый Массив; + ПараметрыТеста.Добавить(ОбщийМакет.Имя); + + мОбщиеМакеты.Добавить( + Новый Структура("ИмяПроцедуры, Параметры, Представление", + "ТестДолжен_ПроверитьОбщийМакетСКД", + ПараметрыТеста, + СтрШаблон_(ШаблонПредставления(), ТекстОбщиеМакеты(), ОбщийМакет.Имя))); + + ДобавитьВложенныеМакеты(мОбщиеМакеты, ОбщийМакет, ОбщийМакет.Имя, ТекстОбщиеМакеты()); + + КонецЦикла; + + Возврат мОбщиеМакеты; + +КонецФункции + +Функция ГруппыМакетовМетаданных() Экспорт + + ГруппыМакетовМетаданных = Новый Соответствие; + + ПроверяемыеОбъекты = ПроверяемыеМетаданные(); + + Для Каждого ПроверяемыйОбъект Из ПроверяемыеОбъекты Цикл + + МакетыМетаданных = Новый Массив; + + Для Каждого ТекОбъект Из Метаданные[ПроверяемыйОбъект] Цикл + + ИмяМенеджера = ВРЕГ(ПроверяемыйОбъект); + + Для Каждого ТекДанныеМакета Из ТекОбъект.Макеты Цикл + + Если ТекДанныеМакета.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда + Продолжить; + КонецЕсли; + + ПараметрыТеста = Новый Массив; + ПараметрыТеста.Добавить(ИмяМенеджера); + ПараметрыТеста.Добавить(ТекОбъект.Имя); + ПараметрыТеста.Добавить(ТекДанныеМакета.Имя); + + МакетыМетаданных.Добавить( + Новый Структура("ИмяПроцедуры, Параметры, Представление", + "ТестДолжен_ПроверитьМакетСКД", + ПараметрыТеста, + СтрШаблон_(ШаблонПредставления(), ТекОбъект.Имя, ТекДанныеМакета.Имя))); + + ДобавитьВложенныеМакеты( + МакетыМетаданных, + ТекДанныеМакета, + ТекДанныеМакета.Имя, + ТекОбъект.Имя, + ИмяМенеджера); + + КонецЦикла; + + КонецЦикла; + + Если МакетыМетаданных.Количество() Тогда + ГруппыМакетовМетаданных.Вставить(ПроверяемыйОбъект, МакетыМетаданных); + КонецЕсли; + + КонецЦикла; + + Возврат ГруппыМакетовМетаданных; + +КонецФункции + +Функция СтрШаблон_(СтрокаШаблон, + Парам1 = Неопределено, + Парам2 = Неопределено, + Парам3 = Неопределено, + Парам4 = Неопределено, + Парам5 = Неопределено) + + Если КонтекстЯдра = Неопределено Тогда + СтроковыеУтилиты = ВнешниеОбработки.Создать("СтроковыеУтилиты"); + Возврат СтроковыеУтилиты.ПодставитьПараметрыВСтроку(СтрокаШаблон, Парам1, Парам2, Парам3, Парам4, Парам5); + Иначе + Возврат КонтекстЯдра.СтрШаблон_(СтрокаШаблон, Парам1, Парам2, Парам3, Парам4, Парам5); + КонецЕсли; + +КонецФункции + +Функция РазложитьСтрокуВМассивПодстрок(Строка, Разделитель = ",", ПропускатьПустыеСтроки = Неопределено) + + Если КонтекстЯдра = Неопределено Тогда + СтроковыеУтилиты = ВнешниеОбработки.Создать("СтроковыеУтилиты"); + Возврат СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель, ПропускатьПустыеСтроки); + Иначе + Возврат КонтекстЯдра.РазложитьСтрокуВМассивПодстрок(Строка, Разделитель, ПропускатьПустыеСтроки); + КонецЕсли; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..0d1d4b667 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..305ee200b --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.тесты_ПроверкаМакетовСКД + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..7ac5c1bf6 --- /dev/null +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/\321\202\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,231 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; + +#КонецОбласти + +#Область ОсновныеПроцедурыТеста + +&НаСервере +Функция КлючНастройки() Экспорт + Возврат МодульОбъекта().КлючНастройки(); +КонецФункции + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Если ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Then + Возврат; + КонецЕсли; + + КонтекстЯдра = КонтекстЯдраПараметр; + ЗагрузитьНастройки(); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + КонтекстЯдра = КонтекстЯдраПараметр; + + ДобавитьОбщиеМакеты(НаборТестов); + + ДобавитьМакетМетаданных(НаборТестов); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета) Экспорт + ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета); +КонецПроцедуры + +&НаСервере +Процедура ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета) + МодульОбъекта().ТестДолжен_ПроверитьМакетСКД(ИмяМенеджера, ИмяОбьекта, ИмяМакета); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьОбщийМакетСКД(ИмяМакета) Экспорт + ПроверитьОбщийМакетСКД(ИмяМакета); +КонецПроцедуры + +&НаСервере +Процедура ПроверитьОбщийМакетСКД(ИмяМакета) + МодульОбъекта().ТестДолжен_ПроверитьОбщийМакетСКД(ИмяМакета); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПроверитьВложенныйМакетСКД(ИмяМенеджера, ИмяОбьекта, ИменаМакетов) Экспорт + ПроверитьВложенныйМакетСКД(ИмяМенеджера, ИмяОбьекта, ИменаМакетов); +КонецПроцедуры + +&НаСервере +Процедура ПроверитьВложенныйМакетСКД(ИмяМенеджера, ИмяОбьекта, ИменаМакетов) + МодульОбъекта().ТестДолжен_ПроверитьВложенныйМакетСКД(ИмяМенеджера, ИмяОбьекта, ИменаМакетов); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПропуститьМакетСКД(ТекстСообщения) Экспорт + Утверждения.ПропуститьТест(ТекстСообщения); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + +&НаКлиенте +Процедура ЗагрузитьНастройки() + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПлагинНастройки = КонтекстЯдра.Плагин("Настройки"); + ПлагинНастройки.Инициализация(КонтекстЯдра); + + Объект.Настройки = ПлагинНастройки.ПолучитьНастройку(КлючНастройки()); + + НастройкиПоУмолчанию = НастройкиПоУмолчанию(); + Если ТипЗнч(Объект.Настройки) <> Тип("Структура") Then + Объект.Настройки = НастройкиПоУмолчанию; + Иначе + ЗаполнитьЗначенияСвойств(НастройкиПоУмолчанию, Объект.Настройки); + Объект.Настройки = НастройкиПоУмолчанию; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция НастройкиПоУмолчанию() + + Результат = Новый Структура; + + Результат.Вставить("Используется", Истина); + Результат.Вставить("ИсключенияОбщихМакетов", Новый Массив); + Результат.Вставить("ИсключенияПоИмениМетаданных", Новый Массив); + Результат.Вставить("ИсключенияПоИмениМакетов", Новый Массив); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция НужноВыполнятьТест() + + ЗагрузитьНастройки(); + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат Истина; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Истина; + Если ТипЗнч(Объект.Настройки) = Тип("Структура") + И Объект.Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат Истина; + +КонецФункции + +#КонецОбласти + +&НаКлиенте +Процедура ДобавитьОбщиеМакеты(НаборТестов) + + мОбщиеМакеты = ОбщиеМакеты(); + + Если мОбщиеМакеты.Количество() > 0 Тогда + + НаборТестов.НачатьГруппу(ТекстОбщиеМакеты(), Ложь); + + Для Каждого ОбщийМакет Из мОбщиеМакеты Цикл + + НаборТестов.Добавить(ОбщийМакет.ИмяПроцедуры, ОбщийМакет.Параметры, ОбщийМакет.Представление); + + КонецЦикла; + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Функция ОбщиеМакеты() + Возврат МодульОбъекта().ОбщиеМакеты(); +КонецФункции + +&НаКлиенте +Процедура ДобавитьМакетМетаданных(НаборТестов) + + ГруппыМакетовМетаданных = ГруппыМакетовМетаданных(); + + Для Каждого ГруппаМакетовМетаданных Из ГруппыМакетовМетаданных Цикл + + Если ГруппаМакетовМетаданных.Значение.Количество() > 0 Тогда + + НаборТестов.НачатьГруппу(ГруппаМакетовМетаданных.Ключ, Ложь); + + Для Каждого МакетМетаданных Из ГруппаМакетовМетаданных.Значение Цикл + + НаборТестов.Добавить( + МакетМетаданных.ИмяПроцедуры, + МакетМетаданных.Параметры, + МакетМетаданных.Представление); + + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Функция ГруппыМакетовМетаданных() + Возврат МодульОбъекта().ГруппыМакетовМетаданных(); +КонецФункции + +&НаСервере +Функция МодульОбъекта() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ТекстОбщиеМакеты() Экспорт + Возврат "ОбщиеМакеты"; +КонецФункции + +&НаКлиенте +Функция ДобавитьТестИсключениеЕслиЕстьВИсключаемойКоллекции(Знач ЧтоИщем, + Знач КоллекцияДляПоиска, + Знач Сообщение, + Знач НаборТестов) + + Если КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска) Тогда + + КонтекстЯдра.Отладка(Сообщение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Сообщение); + + НаборТестов.Добавить("Тест_ПропуститьМакетСКД", ПараметрыТеста, Сообщение); + + Возврат Истина; + + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти \ No newline at end of file From 9ebd0f8600bc36f42315a6ea46c27425d51fbb38 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 17:07:35 +0300 Subject: [PATCH 183/421] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0=D1=8F=D0=94=D0=B0=D1=82?= =?UTF-8?q?=D0=B0()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 10 +-- .../Ext/Form/Module.bsl" | 1 - .../Ext/Form/Module.bsl" | 8 +-- .../Ext/Form/Module.bsl" | 62 +++++++++---------- .../Ext/Form/Module.bsl" | 10 +-- .../Ext/Form/Module.bsl" | 4 +- .../Ext/Form/Module.bsl" | 20 +++--- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 8 +-- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 8 +-- .../Ext/Form/Module.bsl" | 6 +- .../vbFeatureReader/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 16 ++--- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 4 +- .../Ext/Form/Module.bsl" | 4 +- .../Ext/ObjectModule.bsl" | 4 +- .../Ext/Form/Module.bsl" | 4 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 4 +- .../UILogToScript/Ext/ObjectModule.bsl | 6 +- 23 files changed, 92 insertions(+), 99 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 88b70e086..08a406cc4 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -156,7 +156,7 @@ Сообщение = Транслит(Сообщение); КонецЕсли; - Сообщить(Строка(ТекущаяДата()) + " " + Сообщение, ТипСообщения); + Сообщить(Строка(ТекущаяДатаСеанса()) + " " + Сообщение, ТипСообщения); КонецПроцедуры Процедура Отладка(Знач Сообщение) Экспорт diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c1c9b8518..3b45a3537 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2143,7 +2143,7 @@ КонецЕсли; КонецЕсли; - ТекстСообщения = Строка(ТекущаяДата()) + " " + Сообщение; + ТекстСообщения = Строка(ТекущаяДатаСеанса()) + " " + Сообщение; Возврат ТекстСообщения; КонецФункции @@ -5076,7 +5076,7 @@ Отладка(СтрШаблон_("ВремяИзмененияФайлаКомандаСистемы - %1", ИмяФайла)); Если ЕстьПоддержкаАсинхронныхВызовов Тогда Если ЭтоLinux Тогда - Возврат ТекущаяДата(); + Возврат ТекущаяДатаСеанса(); //ВызватьИсключение "TODO: Сделать для Linux."; КонецЕсли; @@ -12005,7 +12005,7 @@ &НаКлиенте Функция ПолучитьОтметкуВремениДляИмениФайла() - ТекДат = Формат(ТекущаяДата(), "ДФ=yyyyMMdd"); + ТекДат = Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMdd"); ТекМилиСек = ТекущаяУниверсальнаяДатаВМиллисекундах(); Стр = ТекДат + "_" + ТекМилиСек; @@ -16160,9 +16160,9 @@ ОбъектКонтекстСохраняемый.Вставить("ТестовоеПриложение", ТестовоеПриложение); - МаксДата = ТекущаяДата() + Объект.ТаймаутЗапуска1С; + МаксДата = ТекущаяДатаСеанса() + Объект.ТаймаутЗапуска1С; Пока Истина Цикл - Если ТекущаяДата() > МаксДата Тогда + Если ТекущаяДатаСеанса() > МаксДата Тогда ВызватьИсключение "Не смог подключить TestClient. Прерывание по таймауту <" + Объект.ТаймаутЗапуска1С + ">"; КонецЕсли; diff --git "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f586a090c..5ec6e3c9c 100644 --- "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -45,7 +45,6 @@ Процедура Подождать(Парам = 200) ПромДат = ТекущаяУниверсальнаяДатаВМиллисекундах() + Парам; - //ПромДат = ТекущаяДата() + Парам; Пока ТекущаяУниверсальнаяДатаВМиллисекундах() < ПромДат Цикл Продолжить; КонецЦикла; diff --git "a/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a338bbc04..4283551d9 100644 --- "a/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -74,7 +74,7 @@ СоздатьПользоваталяИБНаСервере(Логин, Пароль); //Если НЕ КонтекстСохраняемый.Свойство("ВремяНачалаТестирования") Тогда - // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДата()); + // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДатаСеанса()); //КонецЕсли; // //ВремяНачалаТестирования = КонтекстСохраняемый.ВремяНачалаТестирования; @@ -104,12 +104,6 @@ //@ЯУдаляюПользователя(ИмяПользователя) Процедура ЯУдаляюПользователя(ИмяПользователя) Экспорт - //Если НЕ КонтекстСохраняемый.Свойство("ВремяНачалаТестирования") Тогда - // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДата()); - //КонецЕсли; - // - //ВремяНачалаТестирования = КонтекстСохраняемый.ВремяНачалаТестирования; - ЯУдаляюПользователяНаСервере(ИмяПользователя); КонецПроцедуры diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 051eb5277..e023920dc 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -682,7 +682,7 @@ ЭлементФормы = Ванесса.НайтиРеквизитОткрытойФормыПоЗаголовку(ИмяПоляОбработкаОжидания,ИскатьПоИмениОбрабткаОжидания,Ложь); Если ЭлементФормы = Неопределено Тогда - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); ТекстСообщения = "Ожидали в течение <%1> секунд появления поля <%2>. Но такой элемент на форме не найден."; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -707,7 +707,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); ТекстСообщения = "Ожидали в течение <%1> секунд появления поля <%2>. ТекущаяВидимость=%3"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -721,7 +721,7 @@ &НаКлиенте Процедура ВОткрытойФормеЯЖдуПоявленияЭлементаВТеченииСекунд(ИмяЭлемента, КоличествоСекунд = 10, ИскатьПоИмени = Ложь) Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяПоляОбработкаОжидания = ИмяЭлемента; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); @@ -814,7 +814,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияУЭлементаЯЖдуЗначенияВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у поля <%2> значения <%3>. Текущее значение <%4>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -832,7 +832,7 @@ //@УЭлементаЯЖдуЗначенияВТеченииСекунд(Парам01,Парам02) Процедура УЭлементаЯЖдуЗначенияВТеченииСекунд(ИмяПоля,Значение,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; ЗначениеОбрабткаОжидания = Значение; @@ -1590,7 +1590,7 @@ &НаКлиенте Процедура ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания() - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания"); ТекстСообщения = "Ожидали в течение <%1> секунд, что закроется окно с заголовком <%2>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -1617,11 +1617,11 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ЗначениеОбрабткаОжидания = ИмяОкна; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); - Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл + Пока (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания); @@ -1671,7 +1671,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ЯЖдуОткрытияОкнаВТеченииСекундОбработчикОжидания"); ТекстСообщения = "Ожидали в течение <%1> секунд, что откроется окно с заголовком <%2>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -1689,7 +1689,7 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ЗначениеОбрабткаОжидания = ИмяОкна; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ПодключитьОбработчикОжидания("ЯЖдуОткрытияОкнаВТеченииСекундОбработчикОжидания",1,Ложь); @@ -4251,7 +4251,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Таблица <%1 не стала равной за <%2> секунд. %3"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяТаблицыОбработкаОжидания); @@ -4321,7 +4321,7 @@ Процедура ЯЖдуЧтоТаблицаСтанетРавнаДаннойВТеченииСекунд(ИмяТаблицы,КоличествоСекунд,ТабПарам) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяТаблицыОбработкаОжидания = ИмяТаблицы; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ТабПарамОбработкаОжидания = ТабПарам; @@ -5747,7 +5747,7 @@ //И в поле "ИмяПоля" я ввожу текущую дату //@ВПолеЯВвожуТекущуюДату(Парам01) Процедура ВПолеЯВвожуТекущуюДату(ИмяПоля,ИскатьПоИмени = Ложь) Экспорт - Текст = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"); + Текст = Формат(ТекущаяДатаСеанса(),"ДФ=dd.MM.yyyy"); Если ИскатьПоИмени Тогда ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); @@ -5767,7 +5767,7 @@ //И в поле с именем "ИмяПоля" я ввожу начало текущего месяца //@ВПолеСИменемЯВвожуНачалоТекущегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуНачалоТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5775,7 +5775,7 @@ //И в поле с именем "ИмяПоля" я ввожу конец текущего месяца //@ВПолеСИменемЯВвожуКонецТекущегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуКонецТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5783,7 +5783,7 @@ //И в поле с именем "ИмяПоля" я ввожу начало следующего месяца //@ВПолеСИменемЯВвожуНачалоСледующегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуНачалоСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5791,7 +5791,7 @@ //И в поле с именем "ИмяПоля" я ввожу конец следующего месяца //@ВПолеСИменемЯВвожуКонецСледующегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуКонецСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5799,7 +5799,7 @@ //И в поле "ИмяПоля" я ввожу начало текущего месяца //@ВПолеЯВвожуНачалоТекущегоМесяца(Парам01) Процедура ВПолеЯВвожуНачалоТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5807,7 +5807,7 @@ //И в поле "ИмяПоля" я ввожу конец текущего месяца //@ВПолеЯВвожуКонецТекущегоМесяца(Парам01) Процедура ВПолеЯВвожуКонецТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5815,7 +5815,7 @@ //И в поле "ИмяПоля" я ввожу начало следующего месяца //@ВПолеЯВвожуНачалоСледующегоМесяца(Парам01) Процедура ВПолеЯВвожуНачалоСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5823,7 +5823,7 @@ //И в поле "ИмяПоля" я ввожу конец следующего месяца //@ВПолеЯВвожуКонецСледующегоМесяца(Парам01) Процедура ВПолеЯВвожуКонецСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5831,7 +5831,7 @@ //И в поле "ИмяПоля" я ввожу текущую дату и текущее время //@ВПолеЯВвожуТекущуюДатуИТекущееВремя(Парам01) Процедура ВПолеЯВвожуТекущуюДатуИТекущееВремя(ИмяПоля,ИскатьПоИмени = Ложь) Экспорт - Текст = Строка(ТекущаяДата()); + Текст = Строка(ТекущаяДатаСеанса()); Если ИскатьПоИмени Тогда ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); @@ -6117,7 +6117,7 @@ //И в таблице "ТабличнаяЧасть1" в поле "Реквизит число" я ввожу текущую дату //@ВТаблицеВПолеЯВвожуТекущуюДату(Парам01,Парам02) Процедура ВТаблицеВПолеЯВвожуТекущуюДату(Парам01,Парам02) Экспорт - Текст = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"); + Текст = Формат(ТекущаяДатаСеанса(),"ДФ=dd.MM.yyyy"); ВТЧВПолеЯВвожуТекст(Парам01,Парам02,Текст); КонецПроцедуры @@ -7786,7 +7786,7 @@ Процедура ЯЖдуЧтоВТаблицеКоличествоСтрокБудетВТеченииСекунд(ИмяТаблицы,ВидСравнения,КоличествоСтрок,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяТаблицыОбработкаОжидания = ИмяТаблицы; ВидСравненияОбрабткаОжидания = Ванесса.ПолучитьОператорПоТексту(ВидСравнения); КоличествоСтрокОбработкаОжидания = КоличествоСтрок; @@ -7838,7 +7838,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияЯЖдуЧтоВТаблицеКоличествоСтрокБудетВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у таблицы <%2> количество строк %3 %4. Текущее количество строк <%5>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -7858,7 +7858,7 @@ Процедура ЯЖдуЧтоВОкнеВТаблицеКоличествоСтрокБудетВТеченииСекунд(ИмяОкна,ИмяТаблицы,ВидСравнения,КоличествоСтрок,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяОкнаОбработкаОжидания = ИмяОкна; ИмяТаблицыОбработкаОжидания = ИмяТаблицы; ВидСравненияОбрабткаОжидания = Ванесса.ПолучитьОператорПоТексту(ВидСравнения); @@ -7928,7 +7928,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияЯЖдуЧтоВОкнеВТаблицеКоличествоСтрокБудетВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у таблицы <%2> количество строк %3 %4. Текущее количество строк <%5>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -8458,7 +8458,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Ожидали в течение <%1> секунд, что поле <%2> будет заполненным."; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -8475,7 +8475,7 @@ Процедура ЯЖдуЧтоПолеПерестанетБытьПустымВТеченииСекунд(ИмяПоля,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); @@ -8549,7 +8549,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Ожидали, что у группы <%1> текущей страницей будет <%2>, а оказалась <%3>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяПоляОбработкаОжидания); @@ -8567,7 +8567,7 @@ Процедура ЯЖдуЧтоУГруппыСтраницТекущейСтраницейСтанетВТеченииСекунд(ГруппаСтраниц,ТекущаяСтраница,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяПоляОбработкаОжидания = ГруппаСтраниц; ИскатьПоИмениОбрабткаОжидания = Истина; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 746c8d51c..7aa196b7f 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -203,7 +203,7 @@ Функция ПроверитьЗавершениеФоновогоЗаданияНаСервере() СтруктураОтбора = Новый Структура(); СтруктураОтбора.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); - //СтруктураОтбора.Вставить("Начало", ТекущаяДата() - 60); + //СтруктураОтбора.Вставить("Начало", ТекущаяДатаСеанса() - 60); СтруктураОтбора.Вставить("РегламентноеЗадание", Неопределено); МассивФоновыхЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(СтруктураОтбора); Для каждого ФоновоеЗадание Из МассивФоновыхЗаданий Цикл @@ -266,7 +266,7 @@ Если ЗначениеЗаполнено(ТекстОбласти) Тогда Ванесса.ПродолжитьВыполнениеШагов(Ложь); Иначе - Если ТаймаутОжиданияОжиданияТекстаОбласти < ТекущаяДата() Тогда + Если ТаймаутОжиданияОжиданияТекстаОбласти < ТекущаяДатаСеанса() Тогда Ванесса.ПродолжитьВыполнениеШагов(Истина,"Ожидали, что ячейка <" + АдресТабличногоДокумента + "> будет заполнена."); Иначе ПодключитьОбработчикОжидания("ПроверитьЗначениеЯчейкиТабличногоДокумента", 1, Истина); @@ -278,7 +278,7 @@ //И я жду когда в табличном документе "РеквизитТабличныйДокумент" заполнится ячейка "r4c2" в течение 120 секунд //@ЯЖдуКогдаВТабличномДокументеЗаполнитсяЯчейкаВТечениеСекунд(Парам01,Парам02,Парам03) Процедура ЯЖдуКогдаВТабличномДокументеЗаполнитсяЯчейкаВТечениеСекунд(ИмяТабДок,АдресЯчейки,КолСекунд) Экспорт - ТаймаутОжиданияОжиданияТекстаОбласти = ТекущаяДата() + Число(КолСекунд); + ТаймаутОжиданияОжиданияТекстаОбласти = ТекущаяДатаСеанса() + Число(КолСекунд); ИмяТабличногоДокумента = ИмяТабДок; АдресТабличногоДокумента = АдресЯчейки; @@ -335,7 +335,7 @@ КонецЦикла; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.ПродолжитьВыполнениеШагов(Истина,"Ожидали, что в сообщениях пользователю будет подстрока <" + НужнаяПодстрокаВСообщениях + ">"); Возврат; @@ -348,7 +348,7 @@ Процедура ЯЖдуЧтоВСообщенияхПользователюБудетПодстрокаВТеченииСекунд(Стр,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); НужнаяПодстрокаВСообщениях = Стр; ПодключитьОбработчикОжидания("ОбработичкЯЖдуЧтоВСообщенияхПользователюБудетПодстрокаВТеченииСекунд",1); diff --git "a/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8295b54df..2d900a41a 100644 --- "a/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -243,7 +243,7 @@ ТекИДФичи = КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов; - Сообщить("" + ТекущаяДата() + ". Однопоточная фича №" + (КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.ОднопоточныйМассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); + Сообщить("" + ТекущаяДатаСеанса() + ". Однопоточная фича №" + (КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.ОднопоточныйМассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); КонецЕсли; КонецЕсли; @@ -259,7 +259,7 @@ ТекИДФичи = КонтекстСохраняемый.ТекущийИДМассивФичаФайлов; - Сообщить("" + ТекущаяДата() + ". Обычная фича №" + (КонтекстСохраняемый.ТекущийИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.МассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); + Сообщить("" + ТекущаяДатаСеанса() + ". Обычная фича №" + (КонтекстСохраняемый.ТекущийИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.МассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); КонецЕсли; КонецЕсли; diff --git "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cb13f5f8a..40ab4fef7 100644 --- "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -94,7 +94,7 @@ //@ВыполняюМетодРегламентногоЗаданияСИменем(Парам01) Процедура ВыполняюМетодРегламентногоЗаданияСИменем(ИмяРегламентногоЗадания) Экспорт //Ванесса.ПосмотретьЗначение(Парам01,Истина); - ДатаНачала = ТекущаяДата(); + ДатаНачала = ТекущаяДатаСеанса(); Имя = ВыполняюМетодРегламентногоЗаданияСИменемСервер(ИмяРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -104,7 +104,7 @@ //@ВыполняюМетодРегламентногоЗадания(Парам01) Процедура ВыполняюМетодРегламентногоЗадания(СинонимРегламентногоЗадания) Экспорт //Ванесса.ПосмотретьЗначение(Парам01,Истина); - ДатаНачала = ТекущаяДата(); + ДатаНачала = ТекущаяДатаСеанса(); Имя = ВыполняюМетодРегламентногоЗаданияПоСинонимуСервер(СинонимРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -113,7 +113,7 @@ //Когда запускаю регламентное задание с именем "ИмяИзМетаданных" //@ЗапускаюРегламентноеЗаданиеСИменем(Парам01) Процедура ЗапускаюРегламентноеЗаданиеСИменем(ИмяРегламентногоЗадания) Экспорт - ДатаНачала = ТекущаяДата(); + ДатаНачала = ТекущаяДатаСеанса(); Имя = ЗапускаюРегламентноеЗаданиеСИменемСервер(ИмяРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -122,7 +122,7 @@ //Когда запускаю регламентное задание "Заголовок задания" //@ЗапускаюРегламентноеЗадание(Парам01) Процедура ЗапускаюРегламентноеЗадание(СинонимРегламентногоЗадания) Экспорт - ДатаНачала = ТекущаяДата(); + ДатаНачала = ТекущаяДатаСеанса(); Имя = ЗапускаюРегламентноеЗаданиеПоСинонимуСервер(СинонимРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -135,7 +135,7 @@ ИмяРегламентногоЗадания = ПарамИмяРегламентногоЗадания; КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДата(); + ДатаНачалаОжидания = ТекущаяДатаСеанса(); ПодключитьОбработчикОжидания("ОбработчикОжидания_РегламентныеЗадания", 1); КонецПроцедуры @@ -148,7 +148,7 @@ ИмяРегламентногоЗадания = НайтиИмяРегламентногоЗаданияПоСинонимуСервер(СинонимРегламентногоЗадания); КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДата(); + ДатаНачалаОжидания = ТекущаяДатаСеанса(); ПодключитьОбработчикОжидания("ОбработчикОжидания_РегламентныеЗадания", 1); КонецПроцедуры @@ -178,7 +178,7 @@ //Когда запускаю фоновое задание с методом "СлужебныйМодуль.МетодРегламентногоЗадания1" //@ЗапускаюФоновоеЗаданиеСМетодом(Парам01) Процедура ЗапускаюФоновоеЗаданиеСМетодом(ИмяМетода) Экспорт - ДатаНачала = ТекущаяДата(); + ДатаНачала = ТекущаяДатаСеанса(); ЗапускаюФоновоеЗаданиеСМетодомСервер(ИмяМетода); ДобавитьОписаниеЗаданияПоИмениМетодаВКонтекст(ИмяМетода, ДатаНачала); КонецПроцедуры @@ -191,7 +191,7 @@ ИмяМетода = ПарамИмяМетода; КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДата(); + ДатаНачалаОжидания = ТекущаяДатаСеанса(); ПодключитьОбработчикОжидания("ОбработчикОжидания_Фоновые_ПоИмениМетода", 1); КонецПроцедуры @@ -291,7 +291,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДата() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; @@ -312,7 +312,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДата() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; diff --git "a/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" "b/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" index 8423d3638..7f876970b 100644 --- "a/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" +++ "b/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" @@ -68,7 +68,7 @@ ДокументОбъект = Документы[ИмяДокумента].СоздатьДокумент(); ДокументОбъект.Номер = НомерДокумента; - ДокументОбъект.Дата = ТекущаяДата(); + ДокументОбъект.Дата = ТекущаяДатаСеанса(); ДокументОбъект.ОбменДанными.Загрузка = Истина; ДокументОбъект.Записать(); diff --git "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4b7757ff1..7666d745c 100644 --- "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -55,7 +55,7 @@ Процедура ОбработчикОжидания() ИмяОбработчика = "ОбработчикОжидания"; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) >= КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) >= КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; @@ -80,10 +80,10 @@ Если КонтекстСохраняемый.Свойство("ТестовоеПриложение") Тогда - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КолСекунд); - Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл + Пока (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл ЗаголовокПауза = Строка(Новый УникальныйИдентификатор); КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 1); @@ -103,7 +103,7 @@ Ванесса.ЗапретитьВыполнениеШагов(); КоличествоСекундОбработкаОжидания = КолСекунд; - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ПодключитьОбработчикОжидания("ОбработчикОжидания", 1, Ложь); КонецПроцедуры diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f2eb4861b..1d0d9c7cd 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -309,7 +309,7 @@ Процедура ВЯщикеЕстьНовыеПисьма() Экспорт ИнициализироватьПараметрыFakeMail(); - ТекДата = УниверсальноеВремя(ТекущаяДата()); + ТекДата = УниверсальноеВремя(ТекущаяДатаСеанса()); Начало = ТекДата - ПолучитьТаймАут(); Конец = ТекДата + ПолучитьТаймАут(); diff --git "a/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f87c6705c..512340ccd 100644 --- "a/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -612,7 +612,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(); @@ -627,7 +627,7 @@ Процедура ПолеСталоРавноВТечениеСекундТогда(ИмяПоля,Значение,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; ЗначениеОбрабткаОжидания = Значение; @@ -666,7 +666,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(); @@ -684,7 +684,7 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); ИмяОкнаОбработкаОжидания = ЗаголовокОкна; //для этого шага таймаут берём тот, что указан в шаге КоличествоСекундОбработкаОжидания = КоличествоСекунд; diff --git "a/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0b872ca1c..ebcc85388 100644 --- "a/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -157,10 +157,10 @@ Процедура ОбработчикОжиданияВТечениеСекундЯВыполняю() ИмяОбработчика = "ОбработчикОжиданияВТечениеСекундЯВыполняю"; - Ванесса.Отладка("Текущий момент: " + ТекущаяДата()); + Ванесса.Отладка("Текущий момент: " + ТекущаяДатаСеанса()); Ванесса.Отладка("Дата окончания ожидания: " + ДатаОкончанияОбработкиОжидания); - Если ТекущаяДата() >= ДатаОкончанияОбработкиОжидания Тогда + Если ТекущаяДатаСеанса() >= ДатаОкончанияОбработкиОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(Истина,"Не удалось дождаться события завершения цикла в течение <" + КоличествоСекундОбработкаОжидания + "> секунд."); @@ -189,7 +189,7 @@ ИЛИ Контекст.ОжидатьЗавершениеЦикла <> Истина Тогда Контекст.Вставить("ОжидатьЗавершениеЦикла", Истина); - ДатаНачалаОбработкиОжидания = ТекущаяДата(); + ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ДатаОкончанияОбработкиОжидания = ДатаНачалаОбработкиОжидания + КоличествоСекундОбработкаОжидания; diff --git a/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl b/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl index 0aa8e9250..d0053f00c 100644 --- a/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl +++ b/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl @@ -687,7 +687,7 @@ #Область СлужебныеПроцедурыИФункции Процедура СделатьСообщение(Знач Сообщение) - Сообщить(Строка(ТекущаяДата()) + " " + Сообщение); + Сообщить(Строка(ТекущаяДатаСеанса()) + " " + Сообщение); КонецПроцедуры Процедура СделатьПереводТекстаGherkin(ДанныеПеревода) Экспорт diff --git "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1550fe614..ae8e3cdd2 100644 --- "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -549,7 +549,7 @@ Если ПараметрыВидео.Ванесса.ФайлСуществуетКомандаСистемы(КаталогМузыки) Тогда СписокФайловКаталога = ПолучитьСписокФайловКаталога(ПараметрыВидео,КаталогМузыки); Если СписокФайловКаталога.Количество() > 0 Тогда - ТекДата = Формат(ТекущаяДата(),"DF=dd.MM.yyyy"); + ТекДата = Формат(ТекущаяДатаСеанса(),"DF=dd.MM.yyyy"); ТекДата = СтрЗаменить(ТекДата," ",""); ТекДата = СтрЗаменить(ТекДата,":",""); ТекДата = СтрЗаменить(ТекДата,".",""); @@ -594,7 +594,7 @@ Голос = ""; - СтрокаВыводаФичи = "Видео создано автоматически\n" + ТекущаяДата() + "\n\nКоличество сценариев: " + ПараметрыВидео.МассивСценариевДляВыполнения.Количество() + "\nКоличество шагов: "+КолШагов + "\nВерсия Vanessa-ADD: " + СтрЗаменить(ПараметрыВидео.Ванесса.Заголовок,"ver","") + "\nВерсия скрипта сборки видео: " + ВерсияСкриптаСборкиВидео + АудиоТрек + Голос; + СтрокаВыводаФичи = "Видео создано автоматически\n" + ТекущаяДатаСеанса() + "\n\nКоличество сценариев: " + ПараметрыВидео.МассивСценариевДляВыполнения.Количество() + "\nКоличество шагов: "+КолШагов + "\nВерсия Vanessa-ADD: " + СтрЗаменить(ПараметрыВидео.Ванесса.Заголовок,"ver","") + "\nВерсия скрипта сборки видео: " + ВерсияСкриптаСборкиВидео + АудиоТрек + Голос; КартинкаТекст = СоздатьКартинкуИзТекста(ПараметрыВидео,СтрокаВыводаФичи,"caption",70); ФайлВидео = СоздатьВидеоНужнойДлительностиИзКартинки(ПараметрыВидео,КартинкаТекст,5,,Ложь); @@ -1623,11 +1623,11 @@ //проверим что появился файл СчетчикПроверок = 0; МаксСчетчикПроверок = 30; - ТекДат = ТекущаяДата(); + ТекДат = ТекущаяДатаСеанса(); Пока Истина Цикл СчетчикПроверок = СчетчикПроверок + 1; - Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДата() >= (ТекДат+МаксСчетчикПроверок)) Тогда + Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДатаСеанса() >= (ТекДат+МаксСчетчикПроверок)) Тогда ВызватьИсключение "Не найден файл <" + ПараметрыВидео.ТекущийФайлВидео + ">"; КонецЕсли; @@ -1706,11 +1706,11 @@ //ждём чтобы файл появился на диске СчетчикПроверок = 0; МаксСчетчикПроверок = 20; - ТекДат = ТекущаяДата(); + ТекДат = ТекущаяДатаСеанса(); Пока Истина Цикл СчетчикПроверок = СчетчикПроверок + 1; - Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДата() >= (ТекДат+МаксСчетчикПроверок)) Тогда + Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДатаСеанса() >= (ТекДат+МаксСчетчикПроверок)) Тогда ВызватьИсключение "Не найден файл <" + ИмяФайлаВидео + ">"; КонецЕсли; @@ -1762,7 +1762,7 @@ //надо дать vlc закрыться МаксКолПопыток = 10; КолПопыток = 0; - ТекДат = ТекущаяДата(); + ТекДат = ТекущаяДатаСеанса(); Пока Истина Цикл КолПопыток = КолПопыток + 1; @@ -1773,7 +1773,7 @@ ПараметрыВидео.Ванесса.Sleep(1); - Если (КолПопыток >= МаксКолПопыток) и (ТекущаяДата() >= (ТекДат + МаксКолПопыток)) Тогда + Если (КолПопыток >= МаксКолПопыток) и (ТекущаяДатаСеанса() >= (ТекДат + МаксКолПопыток)) Тогда Прервать; КонецЕсли; diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 81f083bde..d5da88339 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -622,7 +622,7 @@ ВыполнитьАвтозаполнениеПараметров("Документ", ИмяДокумента, ПараметрыДокумента); Документ = Документы[ИмяДокумента].СоздатьДокумент(); - Документ.Дата = ТекущаяДата(); + Документ.Дата = ТекущаяДатаСеанса(); Документ.УстановитьНовыйНомер(); ЗаполнитьЗначенияСвойств(Документ, ПараметрыДокумента); diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index 9594e6935..9ebe860c2 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -1047,7 +1047,7 @@ //Служебные поля и значения Если Не ЗначениеЗаполнено(Объект.Дата) Тогда - Объект.Дата = ТекущаяДата(); + Объект.Дата = ТекущаяДатаСеанса(); КонецЕсли; Если Не ЗначениеЗаполнено(Объект.Номер) тогда Объект.УстановитьНовыйНомер(); @@ -1778,7 +1778,7 @@ ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; КонецЕсли; ИначеЕсли ВРег(стрПоле.Режим) = "ТЕКУЩАЯДАТА" Тогда - Значение = ТекущаяДата(); + Значение = ТекущаяДатаСеанса(); ИначеЕсли ВРег(стрПоле.Режим) = "ВЫРАЖЕНИЕ" Тогда Значение = Вычислить(стрПоле.Значение); Иначе diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 79b59544f..d478c9791 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -132,9 +132,9 @@ УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); + ВремяОкончанияОжидания = ТекущаяДатаСеанса() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл + Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл Попытка Результат.УстановитьСоединение(); Подключен = Истина; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 2a84d4d36..33c8ad85f 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -109,7 +109,7 @@ Возврат; КонецЕсли; - Док.Дата = ТекущаяДата(); + Док.Дата = ТекущаяДатаСеанса(); Док.ОбменДанными.Загрузка = Истина; Док.Записать(); @@ -1511,7 +1511,7 @@ Элем.УстановитьНовыйНомер(); КонецЕсли; - Элем.Дата = ТекущаяДата(); + Элем.Дата = ТекущаяДатаСеанса(); Если ЕстьНастройка("БизнесПроцессы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.БизнесПроцессы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл diff --git "a/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6dc44f434..2a3fd533b 100644 --- "a/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -222,9 +222,9 @@ КонецЕсли; Подключен = Ложь; - ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; + ВремяОкончанияОжидания = ТекущаяДатаСеанса() + ТаймаутОжиданияПриложенияВСекундах; //60; ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл + Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл Попытка тестовоеПриложение.УстановитьСоединение(); Подключен = Истина; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 8a0876d96..0ad957487 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -85,7 +85,7 @@ Данные.НачатьСоздание("РегистрНакопления.РегистрНакопленияОстатки") .Реквизит("_ОтборРегистратор", Данные.СоздатьДокумент("ДокументСДвижениями")) - .Реквизит("Период", НачалоДня(ТекущаяДата())) + .Реквизит("Период", НачалоДня(ТекущаяДатаСеанса())) .Реквизит("ВидДвижения", ВидДвиженияНакопления.Приход) .ШапкаНабора("Измерение1", "РесурсЧисло1") .ЗаписьНабора("Тестовое1", 100) diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index 5f23cb666..d07a45b8a 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -481,7 +481,7 @@ Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДатаСеанса(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДатаСеанса() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); КонецПроцедуры Процедура ТестДолжен_СоздатьДокумент_РежимЗаписи_Проведение() Экспорт @@ -1043,7 +1043,7 @@ Утверждения.ПроверитьТип(ТестовыеДанные.ПростойБП, "БизнесПроцессСсылка.БизнесПроцесс1"); Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП.ПростойСправочник, ТестовыеДанные.ПростойСправочник); Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП, ТестовыеДанные.Действие1.БизнесПроцесс); - // Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); + // Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДатаСеанса(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДатаСеанса() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ПростойБП.ТабличнаяЧасть1.Количество()); diff --git a/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl b/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl index 2d7e32dd6..e0abd2520 100644 --- a/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl +++ b/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl @@ -1,4 +1,4 @@ -Var CreatedInWindowAndFormVariables; +Var CreatedInWindow)AndFormVariables; Var Indent; Function Convert(TextToConvert) Export @@ -187,10 +187,10 @@ Procedure ConvertIntoScenario(Reader, Writer) Indent = Indent + 1; AddLine(Writer, ? (ScriptVariant = "en", "TestApplication = New TestedApplication();", "ТестовоеПриложение = Новый ТестируемоеПриложение();")); - AddLine(Writer, ? (ScriptVariant = "en", "TimeOut = CurrentDate() + 60;", "ВремяОкончанияОжидания = ТекущаяДата() + 60;")); + AddLine(Writer, ? (ScriptVariant = "en", "TimeOut = CurrentDate() + 60;", "ВремяОкончанияОжидания = ТекущаяДатаСеанса() + 60;")); AddLine(Writer, ? (ScriptVariant = "en", "Connected = False;", "Подключен = Ложь;")); AddLine(Writer, ? (ScriptVariant = "en", "ConnectionErrorDescription = """";", "ОписаниеОшибкиСоединения = """";")); - AddLine(Writer, ? (ScriptVariant = "en", "While Not CurrentDate() >= TimeOut Do", "Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл")); + AddLine(Writer, ? (ScriptVariant = "en", "While Not CurrentDate() >= TimeOut Do", "Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл")); AddLine(Writer, ? (ScriptVariant = "en", " Try", " Попытка")); AddLine(Writer, ? (ScriptVariant = "en", " TestApplication.Connect();", " ТестовоеПриложение.УстановитьСоединение();")); AddLine(Writer, ? (ScriptVariant = "en", " Connected = True;", " Подключен = Истина;")); From 89ecb6c473a1d213b719c0923a11b7540e3caf16 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 17:17:10 +0300 Subject: [PATCH 184/421] =?UTF-8?q?=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=208.3.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/README.md | 4 ++-- lib/CF/83xdd/Configuration.xml | 2 +- lib/CF/83xddNoSync/Configuration.xml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/README.md b/doc/README.md index 196229f34..3e176d9ae 100644 --- a/doc/README.md +++ b/doc/README.md @@ -16,9 +16,9 @@ - [Документация по разделу xdd/tdd](/doc/xdd/README.MD) - [BDD-Документация по фреймворку Vanessa.Add](/doc/bdd/README.md) -Vanessa.ADD работает с гарантией на платформах 1С версии 8.3.6 и выше в режиме совместимости с 8.3.6 и выше. +Vanessa.ADD работает с гарантией на платформах 1С версии 8.3.8 и выше в режиме совместимости с 8.3.8 и выше. - Рекомендуется режим совместимости 8.3.8 или выше -Частично поддерживаются режимы совместимости от 8.2.16 до 8.3.5 +Частично поддерживаются режимы совместимости от 8.2.16 до 8.3.7 ## Разделы справки diff --git a/lib/CF/83xdd/Configuration.xml b/lib/CF/83xdd/Configuration.xml index 3c3c950e8..b684dee37 100644 --- a/lib/CF/83xdd/Configuration.xml +++ b/lib/CF/83xdd/Configuration.xml @@ -118,7 +118,7 @@ Use Use TaxiEnableVersion8_2 - Version8_3_5 + Version8_3_8 diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index fca5690bd..9cbbe616a 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -118,7 +118,7 @@ DontUse DontUse TaxiEnableVersion8_2 - Version8_3_5 + Version8_3_8 From 857a6a25d1cf5d8806308655853925ded2eab5c7 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 17:25:10 +0300 Subject: [PATCH 185/421] =?UTF-8?q?=D0=BA=D0=B5=D1=88=20=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=20=D0=B3=D0=B8=D1=82=D0=BB=D0=B0=D0=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0faccfa85..1cfacc31a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,11 @@ variables: CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci-env.json" EPF_CACHE_PATH: E:\vanessa-add-artifacts\develop +cache: + paths: + - .\build\cache.json + - .\**\*.epf + stages: - Подготовка - Сборка пакета From 244155a36db7e88405c9a4c98122fb85c8a576fb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 8 Nov 2020 19:53:35 +0300 Subject: [PATCH 186/421] =?UTF-8?q?Revert=20"=D0=97=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=A2=D0=B5=D0=BA=D1=83=D1=89=D0=B0=D1=8F=D0=94?= =?UTF-8?q?=D0=B0=D1=82=D0=B0()"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9ebd0f8600bc36f42315a6ea46c27425d51fbb38. --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 10 +-- .../Ext/Form/Module.bsl" | 1 + .../Ext/Form/Module.bsl" | 8 ++- .../Ext/Form/Module.bsl" | 62 +++++++++---------- .../Ext/Form/Module.bsl" | 10 +-- .../Ext/Form/Module.bsl" | 4 +- .../Ext/Form/Module.bsl" | 20 +++--- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 8 +-- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 8 +-- .../Ext/Form/Module.bsl" | 6 +- .../vbFeatureReader/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 16 ++--- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 4 +- .../Ext/Form/Module.bsl" | 4 +- .../Ext/ObjectModule.bsl" | 4 +- .../Ext/Form/Module.bsl" | 4 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 4 +- .../UILogToScript/Ext/ObjectModule.bsl | 6 +- 23 files changed, 99 insertions(+), 92 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 08a406cc4..88b70e086 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -156,7 +156,7 @@ Сообщение = Транслит(Сообщение); КонецЕсли; - Сообщить(Строка(ТекущаяДатаСеанса()) + " " + Сообщение, ТипСообщения); + Сообщить(Строка(ТекущаяДата()) + " " + Сообщение, ТипСообщения); КонецПроцедуры Процедура Отладка(Знач Сообщение) Экспорт diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3b45a3537..c1c9b8518 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2143,7 +2143,7 @@ КонецЕсли; КонецЕсли; - ТекстСообщения = Строка(ТекущаяДатаСеанса()) + " " + Сообщение; + ТекстСообщения = Строка(ТекущаяДата()) + " " + Сообщение; Возврат ТекстСообщения; КонецФункции @@ -5076,7 +5076,7 @@ Отладка(СтрШаблон_("ВремяИзмененияФайлаКомандаСистемы - %1", ИмяФайла)); Если ЕстьПоддержкаАсинхронныхВызовов Тогда Если ЭтоLinux Тогда - Возврат ТекущаяДатаСеанса(); + Возврат ТекущаяДата(); //ВызватьИсключение "TODO: Сделать для Linux."; КонецЕсли; @@ -12005,7 +12005,7 @@ &НаКлиенте Функция ПолучитьОтметкуВремениДляИмениФайла() - ТекДат = Формат(ТекущаяДатаСеанса(), "ДФ=yyyyMMdd"); + ТекДат = Формат(ТекущаяДата(), "ДФ=yyyyMMdd"); ТекМилиСек = ТекущаяУниверсальнаяДатаВМиллисекундах(); Стр = ТекДат + "_" + ТекМилиСек; @@ -16160,9 +16160,9 @@ ОбъектКонтекстСохраняемый.Вставить("ТестовоеПриложение", ТестовоеПриложение); - МаксДата = ТекущаяДатаСеанса() + Объект.ТаймаутЗапуска1С; + МаксДата = ТекущаяДата() + Объект.ТаймаутЗапуска1С; Пока Истина Цикл - Если ТекущаяДатаСеанса() > МаксДата Тогда + Если ТекущаяДата() > МаксДата Тогда ВызватьИсключение "Не смог подключить TestClient. Прерывание по таймауту <" + Объект.ТаймаутЗапуска1С + ">"; КонецЕсли; diff --git "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5ec6e3c9c..f586a090c 100644 --- "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -45,6 +45,7 @@ Процедура Подождать(Парам = 200) ПромДат = ТекущаяУниверсальнаяДатаВМиллисекундах() + Парам; + //ПромДат = ТекущаяДата() + Парам; Пока ТекущаяУниверсальнаяДатаВМиллисекундах() < ПромДат Цикл Продолжить; КонецЦикла; diff --git "a/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4283551d9..a338bbc04 100644 --- "a/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/TestClients/step_definitions/many_test_clients_one_scenario/many_test_clients_one_scenario/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -74,7 +74,7 @@ СоздатьПользоваталяИБНаСервере(Логин, Пароль); //Если НЕ КонтекстСохраняемый.Свойство("ВремяНачалаТестирования") Тогда - // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДатаСеанса()); + // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДата()); //КонецЕсли; // //ВремяНачалаТестирования = КонтекстСохраняемый.ВремяНачалаТестирования; @@ -104,6 +104,12 @@ //@ЯУдаляюПользователя(ИмяПользователя) Процедура ЯУдаляюПользователя(ИмяПользователя) Экспорт + //Если НЕ КонтекстСохраняемый.Свойство("ВремяНачалаТестирования") Тогда + // КонтекстСохраняемый.Вставить("ВремяНачалаТестирования", ТекущаяДата()); + //КонецЕсли; + // + //ВремяНачалаТестирования = КонтекстСохраняемый.ВремяНачалаТестирования; + ЯУдаляюПользователяНаСервере(ИмяПользователя); КонецПроцедуры diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e023920dc..051eb5277 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -682,7 +682,7 @@ ЭлементФормы = Ванесса.НайтиРеквизитОткрытойФормыПоЗаголовку(ИмяПоляОбработкаОжидания,ИскатьПоИмениОбрабткаОжидания,Ложь); Если ЭлементФормы = Неопределено Тогда - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); ТекстСообщения = "Ожидали в течение <%1> секунд появления поля <%2>. Но такой элемент на форме не найден."; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -707,7 +707,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); ТекстСообщения = "Ожидали в течение <%1> секунд появления поля <%2>. ТекущаяВидимость=%3"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -721,7 +721,7 @@ &НаКлиенте Процедура ВОткрытойФормеЯЖдуПоявленияЭлементаВТеченииСекунд(ИмяЭлемента, КоличествоСекунд = 10, ИскатьПоИмени = Ложь) Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяПоляОбработкаОжидания = ИмяЭлемента; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); @@ -814,7 +814,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияУЭлементаЯЖдуЗначенияВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у поля <%2> значения <%3>. Текущее значение <%4>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -832,7 +832,7 @@ //@УЭлементаЯЖдуЗначенияВТеченииСекунд(Парам01,Парам02) Процедура УЭлементаЯЖдуЗначенияВТеченииСекунд(ИмяПоля,Значение,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; ЗначениеОбрабткаОжидания = Значение; @@ -1590,7 +1590,7 @@ &НаКлиенте Процедура ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания() - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ЯЖдуЗакрытияОкнаВТеченииСекундОбработчикОжидания"); ТекстСообщения = "Ожидали в течение <%1> секунд, что закроется окно с заголовком <%2>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -1617,11 +1617,11 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ЗначениеОбрабткаОжидания = ИмяОкна; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); - Пока (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл + Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл НужноеОкно = Ванесса.НайтиОкноTestClientПоЗаголовку(ЗначениеОбрабткаОжидания); @@ -1671,7 +1671,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ЯЖдуОткрытияОкнаВТеченииСекундОбработчикОжидания"); ТекстСообщения = "Ожидали в течение <%1> секунд, что откроется окно с заголовком <%2>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -1689,7 +1689,7 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ЗначениеОбрабткаОжидания = ИмяОкна; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ПодключитьОбработчикОжидания("ЯЖдуОткрытияОкнаВТеченииСекундОбработчикОжидания",1,Ложь); @@ -4251,7 +4251,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Таблица <%1 не стала равной за <%2> секунд. %3"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяТаблицыОбработкаОжидания); @@ -4321,7 +4321,7 @@ Процедура ЯЖдуЧтоТаблицаСтанетРавнаДаннойВТеченииСекунд(ИмяТаблицы,КоличествоСекунд,ТабПарам) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяТаблицыОбработкаОжидания = ИмяТаблицы; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ТабПарамОбработкаОжидания = ТабПарам; @@ -5747,7 +5747,7 @@ //И в поле "ИмяПоля" я ввожу текущую дату //@ВПолеЯВвожуТекущуюДату(Парам01) Процедура ВПолеЯВвожуТекущуюДату(ИмяПоля,ИскатьПоИмени = Ложь) Экспорт - Текст = Формат(ТекущаяДатаСеанса(),"ДФ=dd.MM.yyyy"); + Текст = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"); Если ИскатьПоИмени Тогда ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); @@ -5767,7 +5767,7 @@ //И в поле с именем "ИмяПоля" я ввожу начало текущего месяца //@ВПолеСИменемЯВвожуНачалоТекущегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуНачалоТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5775,7 +5775,7 @@ //И в поле с именем "ИмяПоля" я ввожу конец текущего месяца //@ВПолеСИменемЯВвожуКонецТекущегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуКонецТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5783,7 +5783,7 @@ //И в поле с именем "ИмяПоля" я ввожу начало следующего месяца //@ВПолеСИменемЯВвожуНачалоСледующегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуНачалоСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5791,7 +5791,7 @@ //И в поле с именем "ИмяПоля" я ввожу конец следующего месяца //@ВПолеСИменемЯВвожуКонецСледующегоМесяца(Парам01) Процедура ВПолеСИменемЯВвожуКонецСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); КонецПроцедуры @@ -5799,7 +5799,7 @@ //И в поле "ИмяПоля" я ввожу начало текущего месяца //@ВПолеЯВвожуНачалоТекущегоМесяца(Парам01) Процедура ВПолеЯВвожуНачалоТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5807,7 +5807,7 @@ //И в поле "ИмяПоля" я ввожу конец текущего месяца //@ВПолеЯВвожуКонецТекущегоМесяца(Парам01) Процедура ВПолеЯВвожуКонецТекущегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ТекущаяДатаСеанса()),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ТекущаяДата()),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5815,7 +5815,7 @@ //И в поле "ИмяПоля" я ввожу начало следующего месяца //@ВПолеЯВвожуНачалоСледующегоМесяца(Парам01) Процедура ВПолеЯВвожуНачалоСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(НачалоМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5823,7 +5823,7 @@ //И в поле "ИмяПоля" я ввожу конец следующего месяца //@ВПолеЯВвожуКонецСледующегоМесяца(Парам01) Процедура ВПолеЯВвожуКонецСледующегоМесяца(ИмяПоля) Экспорт - Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДатаСеанса(),1)),"ДФ=dd.MM.yyyy"); + Текст = Формат(КонецМесяца(ДобавитьМесяц(ТекущаяДата(),1)),"ДФ=dd.MM.yyyy"); ВОткрытойФормеВПолеСЗаголовкомЯВвожуТекст(ИмяПоля,Текст,Неопределено); КонецПроцедуры @@ -5831,7 +5831,7 @@ //И в поле "ИмяПоля" я ввожу текущую дату и текущее время //@ВПолеЯВвожуТекущуюДатуИТекущееВремя(Парам01) Процедура ВПолеЯВвожуТекущуюДатуИТекущееВремя(ИмяПоля,ИскатьПоИмени = Ложь) Экспорт - Текст = Строка(ТекущаяДатаСеанса()); + Текст = Строка(ТекущаяДата()); Если ИскатьПоИмени Тогда ВОткрытойФормеВПолеСИменемЯВвожуТекст(ИмяПоля,Текст); @@ -6117,7 +6117,7 @@ //И в таблице "ТабличнаяЧасть1" в поле "Реквизит число" я ввожу текущую дату //@ВТаблицеВПолеЯВвожуТекущуюДату(Парам01,Парам02) Процедура ВТаблицеВПолеЯВвожуТекущуюДату(Парам01,Парам02) Экспорт - Текст = Формат(ТекущаяДатаСеанса(),"ДФ=dd.MM.yyyy"); + Текст = Формат(ТекущаяДата(),"ДФ=dd.MM.yyyy"); ВТЧВПолеЯВвожуТекст(Парам01,Парам02,Текст); КонецПроцедуры @@ -7786,7 +7786,7 @@ Процедура ЯЖдуЧтоВТаблицеКоличествоСтрокБудетВТеченииСекунд(ИмяТаблицы,ВидСравнения,КоличествоСтрок,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяТаблицыОбработкаОжидания = ИмяТаблицы; ВидСравненияОбрабткаОжидания = Ванесса.ПолучитьОператорПоТексту(ВидСравнения); КоличествоСтрокОбработкаОжидания = КоличествоСтрок; @@ -7838,7 +7838,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияЯЖдуЧтоВТаблицеКоличествоСтрокБудетВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у таблицы <%2> количество строк %3 %4. Текущее количество строк <%5>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -7858,7 +7858,7 @@ Процедура ЯЖдуЧтоВОкнеВТаблицеКоличествоСтрокБудетВТеченииСекунд(ИмяОкна,ИмяТаблицы,ВидСравнения,КоличествоСтрок,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяОкнаОбработкаОжидания = ИмяОкна; ИмяТаблицыОбработкаОжидания = ИмяТаблицы; ВидСравненияОбрабткаОжидания = Ванесса.ПолучитьОператорПоТексту(ВидСравнения); @@ -7928,7 +7928,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания("ОбработичкОжиданияЯЖдуЧтоВОкнеВТаблицеКоличествоСтрокБудетВТеченииСекунд"); ТекстСообщения = "Ожидали в течение <%1> секунд у таблицы <%2> количество строк %3 %4. Текущее количество строк <%5>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -8458,7 +8458,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Ожидали в течение <%1> секунд, что поле <%2> будет заполненным."; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",КоличествоСекундОбработкаОжидания); @@ -8475,7 +8475,7 @@ Процедура ЯЖдуЧтоПолеПерестанетБытьПустымВТеченииСекунд(ИмяПоля,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); @@ -8549,7 +8549,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); ТекстСообщения = "Ожидали, что у группы <%1> текущей страницей будет <%2>, а оказалась <%3>"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяПоляОбработкаОжидания); @@ -8567,7 +8567,7 @@ Процедура ЯЖдуЧтоУГруппыСтраницТекущейСтраницейСтанетВТеченииСекунд(ГруппаСтраниц,ТекущаяСтраница,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяПоляОбработкаОжидания = ГруппаСтраниц; ИскатьПоИмениОбрабткаОжидания = Истина; КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); diff --git "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7aa196b7f..746c8d51c 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\276\320\274\320\224\320\276\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -203,7 +203,7 @@ Функция ПроверитьЗавершениеФоновогоЗаданияНаСервере() СтруктураОтбора = Новый Структура(); СтруктураОтбора.Вставить("Состояние", СостояниеФоновогоЗадания.Активно); - //СтруктураОтбора.Вставить("Начало", ТекущаяДатаСеанса() - 60); + //СтруктураОтбора.Вставить("Начало", ТекущаяДата() - 60); СтруктураОтбора.Вставить("РегламентноеЗадание", Неопределено); МассивФоновыхЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(СтруктураОтбора); Для каждого ФоновоеЗадание Из МассивФоновыхЗаданий Цикл @@ -266,7 +266,7 @@ Если ЗначениеЗаполнено(ТекстОбласти) Тогда Ванесса.ПродолжитьВыполнениеШагов(Ложь); Иначе - Если ТаймаутОжиданияОжиданияТекстаОбласти < ТекущаяДатаСеанса() Тогда + Если ТаймаутОжиданияОжиданияТекстаОбласти < ТекущаяДата() Тогда Ванесса.ПродолжитьВыполнениеШагов(Истина,"Ожидали, что ячейка <" + АдресТабличногоДокумента + "> будет заполнена."); Иначе ПодключитьОбработчикОжидания("ПроверитьЗначениеЯчейкиТабличногоДокумента", 1, Истина); @@ -278,7 +278,7 @@ //И я жду когда в табличном документе "РеквизитТабличныйДокумент" заполнится ячейка "r4c2" в течение 120 секунд //@ЯЖдуКогдаВТабличномДокументеЗаполнитсяЯчейкаВТечениеСекунд(Парам01,Парам02,Парам03) Процедура ЯЖдуКогдаВТабличномДокументеЗаполнитсяЯчейкаВТечениеСекунд(ИмяТабДок,АдресЯчейки,КолСекунд) Экспорт - ТаймаутОжиданияОжиданияТекстаОбласти = ТекущаяДатаСеанса() + Число(КолСекунд); + ТаймаутОжиданияОжиданияТекстаОбласти = ТекущаяДата() + Число(КолСекунд); ИмяТабличногоДокумента = ИмяТабДок; АдресТабличногоДокумента = АдресЯчейки; @@ -335,7 +335,7 @@ КонецЦикла; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.ПродолжитьВыполнениеШагов(Истина,"Ожидали, что в сообщениях пользователю будет подстрока <" + НужнаяПодстрокаВСообщениях + ">"); Возврат; @@ -348,7 +348,7 @@ Процедура ЯЖдуЧтоВСообщенияхПользователюБудетПодстрокаВТеченииСекунд(Стр,КоличествоСекунд) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); НужнаяПодстрокаВСообщениях = Стр; ПодключитьОбработчикОжидания("ОбработичкЯЖдуЧтоВСообщенияхПользователюБудетПодстрокаВТеченииСекунд",1); diff --git "a/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2d900a41a..8295b54df 100644 --- "a/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/VB/step_definitions/VBManager/VBManager/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -243,7 +243,7 @@ ТекИДФичи = КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов; - Сообщить("" + ТекущаяДатаСеанса() + ". Однопоточная фича №" + (КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.ОднопоточныйМассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); + Сообщить("" + ТекущаяДата() + ". Однопоточная фича №" + (КонтекстСохраняемый.ТекущийОднопоточныйИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.ОднопоточныйМассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); КонецЕсли; КонецЕсли; @@ -259,7 +259,7 @@ ТекИДФичи = КонтекстСохраняемый.ТекущийИДМассивФичаФайлов; - Сообщить("" + ТекущаяДатаСеанса() + ". Обычная фича №" + (КонтекстСохраняемый.ТекущийИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.МассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); + Сообщить("" + ТекущаяДата() + ". Обычная фича №" + (КонтекстСохраняемый.ТекущийИДМассивФичаФайлов+1) + " из " + КонтекстСохраняемый.МассивФичаФайлов.Количество() + ". РаннерID="+Контекст.ИдТекущегоРаннера + ". " + ТекущаяФича); КонецЕсли; КонецЕсли; diff --git "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 40ab4fef7..cb13f5f8a 100644 --- "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -94,7 +94,7 @@ //@ВыполняюМетодРегламентногоЗаданияСИменем(Парам01) Процедура ВыполняюМетодРегламентногоЗаданияСИменем(ИмяРегламентногоЗадания) Экспорт //Ванесса.ПосмотретьЗначение(Парам01,Истина); - ДатаНачала = ТекущаяДатаСеанса(); + ДатаНачала = ТекущаяДата(); Имя = ВыполняюМетодРегламентногоЗаданияСИменемСервер(ИмяРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -104,7 +104,7 @@ //@ВыполняюМетодРегламентногоЗадания(Парам01) Процедура ВыполняюМетодРегламентногоЗадания(СинонимРегламентногоЗадания) Экспорт //Ванесса.ПосмотретьЗначение(Парам01,Истина); - ДатаНачала = ТекущаяДатаСеанса(); + ДатаНачала = ТекущаяДата(); Имя = ВыполняюМетодРегламентногоЗаданияПоСинонимуСервер(СинонимРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -113,7 +113,7 @@ //Когда запускаю регламентное задание с именем "ИмяИзМетаданных" //@ЗапускаюРегламентноеЗаданиеСИменем(Парам01) Процедура ЗапускаюРегламентноеЗаданиеСИменем(ИмяРегламентногоЗадания) Экспорт - ДатаНачала = ТекущаяДатаСеанса(); + ДатаНачала = ТекущаяДата(); Имя = ЗапускаюРегламентноеЗаданиеСИменемСервер(ИмяРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -122,7 +122,7 @@ //Когда запускаю регламентное задание "Заголовок задания" //@ЗапускаюРегламентноеЗадание(Парам01) Процедура ЗапускаюРегламентноеЗадание(СинонимРегламентногоЗадания) Экспорт - ДатаНачала = ТекущаяДатаСеанса(); + ДатаНачала = ТекущаяДата(); Имя = ЗапускаюРегламентноеЗаданиеПоСинонимуСервер(СинонимРегламентногоЗадания); ДобавитьОписаниеЗаданияВКонтекст(Имя, ДатаНачала); КонецПроцедуры @@ -135,7 +135,7 @@ ИмяРегламентногоЗадания = ПарамИмяРегламентногоЗадания; КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОжидания = ТекущаяДата(); ПодключитьОбработчикОжидания("ОбработчикОжидания_РегламентныеЗадания", 1); КонецПроцедуры @@ -148,7 +148,7 @@ ИмяРегламентногоЗадания = НайтиИмяРегламентногоЗаданияПоСинонимуСервер(СинонимРегламентногоЗадания); КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОжидания = ТекущаяДата(); ПодключитьОбработчикОжидания("ОбработчикОжидания_РегламентныеЗадания", 1); КонецПроцедуры @@ -178,7 +178,7 @@ //Когда запускаю фоновое задание с методом "СлужебныйМодуль.МетодРегламентногоЗадания1" //@ЗапускаюФоновоеЗаданиеСМетодом(Парам01) Процедура ЗапускаюФоновоеЗаданиеСМетодом(ИмяМетода) Экспорт - ДатаНачала = ТекущаяДатаСеанса(); + ДатаНачала = ТекущаяДата(); ЗапускаюФоновоеЗаданиеСМетодомСервер(ИмяМетода); ДобавитьОписаниеЗаданияПоИмениМетодаВКонтекст(ИмяМетода, ДатаНачала); КонецПроцедуры @@ -191,7 +191,7 @@ ИмяМетода = ПарамИмяМетода; КолСекундОжидания = КолСекунд; - ДатаНачалаОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОжидания = ТекущаяДата(); ПодключитьОбработчикОжидания("ОбработчикОжидания_Фоновые_ПоИмениМетода", 1); КонецПроцедуры @@ -291,7 +291,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДатаСеанса() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; @@ -312,7 +312,7 @@ Возврат; КонецПопытки; - Если (ТекущаяДатаСеанса() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОжидания) >= КолСекундОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; diff --git "a/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" "b/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" index 7f876970b..8423d3638 100644 --- "a/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" +++ "b/features/libraries/\320\236\320\261\321\213\321\207\320\275\321\213\320\265\320\244\320\276\321\200\320\274\321\213/step_definitions/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\232\320\275\320\276\320\277\320\272\320\260\320\235\320\260\320\266\320\270\320\274\320\260\320\273\320\272\320\260\320\236\320\261\321\213\321\207\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" @@ -68,7 +68,7 @@ ДокументОбъект = Документы[ИмяДокумента].СоздатьДокумент(); ДокументОбъект.Номер = НомерДокумента; - ДокументОбъект.Дата = ТекущаяДатаСеанса(); + ДокументОбъект.Дата = ТекущаяДата(); ДокументОбъект.ОбменДанными.Загрузка = Истина; ДокументОбъект.Записать(); diff --git "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7666d745c..4b7757ff1 100644 --- "a/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\260\321\203\320\267\320\260/step_definitions/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/\320\241\320\264\320\265\320\273\320\260\321\202\321\214\320\237\320\260\321\203\320\267\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -55,7 +55,7 @@ Процедура ОбработчикОжидания() ИмяОбработчика = "ОбработчикОжидания"; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) >= КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) >= КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.ПродолжитьВыполнениеШагов(); КонецЕсли; @@ -80,10 +80,10 @@ Если КонтекстСохраняемый.Свойство("ТестовоеПриложение") Тогда - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КолСекунд); - Пока (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл + Пока (ТекущаяДата() - ДатаНачалаОбработкиОжидания) < КоличествоСекундОбработкаОжидания Цикл ЗаголовокПауза = Строка(Новый УникальныйИдентификатор); КонтекстСохраняемый.ТестовоеПриложение.НайтиОбъект(Тип("ТестируемоеОкноКлиентскогоПриложения"),ЗаголовокПауза, ЗаголовокПауза, 1); @@ -103,7 +103,7 @@ Ванесса.ЗапретитьВыполнениеШагов(); КоличествоСекундОбработкаОжидания = КолСекунд; - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ПодключитьОбработчикОжидания("ОбработчикОжидания", 1, Ложь); КонецПроцедуры diff --git "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1d0d9c7cd..f2eb4861b 100644 --- "a/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\237\320\273\320\260\320\263\320\270\320\275\321\213/step_definitions/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/\320\244\320\270\321\207\320\260_\320\240\320\260\320\261\320\276\321\202\320\260_\321\201_FakeSMTPServer/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -309,7 +309,7 @@ Процедура ВЯщикеЕстьНовыеПисьма() Экспорт ИнициализироватьПараметрыFakeMail(); - ТекДата = УниверсальноеВремя(ТекущаяДатаСеанса()); + ТекДата = УниверсальноеВремя(ТекущаяДата()); Начало = ТекДата - ПолучитьТаймАут(); Конец = ТекДата + ПолучитьТаймАут(); diff --git "a/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 512340ccd..f87c6705c 100644 --- "a/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/step_definitions/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/\320\243\321\201\320\273\320\276\320\262\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -612,7 +612,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(); @@ -627,7 +627,7 @@ Процедура ПолеСталоРавноВТечениеСекундТогда(ИмяПоля,Значение,КоличествоСекунд,ИскатьПоИмени = Ложь) Экспорт Ванесса.ЗапретитьВыполнениеШагов(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяПоляОбработкаОжидания = ИмяПоля; ИскатьПоИмениОбрабткаОжидания = ИскатьПоИмени; ЗначениеОбрабткаОжидания = Значение; @@ -666,7 +666,7 @@ Возврат; КонецЕсли; - Если (ТекущаяДатаСеанса() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда + Если (ТекущаяДата() - ДатаНачалаОбработкиОжидания) > КоличествоСекундОбработкаОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчикаОжидания); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(); @@ -684,7 +684,7 @@ Ванесса.ОбработатьСменуАктивногоОкна(); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); ИмяОкнаОбработкаОжидания = ЗаголовокОкна; //для этого шага таймаут берём тот, что указан в шаге КоличествоСекундОбработкаОжидания = КоличествоСекунд; diff --git "a/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ebcc85388..0b872ca1c 100644 --- "a/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\246\320\270\320\272\320\273/step_definitions/\320\246\320\270\320\272\320\273/\320\246\320\270\320\272\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -157,10 +157,10 @@ Процедура ОбработчикОжиданияВТечениеСекундЯВыполняю() ИмяОбработчика = "ОбработчикОжиданияВТечениеСекундЯВыполняю"; - Ванесса.Отладка("Текущий момент: " + ТекущаяДатаСеанса()); + Ванесса.Отладка("Текущий момент: " + ТекущаяДата()); Ванесса.Отладка("Дата окончания ожидания: " + ДатаОкончанияОбработкиОжидания); - Если ТекущаяДатаСеанса() >= ДатаОкончанияОбработкиОжидания Тогда + Если ТекущаяДата() >= ДатаОкончанияОбработкиОжидания Тогда ОтключитьОбработчикОжидания(ИмяОбработчика); Ванесса.УстановитьРезультатУсловия(Ложь); Ванесса.ПродолжитьВыполнениеШагов(Истина,"Не удалось дождаться события завершения цикла в течение <" + КоличествоСекундОбработкаОжидания + "> секунд."); @@ -189,7 +189,7 @@ ИЛИ Контекст.ОжидатьЗавершениеЦикла <> Истина Тогда Контекст.Вставить("ОжидатьЗавершениеЦикла", Истина); - ДатаНачалаОбработкиОжидания = ТекущаяДатаСеанса(); + ДатаНачалаОбработкиОжидания = ТекущаяДата(); КоличествоСекундОбработкаОжидания = Ванесса.ЗначениеТаймаутаДляАсинхронногоШага(КоличествоСекунд); ДатаОкончанияОбработкиОжидания = ДатаНачалаОбработкиОжидания + КоличествоСекундОбработкаОжидания; diff --git a/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl b/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl index d0053f00c..0aa8e9250 100644 --- a/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl +++ b/lib/featurereader/vbFeatureReader/vbFeatureReader/Ext/ObjectModule.bsl @@ -687,7 +687,7 @@ #Область СлужебныеПроцедурыИФункции Процедура СделатьСообщение(Знач Сообщение) - Сообщить(Строка(ТекущаяДатаСеанса()) + " " + Сообщение); + Сообщить(Строка(ТекущаяДата()) + " " + Сообщение); КонецПроцедуры Процедура СделатьПереводТекстаGherkin(ДанныеПеревода) Экспорт diff --git "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ae8e3cdd2..1550fe614 100644 --- "a/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/lib/video/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\222\320\270\320\264\320\265\320\276/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -549,7 +549,7 @@ Если ПараметрыВидео.Ванесса.ФайлСуществуетКомандаСистемы(КаталогМузыки) Тогда СписокФайловКаталога = ПолучитьСписокФайловКаталога(ПараметрыВидео,КаталогМузыки); Если СписокФайловКаталога.Количество() > 0 Тогда - ТекДата = Формат(ТекущаяДатаСеанса(),"DF=dd.MM.yyyy"); + ТекДата = Формат(ТекущаяДата(),"DF=dd.MM.yyyy"); ТекДата = СтрЗаменить(ТекДата," ",""); ТекДата = СтрЗаменить(ТекДата,":",""); ТекДата = СтрЗаменить(ТекДата,".",""); @@ -594,7 +594,7 @@ Голос = ""; - СтрокаВыводаФичи = "Видео создано автоматически\n" + ТекущаяДатаСеанса() + "\n\nКоличество сценариев: " + ПараметрыВидео.МассивСценариевДляВыполнения.Количество() + "\nКоличество шагов: "+КолШагов + "\nВерсия Vanessa-ADD: " + СтрЗаменить(ПараметрыВидео.Ванесса.Заголовок,"ver","") + "\nВерсия скрипта сборки видео: " + ВерсияСкриптаСборкиВидео + АудиоТрек + Голос; + СтрокаВыводаФичи = "Видео создано автоматически\n" + ТекущаяДата() + "\n\nКоличество сценариев: " + ПараметрыВидео.МассивСценариевДляВыполнения.Количество() + "\nКоличество шагов: "+КолШагов + "\nВерсия Vanessa-ADD: " + СтрЗаменить(ПараметрыВидео.Ванесса.Заголовок,"ver","") + "\nВерсия скрипта сборки видео: " + ВерсияСкриптаСборкиВидео + АудиоТрек + Голос; КартинкаТекст = СоздатьКартинкуИзТекста(ПараметрыВидео,СтрокаВыводаФичи,"caption",70); ФайлВидео = СоздатьВидеоНужнойДлительностиИзКартинки(ПараметрыВидео,КартинкаТекст,5,,Ложь); @@ -1623,11 +1623,11 @@ //проверим что появился файл СчетчикПроверок = 0; МаксСчетчикПроверок = 30; - ТекДат = ТекущаяДатаСеанса(); + ТекДат = ТекущаяДата(); Пока Истина Цикл СчетчикПроверок = СчетчикПроверок + 1; - Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДатаСеанса() >= (ТекДат+МаксСчетчикПроверок)) Тогда + Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДата() >= (ТекДат+МаксСчетчикПроверок)) Тогда ВызватьИсключение "Не найден файл <" + ПараметрыВидео.ТекущийФайлВидео + ">"; КонецЕсли; @@ -1706,11 +1706,11 @@ //ждём чтобы файл появился на диске СчетчикПроверок = 0; МаксСчетчикПроверок = 20; - ТекДат = ТекущаяДатаСеанса(); + ТекДат = ТекущаяДата(); Пока Истина Цикл СчетчикПроверок = СчетчикПроверок + 1; - Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДатаСеанса() >= (ТекДат+МаксСчетчикПроверок)) Тогда + Если (СчетчикПроверок > МаксСчетчикПроверок) и (ТекущаяДата() >= (ТекДат+МаксСчетчикПроверок)) Тогда ВызватьИсключение "Не найден файл <" + ИмяФайлаВидео + ">"; КонецЕсли; @@ -1762,7 +1762,7 @@ //надо дать vlc закрыться МаксКолПопыток = 10; КолПопыток = 0; - ТекДат = ТекущаяДатаСеанса(); + ТекДат = ТекущаяДата(); Пока Истина Цикл КолПопыток = КолПопыток + 1; @@ -1773,7 +1773,7 @@ ПараметрыВидео.Ванесса.Sleep(1); - Если (КолПопыток >= МаксКолПопыток) и (ТекущаяДатаСеанса() >= (ТекДат + МаксКолПопыток)) Тогда + Если (КолПопыток >= МаксКолПопыток) и (ТекущаяДата() >= (ТекДат + МаксКолПопыток)) Тогда Прервать; КонецЕсли; diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index d5da88339..81f083bde 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -622,7 +622,7 @@ ВыполнитьАвтозаполнениеПараметров("Документ", ИмяДокумента, ПараметрыДокумента); Документ = Документы[ИмяДокумента].СоздатьДокумент(); - Документ.Дата = ТекущаяДатаСеанса(); + Документ.Дата = ТекущаяДата(); Документ.УстановитьНовыйНомер(); ЗаполнитьЗначенияСвойств(Документ, ПараметрыДокумента); diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index 9ebe860c2..9594e6935 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -1047,7 +1047,7 @@ //Служебные поля и значения Если Не ЗначениеЗаполнено(Объект.Дата) Тогда - Объект.Дата = ТекущаяДатаСеанса(); + Объект.Дата = ТекущаяДата(); КонецЕсли; Если Не ЗначениеЗаполнено(Объект.Номер) тогда Объект.УстановитьНовыйНомер(); @@ -1778,7 +1778,7 @@ ВызватьИсключение "ЗначениеНеНайдено: Реквизит <"+стрПоле.Имя+">: Искали значение <"+стрПоле.Значение+">, но не нашли!"; КонецЕсли; ИначеЕсли ВРег(стрПоле.Режим) = "ТЕКУЩАЯДАТА" Тогда - Значение = ТекущаяДатаСеанса(); + Значение = ТекущаяДата(); ИначеЕсли ВРег(стрПоле.Режим) = "ВЫРАЖЕНИЕ" Тогда Значение = Вычислить(стрПоле.Значение); Иначе diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d478c9791..79b59544f 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -132,9 +132,9 @@ УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - ВремяОкончанияОжидания = ТекущаяДатаСеанса() + ТаймаутВСекундах(); + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл + Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка Результат.УстановитьСоединение(); Подключен = Истина; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 33c8ad85f..2a84d4d36 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -109,7 +109,7 @@ Возврат; КонецЕсли; - Док.Дата = ТекущаяДатаСеанса(); + Док.Дата = ТекущаяДата(); Док.ОбменДанными.Загрузка = Истина; Док.Записать(); @@ -1511,7 +1511,7 @@ Элем.УстановитьНовыйНомер(); КонецЕсли; - Элем.Дата = ТекущаяДатаСеанса(); + Элем.Дата = ТекущаяДата(); Если ЕстьНастройка("БизнесПроцессы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.БизнесПроцессы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл diff --git "a/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2a3fd533b..6dc44f434 100644 --- "a/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Gui83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/\321\216\320\275\320\270\321\202\320\242\320\265\321\201\321\202_UI_83/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -222,9 +222,9 @@ КонецЕсли; Подключен = Ложь; - ВремяОкончанияОжидания = ТекущаяДатаСеанса() + ТаймаутОжиданияПриложенияВСекундах; //60; + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутОжиданияПриложенияВСекундах; //60; ОписаниеОшибкиСоединения = ""; - Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл + Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка тестовоеПриложение.УстановитьСоединение(); Подключен = Истина; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 0ad957487..8a0876d96 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -85,7 +85,7 @@ Данные.НачатьСоздание("РегистрНакопления.РегистрНакопленияОстатки") .Реквизит("_ОтборРегистратор", Данные.СоздатьДокумент("ДокументСДвижениями")) - .Реквизит("Период", НачалоДня(ТекущаяДатаСеанса())) + .Реквизит("Период", НачалоДня(ТекущаяДата())) .Реквизит("ВидДвижения", ВидДвиженияНакопления.Приход) .ШапкаНабора("Измерение1", "РесурсЧисло1") .ЗаписьНабора("Тестовое1", 100) diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index d07a45b8a..5f23cb666 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\242\320\265\321\201\321\202\321\213_\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -481,7 +481,7 @@ Утверждения.ПроверитьИстину(ТестовыеДанные.Свойство("Документ"), "Ожидали, что есть переменная 'Документ'"); Утверждения.ПроверитьТип(ТестовыеДанные.Документ, "ДокументСсылка.Документ1"); - Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДатаСеанса(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДатаСеанса() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); + Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.Документ.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.Документ.Дата должна быть менее 2 секунд"); КонецПроцедуры Процедура ТестДолжен_СоздатьДокумент_РежимЗаписи_Проведение() Экспорт @@ -1043,7 +1043,7 @@ Утверждения.ПроверитьТип(ТестовыеДанные.ПростойБП, "БизнесПроцессСсылка.БизнесПроцесс1"); Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП.ПростойСправочник, ТестовыеДанные.ПростойСправочник); Утверждения.ПроверитьРавенство(ТестовыеДанные.ПростойБП, ТестовыеДанные.Действие1.БизнесПроцесс); - // Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДатаСеанса(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДатаСеанса() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); + // Утверждения.ПроверитьРавенствоДатСТочностью2Секунды(ТекущаяДата(), ТестовыеДанные.ПростойБП.Дата, "Разница между ТекущаяДата() и ТестовыеДанные.ПростойБП.Дата должна быть менее 2 секунд"); Утверждения.ПроверитьРавенство(2, ТестовыеДанные.ПростойБП.ТабличнаяЧасть1.Количество()); diff --git a/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl b/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl index e0abd2520..2d7e32dd6 100644 --- a/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl +++ b/vendor/1C/uilogtoscript/UILogToScript/Ext/ObjectModule.bsl @@ -1,4 +1,4 @@ -Var CreatedInWindow)AndFormVariables; +Var CreatedInWindowAndFormVariables; Var Indent; Function Convert(TextToConvert) Export @@ -187,10 +187,10 @@ Procedure ConvertIntoScenario(Reader, Writer) Indent = Indent + 1; AddLine(Writer, ? (ScriptVariant = "en", "TestApplication = New TestedApplication();", "ТестовоеПриложение = Новый ТестируемоеПриложение();")); - AddLine(Writer, ? (ScriptVariant = "en", "TimeOut = CurrentDate() + 60;", "ВремяОкончанияОжидания = ТекущаяДатаСеанса() + 60;")); + AddLine(Writer, ? (ScriptVariant = "en", "TimeOut = CurrentDate() + 60;", "ВремяОкончанияОжидания = ТекущаяДата() + 60;")); AddLine(Writer, ? (ScriptVariant = "en", "Connected = False;", "Подключен = Ложь;")); AddLine(Writer, ? (ScriptVariant = "en", "ConnectionErrorDescription = """";", "ОписаниеОшибкиСоединения = """";")); - AddLine(Writer, ? (ScriptVariant = "en", "While Not CurrentDate() >= TimeOut Do", "Пока Не ТекущаяДатаСеанса() >= ВремяОкончанияОжидания Цикл")); + AddLine(Writer, ? (ScriptVariant = "en", "While Not CurrentDate() >= TimeOut Do", "Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл")); AddLine(Writer, ? (ScriptVariant = "en", " Try", " Попытка")); AddLine(Writer, ? (ScriptVariant = "en", " TestApplication.Connect();", " ТестовоеПриложение.УстановитьСоединение();")); AddLine(Writer, ? (ScriptVariant = "en", " Connected = True;", " Подключен = Истина;")); From cc0f72ab5d5826d57851bd0cc4b71949078192db Mon Sep 17 00:00:00 2001 From: pen Date: Sun, 15 Nov 2020 16:30:00 +0400 Subject: [PATCH 187/421] =?UTF-8?q?TDD=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=B8=20=D1=83=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20"=D0=A1=D0=BE=D0=B7?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE?= =?UTF-8?q?=D0=B2-=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2"=20(#813)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc, refactor: дополнена и уточнена документация -- изменен порядок глав, все примерв в конце -- новая глава Предопределенные свойства (переменные) теста -- дополнена глава API НаборТестов -- уточнен пример -- рефакторинг, ради единообразия текста * refactor: учтены замечания @artbear -- https://github.com/vanessa-opensource/add/pull/813#discussion_r520425207 --- ...20\265\321\201\321\202\320\276\320\262.MD" | 132 +++++++++++------- 1 file changed, 85 insertions(+), 47 deletions(-) diff --git "a/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" "b/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" index 77fda669a..6818e37f5 100644 --- "a/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" +++ "b/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" @@ -3,22 +3,25 @@ - [Создание файлов-тестов](#создание-файлов-тестов) - - [Примеры тестов](#примеры-тестов) - - [Предопределенные методы теста](#предопределенные-методы-теста) - - [Базовые приемы написания тестов](#базовые-приемы-написания-тестов) - - [Базовый шаблон файла-теста (серверный тест в модуле обработки)](#базовый-шаблон-файла-теста-серверный-тест-в-модуле-обработки) - - [API НаборТестов](#api-набортестов) - - [Использование параметрических тестов](#использование-параметрических-тестов) + - [Примеры тестов](#примеры-тестов) + - [Предопределенные свойства (переменные) теста](#предопределенные-свойства-переменные-теста) + - [Предопределенные методы теста](#предопределенные-методы-теста) + - [API НаборТестов](#api-набортестов) + - [Базовые приемы написания тестов](#базовые-приемы-написания-тестов) + - [Базовый шаблон файла-теста (серверный тест в модуле обработки)](#базовый-шаблон-файла-теста-серверный-тест-в-модуле-обработки) + - [Использование параметрических тестов](#использование-параметрических-тестов) -Создаем новую внешнюю обработку, т.н. **тестовый набор** +Создаем новую внешнюю обработку, т. н. **тестовый набор** -В модуле этой обработки размещаются **тестовые случаи** (экспортные методы без параметров, чье имя может начинаться на `Тест` (*необязательно*)) +**Тестовые случаи** (экспортные методы без параметров, чье имя может начинаться на `Тест` (*необязательно*)) могут располагаться: +- в модуле обработки для тестирования "серверной" части приложения +- в модуле основной формы обработки для тестирования методов, которые располагаются в клиентской части приложения Тестовый случай считается успешно выполненным, если в процессе его выполнения не было исключения. -Соответственно, для того, чтобы тест упал, нужно выбросить исключение 1С. Для этого используются вызовы специальных методов-утверждений из фреймворка `xUnit`. См. [Методы проверки/утверждений](Методы-проверки---утверждения.MD) +Соответственно, для того чтобы тест упал, нужно выбросить исключение 1С. Для этого используются вызовы специальных методов-утверждений из фреймворка `xUnit`. См. [Методы проверки/утверждений](Методы-проверки---утверждения.MD) ## Примеры тестов @@ -30,40 +33,92 @@ - [Использование параметрических тестов (описано ниже)](Использование-параметрических-тестов.MD) -## Предопределенные методы теста +## Предопределенные свойства (переменные) теста -- Переменная `КонтекстЯдра` - - содержит в себе ссылку на экземпляр фреймворка `xUnit` - объект обработки `xddTestRunner` - - с помощью этой переменной можно использовать предопределенные методы `xUnit`. Например, см. [Методы проверки/утверждений](Методы-проверки---утверждения.MD) +- `КонтекстЯдра` - переменная, которая содержит в себе ссылку на экземпляр фреймворка `xUnit` - объект обработки `xddTestRunner` - имя `КонтекстЯдра` необязательно, можно использовать любое другое имя переменной - значение этой переменной должно быть заполнено в методе `Инициализация` -- Процедура `Инициализация` - - должна инициализировать контекст ядра - - должна заполнить значение переменной `КонтекстЯдра` - - должна заполнить значение переменных других плагинов, например, `Ожидаем` или `Утверждения` - - один входной параметр `КонтекстЯдраПараметр` - ссылка на экземпляр фреймворка `xUnit` - объект обработки xddTestRunner +- Переменная `КонтекстЯдра` предоставляет доступ к следующим методам программного интерфейса фреймворка тестирования: + - `Плагин(Идентификатор)` - функция, которая возвращает объект внешней обработки плагина. Параметр `Идентификатор` - Строка - наименование плагина (имя внешней обработки) + - `СохранитьКонтекст(Контекст)` - процедура, которая в реквизите `ТекущийКонтейнер` (Структура) устанавливает ключ Контекст. Параметр `Контекст` - Произвольный - пользовательское значение, которое будет доступно из тестов. + - `ПолучитьКонтекст()` - функция, которая возвращает значение ключа Контекст из реквизита объекта-обработки `ТекущийКонтейнер`. + - `ВывестиСообщение(ТекстСообщения, Статус)` - процедура, которая выводит сообщение пользователю. Параметры: + - `ТекстСообщения` - Строка - текст сообщения пользователю + - `Статус` - СтатусСообщения - пример `СтатусСообщения.Важное` + - `ВывестиСообщениеВЛогФайл(Сообщение)` - процедура, которая выводит сообщение в лог-файл. Параметр `Сообщение` - Строка. + - `ВызватьОшибкуПроверки(СообщениеОшибки)` - процедура, которая стандартным образом генерирует исключение и прерывает выполнение теста. + +- Переменная `КонтекстЯдра` предоставляет доступ к реквизиту `ТекущийКонтейнер`, который содержит информацию о группе тестов, выполняющейся в данный момент. Пример вызова на клиенте: +```bsl +ТекущийКонтейнерСтруктура = КонтекстЯдра.Объект.ТекущийКонтейнер; +``` +где, `ТекущийКонтейнерСтруктура` - структура с ключами: + - Имя - Строка - Имя группы тестов, так как указано в методе НачатьГруппу() + - Тип - Строка - для группы тестов тип "Контейнер" + - Строки - Массив - элемент массива Структура с описанием и параметрами каждого конкретного теста + - Контекст - Произвольный - Контекст, который передается между тестами. Контекст управляется методами `СохранитьКонтекст` и `ПолучитьКонтекст` + +## Предопределенные методы теста -- Процедура `ЗаполнитьНаборТестов` - - заполняет набор описаний тестовых случаев и тестовых сценариев - - именно этот набор и является списком выполняемых тестов/сценариев - - 1-й входной параметр - объект НаборТестов, который используется для добавления тестов в различных режимах. - - 2-й входной параметр (необязательный) - объект КонтекстЯдра, который можно использовать для дополнительной настройки списка тестов в зависимости от внешних условий. +- `Инициализация(КонтекстЯдраПараметр)` - процедура, которая должна инициализировать контекст ядра и заполнить значение переменной `КонтекстЯдра`. Так же в этой процедуре должны быть инициализированны переменные подключаемых плагинов, например, `Ожидаем` или `Утверждения`. Метод вызывается перед началом каждого теста (тестового случая), до вызова метода `ПередЗапускомТеста`. + - `КонтекстЯдраПараметр` - ссылка на экземпляр фреймворка `xUnit` - объект обработки xddTestRunner -[Смотрите API НаборТестов](#API-НаборТестов) +- `ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр)` - процедура, которая заполняет набор описаний тестовых случаев и тестовых сценариев, именно этот набор и является списком выполняемых тестов/сценариев + - `НаборТестов` - ссылка на экземпляр внешней обработки `ЗагрузчикФайла`, которая предоставляет программный интерфейс добавления тестов, групп тестов и управления порядком выполнения тестов. [Смотрите API объекта НаборТестов](#API-НаборТестов) + - `КонтекстЯдраПараметр` (необязательный) - ссылка на экземпляр фреймворка `xUnit` - объект обработки xddTestRunner. При реализации метода `ЗаполнитьНаборТестов` рекомендуется инициализировать переменную `КонтекстЯдра = КонтекстЯдраПараметр` для получения доступа к программному интерфейсу Контекста ядра. -- *Функция* `ПолучитьСписокТестов` (рекомендуется использование `ЗаполнитьНаборТестов`) +- `ПолучитьСписокТестов` - функция - (рекомендуется использование `ЗаполнитьНаборТестов`) - должна вернуть массив описаний тестовых случаев - именно этот массив и является списком выполняемых тестов - функция без параметров -- Процедура `ПередЗапускомТеста` (*необязательная*) +- `ПередЗапускомТеста` - процедура (*необязательная*) - вызывается *перед запуском каждого теста* -- Процедура `ПослеЗапускаТеста` (*необязательная*) +- `ПослеЗапускаТеста` - процедура (*необязательная*) - вызывается *после запуска каждого теста* - метод вызывается независимо от того, успешно прошел тест или упал. +## API НаборТестов + +- `Добавить(ИмяМетода, Параметры, Представление)` - функция, которая добавляет тестовый случай в набор тестов и возвращает структуру - элемент контейнера Группа тестов. + - `ИмяМетода` - Строка - параметр должен указывать на **экспортную процедуру из текущего модуля**. Количество параметров этой процедуры должно совпадать с количеством параметров из второго параметра `Параметры`. Если `Параметры` не заданы, процедура тестового случая должна быть без параметров. + - `Параметры` (*необязательно*) - Массив - параметры тестового случая. Задаются только на этапе создания набора тестов. Параметры теста можно задать с помощью метода `ПараметрыТеста`. + - `Представление` (*необязательно*) - Строка - представление тестового случая в окне браузера тестов. + +- `НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения)` - процедура, которая создает группу тестов. Удобно для выполнения сценариев, т. е. последовательных шагов тестов. + - `ИмяГруппы` - Строка - наименование группы тестов + - `СтрогийПорядокВыполнения` - Булево - выполнять тесты в порядке объявления, иначе - случайный порядок + +- `ПараметрыТеста(Парам1, Парам2, Парам3, ... Парам9)` - функция, которая позволяет задать параметры для тестового случая. Возвращает массив с элементами - параметрами. + - Парам1 - Произвольный - (обязательно) значение первого параметра + - Парам2 ... Парам9 - Произвольный - (необязательно) значения следующих параметров + +- `СлучайныйПорядокВыполнения` - процедура, которая определяет возможность случайного выполнения тестов в группе тестов. Удобно для несвязанных тестов. Метод устанавливает ключ СлучайныйПорядокВыполнения в структуре `КонтейнерТестов`: +```bsl +КонтейнерТестов.СлучайныйПорядокВыполнения = Истина; +``` + +- `СтрогийПорядокВыполнения` - процедура, которая определяет возможность случайного выполнения тестов в группе тестов. Удобно для сценарных тестов, которые должны выполняться строго последовательно друг за другом. Метод устанавливает ключ СлучайныйПорядокВыполнения в структуре `КонтейнерТестов`: +```bsl +КонтейнерТестов.СлучайныйПорядокВыполнения = Ложь; +``` + +- `ПродолжитьВыполнениеПослеПаденияТеста` - процедура, которая устанавливает ключ ПродолжитьВыполнениеПослеПаденияТестав в структуре `КонтейнерТестов`: +```bsl +КонтейнерТестов.ПродолжитьВыполнениеПослеПаденияТеста = Истина; +``` + +- `ОстановитьВыполнениеПослеПаденияТестов` - процедура, которая устанавливает ключ ПродолжитьВыполнениеПослеПаденияТестав в структуре `КонтейнерТестов`: +```bsl +КонтейнерТестов.ПродолжитьВыполнениеПослеПаденияТеста = Ложь; +``` + +- `ДобавитьДеструктор(ИмяМетодаДеструктора, Представление)` - функция, которая возвращает структуру - элемент контейнера Группа тестов. Действует как деструктор в контейнере тестов (группе тестов). Выполняется один раз, в конце группы тестов. Параметры: + - `ИмяМетодаДеструктора` - Строка - параметр должен указывать на **экспортную процедуру из текущего модуля**. + - `Представление` - Строка - наименование для представления в браузере тестирования. + ## Базовые приемы написания тестов Для гарантирования независимости тестов (это одно из основных требований к тестам) рекомендуется использовать **механизм транзакций**. @@ -97,8 +152,9 @@ КонецПроцедуры Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - КонтекстЯдра = КонтекстЯдраПараметр; - НаборТестов.Добавить("ТестДолжен_СложитьДваИДва"); + КонтекстЯдра = КонтекстЯдраПараметр; + НаборТестов.НачатьГруппу("Группа тестов"); + НаборТестов.Добавить("ТестДолжен_СложитьДваИДва"); КонецПроцедуры //} @@ -122,24 +178,6 @@ //} ``` -## API НаборТестов - -- Функция `Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "")` - - добавляет тестовый случай в набор тестов - - `ИмяМетода` должно указывать на **экспортную процедуру из текущего модуля**. Количество параметров этой процедуры должно совпадать с количеством параметров из второго параметра `Параметры`. Если `Параметры` не заданы, процедура без параметров. - - `Параметры` (*необязательно*) - параметры тестового случая. Задаются только на этапе создания набора тестов. Параметры теста можно задать с помощью метода `ПараметрыТеста'. - - `Представление` (*необязательно*) - представление тестового случая в окне браузера тестов. - -- Процедура `НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь)` - - создать группу тестов. Удобно для выполнения сценариев, т.е. последовательных шагов тестов. - -- Функция `ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено)` - - возможно задания определенных параметров для тестового случая. - -- Процедура `СлучайныйПорядокВыполнения` - определяет возможность случайного выполнения тестов в группе тестов. Удобно для несвязанных тестов. - -- Процедура `СтрогийПорядокВыполнения` - определяет возможность случайного выполнения тестов в группе тестов. Удобно для сценарных тестов, которые должны выполняться строго последовательно друг за другом. - ## Использование параметрических тестов Пример теста: From 2ab7380b7a18edc0dea57000ae395ca46a25b57f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 15 Nov 2020 18:40:35 +0300 Subject: [PATCH 188/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B1=D0=BB=D0=B0=D1=81=D1=82=D0=B8=20+=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=A1?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 54 +++++++++++++------ 1 file changed, 39 insertions(+), 15 deletions(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c1bdfa979..3e4f480cd 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,8 +1,16 @@ -&НаКлиенте +#Область ОписаниеПеременных + +&НаКлиенте Перем КонтекстЯдра; &НаКлиенте Перем КоллекцияИсключаемыхКлючей; +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсПлагина + // { Plugin interface &НаКлиенте @@ -15,19 +23,16 @@ КонтекстЯдра = КонтекстЯдраПараметр; КонецПроцедуры -&НаСервере -Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); -КонецФункции - // } Plugin interface +#КонецОбласти +#Область Настройки // { Settings interface // Функция - Получить настройки // // Возвращаемое значение: -// - Структура +// Структура - // &НаКлиенте Функция ПолучитьНастройки() Экспорт @@ -39,7 +44,8 @@ СоздатьКоллекцияИсключаемыхКлючей(); Настройки = ПрочитатьНастройкиИзФайлаJSon(ПутьФайлаНастроек); - Настройки = ДобавитьВНастройкиДанныеИзВложенныхФайловНастроек(Настройки, ИмяКлючаФайлаНастройки, ФайлНастройки.Путь); + Настройки = ДобавитьВНастройкиДанныеИзВложенныхФайловНастроек(Настройки, ИмяКлючаФайлаНастройки, + ФайлНастройки.Путь); Объект.Настройки = Новый ФиксированнаяСтруктура(Настройки); Если Объект.Настройки.Свойство("Отладка") Тогда @@ -47,16 +53,20 @@ Если ЕстьСвойство(КонтекстЯдра.Объект, "ФлагОтладки") Тогда КонтекстЯдра.Объект.ФлагОтладки = ЕстьФлагОтладки; - КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("НовоеЗначение КонтекстЯдра.Объект.ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); + КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("НовоеЗначение КонтекстЯдра.Объект.ФлагОтладки %1", + КонтекстЯдра.Объект.ФлагОтладки)); КонецЕсли; Если ЕстьСвойство(КонтекстЯдра.Объект, "DebugLog") Тогда КонтекстЯдра.Объект.DebugLog = ЕстьФлагОтладки; - КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("НовоеЗначение КонтекстЯдра.Объект.DebugLog %1", КонтекстЯдра.Объект.DebugLog)); + КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("НовоеЗначение КонтекстЯдра.Объект.DebugLog %1", + КонтекстЯдра.Объект.DebugLog)); КонецЕсли; КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("Объект.Настройки.Отладка %1", Объект.Настройки.Отладка)); - КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("ЕстьСвойство(КонтекстЯдра.Объект, ФлагОтладки) %1", ЕстьСвойство(КонтекстЯдра.Объект, "ФлагОтладки"))); - КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("КонтекстЯдра.Объект.ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); + КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("ЕстьСвойство(КонтекстЯдра.Объект, ФлагОтладки) %1", + ЕстьСвойство(КонтекстЯдра.Объект, "ФлагОтладки"))); + КонтекстЯдра.Отладка(КонтекстЯдра.СтрШаблон_("КонтекстЯдра.Объект.ФлагОтладки %1", + КонтекстЯдра.Объект.ФлагОтладки)); Если ЕстьФлагОтладки Тогда КонтекстЯдра.Отладка(""); @@ -250,6 +260,11 @@ КонецФункции // } Settings interface +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции &НаСервере Функция Объект() @@ -325,7 +340,8 @@ Чтение.Закрыть(); Исключение ИнфоОшибки = ИнформацияОбОшибке(); - Если Найти(ИнфоОшибки.Описание, "Неправильный путь к файлу") = 0 Тогда // TODO проверить и исправить на английском интерфейсе + // TODO проверить и исправить на английском интерфейсе + Если Найти(ИнфоОшибки.Описание, "Неправильный путь к файлу") = 0 Тогда СообщениеОшибки = СтрШаблон_("Не удалось прочитать файл %1 | @@ -428,7 +444,8 @@ КонецЦикла; КонецПроцедуры -Функция СтрШаблон_(Знач СтрокаШаблон, Знач Парам1 = Неопределено, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено) Экспорт +Функция СтрШаблон_(Знач СтрокаШаблон, Знач Парам1 = Неопределено, Знач Парам2 = Неопределено, + Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено) Экспорт МассивПараметров = Новый Массив; МассивПараметров.Добавить(Парам1); @@ -444,4 +461,11 @@ Возврат СтрокаШаблон; -КонецФункции \ No newline at end of file +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) + Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); +КонецФункции + +#КонецОбласти From b377a2c020cffcb96f5f67feea9ee5e46c708fce Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 16 Nov 2020 18:35:31 +0300 Subject: [PATCH 189/421] =?UTF-8?q?add=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B=5F?= =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=D0=9F=D0=B5?= =?UTF-8?q?=D1=80=D0=B8=D0=BE=D0=B4=D0=B8=D1=87=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=9D=D1=83=D0=BC=D0=B5=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?(#815)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\265\320\275\321\202\320\276\320\262.xml" | 100 ++++++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 306 ++++++++++++++++++ tools/JSON/xUnitParams.json | 18 ++ 6 files changed, 459 insertions(+) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.xml" new file mode 100644 index 000000000..19b617a31 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -0,0 +1,100 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаПериодичностиНумерацииДокументов + + + ru + Тесты "Проверка периодичности нумерации документов" + + + + ExternalDataProcessor.Тесты_ПроверкаПериодичностиНумерацииДокументов.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..bc0a1ce40 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПериодичностиНумерацииДокументов + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..0bad18b5d --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,306 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + Настройки(КонтекстЯдра, ИмяТеста()); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьПериодичностьНумерацииДокумента", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка периодичности нумерации документа'"))); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ВыводитьИсключения = Истина; + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьПериодичностьНумерацииДокумента(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + Результат = ПроверитьПериодичностьНумерацииДокумента(ПолноеИмяМетаданных); + + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьПериодичностьНумерацииДокумента(ПолноеИмяМетаданных) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Непериодический = Метаданные.СвойстваОбъектов.ПериодичностьНомераДокумента.Непериодический; + + Возврат ОбъектМетаданных.ПериодичностьНомера <> Непериодический; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ПолноеИмяМетаданных), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Исключения = Новый Соответствие; + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Исключения.Вставить(Тест, Истина); + КонецЕсли; + КонецЦикла; + + Для Каждого Тест Из МассивТестов Цикл + Если Исключения.Получить(Тест) = Истина Тогда + Продолжить; + КонецЕсли; + Результат.Добавить(Тест); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'У объекта ""%1"" непериодическая нумерация.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу) + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.ПолноеИмя()); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Истина; + Настройки(КонтекстЯдра, ИмяТеста()); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 23c8accea..153607f60 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -233,6 +233,24 @@ }, + "Тесты_ПроверкаПериодичностиНумерацииДокументов": { + + "Используется": true, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "Документ": [ + "Документ1" + ] + + } + + }, + "Тесты": { "Параметры" : { "Префикс" : "", From ea7eeb027655d82d90e15cdbcfaafddd108c10a0 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 30 Nov 2020 18:38:57 +0300 Subject: [PATCH 190/421] =?UTF-8?q?add=20new=20smoketest=20=D0=A2=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D1=8B=5F=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D0=9D=D0=B0=D0=A3=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5?= =?UTF-8?q?=D0=BC=D1=8B=D0=B5=D0=A4=D0=BE=D1=80=D0=BC=D1=8B=20(#814)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add Тесты_ПереходНаУправляемыеФормы * fix Префикс ИмяТеста * fix xUnitParams * fix ВыполнятьТест --- ...0\244\320\276\321\200\320\274\321\213.xml" | 100 +++++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 360 ++++++++++++++++++ tools/JSON/xUnitParams.json | 70 ++++ 6 files changed, 565 insertions(+) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213.xml" new file mode 100644 index 000000000..b28a7cac0 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213.xml" @@ -0,0 +1,100 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПереходНаУправляемыеФормы + + + ru + Тесты "Переход на управляемые формы" + + + + ExternalDataProcessor.Тесты_ПереходНаУправляемыеФормы.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..acdf86454 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПереходНаУправляемыеФормы + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..247a31fd2 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,360 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + Настройки(КонтекстЯдра, ИмяТеста()); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не ВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьТипФормы", + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя, Тест.ТипФормы), + КонтекстЯдра.СтрШаблон_("%1 [Проверка типа формы]", Тест.Имя)); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ВыводитьИсключения = Истина; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьТипФормы(ПолноеИмяМетаданных, ТипФормы) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = (ТипФормы = "Управляемая"); + + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ПолноеИмяМетаданных), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Исключения = Новый Соответствие; + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Исключения.Вставить(Тест, Истина); + КонецЕсли; + КонецЦикла; + + Для Каждого Тест Из МассивТестов Цикл + Если Исключения.Получить(Тест) = Истина Тогда + Продолжить; + КонецЕсли; + Результат.Добавить(Тест); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Форма ""%1"" не управляемая'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу) + + ОбъектыМетаданных = Новый Структура; + + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("КритерииОтбора", Новый Массив); + ОбъектыМетаданных.Вставить("ХранилищаНастроек", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеФормы", Новый Массив); + ОбъектыМетаданных.Вставить("Константы", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("ЖурналыДокументов", Новый Массив); + ОбъектыМетаданных.Вставить("Перечисления", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("Отчеты", Новый Массив); + ОбъектыМетаданных.Вставить("Обработки", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыНакопления", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыБухгалтерии", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + + Если ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, "ТипФормы") Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + ОбъектыМетаданных[Элемент.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя(), + Строка(ОбъектМетаданных.ТипФормы)); + Продолжить; + КонецЕсли; + + Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, "Формы") Тогда + Продолжить; + КонецЕсли; + + Для Каждого Форма Из ОбъектМетаданных.Формы Цикл + ДобавитьЭлементКоллекцииОбъектовМетаданных( + ОбъектыМетаданных[Элемент.Ключ], + Форма.ПолноеИмя(), + Форма.ПолноеИмя(), + Строка(Форма.ТипФормы)); + КонецЦикла; + + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, ТипФормы) + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("ТипФормы", ТипФормы); + Коллекция.Добавить(СтруктураЭлемента); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.Имятеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест() + + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 153607f60..85506fa62 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -251,6 +251,76 @@ }, + "Тесты_ПереходНаУправляемыеФормы": { + + "Используется": true, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1.Форма.ФормаУзла" + ], + + "КритерийОбмена" : [ + "КритерийОбмена1.Форма.ФормаСписка" + ], + + "ОбщаяФорма" : [ + "ФормаКонстант" + ], + + "Документ" : [ + "Документ1.Форма.ФормаОтбора" + ], + + "Справочник" : [ + "Справочник1.Форма.ФормаСписка" + ], + + "РегистрНакопления" : [ + "РегистрНакопления1.Форма.ФормаСписка" + ], + + "Обработка" : [ + "Обработка1.Форма.Форма" + ], + + "Отчет" : [ + "*" + ], + + "КритерийОтбора" : [ + "КритерийОтбора1.Форма.ФормаСписка" + ], + + "ЖурналДокументов" : [ + "Журнал1.Форма.ФормаСписка" + ], + + "Перечисление" : [ + "Перечисление1.Форма.ФормаВыбора" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1.Форма.ФормаПВХ" + ], + + "БизнесПроцесс" : [ + "РегистрСведений1.Форма.ФормаРегистра" + ], + + "Задача" : [ + "ЗадачиПользователя.Форма.ФормаЗадачи" + ] + + } + + }, + "Тесты": { "Параметры" : { "Префикс" : "", From 589773c4077fbd7d8f69de3b04d7c1685b94b568 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 7 Dec 2020 18:45:27 +0300 Subject: [PATCH 191/421] =?UTF-8?q?fix=20smoketest=20=D0=A2=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=5F=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0?= =?UTF-8?q?=D0=A0=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=94=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8?= =?UTF-8?q?=D0=B9=D0=9E=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D0=B9=20(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправления по тесту *Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный* сделанные изменения: 1. Оптимизация работы теста 2. Добавлены новые настройки: - "Используется", - "ВыводитьИсключения", - "ПропускатьОбъектыСПрефиксомУдалить", - "ОпределяемыйТипКомментарий": Имя определяемого типа "Комментарий" для проверки типа реквизита "Комментарий" документов, - "ОпределяемыйТипОтветственный": Имя определяемого типа "Ответственный" для проверки типа реквизита "Ответственный" документов, --- ...0\265\320\275\320\275\321\213\320\271.xml" | 40 +++- .../Ext/Form/Module.bsl" | 182 +++++++++++++++--- tools/JSON/xUnitParams.json | 32 +-- 3 files changed, 209 insertions(+), 45 deletions(-) diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" index 64d3775a6..1480f7b17 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271.xml" @@ -16,7 +16,7 @@ ru - Тесты "Проверка реквизитов документов: комментарий, ответственный " + Тесты "Проверка реквизитов документов: комментарий, ответственный" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7b1d681d0..20601ecee 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,6 +12,14 @@ Перем ПрефиксОбъектов; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ИмяТипаКомментарий; +&НаКлиенте +Перем ИмяТипаОтветственный; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; #КонецОбласти @@ -24,23 +32,33 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; НаборТестов.НачатьГруппу("Документы", Ложь); - мДокументы = Документы(ПрефиксОбъектов, ОтборПоПрефиксу); - Для Каждого Документ Из мДокументы Цикл + мДокументы = Документы(ПрефиксОбъектов, ОтборПоПрефиксу); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(мДокументы); + Иначе + МассивТестов = мДокументы; + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьРеквизитыДокументовКомментарийОтветственный"; - НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Документ.Имя, Документ.ПолноеИмя), Документ.Имя); + ИмяТеста = КонтекстЯдра.СтрШаблон_( + "%1 [%2]", + Тест.ПолноеИмя, + НСтр("ru = 'Проверка реквизитов документа: комментарий, ответственный'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; КонецПроцедуры @@ -57,7 +75,11 @@ КонецЕсли; ОтборПоПрефиксу = Ложь; + ВыводитьИсключения = Ложь; ПрефиксОбъектов = ""; + ИмяТипаКомментарий = ""; + ИмяТипаОтветственный = ""; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -67,16 +89,32 @@ Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ОпределяемыйТипКомментарий") Тогда + ИмяТипаКомментарий = Настройки.ОпределяемыйТипКомментарий; + КонецЕсли; + + Если Настройки.Свойство("ОпределяемыйТипОтветственный") Тогда + ИмяТипаОтветственный = Настройки.ОпределяемыйТипОтветственный; + КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -85,7 +123,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -102,7 +140,9 @@ ПропускатьТест = ПропускатьТест(ПолноеИмяДокумента); - Результат = ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента); + Результат = ПроверитьРеквизитыДокументовКомментарийОтветственный( + ИмяДокумента, ИмяТипаКомментарий, ИмяТипаОтветственный); + Если Результат <> "" И ПропускатьТест.Пропустить Тогда Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); Иначе @@ -112,22 +152,40 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента) +Функция ПроверитьРеквизитыДокументовКомментарийОтветственный(ИмяДокумента, ИмяТипаКомментарий, ИмяТипаОтветственный) Документ = Метаданные.Документы.Найти(ИмяДокумента); Результат = ""; СтроковыеУтилиты = СтроковыеУтилиты(); - Если Документ.Реквизиты.Найти("Комментарий") = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); - ШаблонСообщения = НСтр("ru = '%1%2 комментарий'"); - Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат, Разделитель); + РеквизитКомментарий = Документ.Реквизиты.Найти("Комментарий"); + Если РеквизитКомментарий = Неопределено Тогда + ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Комментарий""'"); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Иначе + Если РеквизитКомментарий <> Неопределено И ЗначениеЗаполнено(ИмяТипаКомментарий) Тогда + ОпределяемыйТипКомментарий = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаКомментарий); + Если РеквизитКомментарий.Тип <> ОпределяемыйТипКомментарий.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Комментарий"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаКомментарий); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + КонецЕсли; + КонецЕсли; КонецЕсли; - Если Документ.Реквизиты.Найти("Ответственный") = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); - ШаблонСообщения = НСтр("ru = '%1%2 ответственный'"); - Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат, Разделитель); + РеквизитОтветственный = Документ.Реквизиты.Найти("Ответственный"); + Если РеквизитОтветственный = Неопределено Тогда + ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Ответственный""'"); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Иначе + Если РеквизитОтветственный <> Неопределено И ЗначениеЗаполнено(ИмяТипаОтветственный) Тогда + ОпределяемыйТипОтветственный = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаОтветственный); + Если РеквизитОтветственный.Тип <> ОпределяемыйТипОтветственный.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Ответственный"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаОтветственный); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + КонецЕсли; + КонецЕсли; КонецЕсли; Возврат Результат; @@ -138,6 +196,12 @@ #Область СлужебныеПроцедурыИФункции +&НаСервереБезКонтекста +Процедура ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Разделитель = ?(ЗначениеЗаполнено(Результат), ";", ""); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат, Разделитель); +КонецПроцедуры + &НаКлиенте Функция ПропускатьТест(ИмяДокумента) @@ -151,6 +215,13 @@ Результат.Пропустить = Истина; Возврат Результат; КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ИмяДокумента), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ИмяДокумента); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; Возврат Результат; @@ -159,39 +230,86 @@ &НаКлиенте Функция ТекстСообщения(ИмяДокумента, Результат) - ШаблонСообщения = НСтр("ru = 'Для документа ""%1"" не указаны реквизиты:%2.'"); + ШаблонСообщения = НСтр("ru = 'Для документа ""%1"":%2.'"); ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяДокумента, Результат); Возврат ТекстСообщения; КонецФункции +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Исключения = Новый Соответствие; + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Исключения.Вставить(Тест, Истина); + КонецЕсли; + КонецЦикла; + + Для Каждого Тест Из МассивТестов Цикл + Если Исключения.Получить(Тест) = Истина Тогда + Продолжить; + КонецЕсли; + Результат.Добавить(Тест); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + ИмяТеста = ПолноеИмяМетаданных; + ИслючениеВсехОбъектов = "Документ.*"; + + Если ИсключенияИзПроверок.Получить(ВРег(ИмяТеста)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + &НаСервереБезКонтекста Функция СтроковыеУтилиты() Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; @@ -226,7 +344,7 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 85506fa62..fa3c2f5ab 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -321,6 +321,26 @@ }, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный":{ + + "Используется": true, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ОпределяемыйТипКомментарий": "Комментарий", + "ОпределяемыйТипОтветственный": "Ответственный", + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ] + + } + + }, + "Тесты": { "Параметры" : { "Префикс" : "", @@ -344,7 +364,6 @@ "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, "Тесты_ПроверкаРегламентныхЗаданий" : true, - "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : true, "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, "Тесты_ПроверкаСоставныхТиповДанных" : true, @@ -515,17 +534,6 @@ ] } }, - "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { "ИсключенияИзПроверок" : { "Справочник" : [ From 8f0fabf6da9decaf865191fd7b8bd612ea941541 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 14 Dec 2020 14:23:01 +0300 Subject: [PATCH 192/421] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #439 --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 383a7ed62..a6283260a 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -84,7 +84,7 @@ КаталогПроекта = ПолучитьКаталогВременныхФайлов(); - ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); + ЭтоПакетныйЗапуск = Найти(ПараметрЗапуска, "xdd") > 0; Если ЭтоПакетныйЗапуск Тогда ВыполнитьПакетныйЗапуск(ПараметрЗапуска); Иначе From def737af03395b74af563cb1ca3c9c45aecb471e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 14 Dec 2020 14:23:44 +0300 Subject: [PATCH 193/421] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #439 --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 278c14a00..9dff733be 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,7 @@ КаталогПроекта = КаталогВременныхФайлов(); - ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); + ЭтоПакетныйЗапуск = Найти(ПараметрЗапуска, "xdd") > 0; Если ЭтоПакетныйЗапуск Тогда ВыполнитьПакетныйЗапуск(ПараметрЗапуска); Иначе From 747971c433620e00d6a90ce99df07066667fecef Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 15 Dec 2020 21:42:13 +0300 Subject: [PATCH 194/421] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B5=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 -- 1 file changed, 2 deletions(-) diff --git "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" index a19468aae..23f667827 100644 --- "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" @@ -341,8 +341,6 @@ // - // Функция ПолучитьЭлементыМетаданногоПоОтбору(типМетаданного, видМетаданного, Количество = 1, структураОтбора = Неопределено) Экспорт - //ПроверитьЗаполненность(типМетаданного, "типМетаданного"); - //ПроверитьЗаполненность(видМетаданного, "видМетаданного"); Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ %3 From e3c6a2e1cd708e93f784f421152da9a75e9a360d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 15 Dec 2020 22:29:12 +0300 Subject: [PATCH 195/421] =?UTF-8?q?=D0=9E=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.example.json | 2 + .../Ext/Form/Module.bsl" | 42 +++++++++++++++++-- .../Ext/Form/Module.bsl" | 42 +++++++++++++++++-- tools/JSON/xUnitParams.json | 2 + 4 files changed, 82 insertions(+), 6 deletions(-) diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index c41ca5a34..e5240cad3 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -26,6 +26,7 @@ }, "smoke": { + "Используется":true, "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, @@ -129,6 +130,7 @@ }, "CommandInterface": { + "Используется":true, "СтрогийПорядокВыполнения": true, "ОбщиеКоманды": [ diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d9716a7d2..b83d66a8b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -14,12 +14,13 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - ПутьНастройки = "CommandInterface"; - НачальнаяНастройка(КонтекстЯдра, ПутьНастройки); + ЗагрузитьНастройки(); КонецПроцедуры &НаКлиенте -Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки) +Процедура ЗагрузитьНастройки() + + ПутьНастройки = КлючНастройки(); Если ЗначениеЗаполнено(Объект.Настройки) Тогда Возврат; @@ -81,10 +82,45 @@ КонецПроцедуры +&НаКлиенте +Функция НужноВыполнятьТест() + + ЗначениеПоУмолчанию = Истина; + + ЗагрузитьНастройки(); + + Настройки = ОБъект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Неопределено; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат ЗначениеПоУмолчанию; + +КонецФункции + +&НаКлиенте +Функция КлючНастройки() Экспорт + Возврат "CommandInterface"; +КонецФункции + &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт Инициализация(КонтекстЯдраПараметр); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; Если Объект.СтрогийПорядокВыполнения Тогда НаборТестов.СтрогийПорядокВыполнения(); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1500aa6c1..638e45d53 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -22,14 +22,17 @@ Объект.ОткрываемФормыНаКлиентеТестирования = Истина; - ПутьНастройки = "smoke"; - НачальнаяНастройка(КонтекстЯдра, ПутьНастройки); + ЗагрузитьНастройки(); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт Инициализация(КонтекстЯдраПараметр); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); @@ -831,7 +834,14 @@ //{ РаботаСНастройками &НаКлиенте -Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки) +Функция КлючНастройки() Экспорт + Возврат "smoke"; +КонецФункции + +&НаКлиенте +Процедура ЗагрузитьНастройки() + + ПутьНастройки = КлючНастройки(); //Отладка(СтрШаблон("Дымовые ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); @@ -909,6 +919,32 @@ КонецФункции +&НаКлиенте +Функция НужноВыполнятьТест() + + ЗначениеПоУмолчанию = Истина; + + ЗагрузитьНастройки(); + + Настройки = ОБъект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Неопределено; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат ЗначениеПоУмолчанию; + +КонецФункции + &НаКлиенте Функция ВключенСтрогийПорядокВыполнения() Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 23c8accea..3d48e73c8 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -26,6 +26,7 @@ }, "smoke": { + "Используется":true, "СтрогийПорядокВыполнения":true, "ОткрываемФормыНаКлиентеТестирования":true, @@ -94,6 +95,7 @@ }, "CommandInterface": { + "Используется":true, "СтрогийПорядокВыполнения": true, "Разделы": [ "Настройки и администрирование" From 616158773491b38f78e52c127814b59726ba7895 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 15 Dec 2020 22:56:30 +0300 Subject: [PATCH 196/421] =?UTF-8?q?+=20=D0=BF=D0=B0=D1=80=D0=B0=20=D0=B4?= =?UTF-8?q?=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BC=D0=BE=D0=B6=D0=B5=D1=82=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D1=82=D1=8C=D1=81=D1=8F=20=D0=B2?= =?UTF-8?q?=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 42 +++++++++++++++++-- .../Forms/Form/Ext/Form/Module.bsl | 40 +++++++++++++++++- tests/smoke/smoke.example.json | 2 + tools/JSON/xUnitParams.json | 2 + 4 files changed, 81 insertions(+), 5 deletions(-) diff --git "a/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 08832f9e0..57963355c 100644 --- "a/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/Smoke_InputBasedOn/Smoke_InputBasedOn/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -83,8 +83,7 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); - ПутьНастройки = "smokeInputBasedOn"; - НачальнаяНастройка(КонтекстЯдра, ПутьНастройки); + ЗагрузитьНастройки(); КонецПроцедуры &НаКлиенте @@ -102,6 +101,10 @@ Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт Инициализация(КонтекстЯдраПараметр); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; НужноИсключениеЕслиНеНайденоДокументов = Ложь; @@ -602,7 +605,9 @@ КонецПроцедуры // ЗагрузитьВТаблицуЗначений() &НаКлиенте -Процедура НачальнаяНастройка(КонтекстЯдра, Знач ПутьНастройки) +Процедура ЗагрузитьНастройки() + + ПутьНастройки = КлючНастройки(); ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -612,6 +617,37 @@ КонецПроцедуры +&НаКлиенте +Функция КлючНастройки() Экспорт + Возврат "smokeInputBasedOn"; +КонецФункции + +&НаКлиенте +Функция НужноВыполнятьТест() + + ЗначениеПоУмолчанию = Истина; + + ЗагрузитьНастройки(); + + Настройки = ОБъект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Неопределено; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат ЗначениеПоУмолчанию; + +КонецФункции + #Область Реализация_Шагов_VanessaADD &НаКлиенте //Когда открываю форму документа "АвтоВзаимозачет" заполненного на основании проведенного "ПоступлениеАвтомобилей" номер "АИ00000002" от "12.03.2017" diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl index 69ef1a9fb..040db4626 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl @@ -36,7 +36,12 @@ Procedure ЗаполнитьНаборТестов(TestsSet, CoreContextParam) E CoreContext = CoreContextParam; LoadSettings(); - LoadSubsystemTests(TestsSet, Object.Settings.Subsystems); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + LoadSubsystemTests(TestsSet, Object.Settings.Subsystems); LoadSmokeCommonModuleTests(TestsSet, Object.Settings.Subsystems, Object.Settings.ExcludedCommonModules); EndProcedure // ЗаполнитьНаборТестов() @@ -489,6 +494,11 @@ Procedure Fact_FullAccessRightsGranted(CommonModuleName, Module) EndProcedure // Fact_FullAccessRightsGranted() +&НаКлиенте +Функция SettingsPath() Экспорт + Возврат "SmokeCommonModules"; +КонецФункции + &AtClient // Loads smoke tests settings. // @@ -498,7 +508,7 @@ Procedure LoadSettings() Return; EndIf; - SettingsPath = "SmokeCommonModules"; + SettingsPath = SettingsPath(); SettingsPlugin = CoreContext.Плагин("Настройки"); SettingsPlugin.Инициализация(CoreContext); @@ -520,6 +530,32 @@ Procedure LoadSettings() EndProcedure // LoadSettings() +&НаКлиенте +Функция НужноВыполнятьТест() + + ЗначениеПоУмолчанию = Истина; + + LoadSettings(); + + Настройки = Object.Settings; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + КлючНастройки = SettingsPath(); + + ВыполнятьТест = Неопределено; + Если ТипЗнч(Настройки) = Тип("ФиксированнаяСтруктура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + + Возврат ВыполнятьТест = Истина; + КонецЕсли; + + Возврат ЗначениеПоУмолчанию; + +КонецФункции + &AtClient // Only for internal use. // diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index f574f2209..f8bd91a65 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -105,6 +105,7 @@ }, "smokeInputBasedOn": { + "Используется":true, "Исключения": { "ДокументыПроведенные": [ "ЧтоОткрываем/ДокументОснование", @@ -117,6 +118,7 @@ }, "SmokeCommonModules": { + "Используется":true, "Subsystems": ["FoxyLink", "FoxyLink.GeneralSettings", "FoxyLink.Plugins.Channels", diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index d116cfdea..6d21c24fa 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -143,6 +143,7 @@ }, "smokeInputBasedOn": { + "Используется":true, "Исключения": { "ДокументыПроведенные": [ "ЧтоОткрываем/ДокументОснование", @@ -155,6 +156,7 @@ }, "SmokeCommonModules": { + "Используется":true, "Subsystems": [ ], "ExcludedCommonModules": [ From 2d1a7c96282202cc48f941afd78a023488f94aaf Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 15 Dec 2020 23:01:20 +0300 Subject: [PATCH 197/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=20=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index dd899c613..55bc8c149 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -253,6 +253,7 @@ Корневой объект `smoke` поддерживает следующие свойства (ключи): +* вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста * `Справочники` - для настройки исключений для форм справочников и заполнения элементов при создании * `Документы` - для настройки исключений для форм документов и заполнения документов при создании * `Отчеты` - для настройки исключений для отчетов @@ -459,6 +460,7 @@ ```json { "smoke": { + "Используется": true, "Справочники": { "ЗначенияРеквизитовНовых": { "Номенклатура": { @@ -526,6 +528,8 @@ Настройка исключений выполняется в общем json-файле. Все настройки задаются в объекте с ключом `CommandInterface`. +* вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + В настоящий момент поддерживаются несколько видов метаданных: - `ОбщиеКоманды` @@ -547,6 +551,7 @@ ```json { "CommandInterface" : { + "Используется": true, "СтрогийПорядокВыполнения": true, "ОбщиеКоманды": [ @@ -573,6 +578,8 @@ ### Настройка дымовых тестов для запуска в tddTestRunner +* вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + Для заполнения списка исключений документов из проверки их необходимо заполнить в модуле документа обработки в процедуре `ПолучитьСписокИсключений_ДокументыПроведенные` и/или `ПолучитьСписокИсключений_ДокументыНеПроведенные` Дымовое тестирование ввода документов на основании может быть сконфигурировано через файл `smoke.json`, по аналогии с обычными дымовыми тестами. Для этого конфигурационный файл должен содержать объект с ключом `smokeInputBasedOn`, внутри которого задаются исключаемые из тестирования комбинации документов и их оснований ввода следующим образом: @@ -580,6 +587,7 @@ ```json { "smokeInputBasedOn": { + "Используется": true, "Исключения": { "ДокументыПроведенные": [ "ЧтоОткрываем/ДокументОснование", @@ -634,11 +642,16 @@ Так же дымовой тест проверяет наличие подсистем в тестируемой конфигурации, если они заданы в настройках (это необходимо если итоговая конфигурация собирается из нескольких конфигураций). +Настройки: + +* вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста + - #### Для проверки наличия подсистемы, например "FoxyLink" (и всех `общих модулей` которые включены в подсистему) необходимо добавить в файл настроек следующее: ```javascript { "smoke" : {...}, "SmokeCommonModules": { + "Используется":true, "Subsystems" : ["FoxyLink"], "ExcludedCommonModules" : [] } From 8c41485452a4ddda7dee89af82e52841df45892c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 18 Dec 2020 20:57:03 +0300 Subject: [PATCH 198/421] =?UTF-8?q?=D0=92=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=89=D0=B0=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=8A=D0=B5=D0=BA=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - исправлено Плагин Данные переиспользует состояние - если есть вложенные вызовы - мелкие замечания Сонара closes #825 --- .../Ext/ObjectModule.bsl" | 28 +++++---- .../Ext/ObjectModule.bsl" | 63 ++++++++++++------- 2 files changed, 55 insertions(+), 36 deletions(-) diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 81f083bde..85ba4d54c 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -23,12 +23,14 @@ Функция НачатьСоздание(ИмяМетаданных) Экспорт - ПараметрыМетаданныхСлужебный = ПараметрыМетаданныхИзПолногоИмени(ИмяМетаданных); + НовыйОбъект = ВнешниеОбработки.Создать("Данные"); - ИмяМетаданныхСлужебный = ИмяМетаданных; - ПараметрыОбъектаСлужебный = Новый Структура; + НовыйОбъект.ПараметрыМетаданныхСлужебный = ПараметрыМетаданныхИзПолногоИмени(ИмяМетаданных); - Возврат ЭтотОбъект; + НовыйОбъект.ИмяМетаданныхСлужебный = ИмяМетаданных; + НовыйОбъект.ПараметрыОбъектаСлужебный = Новый Структура; + + Возврат НовыйОбъект; КонецФункции @@ -125,7 +127,7 @@ Функция Создать(НеЗаписывать = Ложь) Экспорт - Возврат СоздатьОбъект(Неопределено, ПараметрыОбъектаСлужебный, НеЗаписывать);; + Возврат СоздатьОбъект(Неопределено, ПараметрыОбъектаСлужебный, НеЗаписывать); КонецФункции @@ -329,7 +331,7 @@ //{ СлужебныеПроцедурыФункции -Функция СоздатьОбъект(ИмяМетаданных, Параметры = Неопределено, НеЗаписывать) +Функция СоздатьОбъект(ИмяМетаданных, Параметры, НеЗаписывать) Перем Объект; @@ -348,16 +350,15 @@ Объект = СоздатьЭлементСправочникаСлужебный(ИмяМетаданных, Параметры); ИначеЕсли ТипМетаданных = "Документы" Тогда Объект = СоздатьДокументСлужебный(ИмяМетаданных, Параметры); - ИначеЕсли ТипМетаданных = "РегистрыНакопления" Тогда - Объект = СоздатьНаборЗаписейСлужебный(ТипМетаданных, ИмяМетаданных, Параметры); - ИначеЕсли ТипМетаданных = "РегистрыСведений" Тогда + ИначеЕсли ТипМетаданных = "РегистрыНакопления" + Или ТипМетаданных = "РегистрыСведений" Тогда Объект = СоздатьНаборЗаписейСлужебный(ТипМетаданных, ИмяМетаданных, Параметры); ИначеЕсли ТипМетаданных = "ПланыВидовХарактеристик" Тогда Объект = СоздатьПланВидовХарактеристикСлужебный(ИмяМетаданных, Параметры); ИначеЕсли ТипМетаданных = "ТаблицаЗначений" Тогда Объект = ТаблицаЗначений(""); Иначе - ВызватьИсключение "Тип метаданных " + ТипМетаданных + " не поддреживается"; + ВызватьИсключение "Тип метаданных " + ТипМетаданных + " не поддерживается"; КонецЕсли; Если НЕ НеЗаписывать И ТипМетаданных <> "ТаблицаЗначений" Тогда @@ -463,7 +464,7 @@ КонецЕсли; Тип = Метаданные.НайтиПоТипу(Типы[0]).ПолноеИмя(); - ЗначениеРеквизита = СоздатьОбъект(Тип,,Ложь); + ЗначениеРеквизита = СоздатьОбъект(Тип, Неопределено, Ложь); Возврат ЗначениеРеквизита.Ссылка; КонецФункции @@ -521,7 +522,8 @@ КонецФункции // Тестирвоание_ВыполнитьМетодМодуля() // { Helpers -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, СокращатьНепечатаемыеСимволы = Ложь) Экспорт +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено, + СокращатьНепечатаемыеСимволы = Ложь) Экспорт Результат = Новый Массив; @@ -622,7 +624,7 @@ ВыполнитьАвтозаполнениеПараметров("Документ", ИмяДокумента, ПараметрыДокумента); Документ = Документы[ИмяДокумента].СоздатьДокумент(); - Документ.Дата = ТекущаяДата(); + Документ.Дата = ТекущаяДатаСеанса(); Документ.УстановитьНовыйНомер(); ЗаполнитьЗначенияСвойств(Документ, ПараметрыДокумента); diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 8a0876d96..52367d084 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -50,6 +50,9 @@ НаборТестов.Добавить("Тест_РеквизитСправочникаАвтоматическиЗаполнился"); НаборТестов.Добавить("Тест_ВызваноИСключениеДляСоставногоТипа"); + НаборТестов.НачатьГруппу("Вложенные вызовы"); + НаборТестов.Добавить("Тест_ВложенныеВызовы"); + КонецПроцедуры //} @@ -83,14 +86,14 @@ // I подготовка данных - Данные.НачатьСоздание("РегистрНакопления.РегистрНакопленияОстатки") + Набор = Данные.НачатьСоздание("РегистрНакопления.РегистрНакопленияОстатки") .Реквизит("_ОтборРегистратор", Данные.СоздатьДокумент("ДокументСДвижениями")) .Реквизит("Период", НачалоДня(ТекущаяДата())) .Реквизит("ВидДвижения", ВидДвиженияНакопления.Приход) .ШапкаНабора("Измерение1", "РесурсЧисло1") .ЗаписьНабора("Тестовое1", 100) - .ЗаписьНабора("Тестовое2", 120); - Набор = Данные.Создать(); + .ЗаписьНабора("Тестовое2", 120) + .Создать(); // II подготовка к вызову и вызов проверяемой функции @@ -122,14 +125,14 @@ Процедура Тест_СозданиеЭлементовСправочников_НовыйИнтерфейс() Экспорт - Данные.НачатьСоздание("Справочник.Справочник1") - .Реквизит("Реквизит1", Перечисления.Перечисление1.ЗначениеПеречисления1) - .Реквизит("РеквизитСтрока", "Строка") - .ШапкаТабличнойЧасти("ТабличнаяЧасть1", - "РеквизитЧисло", "РеквизитДата") - .СтрокаТЧ(10, Дата(2,1,1)) - .СтрокаТЧ(20, Дата(3,1,1)); - ЭлементСправочника = Данные.Создать(); + ЭлементСправочника = Данные.НачатьСоздание("Справочник.Справочник1") + .Реквизит("Реквизит1", Перечисления.Перечисление1.ЗначениеПеречисления1) + .Реквизит("РеквизитСтрока", "Строка") + .ШапкаТабличнойЧасти("ТабличнаяЧасть1", + "РеквизитЧисло", "РеквизитДата") + .СтрокаТЧ(10, Дата(2,1,1)) + .СтрокаТЧ(20, Дата(3,1,1)) + .Создать(); Утверждения.ПроверитьРавенство(Перечисления.Перечисление1.ЗначениеПеречисления1,ЭлементСправочника.Реквизит1); Утверждения.ПроверитьРавенство("Строка",ЭлементСправочника.РеквизитСтрока); @@ -175,13 +178,13 @@ ПростойСправочник = Данные.СоздатьЭлементСправочника("ПростойСправочник"); - Данные.НачатьСоздание("Документ.ДокументСДвижениями") + Док = Данные.НачатьСоздание("Документ.ДокументСДвижениями") .Реквизит("РеквизитПростойСправочник", ПростойСправочник) .ШапкаТабличнойЧасти("ТЧ","Реквизит1", "РесурсЧисло") .СтрокаТЧ("Элемент1", 10) - .СтрокаТЧ("Элемент2", 15); - Док = Данные.Создать(); - + .СтрокаТЧ("Элемент2", 15) + .Создать(); + Утверждения.ПроверитьРавенство(ПростойСправочник,Док.РеквизитПростойСправочник); Утверждения.ПроверитьРавенство(2,Док.ТЧ.Количество()); @@ -225,9 +228,9 @@ Процедура Тест_СозданиеЭлементовПлановВидовХарактеристик_НовыйИнтерфейс() Экспорт - Данные.НачатьСоздание("ПланВидовХарактеристик.ВидыСубконто1") - .Реквизит("РеквизитБулево", Истина); - ЭлементСправочника = Данные.Создать(); + ЭлементСправочника = Данные.НачатьСоздание("ПланВидовХарактеристик.ВидыСубконто1") + .Реквизит("РеквизитБулево", Истина) + .Создать(); Утверждения.ПроверитьРавенство(Истина,ЭлементСправочника.РеквизитБулево); @@ -259,18 +262,18 @@ Процедура Тест_РеквизитСправочникаАвтоматическиЗаполнился() Экспорт - Данные.НачатьСоздание("Справочники.Справочник1") - .Реквизит("Реквизит2"); - Объект = Данные.Создать(); + Объект = Данные.НачатьСоздание("Справочники.Справочник1") + .Реквизит("Реквизит2") + .Создать(); Утверждения.ПроверитьЗаполненность(Объект.Реквизит2); КонецПроцедуры Процедура Тест_ВызваноИСключениеДляСоставногоТипа() Экспорт - Данные.НачатьСоздание("Справочники.Справочник1") + ОбъектДанных = Данные.НачатьСоздание("Справочники.Справочник1") .Реквизит("СоставнойРеквизит"); - Утверждения.ПроверитьМетодНеВыполнился(Данные, "Создать", "Автозаполнение не поддерживается в составных типах"); + Утверждения.ПроверитьМетодНеВыполнился(ОбъектДанных, "Создать", "Автозаполнение не поддерживается в составных типах"); КонецПроцедуры @@ -313,6 +316,20 @@ КонецПроцедуры +Процедура Тест_ВложенныеВызовы() Экспорт + Справочник1 = Данные.НачатьСоздание("Справочник.Справочник1") + .Реквизит("Реквизит2", НовыйСправочник2()) + .Создать(); + + Ожидаем.Что(Справочник1, "Справочник1").ИмеетТип("СправочникСсылка.Справочник1"); + Ожидаем.Что(Справочник1.Реквизит2, "Справочник2").ИмеетТип("СправочникСсылка.Справочник2"); +КонецПроцедуры + +Функция НовыйСправочник2() + Справочник2 = Данные.НачатьСоздание("Справочник.Справочник2") + .Создать(); + Возврат Справочник2; +КонецФункции //} Кеш = Новый Структура; From 6fe69eeedb4ba2526769b7f776bbd8283a6c01a4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 18 Dec 2020 23:40:21 +0300 Subject: [PATCH 199/421] =?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=B5=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D1=83=D1=8E=D1=89=D0=B8=D1=85=20=D1=80=D0=B5=D0=BA=D0=B2?= =?UTF-8?q?=D0=B8=D0=B7=D0=B8=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #824 --- .../Ext/ObjectModule.bsl" | 104 ++++++++++++++---- .../Ext/ObjectModule.bsl" | 57 +++++++++- 2 files changed, 136 insertions(+), 25 deletions(-) diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 85ba4d54c..739b40a72 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -75,7 +75,7 @@ Функция ТаблицаЗначений(ИмяТЧ) Экспорт - Если НЕ ПараметрыОбъектаСлужебный.Свойство("ТЧ_"+ИмяТЧ) Тогда + Если НЕ ПараметрыОбъектаСлужебный.Свойство(ИмяРеквизитаТабличнойЧасти(ИмяТЧ)) Тогда ВызватьИсключение "Не найдена табличная часть "+ИмяТЧ; КонецЕсли; @@ -89,7 +89,7 @@ КонецЦикла; - Для каждого СтрокаТЧ Из ПараметрыОбъектаСлужебный["ТЧ_" + ИмяТЧ] Цикл + Для каждого СтрокаТЧ Из ПараметрыОбъектаСлужебный[ИмяРеквизитаТабличнойЧасти(ИмяТЧ)] Цикл ЗаполнитьЗначенияСвойств(Результат.Добавить(), СтрокаТЧ); КонецЦикла; @@ -239,7 +239,7 @@ ,Параметр8 = Неопределено ,Параметр9 = Неопределено) Экспорт - ИмяПараметраТЧ = "ТЧ_"+ИмяТабличнойЧасти; + ИмяПараметраТЧ = ИмяРеквизитаТабличнойЧасти(ИмяТабличнойЧасти); Если НЕ ПараметрыОбъекта.Свойство(ИмяПараметраТЧ) Тогда ПараметрыОбъекта.Вставить(ИмяПараметраТЧ, Новый Массив); КонецЕсли; @@ -412,19 +412,42 @@ КонецПроцедуры -Процедура ЗаполнитьТабличнуюЧасть(Документ, ОбработчикиСтрокТЧ, ПараметрыДокумента) +Процедура ЗаполнитьТабличнуюЧасть(Документ, ОбработчикиСтрокТЧ, ПараметрыДокумента, МетаданноеОбъекта) Перем ИмяТЧ, КлючЗначение, НоваяСтрока, Параметр, ПредставлениеСтроки; Для каждого Параметр Из ПараметрыДокумента Цикл - Если Лев(Параметр.Ключ, 3) <> "ТЧ_" Тогда + Если Не ЭтоРеквизитТабличнойЧасти(Параметр.Ключ) Тогда Продолжить; КонецЕсли; - ИмяТЧ = СтрЗаменить(Параметр.Ключ, "ТЧ_", ""); + ИмяТЧ = Сред(Параметр.Ключ, СтрДлина(ПрефиксТабличнойЧастиВИмени()) + 1); + //ИмяТЧ = СтрЗаменить(Параметр.Ключ, ПрефиксТабличнойЧастиВИмени(), ""); Для каждого ПредставлениеСтроки Из ПараметрыДокумента[Параметр.Ключ] Цикл НоваяСтрока = Документ[ИмяТЧ].Добавить(); + МетаТЧ = МетаданноеОбъекта.ТабличныеЧасти.Найти(ИмяТЧ); + + Для Каждого КлючЗначение Из ПредставлениеСтроки Цикл + + ИмяРеквизитаТЧ = КлючЗначение.Ключ; + Если МетаТЧ.Реквизиты.Найти(ИмяРеквизитаТЧ) <> Неопределено Тогда + Продолжить; + КонецЕсли; + Нашли = Ложь; + Для каждого МетаРеквизит Из МетаТЧ.СтандартныеРеквизиты Цикл + Если МетаРеквизит = ИмяРеквизитаТЧ Тогда + Нашли = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Если Не Нашли Тогда + ВызватьИсключение СтрШаблон("Поле %2 табличной части %1 объекта не обнаружено", ИмяТЧ, ИмяРеквизитаТЧ); + + КонецЕсли; + + КонецЦикла; ЗаполнитьЗначенияСвойств(НоваяСтрока, ПредставлениеСтроки); Если ОбработчикиСтрокТЧ <> Неопределено Тогда @@ -442,23 +465,46 @@ КонецПроцедуры -Процедура ВыполнитьАвтозаполнениеПараметров(Знач ТипОбъекта, ИмяСправочника, ПараметрыЭлемента) +Функция ВыполнитьАвтозаполнениеПараметров(Знач ТипОбъекта, Знач ВидОбъекта, ПараметрыЭлемента) ТипОбъекта = ИмяМетаданныхПолномеИмя()[ТипОбъекта]; + МетаданноеОбъекта = Метаданные[ТипОбъекта][ВидОбъекта]; + Реквизиты = МетаданноеОбъекта.Реквизиты; + Для каждого КлючЗначение Из ПараметрыЭлемента Цикл + + ИмяРеквизита = КлючЗначение.Ключ; + Если ЭтоРеквизитТабличнойЧасти(ИмяРеквизита) Тогда + Продолжить; + КонецЕсли; + + Реквизит = РеквизитМетаданногоПоИмени(Реквизиты, ИмяРеквизита); + Если КлючЗначение.Значение = Неопределено Тогда - ПараметрыЭлемента[КлючЗначение.Ключ] = ЗначениеРеквизитаПоТипу(ТипОбъекта, ИмяСправочника, КлючЗначение.Ключ); + ПараметрыЭлемента[ИмяРеквизита] = ЗначениеРеквизитаПоТипу(Реквизит); КонецЕсли; КонецЦикла; -КонецПроцедуры - -Функция ЗначениеРеквизитаПоТипу(ТипОбъекта, ИмяОбъекта, ИмяРеквизита) + Возврат МетаданноеОбъекта; +КонецФункции - Реквизиты = Метаданные[ТипОбъекта][ИмяОбъекта].Реквизиты; +Функция РеквизитМетаданногоПоИмени(Знач Реквизиты, Знач ИмяРеквизита) - Типы = Реквизиты[ИмяРеквизита].Тип.Типы(); + Перем Реквизит; + + Реквизит = Реквизиты.Найти(ИмяРеквизита); + Если Реквизит = Неопределено Тогда + ВызватьИсключение СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита); + КонецЕсли; + + Возврат Реквизит; + +КонецФункции + +Функция ЗначениеРеквизитаПоТипу(Реквизит) + + Типы = Реквизит.Тип.Типы(); Если Типы.Количество() > 1 Тогда ВызватьИсключение "Автозаполнение не поддерживается в составных типах"; КонецЕсли; @@ -467,7 +513,7 @@ ЗначениеРеквизита = СоздатьОбъект(Тип, Неопределено, Ложь); Возврат ЗначениеРеквизита.Ссылка; -КонецФункции +КонецФункции Функция ИмяМетаданныхПолномеИмя() @@ -594,7 +640,7 @@ ПараметрыЭлемента = Новый Структура; КонецЕсли; - ВыполнитьАвтозаполнениеПараметров("Справочник", ИмяСправочника, ПараметрыЭлемента); + МетаданноеОбъекта = ВыполнитьАвтозаполнениеПараметров("Справочник", ИмяСправочника, ПараметрыЭлемента); Если ПараметрыЭлемента.Свойство("ЭтоГруппа") И ПараметрыЭлемента.ЭтоГруппа Тогда Элемент = Справочники[ИмяСправочника].СоздатьГруппу(); @@ -606,7 +652,7 @@ ЗаполнитьЗначенияСвойств(Элемент, ПараметрыЭлемента); - ЗаполнитьТабличнуюЧасть(Элемент, Неопределено, ПараметрыЭлемента); + ЗаполнитьТабличнуюЧасть(Элемент, Неопределено, ПараметрыЭлемента, МетаданноеОбъекта); Элемент.ОбменДанными.Загрузка = Истина; Элемент.УстановитьСсылкуНового(Справочники[ИмяСправочника].ПолучитьСсылку(Новый УникальныйИдентификатор)); @@ -621,7 +667,7 @@ ПараметрыДокумента = Новый Структура; КонецЕсли; - ВыполнитьАвтозаполнениеПараметров("Документ", ИмяДокумента, ПараметрыДокумента); + МетаданноеОбъекта = ВыполнитьАвтозаполнениеПараметров("Документ", ИмяДокумента, ПараметрыДокумента); Документ = Документы[ИмяДокумента].СоздатьДокумент(); Документ.Дата = ТекущаяДатаСеанса(); @@ -629,7 +675,7 @@ ЗаполнитьЗначенияСвойств(Документ, ПараметрыДокумента); - ЗаполнитьТабличнуюЧасть(Документ, ОбработчикиСтрокТЧ, ПараметрыДокумента); + ЗаполнитьТабличнуюЧасть(Документ, ОбработчикиСтрокТЧ, ПараметрыДокумента, МетаданноеОбъекта); Документ.ОбменДанными.Загрузка = Истина; Документ.УстановитьСсылкуНового(Документы[ИмяДокумента].ПолучитьСсылку(Новый УникальныйИдентификатор)); @@ -685,7 +731,7 @@ ПараметрыЭлемента = Новый Структура; КонецЕсли; - ВыполнитьАвтозаполнениеПараметров("ПланВидовХарактеристик", ИмяМетаданных, ПараметрыЭлемента); + МетаданноеОбъекта = ВыполнитьАвтозаполнениеПараметров("ПланВидовХарактеристик", ИмяМетаданных, ПараметрыЭлемента); Если ПараметрыЭлемента.Свойство("ЭтоГруппа") И ПараметрыЭлемента.ЭтоГруппа Тогда Элемент = ПланыВидовХарактеристик[ИмяМетаданных].СоздатьГруппу(); @@ -697,7 +743,7 @@ ЗаполнитьЗначенияСвойств(Элемент, ПараметрыЭлемента); - ЗаполнитьТабличнуюЧасть(Элемент, Неопределено, ПараметрыЭлемента); + ЗаполнитьТабличнуюЧасть(Элемент, Неопределено, ПараметрыЭлемента, МетаданноеОбъекта); Элемент.ОбменДанными.Загрузка = Истина; Элемент.УстановитьСсылкуНового(ПланыВидовХарактеристик[ИмяМетаданных].ПолучитьСсылку(Новый УникальныйИдентификатор)); @@ -715,6 +761,24 @@ КонецПроцедуры +Функция ПрефиксТабличнойЧастиВИмени() + + Возврат "ТЧ_"; + +КонецФункции + +Функция ИмяРеквизитаТабличнойЧасти(Знач Имя) + + Возврат ПрефиксТабличнойЧастиВИмени() + Имя; + +КонецФункции + +Функция ЭтоРеквизитТабличнойЧасти(Знач Имя) + + Возврат Лев(Имя, 3) = ПрефиксТабличнойЧастиВИмени(); +КонецФункции + + // } СлужебныеПроцедуры ИмяМетаданныхСлужебный = ""; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 52367d084..ce6b432a0 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/\320\242\320\265\321\201\321\202\321\213_\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -53,6 +53,11 @@ НаборТестов.НачатьГруппу("Вложенные вызовы"); НаборТестов.Добавить("Тест_ВложенныеВызовы"); + НаборТестов.НачатьГруппу("Ошибочные вызовы"); + НаборТестов.Добавить("Тест_НесуществующийРеквизит"); + НаборТестов.Добавить("Тест_УстановитьЗначениеНесуществующегоРеквизита"); + НаборТестов.Добавить("Тест_УстановитьЗначениеНесуществующегоРеквизитаТабличнойЧасти"); + КонецПроцедуры //} @@ -310,11 +315,7 @@ #КонецОбласти -Процедура Тест_ОшибкаОписаниеРеквизита() Экспорт - - - -КонецПроцедуры +#Область ВложенныеВызовы Процедура Тест_ВложенныеВызовы() Экспорт Справочник1 = Данные.НачатьСоздание("Справочник.Справочник1") @@ -331,5 +332,51 @@ Возврат Справочник2; КонецФункции +#КонецОбласти + +#Область Ошибки + +Процедура Тест_НесуществующийРеквизит() Экспорт + + ИмяРеквизита = "НесуществующийРеквизит"; + + ОбъектДанных = Данные.НачатьСоздание("Справочники.Справочник1") + .Реквизит(ИмяРеквизита); + + Утверждения.ПроверитьМетодНеВыполнился(ОбъектДанных, "Создать", + СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита)); + +КонецПроцедуры + +Процедура Тест_УстановитьЗначениеНесуществующегоРеквизита() Экспорт + + ИмяРеквизита = "НесуществующийРеквизит"; + + ОбъектДанных = Данные.НачатьСоздание("Справочники.Справочник1") + .Реквизит(ИмяРеквизита, 10); + + Утверждения.ПроверитьМетодНеВыполнился(ОбъектДанных, "Создать", + СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита)); + +КонецПроцедуры + +Процедура Тест_УстановитьЗначениеНесуществующегоРеквизитаТабличнойЧасти() Экспорт + + ИмяТабличнойЧасти = "ТабличнаяЧасть1"; + ИмяРеквизита = "НесуществующийРеквизит"; + + ОбъектДанных = Данные.НачатьСоздание("Справочник.Справочник1") + .Реквизит("Реквизит1", Перечисления.Перечисление1.ЗначениеПеречисления1) + .ШапкаТабличнойЧасти(ИмяТабличнойЧасти, + ИмяРеквизита, "РеквизитДата") + .СтрокаТЧ(10, Дата(2,1,1)); + + Утверждения.ПроверитьМетодНеВыполнился(ОбъектДанных, "Создать", + СтрШаблон("Поле %2 табличной части %1 объекта не обнаружено", ИмяТабличнойЧасти, ИмяРеквизита)); + +КонецПроцедуры + +#КонецОбласти + //} Кеш = Новый Структура; From 5393d5dd5293dcfc1981a061dcfa5ddce742a40c Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 11 Jan 2021 18:55:00 +0300 Subject: [PATCH 200/421] =?UTF-8?q?xddTestRunner=20fix=20=D0=9F=D0=BE?= =?UTF-8?q?=D0=B4=D1=80=D0=BE=D0=B1=D0=BD=D0=BE=D0=B5=D0=9F=D1=80=D0=B5?= =?UTF-8?q?=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=D0=9E=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20(#833)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix ПодробноеПредставлениеОшибки * fix xUnitParams * fix ВыводитьПодробноеПредставлениеОшибки --- epf/xddTestRunner/xddTestRunner.xml | 34 ++++++++++++++ .../Ext/Form/Module.bsl" | 45 +++++++++++++------ tools/JSON/xUnitParams.json | 1 + 3 files changed, 66 insertions(+), 14 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner.xml b/epf/xddTestRunner/xddTestRunner.xml index e22c9c0bd..cca2a6e06 100644 --- a/epf/xddTestRunner/xddTestRunner.xml +++ b/epf/xddTestRunner/xddTestRunner.xml @@ -744,6 +744,40 @@ Auto + + + ВыводитьПодробноеПредставлениеОшибки + + + ru + Выводить подробное представление ошибки + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
УправляемаяФорма
МодульАсинк
diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a6283260a..71af884d3 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -742,11 +742,11 @@ Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); НовыйДочернийРезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; - Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда + Если ЭтоОшибкаПроверки(ПодробныйТекстОшибки) Тогда НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; Иначе НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; @@ -846,8 +846,8 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда @@ -858,7 +858,7 @@ Иначе РезультатТестирования.Сообщение = КраткийТекстОшибки; - РезультатТестирования.ПодробноеСообщение = ТекстОшибки; + РезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; @@ -885,7 +885,7 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); @@ -915,7 +915,7 @@ КонтекстВыполнения.Инициализация(ЭтаФорма); Возврат Истина; Исключение - РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецПопытки; Возврат Ложь; @@ -945,7 +945,7 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); @@ -1004,7 +1004,7 @@ Попытка ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры); Исключение - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда ВызватьИсключение; КонецЕсли; @@ -2322,6 +2322,11 @@ Объект.ФлагОтладки = ПлагинНастроек.ПолучитьНастройку("Отладка") = Истина; КонецЕсли; + Объект.ВыводитьПодробноеПредставлениеОшибки = Истина; + Если ПлагинНастроек.ЕстьНастройка("ВыводитьПодробноеПредставлениеОшибки") Тогда + Объект.ВыводитьПодробноеПредставлениеОшибки = Объект.Настройки.ВыводитьПодробноеПредставлениеОшибки; + КонецЕсли; + Объект.ВыводитьЛогВыполненияСценариевВТекстовыйФайл = Ложь; Если ПлагинНастроек.ЕстьНастройка("ДелатьЛогВыполненияСценариевВТекстовыйФайл") Тогда Объект.ВыводитьЛогВыполненияСценариевВТекстовыйФайл = Объект.Настройки.ДелатьЛогВыполненияСценариевВТекстовыйФайл; @@ -2573,6 +2578,10 @@ Возврат Ложь; КонецЕсли; + Если ИспользуютсяСинхронныеВызовыРасширенийПлатформыИВнешнихКомпонент(СистемнаяИнформация.ВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + Если ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.13.0") Тогда РежимСовместимостиПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать; //РежимИспользованияСинхронныхВызововРасширенийПлатформыИВнешнихКомпонент.НеИспользовать; @@ -2590,10 +2599,6 @@ КонецЕсли; - Если ИспользуютсяСинхронныеВызовыРасширенийПлатформыИВнешнихКомпонент(СистемнаяИнформация.ВерсияПриложения) Тогда - Возврат Ложь; - КонецЕсли; - Возврат Истина; КонецФункции @@ -2753,5 +2758,17 @@ КонецФункции +&НаКлиенте +Функция ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке) + + Если Объект.ВыводитьПодробноеПредставлениеОшибки Тогда + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + Иначе + ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + КонецЕсли; + + Возврат ТекстОшибки; + +КонецФункции // } Вспомогательные методы diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 6d21c24fa..82bdced17 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -1,6 +1,7 @@ { "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, "ДобавлятьИмяПользователяВПредставлениеТеста":true, "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", From b825e5f1bad488dc86469da3b4541f1bdc011864 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 29 Jan 2021 15:17:58 +0300 Subject: [PATCH 201/421] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B0=20=D1=82=D0=B5=D0=B3?= =?UTF-8?q?=D0=B0=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/bug_report.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 2f0a1d1d3..9eefe9ead 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,6 +1,9 @@ --- name: Сообщение об ошибке about: если вы выявили ошибку - сообщите нам об этом +title: '[BUG]' +labels: bug +assignees: '' --- From 520a772d6c3a8f0def76b73715dd6d7d349ad1c0 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Fri, 12 Feb 2021 00:00:09 +0300 Subject: [PATCH 202/421] =?UTF-8?q?fix=20=D0=A2=D0=B5=D1=81=D1=82=D1=8B=5F?= =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=D0=98=D0=BD?= =?UTF-8?q?=D0=B4=D0=B5=D0=BA=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=D0=A3=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2=D1=88?= =?UTF-8?q?=D0=B8=D1=85=D0=9E=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\260\320\275\320\275\321\213\321\205.xml" | 38 ++++++ .../Ext/Form/Module.bsl" | 115 ++++++++++++++---- tools/JSON/xUnitParams.json | 29 +++-- 3 files changed, 143 insertions(+), 39 deletions(-) diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" index 677424768..7dd95dc25 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 57543fab7..641007836 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,6 +12,8 @@ Перем ОтборПоПрефиксу; &НаКлиенте Перем ПрефиксОбъектов; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -24,15 +26,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -41,16 +42,21 @@ СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); Для Каждого ОбъектМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда Продолжить; КонецЕсли; НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из ОбъектМетаданных.Значение Цикл + Для Каждого Элемент Из МассивТестов Цикл НаборТестов.Добавить( "ТестДолжен_ПроверитьИндексированиеУстаревшихОбъектовМетаданных", - НаборТестов.ПараметрыТеста(ЭлементСтруктурыОбъектовМетаданных.ПолноеИмя), - ЭлементСтруктурыОбъектовМетаданных.ИмяТеста); + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + Элемент.ИмяТеста); КонецЦикла; КонецЦикла; @@ -70,6 +76,7 @@ ПрефиксОбъектов = ""; ОтборПоПрефиксу = Ложь; + ВыводитьИсключения = Истина; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -80,15 +87,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -97,7 +108,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -155,6 +166,45 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Исключения = Новый Соответствие; + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Исключения.Вставить(Тест, Истина); + КонецЕсли; + КонецЦикла; + + Для Каждого Тест Из МассивТестов Цикл + Если Исключения.Получить(Тест) = Истина Тогда + Продолжить; + КонецЕсли; + Результат.Добавить(Тест); + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -193,7 +243,9 @@ ОбработатьЭлементыОбъектаМетаданных(Параметры, "ЗначенияПеречисления"); ОбработатьЭлементыОбъектаМетаданных(Параметры, "Измерения"); - ОбработатьЭлементыОбъектаМетаданных(Параметры, "Ресурсы"); + Если Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) Тогда + ОбработатьЭлементыОбъектаМетаданных(Параметры, "Ресурсы"); + КонецЕсли; ОбработатьЭлементыОбъектаМетаданных(Параметры, "Реквизиты"); ОбработатьТабличныеЧастиОбъектаМетаданных(Параметры, "ТабличныеЧасти"); ОбработатьЭлементыОбъектаМетаданных(Параметры, "Графы"); @@ -221,11 +273,11 @@ Если Не ЕстьРеквизитИлиСвойствоОбъекта(ОбъектМетаданных, ИмяКоллекции) Тогда Возврат; КонецЕсли; - - ОбработатьВсеРеквизиты = ВключитьВсеЭлементы; Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл + ОбработатьВсеРеквизиты = ВключитьВсеЭлементы; + Если ВключитьВсеЭлементы Или ЭтоУстаревшийОбъектМетаданных(ЭлементКоллекции.Имя) Тогда Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда @@ -276,7 +328,7 @@ ДобавитьЭлементКоллекцииОбъектовМетаданных( СтроковыеУтилиты, СтруктураОбъектовМетаданных[ИмяМетаданных], - ЭлементКоллекции.ПолноеИмя()); + ЭлементКоллекции.ПолноеИмя()); КонецЕсли; КонецЦикла; @@ -287,7 +339,7 @@ Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя) ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - "%1: %2", + "%1 [%2]", ПолноеИмя, НСтр("ru = 'Проверка индексов устаревшего объекта'")); @@ -349,7 +401,8 @@ Возврат Ложь; КонецЕсли; - Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции @@ -358,8 +411,19 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции @@ -367,18 +431,15 @@ Функция ВыполнятьТест(КонтекстЯдра) ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 82bdced17..bc3b0cb35 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -346,6 +346,23 @@ }, + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных": { + + "Используется": true, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок" : { + "Справочник" : [ + "ИмяСправочника" + ], + "Документ" : [ + "ИмяДокумента" + ] + } + }, + "Тесты": { "Параметры" : { "Префикс" : "", @@ -353,7 +370,6 @@ "ПропускатьОбъектыСПрефиксомУдалить" : true, "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, - "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : true, "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, "Тесты_ПроверкаОбщихРеквизитов" : true, @@ -376,17 +392,6 @@ "Тесты_ПроверкаУстаревшихТиповДанных" : true, "Тесты_ПроверкаХранилищаВариантовОтчетов" : true }, - "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { "ИсключенияИзПроверок" : { "Справочник" : [ From 373455e171aca7de680ef434e06890229cb73d5d Mon Sep 17 00:00:00 2001 From: Sulfur Date: Sun, 21 Feb 2021 13:36:49 +0300 Subject: [PATCH 203/421] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=8B=20=D1=8D=D0=BB=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=BE=D0=B2=20=D0=BD=D0=B0=20=D0=BE=D1=81?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BD=D0=BE=D0=B9=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B5=20=D1=81=D0=B2=D0=BE=D1=80=D0=B0=D1=87=D0=B8=D0=B2=D0=B0?= =?UTF-8?q?=D0=B5=D0=BC=D1=8B=D0=BC=D0=B8=20(#829)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Сделал группы элементов на основной форме сворачиваемыми Co-authored-by: Ivanov D.V --- .../Ext/Form.xml" | 123 ++++++++++-------- .../Ext/Form/Module.bsl" | 6 +- 2 files changed, 74 insertions(+), 55 deletions(-) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index ae9c02830..34a036b44 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -65,7 +65,7 @@ <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Группа настройки</v8:content> + <v8:content>Настройки</v8:content> </v8:item> @@ -75,24 +75,24 @@ Horizontal + Collapsible None - false - + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Группа страницы</v8:content> + <v8:content>Группа страницы настройки</v8:content> </v8:item> ru - Группа страницы + Группа страницы настройки - + @@ -768,7 +768,7 @@ </Table> </ChildItems> </UsualGroup> - <Pages name="ГруппаМакеты" id="468"> + <UsualGroup name="ГруппаМакеты" id="486"> <Title> <v8:item> <v8:lang>ru</v8:lang> @@ -781,70 +781,89 @@ <v8:content>Группа макеты</v8:content> </v8:item> </ToolTip> - <ExtendedTooltip name="ГруппаМакетыРасширеннаяПодсказка" id="469"/> + <Behavior>Collapsible</Behavior> + <Representation>None</Representation> + <ExtendedTooltip name="ГруппаМакетыРасширеннаяПодсказка" id="487"/> <ChildItems> - <Page name="ГруппаТабличныйДокумент" id="470"> + <Pages name="ГруппаСтраницыМакеты" id="468"> <Title> <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Табличный документ</v8:content> + <v8:content>Макеты</v8:content> </v8:item> ru - Группа табличный документ + Группа страницы макеты - + - - Макет + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Макет данных</v8:content> + <v8:content>Табличный документ</v8:content> </v8:item> - None - DontShow - true - true - true - true - WhenActive - Enable - true - - - - - - - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>JSON документ</v8:content> - </v8:item> - - - - ru - Группа текстовый документ - - - - - - МакетТекстовый - None - - - + + + ru + Группа табличный документ + + + + + + Макет + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Макет данных</v8:content> + </v8:item> + + None + DontShow + true + true + true + true + WhenActive + Enable + true + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>JSON документ</v8:content> + </v8:item> + + + + ru + Группа текстовый документ + + + + + + МакетТекстовый + None + + + + + - + - + diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 98cd5056d..6b73c2845 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -82,7 +82,7 @@ &НаКлиенте Процедура СоздатьМакетДанных(Команда) - ПанельИсточников = Элементы.ГруппаСтраницы; + ПанельИсточников = Элементы.ГруппаСтраницыНастройки; Если ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаМетаданные Тогда КоманднаяПанель1СоздатьМакетДанныхПоМетаданным(); ИначеЕсли ПанельИсточников.ТекущаяСтраница = ПанельИсточников.ПодчиненныеЭлементы.ГруппаТаблицаДанных Тогда @@ -124,7 +124,7 @@ Процедура ПротестироватьЗагрузкуМакета(Команда) МакетДляЗагрузки = Макет; - Если Элементы.ГруппаМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда + Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда МакетДляЗагрузки = МакетТекстовый; КонецЕсли; @@ -1342,7 +1342,7 @@ &НаКлиенте Процедура ЗагрузитьДанныеМакетаВБазу(Команда) МакетДляЗагрузки = Макет; - Если Элементы.ГруппаМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда + Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда МакетДляЗагрузки = МакетТекстовый; КонецЕсли; ЗагрузитьДанныеМакетаВБазуНаСервере(МакетДляЗагрузки); From 15c1552b2bbfd30730b621e79b7e0c16c7c76ed0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 Jan 2021 13:25:57 +0300 Subject: [PATCH 204/421] =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20"?= =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4"=20=D0=BF=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D0=BC=D0=B0=D0=B5=D1=82=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D1=8B=20=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?\=D0=A7=D0=B8=D1=81=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit вместо массива --- .../Ext/ObjectModule.bsl" | 4 ++++ .../Ext/ObjectModule.bsl" | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index e6d03ed81..2c4351a97 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -257,6 +257,10 @@ СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; КонецЦикла; СтрокаПараметры = Сред(СтрокаПараметры, 2); + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Строка") Тогда + СтрокаПараметры = """" + ПараметрыМетода + """"; + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Число") Тогда + СтрокаПараметры = Строка( ПараметрыМетода ); КонецЕсли; СтрокаДляВыполнения = "Контекст." + ИмяМетода + "(" + СтрокаПараметры + ")"; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index 6c6cc55d5..6a45167d5 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -40,8 +40,12 @@ ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетДлину"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения_ВПеремешкуС_Отрицаниями"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываетИсключение"); ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываемыеСообщения"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоНе"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьИстина"); @@ -308,6 +312,22 @@ Ожидаем.Что(Контекст).Метод("Вставить", Параметры).Не_().ВыбрасываетИсключение(); КонецПроцедуры +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", "Плохой Ключ") + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", 10) + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения() Экспорт ТекстИсключения = ""; Попытка From 102b63eee6c7e1f6976edda4b5e17e148622291f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 14:49:21 +0300 Subject: [PATCH 205/421] =?UTF-8?q?=D0=9F=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=20?= =?UTF-8?q?=D0=A3=D1=82=D0=B2=D0=B5=D1=80=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8FBDD=20-=20=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20"=D0=9C=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4"=20=D0=BF=D1=80=D0=B8=D0=BD=D0=B8=D0=BC?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D1=8B=20=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B8\=D0=A7?= =?UTF-8?q?=D0=B8=D1=81=D0=BB=D0=B0=20=D0=B2=20=D0=B4=D0=BE=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20=D0=BA=20=D0=BC=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=B8=D0=B2=D1=83=20(#835)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Метод "Метод" принимает параметры Строки\Числа вместо массива --- .../Ext/ObjectModule.bsl" | 4 ++++ .../Ext/ObjectModule.bsl" | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index e6d03ed81..2c4351a97 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -257,6 +257,10 @@ СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; КонецЦикла; СтрокаПараметры = Сред(СтрокаПараметры, 2); + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Строка") Тогда + СтрокаПараметры = """" + ПараметрыМетода + """"; + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Число") Тогда + СтрокаПараметры = Строка( ПараметрыМетода ); КонецЕсли; СтрокаДляВыполнения = "Контекст." + ИмяМетода + "(" + СтрокаПараметры + ")"; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index 6c6cc55d5..6a45167d5 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -40,8 +40,12 @@ ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетДлину"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения_ВПеремешкуС_Отрицаниями"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываетИсключение"); ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываемыеСообщения"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоНе"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьИстина"); @@ -308,6 +312,22 @@ Ожидаем.Что(Контекст).Метод("Вставить", Параметры).Не_().ВыбрасываетИсключение(); КонецПроцедуры +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", "Плохой Ключ") + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", 10) + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения() Экспорт ТекстИсключения = ""; Попытка From e1bd175345b9282bfdf85c3f5ab4ba76344983bc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 24 Jan 2021 13:25:57 +0300 Subject: [PATCH 206/421] =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20"?= =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4"=20=D0=BF=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D0=BC=D0=B0=D0=B5=D1=82=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D1=8B=20=D0=A1=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?\=D0=A7=D0=B8=D1=81=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit вместо массива --- .../Ext/ObjectModule.bsl" | 4 ++++ .../Ext/ObjectModule.bsl" | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index e6d03ed81..2c4351a97 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -257,6 +257,10 @@ СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; КонецЦикла; СтрокаПараметры = Сред(СтрокаПараметры, 2); + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Строка") Тогда + СтрокаПараметры = """" + ПараметрыМетода + """"; + ИначеЕсли ТипЗнч(ПараметрыМетода) = Тип("Число") Тогда + СтрокаПараметры = Строка( ПараметрыМетода ); КонецЕсли; СтрокаДляВыполнения = "Контекст." + ИмяМетода + "(" + СтрокаПараметры + ")"; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index 6c6cc55d5..6a45167d5 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\242\320\265\321\201\321\202\321\213_\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -40,8 +40,12 @@ ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ИмеетДлину"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения"); ВсеТесты.Добавить("ТестДолжен_Проверить_КомпозитныеУтверждения_ВПеремешкуС_Отрицаниями"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываетИсключение"); ВсеТесты.Добавить("ТестДолжен_Проверить_Отрицание_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение"); + ВсеТесты.Добавить("ТестДолжен_Проверить_ВыбрасываемыеСообщения"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЭтоНе"); ВсеТесты.Добавить("ТестДолжен_Проверить_ЕстьИстина"); @@ -308,6 +312,22 @@ Ожидаем.Что(Контекст).Метод("Вставить", Параметры).Не_().ВыбрасываетИсключение(); КонецПроцедуры +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромСтрока_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", "Плохой Ключ") + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + +Процедура ТестДолжен_Проверить_ЧтоМетодСПростымПараметромЧисло_ВыбрасываетИсключение() Экспорт + + Контекст = Новый Структура; + Ожидаем.Что(Контекст).Метод("Вставить", 10) + .ВыбрасываетИсключение("Задано неправильное имя атрибута структуры"); + +КонецПроцедуры + Процедура ТестДолжен_Проверить_ВыбрасываемыеСообщения() Экспорт ТекстИсключения = ""; Попытка From eb39cb3d08396876042c0e87b5e5936661820bb8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 14:58:24 +0300 Subject: [PATCH 207/421] =?UTF-8?q?=D1=83=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - если нужно, упрощаю стек вызовов --- .../Ext/Form/Module.bsl" | 2 ++ 1 file changed, 2 insertions(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 71af884d3..a3ec7a9fd 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -969,6 +969,8 @@ Процедура ВывестиНакопленныеСообщенияОтСервера(Знач МассивСообщений) Экспорт Для Каждого Сообщение Из МассивСообщений Цикл + Сообщение.Текст = ПолучитьСообщениеБезСтекаВызововОтБраузераТестов(Сообщение.Текст); + Сообщение.Сообщить(); ВывестиСообщениеВЛогФайл(Сообщение.Текст); КонецЦикла; From 3d6b5719a4a8e56ab4ac1b71a11b3ab48752d48e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 15:11:01 +0300 Subject: [PATCH 208/421] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=BA-=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - заглушки и моки на лету - тест.расширение + тест для примера моков --- ...0\262\320\260\320\275\320\270\320\265.xml" | 23 +++ .../Ext/Module.bsl" | 185 ++++++++++++++++++ .../Configuration.xml" | 60 ++++++ ...0\262\320\260\320\275\320\270\320\265.xml" | 32 +++ .../Ext/ObjectModule.bsl" | 55 ++++++ ...1\201\321\201\320\272\320\270\320\271.xml" | 10 + ...0\276\321\207\320\275\320\270\320\272.xml" | 42 ++++ .../Ext/ManagerModule.bsl" | 20 ++ .../Ext/ObjectModule.bsl" | 19 ++ .../Configuration.xml" | 59 ++++++ ...1\201\321\201\320\272\320\270\320\271.xml" | 10 + 11 files changed, 515 insertions(+) create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/Module.bsl" create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/ObjectModule.bsl" create mode 100644 "lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ManagerModule.bsl" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ObjectModule.bsl" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" new file mode 100644 index 000000000..4017818dc --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" @@ -0,0 +1,23 @@ + + + + + МокТестирование + + + ru + Мок тестирование + + + + false + false + true + false + true + true + false + DontUse + + + \ No newline at end of file diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/Module.bsl" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/Module.bsl" new file mode 100644 index 000000000..d53df0577 --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/CommonModules/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/Module.bsl" @@ -0,0 +1,185 @@ +//////////////////////////////////////////////////////////////////////////////// +// Методы для мок-тестирования +//////////////////////////////////////////////////////////////////////////////// + +#Область ПрограммныйИнтерфейс + +// Установить подмену для вызова серверного кода. +// В качестве результата использовать внешнюю переменную Результат. +// Можно передавать\получать параметры исходного метода через спец.переменную МассивПараметров +// +// Параметры: +// КлючПодмены - Строка - ключ подменяемого метода интеграции. +// СтрокаВызоваСерверногоМетода - Строка - набор серверного кода. +// В переменной Результат возвращается результат значения метода +// Можно передавать\получать параметры исходного метода через спец.переменную МассивПараметров +// +Процедура УстановитьПодмену(Знач КлючПодмены, Знач СтрокаВызоваСерверногоМетода) Экспорт + + НастройкаПодмены = НоваяНастройка(); + НастройкаПодмены.Вставить("Ключ", КлючПодмены); + НастройкаПодмены.Вставить("ВызыватьКод", Истина); + НастройкаПодмены.Вставить("СтрокаВызова", СтрокаВызоваСерверногоМетода); + + СохранитьНастройку(КлючПодмены, НастройкаПодмены); + +КонецПроцедуры + +// Установить подмену возвращаемого значения. Используется в МокТестирование().Метод("ПолучитьЗапрещенноеНаименование").ДолженВозвращать(Истина); +// ВАЖНО - значение должно уметь сохраняться в хранилище настроек +// +// Параметры: +// КлючПодмены - Строка - ключ подменяемого метода интеграции. +// ЗначениеДляВозврата - Произвольный - значения для возврата. +// ВАЖНО - значение должно уметь сохраняться в хранилище настроек +// +Процедура УстановитьПодменуВозвращаемогоЗначения(Знач КлючПодмены, Знач ЗначениеДляВозврата) Экспорт + + НастройкаПодмены = НоваяНастройка(); + НастройкаПодмены.Вставить("Ключ", КлючПодмены); + НастройкаПодмены.Вставить("ВызыватьКод", Ложь); + + НастройкаПодмены.Вставить("ВозвращаемоеЗначение", ЗначениеДляВозврата); + + СохранитьНастройку(КлючПодмены, НастройкаПодмены); + +КонецПроцедуры + +// Отключить подмену +// +// Параметры: +// КлючПодмены - Строка - ключ подменяемого метода интеграции. +// +Процедура ОтключитьПодмену(Знач КлючПодмены) Экспорт + + УдалитьНастройку(КлючПодмены); + +КонецПроцедуры + +// Выполнить подмену +// +// Параметры: +// КлючПодмены - Строка - ключ подменяемого метода интеграции. +// МассивПараметров - Массив - массив параметров от исходного метода +// РезультатВызова - Произвольный - результат вызова метода подмены. Необязательный. Если не удалось вызвать код, тогда Неопределено. +// +// Возвращаемое значение: +// Булево - Истина, если подмена существует, и Ложь, если подмены нет +// +Функция ВыполнитьПодмену(Знач КлючПодмены, Знач МассивПараметров, РезультатВызова = Неопределено) Экспорт + Перем Результат; + + РезультатВызова = Неопределено; + + НастройкаПодмены = ПолучитьНастройку(КлючПодмены); + + Если Не ЗначениеЗаполнено(НастройкаПодмены) Тогда + Возврат Ложь; + КонецЕсли; + + Если НастройкаПодмены.ВызыватьКод Тогда + СтрокаВызова = НастройкаПодмены.СтрокаВызова; + Если Не ЗначениеЗаполнено(СтрокаВызова) Тогда + Возврат Ложь; + КонецЕсли; + + ВозвращаемоеЗначение = Неопределено; + Результат = Неопределено; + Выполнить(СтрокаВызова); + + РезультатВызова = Результат; + + Возврат Истина; + КонецЕсли; + + РезультатВызова = НастройкаПодмены.ВозвращаемоеЗначение; + + Возврат Истина; +КонецФункции + +#Область ТекучийИнтерфейс + +// Установить ключ метода для подмены. Используется в МокТестирование().Метод("ПолучитьЗапрещенноеНаименование").ДолженВозвращать(Истина); +// +// Параметры: +// КлючПодмены - Строка - ключ метода для подмены. Идентификатор 1С для вставки в структуру +// +// Возвращаемое значение: +// Обработка.МокТестирования - этот объект для текучего интерфейса +// +Функция Метод(Знач КлючПодмены) Экспорт + + Возврат Обработки.МокТестирование.Создать().Метод(КлючПодмены); + +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция НоваяНастройка() + + НастройкаПодмены = Новый Структура; + НастройкаПодмены.Вставить("Ключ", ""); + НастройкаПодмены.Вставить("СтрокаВызова", ""); + НастройкаПодмены.Вставить("ВызыватьКод", Истина); + НастройкаПодмены.Вставить("ВозвращаемоеЗначение", Неопределено); + + Возврат НастройкаПодмены; +КонецФункции + +Процедура СохранитьНастройку(Знач КлючПодмены, Знач Значение) + + Настройки = Настройки(); + Настройки.Вставить(КлючПодмены, Значение); + + ХранилищеОбщихНастроек.Сохранить(ИдентификаторНастройки(), , Настройки); + +КонецПроцедуры + +Функция ПолучитьНастройку(Знач КлючПодмены) + + Настройки = Настройки(); + Значение = Настройки.Получить(КлючПодмены); + Возврат Значение; + +КонецФункции + +Процедура УдалитьНастройку(Знач КлючПодмены) + + Настройки = Настройки(); + Настройки.Удалить(КлючПодмены); + + ХранилищеОбщихНастроек.Сохранить(ИдентификаторНастройки(), , Настройки); + +КонецПроцедуры + +Функция Настройки() + + Результат = ХранилищеОбщихНастроек.Загрузить(ИдентификаторНастройки()); + Если Не ЗначениеЗаполнено(Результат) Тогда + Результат = Новый Соответствие; + КонецЕсли; + Возврат Результат; + +КонецФункции + +Функция ИдентификаторНастройки() + + Возврат "МокТестирование"; + +КонецФункции + +Функция ОбщийМодуль(Знач ИмяМодуля) + + Возврат Вычислить(ИмяМодуля); + +КонецФункции + +#КонецОбласти diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" new file mode 100644 index 000000000..08a8fd5b5 --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" @@ -0,0 +1,60 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + b59299d2-cff2-4e04-93aa-608976f069bc + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + 5e36cf2f-d345-4dd9-bbde-967cc2c09233 + + + e3687481-0a87-462c-a166-9f34594f9bba + b8384b5c-35db-44a3-ac74-975a46a312c4 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 39e5894f-3737-4e72-83a4-5016b06b0204 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + ea0cde68-4d02-41a6-9639-6f167fe526a5 + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 029d389b-d36a-41f3-8834-eb7c54fad4eb + + + + МокТестирование + + + ru + Мок тестирование + + + + Customization + Adopted + Мок + Version8_3_9 + ManagedApplication + + PersonalComputer + + Russian + + + Language.Русский + Taxi + Version8_3_9 + + + Русский + МокТестирование + МокТестирование + + + \ No newline at end of file diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" new file mode 100644 index 000000000..a6c191111 --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265.xml" @@ -0,0 +1,32 @@ + + + + + + 4b346d84-bc3f-45e9-84f1-4bf442a29a42 + 30aea979-91e5-4dd3-95af-082a0dd3daff + + + b34b4e3b-389e-4679-91f3-935543d6506f + d1f1f586-16f8-43b2-b9eb-3e07f84504ec + + + + МокТестирование + + + ru + Мок тестирование + + + + true + + + false + + + + + + \ No newline at end of file diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/ObjectModule.bsl" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..bb48be7b9 --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/DataProcessors/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Ext/ObjectModule.bsl" @@ -0,0 +1,55 @@ +#Область ОписаниеПеременных + +Перем КлючМетода; +Перем ВозвращаемоеЗначение; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ТекучийИнтерфейс + +// Установить ключ метода для подмены +// +// Параметры: +// КлючПодмены - Строка - ключ метода для подмены. +// +// Возвращаемое значение: +// Обработка.МокТестирования - этот объект для текучего интерфейса +// +Функция Метод(Знач КлючПодмены) Экспорт + + КлючМетода = КлючПодмены; + + Возврат ЭтотОбъект; + +КонецФункции + +// Функция - Должен возвращать +// ВАЖНО - значение должно уметь сохраняться в хранилище настроек +// +// Параметры: +// Значение - Произвольный - ВАЖНО - значение должно уметь сохраняться в хранилище настроек +// +// Возвращаемое значение: +// Обработка.МокТестирования - этот объект для текучего интерфейса +// +Функция ДолженВозвращать(Знач Значение) Экспорт + + МокТестирование.УстановитьПодменуВозвращаемогоЗначения(КлючМетода, Значение); + + Возврат ЭтотОбъект; + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" new file mode 100644 index 000000000..a4d095301 --- /dev/null +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" @@ -0,0 +1,10 @@ + + + + + Русский + Adopted + ru + + + \ No newline at end of file diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" new file mode 100644 index 000000000..5c4946990 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -0,0 +1,42 @@ + + + + + + f75f947a-f950-48aa-a25a-7fd6b4f37051 + e677b854-69df-460f-a08a-df2b34da59f1 + + + 0148181a-24a2-4c45-9853-54ef73023818 + 3da8255e-74f4-481b-b3de-e33c17b84f23 + + + 1ddb3e31-1916-4925-96eb-2c5e182b7302 + def740f9-adab-431f-b8b7-9c6a561b883e + + + 9ec647dd-0f9c-4e3a-8281-e74850083852 + 015214a6-6702-48bb-91c7-f0663914d56e + + + 93db1530-252e-46d3-82d7-21e9ed24ec09 + 51b83c2e-2794-4bbd-9d6d-44279394a5b9 + + + + ПростойСправочник + Adopted + + + + + РеквизитБулево + Adopted + + xs:boolean + + + + + + \ No newline at end of file diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ManagerModule.bsl" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ManagerModule.bsl" new file mode 100644 index 000000000..8be23c0dc --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ManagerModule.bsl" @@ -0,0 +1,20 @@ +&Вместо("ПолучитьЗапрещенноеНаименование") +Функция МокПолучитьЗапрещенноеНаименование(Ид) Экспорт + + МассивПараметров = Новый Массив; + МассивПараметров.Добавить(Ид); + + Результат = Неопределено; + ЕстьПодмена = МокТестирование.ВыполнитьПодмену("ПолучитьЗапрещенноеНаименование", МассивПараметров, Результат); + + Если ЕстьПодмена Тогда + Если ТипЗнч(Результат) = Тип("Строка") Тогда + Возврат Результат; + КонецЕсли; + + Возврат ""; + КонецЕсли; + + Возврат ПродолжитьВызов(Ид); + +КонецФункции diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ObjectModule.bsl" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..140e02c67 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272/Ext/ObjectModule.bsl" @@ -0,0 +1,19 @@ +&Вместо("ПередЗаписью") +Процедура тест_ПередЗаписью(Отказ) + + МассивПараметров = Новый Массив; + МассивПараметров.Добавить(ЭтотОбъект); + МассивПараметров.Добавить(Отказ); + + Результат = Неопределено; + ЕстьПодмена = МокТестирование.ВыполнитьПодмену("ТестМоков.Идентификатор", МассивПараметров, Результат); + + Если ЕстьПодмена Тогда + Если ТипЗнч(Результат) = Тип("Булево") Тогда + Отказ = Результат; + КонецЕсли; + Иначе + ПродолжитьВызов(Отказ); + КонецЕсли; + +КонецПроцедуры diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" new file mode 100644 index 000000000..28e18da62 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" @@ -0,0 +1,59 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + e75d171a-d54d-46a5-868e-6a6aaf132058 + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + 96d2c340-45c6-4c28-addd-f80a4585c929 + + + e3687481-0a87-462c-a166-9f34594f9bba + 2182f208-131e-4b92-8b03-64a7a6ad81b0 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 38c85d65-535d-47f6-b7dd-a2d88fd25c88 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + 45c2f808-f2d4-4c88-b3b0-1fb5b277c8eb + + + e68182ea-4237-4383-967f-90c1e3370bc7 + f3404024-e810-4241-8ca5-cffbb5d29185 + + + + ТестМоков + + + ru + Тест моков + + + + Customization + Adopted + тест_ + Version8_3_9 + ManagedApplication + + PersonalComputer + + Russian + + + Language.Русский + Taxi + Version8_3_9 + + + Русский + ПростойСправочник + + + \ No newline at end of file diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" new file mode 100644 index 000000000..8f3fbd5e4 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" @@ -0,0 +1,10 @@ + + + + + Русский + Adopted + ru + + + \ No newline at end of file From b27207c5e90ec3cbea56acc67ed525493edda6a7 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 15:23:13 +0300 Subject: [PATCH 209/421] =?UTF-8?q?=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D0=BE=D0=B4=D0=BD=D1=8F=D1=82?= =?UTF-8?q?=20=D0=B4=D0=BE=208.3.9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для правильной работы моков #836 --- lib/CF/83xddNoSync/Configuration.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index 9cbbe616a..6bac21df1 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -117,8 +117,8 @@ NotAutoFree DontUse DontUse - TaxiEnableVersion8_2 - Version8_3_8 + Taxi + Version8_3_9 From ca39c7c6cce399e18344af137dc0eca8ec3b061d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 15:33:28 +0300 Subject: [PATCH 210/421] =?UTF-8?q?=D0=9F=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=20?= =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=BE=D0=B4=D0=B4?= =?UTF-8?q?=D0=B5=D1=80=D0=B6=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=B4=D0=B0=D1=80=D1=82=D0=BD=D1=8B=D0=B5=20=D1=80?= =?UTF-8?q?=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - в шапке и в ТЧ - также улучшено получение значения для значений простых типов --- .../Ext/ObjectModule.bsl" | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index 739b40a72..cc1afd06e 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -196,6 +196,7 @@ Возврат ЭтотОбъект; КонецФункции + // } //{ ПрограммныйИнтерфейс_v1 @@ -339,7 +340,7 @@ ПараметрыМетаданных = ПараметрыМетаданныхИзПолногоИмени(ИмяМетаданных); Иначе ПараметрыМетаданных = ПараметрыМетаданныхСлужебный; - КонецЕсли; + КонецЕсли; ТипМетаданных = ПараметрыМетаданных.ТипМетаданных; ИмяМетаданных = ПараметрыМетаданных.ИмяМетаданных; @@ -436,7 +437,7 @@ КонецЕсли; Нашли = Ложь; Для каждого МетаРеквизит Из МетаТЧ.СтандартныеРеквизиты Цикл - Если МетаРеквизит = ИмяРеквизитаТЧ Тогда + Если МетаРеквизит.Имя = ИмяРеквизитаТЧ Тогда Нашли = Истина; Прервать; КонецЕсли; @@ -471,15 +472,26 @@ МетаданноеОбъекта = Метаданные[ТипОбъекта][ВидОбъекта]; Реквизиты = МетаданноеОбъекта.Реквизиты; + СтандартныеРеквизиты = МетаданноеОбъекта.СтандартныеРеквизиты; Для каждого КлючЗначение Из ПараметрыЭлемента Цикл ИмяРеквизита = КлючЗначение.Ключ; Если ЭтоРеквизитТабличнойЧасти(ИмяРеквизита) Тогда Продолжить; - КонецЕсли; + КонецЕсли; + Если ИмяРеквизита = "ОбменДанными" Или ИмяРеквизита = "DataExchange" Тогда + Продолжить; + КонецЕсли; - Реквизит = РеквизитМетаданногоПоИмени(Реквизиты, ИмяРеквизита); + Реквизит = Реквизиты.Найти(ИмяРеквизита); + Если Реквизит = Неопределено Тогда + Реквизит = НайтиСтандартныйРеквизит(СтандартныеРеквизиты, ИмяРеквизита); + + Если Реквизит = Неопределено Тогда + ВызватьИсключение СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита); + КонецЕсли; + КонецЕсли; Если КлючЗначение.Значение = Неопределено Тогда ПараметрыЭлемента[ИмяРеквизита] = ЗначениеРеквизитаПоТипу(Реквизит); @@ -489,18 +501,15 @@ Возврат МетаданноеОбъекта; КонецФункции -Функция РеквизитМетаданногоПоИмени(Знач Реквизиты, Знач ИмяРеквизита) - - Перем Реквизит; - - Реквизит = Реквизиты.Найти(ИмяРеквизита); - Если Реквизит = Неопределено Тогда - ВызватьИсключение СтрШаблон("Поле объекта не обнаружено (%1)", ИмяРеквизита); - КонецЕсли; +Функция НайтиСтандартныйРеквизит(СтандартныеРеквизиты, ИмяРеквизита) + Для каждого МетаРеквизит Из СтандартныеРеквизиты Цикл + Если МетаРеквизит.Имя = ИмяРеквизита Тогда + Возврат МетаРеквизит; + КонецЕсли; + КонецЦикла; - Возврат Реквизит; - -КонецФункции + Возврат Неопределено; +КонецФункции Функция ЗначениеРеквизитаПоТипу(Реквизит) @@ -509,7 +518,15 @@ ВызватьИсключение "Автозаполнение не поддерживается в составных типах"; КонецЕсли; - Тип = Метаданные.НайтиПоТипу(Типы[0]).ПолноеИмя(); + ПервыйТип = Типы[0]; + МетаТип = Метаданные.НайтиПоТипу(ПервыйТип); + Если МетаТип = Неопределено Тогда + ОписаниеТипа = Новый ОписаниеТипов("" + ПервыйТип); + ЗначениеРеквизита = ОписаниеТипа.ПривестиЗначение(); + Возврат ЗначениеРеквизита; + КонецЕсли; + + Тип = МетаТип.ПолноеИмя(); ЗначениеРеквизита = СоздатьОбъект(Тип, Неопределено, Ложь); Возврат ЗначениеРеквизита.Ссылка; From 456182438e1727ef96cb6c9e10006d6f4fce53e0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 15:45:52 +0300 Subject: [PATCH 211/421] =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B8=20=D0=BC=D0=BE=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #836 --- ...0\234\320\276\320\272\320\276\320\262.xml" | 28 ++++ .../Ext/ObjectModule.bsl" | 154 ++++++++++++++++++ 2 files changed, 182 insertions(+) create mode 100644 "tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262.xml" create mode 100644 "tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Ext/ObjectModule.bsl" diff --git "a/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262.xml" "b/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262.xml" new file mode 100644 index 000000000..a8c60beff --- /dev/null +++ "b/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262.xml" @@ -0,0 +1,28 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + eda1fae2-1622-4069-ac5c-71a97a05085a + + + 62cc3f7f-2720-4174-a8fe-c907a88f4542 + bc508c20-654c-47c5-b36a-4c47eaf07b4b + + + + тестМоков + + + ru + Тест моков + + + + + + + + + \ No newline at end of file diff --git "a/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..ec9a096fb --- /dev/null +++ "b/tests/xunit/mock/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/\321\202\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Ext/ObjectModule.bsl" @@ -0,0 +1,154 @@ +#Область ОписаниеПеременных + +Перем КонтекстЯдра; +Перем Ожидаем; +Перем Утверждения; +Перем ГенераторТестовыхДанных; +Перем ЗапросыИзБД; +Перем УтвержденияПроверкаТаблиц; +Перем СтроковыеУтилиты; +Перем Данные; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +//{ основные процедуры для юнит-тестирования xUnitFor1C + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + ГенераторТестовыхДанных = КонтекстЯдра.Плагин("СериализаторMXL"); + ЗапросыИзБД = КонтекстЯдра.Плагин("ЗапросыИзБД"); + УтвержденияПроверкаТаблиц = КонтекстЯдра.Плагин("УтвержденияПроверкаТаблиц"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + Данные = КонтекстЯдра.Плагин("Данные"); +КонецПроцедуры + +Процедура ЗаполнитьНаборТестов(НаборТестов) Экспорт + //НаборТестов.НачатьГруппу("Сценарный тест", Истина); + //НаборТестов.Добавить("ПараметрическийТест", НаборТестов.ПараметрыТеста(5, 7), "Тест должен показать использование представления теста"); + //Тест = НаборТестов.Добавить("ПараметрическийТест2"); + //Тест.Параметры.Добавить(12); + НаборТестов.Добавить("ТестДолжен_ПроверитьПодменуЧерезМокТестирование"); + НаборТестов.Добавить("ТестДолжен_ПроверитьОтсутствиеПодменыЧерезМокТестирование"); + + НаборТестов.Добавить("ТестМока_ЧерезТекучийИнтерфейс"); +КонецПроцедуры +//} + +#КонецОбласти + +#Область Тесты + +//{ блок юнит-тестов - сами тесты + +Процедура ПередЗапускомТеста() Экспорт + НачатьТранзакцию(); +КонецПроцедуры + +Процедура ПослеЗапускаТеста() Экспорт + Если ТранзакцияАктивна() Тогда + ОтменитьТранзакцию(); + КонецЕсли; + + МокТестирование().ОтключитьПодмену(КлючПодменыТеста()); + МокТестирование().ОтключитьПодмену("ПолучитьЗапрещенноеНаименование"); + +КонецПроцедуры + +Процедура ТестДолжен_ПроверитьПодменуЧерезМокТестирование() Экспорт + + СтрокаВызова = СтрШаблон(" + |Тест = ВнешниеОбработки.Создать(""%1""); + |Результат = Тест.ОтветСПодменой(МассивПараметров); + |", ИмяТеста()); + + МокТестирование().УстановитьПодмену(КлючПодменыТеста(), СтрокаВызова); + + СпрОбъект = Справочники.ПростойСправочник.СоздатьЭлемент(); + СпрОбъект.Наименование = "124"; + СпрОбъект.РеквизитБулево = Ложь; + СпрОбъект.Записать(); + + Ожидаем.Что(СпрОбъект.РеквизитБулево, "РеквизитБулево должен быть Истина после применения мок") + .Равно(Истина); + +КонецПроцедуры + +Функция ОтветСПодменой(Знач МассивПараметров) Экспорт + + Объект = МассивПараметров[0]; + Объект.РеквизитБулево = Истина; + + Отказ = Ложь; + + Возврат Отказ; + +КонецФункции + +Процедура ТестДолжен_ПроверитьОтсутствиеПодменыЧерезМокТестирование() Экспорт + + МокТестирование().ОтключитьПодмену(КлючПодменыТеста()); + + СпрОбъект = Справочники.ПростойСправочник.СоздатьЭлемент(); + СпрОбъект.Наименование = "124"; + СпрОбъект.РеквизитБулево = Ложь; + СпрОбъект.Записать(); + + Ожидаем.Что(СпрОбъект.РеквизитБулево, "РеквизитБулево должен быть Ложь после отключения мок") + .Равно(Ложь); + +КонецПроцедуры + +Процедура ТестМока_ЧерезТекучийИнтерфейс() Экспорт + + КлючПодмены = "ПолучитьЗапрещенноеНаименование"; + МокТестирование().ОтключитьПодмену(КлючПодмены); + + ВозвращаемоеЗначения = "строка из теста"; + + МокТестирование().Метод(КлючПодмены).ДолженВозвращать(ВозвращаемоеЗначения); + + Результат = Справочники.ПростойСправочник.ПолучитьЗапрещенноеНаименование(124); + + Ожидаем.Что(Результат, "Результат должен быть ВозвращаемоеЗначения после применения мок") + .Равно("" + ВозвращаемоеЗначения); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция КлючПодменыТеста() + + Возврат "ТестМоков.Идентификатор"; + +КонецФункции + +Функция МокТестирование() + + Возврат ОбщийМодуль("МокТестирование"); + +КонецФункции + +Функция ОбщийМодуль(Знач ИмяМодуля) + + Возврат Вычислить(ИмяМодуля); + +КонецФункции + +Функция ИмяТеста() + Возврат Метаданные().Имя; +КонецФункции + +#КонецОбласти + +//} + From 1be818ae7a1617d896c0b5edffb8509d0f546a3d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 21 Feb 2021 15:54:40 +0300 Subject: [PATCH 212/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BF.=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B6=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke.bsp.json | 25 ++++++++++++++++++++++--- tools/JSON/xUnitParams.json | 7 +++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index 3df9b34c4..a2a5ab231 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -8,11 +8,11 @@ "МодальныеОкна": { "ШаблонПомощника":{ "Заголовки" : [ - "*Шаблон помощника" + "*Шаблон *" ], "Поля" : [ - "Закрыть помощник?", - "Завершить работу с помощником?" + "Закрыть*?", + "Завершить работу с*?" ], "Кнопка": 0 }, @@ -21,6 +21,25 @@ "Список присоединенных файлов можно посмотреть*" ], "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + }, + "ВопросОПроведенииДокумента":{ + "Поля" : [ + "*Провести документ?*" + ], + "Кнопка": 0 + }, + "ВопросОСохраненииИзменений":{ + "Поля" : [ + "*Сохранить изменения?*" + ], + "Кнопка": 0 } }, diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index bc3b0cb35..880aa8e24 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -16,6 +16,13 @@ "Завершить работу с помощником?" ], "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 } }, From 8207c069a8bede71d147fbd25f484c87edc2bee8 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Mon, 22 Feb 2021 16:30:37 +0300 Subject: [PATCH 213/421] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=9A?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D1=8B=D0=B9=D0=98=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81=20(#839)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix Оптимизация клиент-сервер * fix Оптимизация получения окна предупреждения add Проверка что появилось окно предупреждения с текстом * fix тесты_КомандныйИнтерфейс * fix Поиск ТекстИсключенияДляПроверки --- .../Ext/Form/Module.bsl" | 25 ++- .../Ext/Form/Module.bsl" | 165 +++++++++++++++-- .../Ext/Form/Module.bsl" | 169 ++++++++++++++---- 3 files changed, 303 insertions(+), 56 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 79b59544f..9b06ef55e 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -50,7 +50,7 @@ КонецПроцедуры &НаКлиенте -Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры) Экспорт +Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры = Неопределено) Экспорт Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда @@ -265,6 +265,21 @@ КонецПроцедуры +&НаКлиенте +Функция ПоявилосьОкноПредупрежденияСТекстом(Знач ТестКлиент, Знач ТекстИсключенияДляПроверки) Экспорт + + ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); + + Если ТипЗнч(ОкноПредупреждение) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда + Возврат Ложь; + КонецЕсли; + + ТекстИсключения = ТекстИсключения(ОкноПредупреждение); + + Возврат Найти(ВРег(ТекстИсключения), ВРег(ТекстИсключенияДляПроверки)) > 0; + +КонецФункции + &НаКлиенте Функция ОкноПредупреждение(ТестКлиент) @@ -283,8 +298,12 @@ КонецЕсли; Попытка - ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); - Если ТестируемаяФорма = Неопределено Тогда + Если ПодчиненныеОбъекты.ПолучитьПодчиненныеОбъекты().Количество() Тогда + ТестируемаяФорма = ПодчиненныйОбъект.НайтиОбъект(Тип("ТестируемаяФорма")); + Если ТестируемаяФорма = Неопределено Тогда + Продолжить; + КонецЕсли; + Иначе Продолжить; КонецЕсли; Исключение diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2e8b585bf..480735173 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2,6 +2,8 @@ Перем КонтекстЯдра; &НаКлиенте Перем СтатусыРезультатаТестирования; +&НаКлиенте +Перем ФлагОтрицанияДляСообщения; // { Plugin interface &НаКлиенте @@ -23,14 +25,17 @@ &НаКлиенте Функция Что(Знач ПроверяемоеЗначениеПараметр, Знач Сообщение = "") Экспорт - ВыполнитьМетодОбъектаНаСервере("Что", 2, ПроверяемоеЗначениеПараметр, Сообщение); + + Объект.ПроверяемоеЗначение = ПроверяемоеЗначениеПараметр; + Объект.ДопСообщениеОшибки = Сообщение; + Объект.ФлагОтрицания = Ложь; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Не_() Экспорт - ВыполнитьМетодОбъектаНаСервере("Не_", 0); + Объект.ФлагОтрицания = Истина; Возврат ЭтаФорма; КонецФункции @@ -42,14 +47,18 @@ &НаКлиенте Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт - ВыполнитьМетодОбъектаНаСервере("Метод", 2, ИмяМетода, ПараметрыМетода); + Объект.ИмяМетода = ИмяМетода; + Объект.ПараметрыМетода = ПараметрыМетода; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЭтоИстина() Экспорт - ВыполнитьМетодОбъектаНаСервере("ЭтоИстина", 0); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Истина) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(Объект.ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ИСТИНОЙ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -61,7 +70,10 @@ &НаКлиенте Функция ЭтоЛожь() Экспорт - ВыполнитьМетодОбъектаНаСервере("ЭтоЛожь", 0); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Ложь) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(Объект.ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ЛОЖЬЮ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -73,21 +85,30 @@ &НаКлиенте Функция Равно(Знач ОжидаемоеЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("Равно", 1, ОжидаемоеЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = ОжидаемоеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Больше(Знач МеньшееЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("Больше", 1, МеньшееЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение > МеньшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "БОЛЬШЕ (" + МеньшееЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция БольшеИлиРавно(Знач МеньшееИлиРавноеЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("БольшеИлиРавно", 1, МеньшееИлиРавноеЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение >= МеньшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "БОЛЬШЕ ИЛИ РАВНО (" + МеньшееИлиРавноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -99,7 +120,10 @@ &НаКлиенте Функция МеньшеИлиРавно(Знач БольшееИлиРавноеЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("МеньшеИлиРавно", 1, БольшееИлиРавноеЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение <= БольшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕНЬШЕ ИЛИ РАВНО (" + БольшееИлиРавноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -111,28 +135,40 @@ &НаКлиенте Функция Меньше(Знач БольшееЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("Меньше", 1, БольшееЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение < БольшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕНЬШЕ (" + БольшееЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Заполнено() Экспорт - ВыполнитьМетодОбъектаНаСервере("Заполнено", 0); + Если Не ЛогическоеВыражениеВерно(ЗначениеЗаполнено(Объект.ПроверяемоеЗначение)) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является ЗАПОЛНЕННЫМ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Существует() Экспорт - ВыполнитьМетодОбъектаНаСервере("Существует", 0); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение <> Неопределено И Объект.ПроверяемоеЗначение <> Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "СУЩЕСТВУЕТ."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ЭтоНеопределено() Экспорт - ВыполнитьМетодОбъектаНаСервере("ЭтоНеопределено", 0); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Неопределено) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является НЕОПРЕДЕЛЕНО."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -144,7 +180,10 @@ &НаКлиенте Функция ЭтоNull() Экспорт - ВыполнитьМетодОбъектаНаСервере("ЭтоNull", 0); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является NULL."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -156,20 +195,31 @@ &НаКлиенте Функция ИмеетТип(Знач ТипИлиИмяТипа) Экспорт - ВыполнитьМетодОбъектаНаСервере("ИмеетТип", 1, ТипИлиИмяТипа); + ОжидаемыйТип = ?(ТипЗнч(ТипИлиИмяТипа) = Тип("Строка"), Тип(ТипИлиИмяТипа), ТипИлиИмяТипа); + ТипПроверяемогоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); + Если Не ЛогическоеВыражениеВерно(ТипПроверяемогоЗначения = ОжидаемыйТип) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке("тип - " + ТипПроверяемогоЗначения, "имеет тип (" + ОжидаемыйТип + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Между(Знач НачальноеЗначение, Знач КонечноеЗначение) Экспорт - ВыполнитьМетодОбъектаНаСервере("Между", 2, НачальноеЗначение, КонечноеЗначение); + Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение >= НачальноеЗначение И Объект.ПроверяемоеЗначение <= КонечноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕЖДУ (" + НачальноеЗначение + ") и (" + КонечноеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли;; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция Содержит(Знач ИскомоеЗначение) Экспорт + + Перем ИскомоеЗначениеНайдено; + ПроверяемоеЗначение = Объект.ПроверяемоеЗначение; ДопСообщениеОшибки = Объект.ДопСообщениеОшибки; ТипПроверяемоегоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); @@ -181,23 +231,87 @@ ИскомоеЗначениеНайдено = Истина; КонецЕсли; Возврат ЭтаФорма; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Массив") Или ТипПроверяемоегоЗначения = Тип("ФиксированныйМассив") Тогда + ИскомоеЗначениеНайдено = ПроверяемоеЗначение.Найти(ИскомоеЗначение) <> Неопределено; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Структура") Или ТипПроверяемоегоЗначения = Тип("ФиксированнаяСтруктура") + Или ТипПроверяемоегоЗначения = Тип("Соответствие") Или ТипПроверяемоегоЗначения = Тип("ФиксированноеСоответствие") Тогда + Для каждого КлючЗначение Из ПроверяемоеЗначение Цикл + ИскомоеЗначениеНайдено = КлючЗначение.Значение = ИскомоеЗначение; + Если ИскомоеЗначениеНайдено Тогда + Прервать; + КонецЕсли; + КонецЦикла; + ИначеЕсли ТипПроверяемоегоЗначения = Тип("СписокЗначений") Тогда + ИскомоеЗначениеНайдено = ПроверяемоеЗначение.НайтиПоЗначению(ИскомоеЗначение) <> Неопределено; + КонецЕсли; + + Если ИскомоеЗначениеНайдено = Неопределено Тогда + СообщениеОшибки = "Утверждение ""Содержит"" не умеет работать с типом <" + ТипПроверяемоегоЗначения + ">." + ФорматДСО(ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; КонецЕсли; - ВыполнитьМетодОбъектаНаСервере("Содержит", 1, ИскомоеЗначение); + Если Не ЛогическоеВыражениеВерно(ИскомоеЗначениеНайдено) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СОДЕРЖИТ (" + ИскомоеЗначение + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ИмеетДлину(Знач ОжидаемаяДлина) Экспорт - ВыполнитьМетодОбъектаНаСервере("ИмеетДлину", 1, ОжидаемаяДлина); + Перем ФактическаяДлина; + + ТипПроверяемоегоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); + Если ТипПроверяемоегоЗначения = Тип("Строка") Тогда + ФактическаяДлина = СтрДлина(Объект.ПроверяемоеЗначение); + ИначеЕсли ТипПроверяемоегоЗначения = Тип("Массив") Или ТипПроверяемоегоЗначения = Тип("ФиксированныйМассив") + Или ТипПроверяемоегоЗначения = Тип("Структура") Или ТипПроверяемоегоЗначения = Тип("ФиксированнаяСтруктура") + Или ТипПроверяемоегоЗначения = Тип("Соответствие") Или ТипПроверяемоегоЗначения = Тип("ФиксированноеСоответствие") + Или ТипПроверяемоегоЗначения = Тип("СписокЗначений") Тогда + ФактическаяДлина = Объект.ПроверяемоеЗначение.Количество(); + КонецЕсли; + + Если ФактическаяДлина = Неопределено Тогда + СообщениеОшибки = "Утверждение ""ИмеетДлину"" не умеет работать с типом <" + ТипПроверяемоегоЗначения + ">." + ФорматДСО(Объект.ДопСообщениеОшибки); + ВызватьИсключение СообщениеОшибки; + КонецЕсли; + + Если Не ЛогическоеВыражениеВерно(ФактическаяДлина = ОжидаемаяДлина) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке("<" + Объект.ПроверяемоеЗначение + "> с длиной " + ФактическаяДлина, "ИМЕЕТ ДЛИНУ (" + ОжидаемаяДлина + ")."); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции &НаКлиенте Функция ВыбрасываетИсключение(Знач ФрагментИсключения = "") Экспорт - ВыполнитьМетодОбъектаНаСервере("ВыбрасываетИсключение", 1, ФрагментИсключения); + Контекст = Объект.ПроверяемоеЗначение; + СтрокаПараметры = ""; + Если ТипЗнч(Объект.ПараметрыМетода) = Тип("Массив") Тогда + Для Сч = 0 По Объект.ПараметрыМетода.Количество() - 1 Цикл + СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; + КонецЦикла; + СтрокаПараметры = Сред(СтрокаПараметры, 2); + КонецЕсли; + СтрокаДляВыполнения = "Контекст." + Объект.ИмяМетода + "(" + СтрокаПараметры + ")"; + + ИсключениеВозникло = Ложь; + Попытка + Выполнить(СтрокаДляВыполнения); + Исключение + ИсключениеВозникло = Истина; + ТекстИсключения = ОписаниеОшибки(); + КонецПопытки; + + Если Не ЛогическоеВыражениеВерно(ИсключениеВозникло И Найти(ТекстИсключения, ФрагментИсключения) > 0) Тогда + СообщениеОшибки = "Ожидали, что " + СтрокаДляВыполнения + + ?(Объект.ФлагОтрицания, " НЕ ", " ") + + "ВЫБРОСИТ ИСКЛЮЧЕНИЕ" + + ?(ЗначениеЗаполнено(ФрагментИсключения), " СОДЕРЖАЩЕЕ ТЕКСТ <" + ФрагментИсключения + ">, а был текст <" + ТекстИсключения + ">.", ""); + ВызватьОшибкуПроверки(СообщениеОшибки); + КонецЕсли; Возврат ЭтаФорма; КонецФункции @@ -295,6 +409,19 @@ Возврат СчетчикЧтоИщем > СтрЧислоСтрок(Подстрока); КонецФункции +&НаКлиенте +Функция ЛогическоеВыражениеВерно(Знач ЛогическоеВыражение) + Результат = Объект.ФлагОтрицания <> ЛогическоеВыражение; + ФлагОтрицанияДляСообщения = Объект.ФлагОтрицания; + ФлагОтрицания = Ложь; + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция СформироватьСообщениеОбОшибке(Знач ПроверяемоеЗначение, Знач Ожидание) + Возврат "Ожидали, что проверяемое значение (" + ПроверяемоеЗначение + ")" + ?(ФлагОтрицанияДляСообщения, " НЕ ", " ") + Ожидание + ФорматДСО(Объект.ДопСообщениеОшибки); +КонецФункции // } Helpers СтатусыРезультатаТестирования = Новый Структура; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b83d66a8b..7004b90f2 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -421,51 +421,74 @@ &НаКлиенте Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) - ТаблицаФормы = ОкноСТаблицейФормы.НайтиОбъект(Тип("ТестируемаяТаблицаФормы")); - Если ТаблицаФормы = Неопределено Тогда - Возврат Ложь; + Результат = Ложь; + ТекстИсключенияДляГруппировки = НСтр("ru = 'Действие недоступно для строки группировки списка!'"); + + ТаблицыФормы = ОкноСТаблицейФормы.НайтиОбъекты(Тип("ТестируемаяТаблицаФормы")); + + Если ТаблицыФормы = Неопределено Тогда + Возврат Результат; КонецЕсли; - Попытка - Если Не ТаблицаФормы.ТекущаяДоступность() Или Не ТаблицаФормы.ТекущаяВидимость() Тогда - Возврат Ложь; + + Для Каждого ТаблицаФормы Из ТаблицыФормы Цикл + + ТаблицаФормы.Активизировать(); + + Если Не ТаблицаФормыДоступна(ТаблицаФормы) Тогда + Продолжить; КонецЕсли; - Исключение - //ОписаниеОшибки() - КонецПопытки; - ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); + ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); - Если Не ЗначениеЗаполнено(ТаблицаФормы.ПолучитьВыделенныеСтроки()) Тогда - Возврат Истина; - КонецЕсли; + Если Не ЗначениеЗаполнено(ТаблицаФормы.ПолучитьВыделенныеСтроки()) Тогда + Результат = Истина; + Иначе - ТаблицаФормы.Выбрать(); + РазвернутьВетвьДерева(ТаблицаФормы); - КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); + ТаблицаФормы.Выбрать(); - ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); - Если ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) Тогда - Если ТаблицаФормы.ТекущийРежимРедактирование() Тогда - ТаблицаФормы.ЗакончитьРедактированиеСтроки(); КонецЕсли; - Возврат Истина; - КонецЕсли; - ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "При открытии"); + Пока ПлагинТестКлиенты.ПоявилосьОкноПредупрежденияСТекстом(ТестКлиент, ТекстИсключенияДляГруппировки) Цикл - НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); + ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); + ТекущееОкно.Закрыть(); - Если ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно() Тогда - ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, "После записи"); - КонецЕсли; + Если ТаблицаФормы.ВозможноРазвернуть() Тогда + Если Не ТаблицаФормы.Развернут() Тогда + ТаблицаФормы.Развернуть(); + КонецЕсли; + ТаблицаФормы.ПерейтиНаУровеньВниз(); + КонецЕсли; - Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда - ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); - КонецЕсли; + ТаблицаФормы.Выбрать(); - ТекущееОкно.Закрыть(); + КонецЦикла; - Возврат Истина; + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); + + ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); + Если ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) Тогда + Если ТаблицаФормы.ТекущийРежимРедактирование() Тогда + ТаблицаФормы.ЗакончитьРедактированиеСтроки(); + КонецЕсли; + Результат = Истина; + Иначе + НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); + КонецЕсли; + + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда + ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); + КонецЕсли; + + Если ОкноСТаблицейФормы <> ТекущееОкно Тогда + ТекущееОкно.Закрыть(); + КонецЕсли; + + КонецЦикла; + + Возврат Результат; КонецФункции @@ -527,12 +550,14 @@ КнопкаЗаписать.Нажать(); Исключение ТекстИсключения = ОписаниеОшибки(); - Если Найти(ТекстИсключения, "Неподходящий тип элемента управления для вызванного действия") = 0 Тогда + Если Найти(ТекстИсключения, "Неподходящий тип элемента управления для вызванного действия") = 0 + // У формы установлен признак ТолькоПросмотр + И Найти(ТекстИсключения, "Невидимый пользователю элемент управления не может выполнять интерактивные действия") = 0 Тогда КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); КонецЕсли; КонецПопытки; - КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( ТестКлиент, КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), Ложь); @@ -547,7 +572,7 @@ ТекКнопка.Нажать(); - КонтекстЯдра.Плагин("ТестКлиенты").ИдентифицироватьОкноПредупреждение( + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( ТестКлиент, КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), Ложь); @@ -576,3 +601,79 @@ Возврат "Клик по последней строке таблицы формы"; КонецФункции + +&НаКлиенте +Функция ТаблицаФормыДоступна(ТаблицаФормы) + Возврат ТаблицаФормы.ТекущаяДоступность() И ТаблицаФормы.ТекущаяВидимость() И Не ТаблицаФормы.ТекущееТолькоПросмотр(); +КонецФункции + +&НаКлиенте +Функция РазвернутьВетвьДерева(ТаблицаФормы) + + ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); + + Пока ТаблицаФормы.ВозможноРазвернуть() Цикл + + Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда + ТаблицаФормы.Развернуть(ТекущаяСтрока); + Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда + Прервать; + КонецЕсли; + КонецЕсли; + + ТаблицаФормы.ПерейтиКПоследнейСтроке(Истина); + Если ТаблицаФормы.ПолучитьВыделенныеСтроки().Количество() <= 1 Тогда + ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх); + Прервать; + КонецЕсли; + + Если ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх) Тогда + ТаблицаФормы.ПерейтиНаУровеньВниз(); + КонецЕсли; + + мТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); + Если СтрокиТаблицыРавны(ТекущаяСтрока, мТекущаяСтрока) Тогда + Прервать; + Иначе + ТекущаяСтрока = мТекущаяСтрока; + КонецЕсли; + + КонецЦикла; + +КонецФункции + +&НаКлиенте +Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) + + ВыделенныеСтроки = ТаблицаФормы.ПолучитьВыделенныеСтроки(); + + Если ВыделенныеСтроки.Количество() Тогда + ТекущаяСтрокаТаблицы = ВыделенныеСтроки[0]; + Иначе + ТекущаяСтрокаТаблицы = Новый Соответствие; + КонецЕсли; + + Возврат ТекущаяСтрокаТаблицы; + +КонецФункции + +&НаКлиенте +Функция СтрокиТаблицыРавны(Строка1, Строка2) + + Если ТипЗнч(Строка1) <> Тип("Соответствие") Или ТипЗнч(Строка2) <> Тип("Соответствие") Тогда + Возврат Ложь; + КонецЕсли; + + Если Строка1.Количество() <> Строка2.Количество() Тогда + Возврат Ложь; + КонецЕсли; + + Для Каждого КлючЗначение Из Строка1 Цикл + Если КлючЗначение.Значение <> Строка2[КлючЗначение.Ключ] Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; + +КонецФункции From 964952b61b4f4a0ee73140c3e39932e7ba45ea7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=B5=D0=BF=D0=B8=D0=BD=20=D0=A1=D0=B5=D1=80=D0=B3?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Fri, 26 Feb 2021 17:36:37 +0300 Subject: [PATCH 214/421] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=20?= =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=D0=9F=D1=80=D1=8F=D0=BC=D1=8B=D0=B5=D0=9F=D1=83?= =?UTF-8?q?=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epf/bddRunner/bddRunner.xml | 34 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 5 ++- .../Ext/Form/Module.bsl" | 6 ++++ 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/epf/bddRunner/bddRunner.xml b/epf/bddRunner/bddRunner.xml index c7fdf8bf5..2ed475cfa 100644 --- a/epf/bddRunner/bddRunner.xml +++ b/epf/bddRunner/bddRunner.xml @@ -4912,6 +4912,40 @@ Auto + + + ИспользоватьПрямыеПути + + + ru + Использовать прямые пути + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
УправляемаяФорма
ВыборИзвестногоШага
diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c1c9b8518..92c2b4cd5 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -999,9 +999,8 @@ Процедура ПриОткрытии(Отказ) УстановитьПеременныеТелаМодуля(); - Объект.ИспользоватьПрямыеПутиФайлов = КлиентИСерверРасположеныНаОднойМашине(); - //Объект.ИспользоватьПрямыеПутиФайлов = Ложь;//TODO удалить временную строку - + Объект.ИспользоватьПрямыеПутиФайлов = Объект.ИспользоватьПрямыеПути И КлиентИСерверРасположеныНаОднойМашине(); + // видимость колонок Дерева тестов Если НЕ Объект.РежимСамотестирования Тогда ПоказатьСкрытьСтрокаРеальнойПроцедуры(""); diff --git "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a32e82f43..30134e83d 100644 --- "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1424,6 +1424,12 @@ Описание.Вставить("ТипЗапуска", ТипыЗапуска.ВсеВиды); Рез.Вставить(Ключ, Описание); + Ключ = "ИспользоватьПрямыеПути"; + Описание = Новый Структура("Р, А, ПоУмолчанию, УстанавливатьЕслиЗаполнено, ЭтоМассив, УстанавливатьЕслиИстина, ПреобразоватьПуть, ПростоУстановить, РазрешаюшийКлюч", + Ключ, "useDirectFilePaths", Истина, Истина, Ложь, Ложь, Ложь, Ложь, ""); + Описание.Вставить("ТипЗапуска", ТипыЗапуска.ВсеВиды); + Рез.Вставить(Ключ, Описание); + Возврат Рез; КонецФункции From 40aff25e80f7c26d6376ed242d3bf5808d142a17 Mon Sep 17 00:00:00 2001 From: pen Date: Fri, 26 Feb 2021 23:44:33 +0400 Subject: [PATCH 215/421] =?UTF-8?q?XDD=20=D0=93=D0=BB=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D1=81?= =?UTF-8?q?=D0=BA=D0=B8=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81?= =?UTF-8?q?=D1=82=20=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20(#820)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feature: сохранение и чтение глобального клиентского контекста issues XDD Глобально доступный клиентский контекст для модульных тестов #818 * tests: тесты глобального клиентского контекста * doc: документация глобального клиентского контекста --- ...20\265\321\201\321\202\320\276\320\262.MD" | 5 + .../Ext/Form/Module.bsl" | 97 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 37 +++++++ 3 files changed, 139 insertions(+) diff --git "a/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" "b/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" index 6818e37f5..a07b05abe 100644 --- "a/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" +++ "b/doc/xdd/\320\241\320\276\320\267\320\264\320\260\320\275\320\270\320\265-\321\204\320\260\320\271\320\273\320\276\320\262-\321\202\320\265\321\201\321\202\320\276\320\262.MD" @@ -43,6 +43,11 @@ - `Плагин(Идентификатор)` - функция, которая возвращает объект внешней обработки плагина. Параметр `Идентификатор` - Строка - наименование плагина (имя внешней обработки) - `СохранитьКонтекст(Контекст)` - процедура, которая в реквизите `ТекущийКонтейнер` (Структура) устанавливает ключ Контекст. Параметр `Контекст` - Произвольный - пользовательское значение, которое будет доступно из тестов. - `ПолучитьКонтекст()` - функция, которая возвращает значение ключа Контекст из реквизита объекта-обработки `ТекущийКонтейнер`. + - `ГлобальныйКонтекст()` - функция возвращает переменную (структура), которая содержит глобальный контекст. Глобальный контекст существует только на клиенте и в процессе работы браузера тестирования не передается на сервер. Глобальный контекст инициализируется пустой структурой при открытии управляемой формы браузера тестирования. + - `ГлобальныйКонтекстДобавить(Ключ, ЗначениеКонтекста)` - процедура, которая добавляет значение `ЗначениеКонтекста` в глобальный контекст с ключем `Ключ` Значение контекста существует весь сеанс тестирования. Глобальный контекст хранится на клиенте и в отличии от контекста сохраненного методом `СохранитьКонтекст(Контекст)` не передается на сервер при выполнении внутренней логики браузера тестирования. + - `ГлобальныйКонтекстЗначение(Ключ)` - функция, которая возвращает значение элемента контекста с ключем `Ключ`. Если в глобальном контексте не существует элемента с таким ключем, то будет возвращено значение `Неопределено` + - `ГлобальныйКонтекстУдалить(Ключ)` - процедура, которая удаляет из глобального контекста элемент с ключем `Ключ` + - `ГлобальныйКонтекстОчистить()` - процедура, которая удаляет все элементы глобального контекста. - `ВывестиСообщение(ТекстСообщения, Статус)` - процедура, которая выводит сообщение пользователю. Параметры: - `ТекстСообщения` - Строка - текст сообщения пользователю - `Статус` - СтатусСообщения - пример `СтатусСообщения.Важное` diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a3ec7a9fd..86ede2850 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -24,6 +24,11 @@ &НаКлиенте Перем ИсключаемыеСтрокиСтекаВызовов; // массив строк, которые нужно удалять из пользовательских сообщений +// Поле в котором можно хранить клиентский контекст на протяжении сеанса +// данный контекст можно использовать для передачи данных между тестами +&НаКлиенте +Перем ГлобальныйКонтекст; + // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -63,6 +68,8 @@ ЗагрузитьПлагины(); ОбновитьДекорацияНастройкиЗагружены(); + + ГлобальныйКонтекстИнициализировать(); //КэшироватьПеречисленияПлагинов(); //СброситьПодключенныеВнешниеОбработки(); @@ -2774,3 +2781,93 @@ КонецФункции // } Вспомогательные методы + +#Область Глобальный_контекст + +// Решение проблемы описанной в Issues #818 (https://github.com/vanessa-opensource/add/issues/818) +// +// Существует проблема: +// Некоторые объекты, например СертификатКриптографии, не поддерживают передачу с клиента на сервер +// и обратно. При модульном тестировании клиентских методов между которыми через КонтекстЯдра +// СохранитьКонтекст() / ПолучитьКонтекст() передаем подобные объекты получаем ошибку отображения. +// +// Хотелось бы иметь следующую функциональность: +// В браузере тестирования xddTestRunner иметь глобальный клиентский контекст, который существует +// на протяжении всего сеанса работы основной формы xddTestRunner. + +// Значение элемента Глобального контекста (структура) +// +// Параметры: +// Ключ - Строка - ключ элемента контекста, который требуется получить +// +// Возвращаемое значение: +// Произвольный - значение Глобального контекста +// +&НаКлиенте +Функция ГлобальныйКонтекстЗначение(Знач Ключ) Экспорт + Перем ЗначениеКонтекста; + + Если ГлобальныйКонтекст.Свойство(Ключ, ЗначениеКонтекста) Тогда + Возврат ЗначениеКонтекста; + КонецЕсли; + + ЗначениеКонтекста = Неопределено; + Возврат ЗначениеКонтекста; +КонецФункции + +// Добавить элемент в Глобальный контекст (структура) +// +// Параметры: +// Ключ - Строка - ключ элемента контекста, который будет добавлен +// ЗначениеКонтекста - Произвольный - значение контекста, который будет добавлен +// +&НаКлиенте +Процедура ГлобальныйКонтекстДобавить(Знач Ключ, Знач ЗначениеКонтекста) Экспорт + + ГлобальныйКонтекст.Вставить(Ключ, ЗначениеКонтекста); + +КонецПроцедуры + +// Удалить элемент из Глобального контекста +// +// Параметры: +// Ключ - Строка - ключ элемента контекста, который будет удален +// +&НаКлиенте +Процедура ГлобальныйКонтекстУдалить(Знач Ключ) Экспорт + + Если ГлобальныйКонтекст.Свойство(Ключ) Тогда + ГлобальныйКонтекст.Удалить(Ключ); + КонецЕсли; + +КонецПроцедуры + +// Получить глобальный контекст вцелом +// +// Возвращаемое значение: +// Произвольный - значение приватного поля "ГлобальныйКонтекст" +// +&НаКлиенте +Функция ГлобальныйКонтекст() Экспорт + + Возврат ГлобальныйКонтекст; + +КонецФункции + +// Очистить глобальный контекст (пустая структура) +// +&НаКлиенте +Процедура ГлобальныйКонтекстОчистить() Экспорт + + ГлобальныйКонтекст = Новый Структура(); + +КонецПроцедуры + +&НаКлиенте +Процедура ГлобальныйКонтекстИнициализировать() + + ГлобальныйКонтекст = Новый Структура(); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0731a5337..fac78261c 100644 --- "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -55,6 +55,10 @@ НаборТестов.Добавить("ТестДолжен_ПроверитьПередачуКонтекстаВЗависимыхТестах"); НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоСохранятьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); НаборТестов.Добавить("ТестДолжен_ПроверитьЧтоПолучатьКонтекстМожноТолькоВРамкахКонтейнераСоСтрогимПорядкомВыполнения"); + + НаборТестов.НачатьГруппу("Передача глобального клиентского контекста", Истина); + НаборТестов.Добавить("ТестДолжен_СохранитьГлобальныйКонтекст"); + НаборТестов.Добавить("ТестДолжен_ПолучитьГлобальныйКонтекст"); КонецПроцедуры &НаКлиенте @@ -516,6 +520,39 @@ КонецПроцедуры // } Передача контекста +#Область Передача_глобального_клиентского_контекста + +&НаКлиенте +Процедура ТестДолжен_СохранитьГлобальныйКонтекст() Экспорт + ОписаниеОшибки = ""; + Попытка + КонтекстЯдра.ГлобальныйКонтекстДобавить("Ключ1", "ЗначениеКонтекста"); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки, "Ожидали, что сохранение глобального контекста пройдет без ошибок, но это не так") + .Не_().Заполнено(); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПолучитьГлобальныйКонтекст() Экспорт + ОписаниеОшибки = ""; + Попытка + ЗначениеКонтекста = КонтекстЯдра.ГлобальныйКонтекстЗначение("Ключ1"); + Исключение + ОписаниеОшибки = ОписаниеОшибки(); + КонецПопытки; + Ожидаем.Что(ОписаниеОшибки, "Ожидали, что Получение значения элемента глобального контекста пройдет без ошибок, но это не так") + .Не_().Заполнено(); + + Ожидаем.Что(ЗначениеКонтекста, "Ожидали, что элемент глобального контекста имеет тип Строка и заданное значение ЗначениеКонтекста, но это не так") + .ИмеетТип(Тип("Строка")) + .Равно("ЗначениеКонтекста"); + +КонецПроцедуры + +#КонецОбласти + // Методы нужные для тестов &НаКлиенте Функция ЗагрузчикЗаглушка() From d0ab772074e0cc12d29d102993a62b687c0e2873 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 27 Feb 2021 00:42:35 +0300 Subject: [PATCH 216/421] =?UTF-8?q?=D0=A1=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=82=D0=B5=D0=BB=D0=B5=D0=B3=D1=80=D0=B0=D0=BC?= =?UTF-8?q?-=D1=87=D0=B0=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0bdbdd20..5e8f79dec 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@  # Vanessa Automation Driven Development -[![telegram](https://img.shields.io/badge/telegram-chat-green.svg)](https://t.me/vanessa_opensource) +[![telegram](https://img.shields.io/badge/telegram-chat-green.svg)](https://t.me/vanessa_opensource_chat) [![Release](https://img.shields.io/github/release/vanessa-opensource/add.svg?style=flat)](https://github.com/vanessa-opensource/add/releases/latest) [![GitHub Releases](https://img.shields.io/github/downloads/vanessa-opensource/add/latest/total?style=flat-square)](https://github.com/vanessa-opensource/add/releases) [![GitHub All Releases](https://img.shields.io/github/downloads/vanessa-opensource/add/total?style=flat-square)](https://github.com/vanessa-opensource/add/releases) From 092cfc7eebcc3696a8df839b081b840a3650709c Mon Sep 17 00:00:00 2001 From: Sulfur Date: Sat, 27 Feb 2021 09:19:48 +0300 Subject: [PATCH 217/421] =?UTF-8?q?=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D0=BB=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BE=D0=BA=20=D0=BE?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5=20API=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=20=D0=91=D0=B0=D0=B7=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D0=B5=D0=A3=D1=82=D0=B2=D0=B5=D1=80=D0=B6=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20(#842)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * привел в порядок API плагина * убрал из описания удаленный метод --- ...20\264\320\265\320\275\320\270\321\217.MD" | 44 +++++++------------ 1 file changed, 15 insertions(+), 29 deletions(-) diff --git "a/doc/xdd/\320\221\320\260\320\267\320\276\320\262\321\213\320\265-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" "b/doc/xdd/\320\221\320\260\320\267\320\276\320\262\321\213\320\265-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" index e2b8e5f54..5190c7761 100644 --- "a/doc/xdd/\320\221\320\260\320\267\320\276\320\262\321\213\320\265-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" +++ "b/doc/xdd/\320\221\320\260\320\267\320\276\320\262\321\213\320\265-\321\203\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217.MD" @@ -77,8 +77,7 @@ - `ПроверитьВхождение ( строка, подстрокаПоиска, ДопСообщениеОшибки = "" )` - проверить, что строка из 2-го параметра является подстрокой 1-го параметра -- `ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "")` - - проверить, что элемент входит в коллекцию +- `ПроверитьВхождениеВКоллекцию(Элемент, Коллекция, ДопСообщениеОшибки = "")` - проверить, что элемент входит в коллекцию - В качестве коллекции могут выступать - Массив, - Структура, @@ -88,15 +87,11 @@ - ФиксированноеСоответствие, - СписокЗначений -- `ПроверитьНаличиеОбъектаИБ ( ссылка, ДопСообщениеОшибки = "" )` - - проверить, что в базе данных есть такая ссылка - - выполняется попытка получить объект. +- `ПроверитьНаличиеОбъектаИБ ( ссылка, ДопСообщениеОшибки = "" )` - проверить, что в базе данных есть такая ссылка (выполняется попытка получить объект). - `ПроверитьВалидностьЗапросаСКД( ТекстЗапроса, ДопСообщениеОшибки = "" )` - проверяется правильность запроса для СКД -- `ПроверитьВыполнилось ( СтрокаАлгоритм, ПараметрыИлиДопСообщениеОшибки = Неопределено, Знач ДопСообщениеОшибки = "" )` - - проверяется возможность выполнения переданного алгоритма - - ПараметрыИлиДопСообщениеОшибки - если строка, то используется как сообщение об ошибке. Иначе можно использовать как коллекцию (Массив, Структура и т.п.). +- `ПроверитьВыполнилось ( СтрокаАлгоритм, ДопСообщениеОшибки = "" )` - проверяется возможность выполнения переданного алгоритма - Пример вызова: ```bsl ИмяОтчета = "ТестовыйОтчетСКДДляСравнениеСЭталоном"; @@ -111,9 +106,8 @@ КомпоновщикНастроек = Параметры.КомпоновщикНастроек; ``` -- `ПроверитьНеВыполнилось ( Знач СтрокаАлгоритм, ПараметрыИлиОжидаемоеОписаниеОшибки = Неопределено, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "" )` - - проверяется невозможность выполнения переданного алгоритма - - ПараметрыИлиОжидаемоеОписаниеОшибки- если строка, то используется как строка с ожидаемым исключением. Иначе можно использовать как коллекцию (Массив, Структура и т.п.) +- `ПроверитьНеВыполнилось ( Знач СтрокаАлгоритм, ОжидаемоеОписаниеОшибки = Неопределено, Знач ДопСообщениеОшибки = "")` - проверяется невозможность выполнения переданного алгоритма + - `ОжидаемоеОписаниеОшибки` - подстрока подробного представления ошибки. - Пример вызова: ```bsl ИмяОтчета = "ТестовыйОтчетСКДДляСравнениеСЭталоном"; @@ -129,12 +123,8 @@ КомпоновщикНастроек = Параметры.КомпоновщикНастроек; ``` -- `ПроверитьМетодВыполнился ( Объект, ИмяМетода, ПараметрыИлиДопСообщениеОшибки = Неопределено, ДопСообщениеОшибки = "" )` - - проверяется возможность выполнения метода объекта - - в качестве параметров должен выступать массив, в котором заданы параметры - - `ПараметрыИлиДопСообщениеОшибки` - - если строка, то используется как строка с дополнительным сообщением об ошибке. В этом случае `ДопСообщениеОшибки` можно не указывать. - - Иначе используется как массив параметров +- `ПроверитьМетодВыполнился ( Объект, ИмяМетода, Параметры = Неопределено, ДопСообщениеОшибки = "" )` - проверяется возможность выполнения метода объекта + - `Параметры` - массив параметров метода. - Пример вызова: ```bsl Отчет = Отчеты[ "ТестовыйОтчетСКДДляСравнениеСЭталоном" ].Создать(); @@ -145,15 +135,11 @@ "Ожидали, что компоновщик настроек будет получен, а это не так"); ``` -- `ПроверитьМетодНеВыполнился ( Объект, ИмяМетода, ПараметрыИлиОжидаемоеОписаниеОшибки = Неопределено, Знач ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки = "", Знач ДопСообщениеОшибки = "" )` - - проверяется невозможность выполнения метода объекта - - в качестве параметров должен выступать массив, в котором заданы параметры - - `ПараметрыИлиОжидаемоеОписаниеОшибки` - - если строка, то используется как строка с ожидаемым описанием ошибки/исключения метода. - - Иначе используется как массив параметров - - `ОжидаемоеОписаниеОшибкиИлиДопСообщениеОшибки` - - если строка, то используется как строка с дополнительным сообщением об ошибке. В этом случае `ДопСообщениеОшибки` можно не указывать. - - Иначе используется как массив параметров - -- `ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям( ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "")` - - сравнивает 2 табличных документа, учитывая только значения и не учитывая оформление \ No newline at end of file +- `ПроверитьМетодНеВыполнился ( Объект, ИмяМетода, Параметры = Неопределено, Знач ОжидаемоеОписаниеОшибки = "", Знач ДопСообщениеОшибки = "" )` - проверяется невозможность выполнения метода объекта + - `Параметры` - массив параметров метода. + - `ОжидаемоеОписаниеОшибки` - подстрока подробного описания ошибки. + +- `ПроверитьРавенствоФайлов ( ПутьФайла1, ПутьФайла2, ДопСообщениеОшибки = "", ПарамСравнениеФайлов = Неопределено, ПоказатьРазличия = Ложь)` - проверяет равенство файлов + - доступен только в толстом клиенте, т.к. работает через объект СравнениеФайлов. + - `ПарамСравнениеФайлов` - структура с источником свойств объекта СравнениеФайлов. + - `ПоказатьРазличия` - открывать ли окно демонстрации различий. From d6826fb96597b89be5c2601a402291ff943f81cc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 1 Mar 2021 16:39:15 +0300 Subject: [PATCH 218/421] =?UTF-8?q?=D0=92=20=D1=81=D0=BB=D1=83=D1=87=D0=B0?= =?UTF-8?q?=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D1=8B=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B2=20=D0=BB=D0=BE=D0=B3=20=D0=B8=20=D0=96=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit выполнение не останавливается --- .../Ext/Form/Module.bsl" | 43 ++++++++++++++----- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ab092d8d5..3dd429731 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -91,17 +91,39 @@ ИмяОбработки = ""; МассивСообщений = Неопределено; - КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, - КонтекстЯдра.Объект, МассивСообщений); - КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, - КонтекстЯдра, ИмяОбработки); - Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда - КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); - КонецЕсли; - Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда - ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); - КонецЕсли; + Попытка + + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя, ИмяОбработки, + КонтекстЯдра.Объект, МассивСообщений); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки, + КонтекстЯдра, ИмяОбработки); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); + КонецЕсли; + + Исключение + + // стандарт по исключениям https://its.1c.ru/db/v8std/content/499/hdoc + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ПолныйТекстОшибки = СтрШаблон("Не удалось загрузить файл %2 + |%1", ПолныйТекстОшибки, ФайлОбработки.ПолноеИмя); + + КонтекстЯдра.ЗафиксироватьОшибкуВЖурналеРегистрации("ЗагрузкаТестов", ПолныйТекстОшибки); + + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = ПолныйТекстОшибки; + Сообщение.Сообщить(); + + ПолныйТекстОшибкиБезСтека = КонтекстЯдра.ПолучитьСообщениеБезСтекаВызововОтБраузераТестов(ПолныйТекстОшибки); + КонтекстЯдра.ВывестиСообщениеВЛогФайл(ПолныйТекстОшибкиБезСтека); + КонецПопытки; + КонтекстЯдра.ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработчикОповещения, ДеревоТестов); @@ -592,6 +614,7 @@ КонецЕсли; КонецПроцедуры +&НаСервереБезКонтекста Процедура ЗафиксироватьОшибкуВЖурналеРегистрации(Знач Событие, Знач ОписаниеОшибки, ЭтоПредупреждение = Ложь) Уровень = ?(ЭтоПредупреждение, УровеньЖурналаРегистрации.Предупреждение, УровеньЖурналаРегистрации.Ошибка); ЗаписьЖурналаРегистрации(Событие, Уровень, , , ОписаниеОшибки); From 615242c94125ee11597d06eff9ff0e2447168fd5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 1 Mar 2021 16:39:54 +0300 Subject: [PATCH 219/421] =?UTF-8?q?=D1=83=D0=BC=D0=B5=D0=BD=D1=8C=D1=88?= =?UTF-8?q?=D0=B0=D1=8E=20=D1=81=D1=82=D0=B5=D0=BA=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BE=D0=BA=20=D0=B4=D0=BB=D1=8F=20=D0=BE=D1=88=D0=B8?= =?UTF-8?q?=D0=B1=D0=BE=D0=BA=20=D0=B7=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D0=BB=D0=BE=D0=B3=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 880aa8e24..7eb2a7d56 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -29,7 +29,8 @@ "ПоказПолногоСтекаВызововВОшибках" : { "Показывать": false, "ИсключаемыеСтрокиСтекаВызовов": [ - "ВнешняяОбработка.xddTestRunner." + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." ] }, From 8645d12be47504d5fff5f67851af81da0ad53bdb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 11 Mar 2021 20:13:12 +0300 Subject: [PATCH 220/421] =?UTF-8?q?=D0=B2=D1=8B=D0=B2=D0=BE=D0=B6=D1=83=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D1=8B=D0=B9=20=D1=81=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D0=B2?= =?UTF-8?q?=D0=BD=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - а также в лог ошибок #808 --- epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 6 +++--- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 80e9fb334..8dbd5f89c 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -381,7 +381,7 @@ ВывестиСообщениеВЛогФайл(" "); ВывестиСообщениеВЛогФайл(" ОШИБКА:"); - ВывестиСообщениеВЛогФайл(РезультатТестирования.Сообщение); + ВывестиСообщениеВЛогФайл(РезультатТестирования.ПодробноеСообщение); ВывестиСообщениеВЛогФайл(" =======:"); ВывестиСообщениеВЛогФайл(" "); diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 86ede2850..9b9d2a8e8 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -626,7 +626,7 @@ КонецЦикла; ИначеЕсли РезультатТестирования.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда Если РезультатТестирования.Свойство("Сообщение") И ЗначениеЗаполнено(РезультатТестирования.Сообщение) Тогда - Сообщить(РезультатТестирования.Сообщение, СтатусСообщения.ОченьВажное); + Сообщить(РезультатТестирования.ПодробноеСообщение, СтатусСообщения.ОченьВажное); КонецЕсли; КонецЕсли; КонецПроцедуры @@ -879,7 +879,7 @@ ВывестиСообщениеВЛогФайл(" "); ВывестиСообщениеВЛогФайл(" ОШИБКА:"); - ВывестиСообщениеВЛогФайл(РезультатТестирования.Сообщение); + ВывестиСообщениеВЛогФайл(РезультатТестирования.ПодробноеСообщение); ВывестиСообщениеВЛогФайл(" =======:"); ВывестиСообщениеВЛогФайл(" "); КонецПопытки; @@ -1071,7 +1071,7 @@ ВывестиСообщениеВЛогФайл(" "); ВывестиСообщениеВЛогФайл(" ОШИБКА:"); - ВывестиСообщениеВЛогФайл(РезультатТестирования.Сообщение); + ВывестиСообщениеВЛогФайл(РезультатТестирования.ПодробноеСообщение); ВывестиСообщениеВЛогФайл(" =======:"); ВывестиСообщениеВЛогФайл(" "); diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9dff733be..d88943098 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -319,7 +319,7 @@ КонецЦикла; ИначеЕсли РезультатТестирования.Тип = ЭтотОбъект.ТипыУзловДереваТестов.Элемент Тогда Если РезультатТестирования.Свойство("Сообщение") И ЗначениеЗаполнено(РезультатТестирования.Сообщение) Тогда - Сообщить(РезультатТестирования.Сообщение, СтатусСообщения.ОченьВажное); + Сообщить(РезультатТестирования.ПодробноеСообщение, СтатусСообщения.ОченьВажное); КонецЕсли; КонецЕсли; КонецПроцедуры diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" index 7e396644e..f0b753205 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" @@ -60,7 +60,7 @@ ОбластьЭлемент = МакетОтчетТестирования.ПолучитьОбласть("Элемент"); ОбластьЭлемент.Параметры.ИмяМетода = РезультатыТестирования.Представление; ОбластьЭлемент.Параметры.Путь = РезультатыТестирования.Путь; - ОбластьЭлемент.Параметры.Сообщение = РезультатыТестирования.Сообщение; + ОбластьЭлемент.Параметры.Сообщение = РезультатыТестирования.ПодробноеСообщение; ОбластьЭлемент.Области.Элемент.Отступ = Уровень * 2; Отчет.Вывести(ОбластьЭлемент, Уровень); КонецЕсли; From 9a04aea5d1cbf43a54adf1fc2a730fb1902697b8 Mon Sep 17 00:00:00 2001 From: Mity1440 Date: Mon, 15 Mar 2021 13:50:36 +0300 Subject: [PATCH 221/421] =?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=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2=20xUnit=20=D0=B2=20=D0=BF=D0=B0=D0=BA?= =?UTF-8?q?=D0=B5=D1=82=D0=BD=D0=BE=D0=BC=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=20=D1=81=20=D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E=20?= =?UTF-8?q?vrunner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index c28aff4ce..a24757ebc 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -43,6 +43,19 @@ Возврат ДеревоТестов; КонецФункции +&НаКлиенте +Процедура НачатьЗагрузку(ОбработкаОповещения, КонтекстЯдра, Путь) Экспорт + ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; + + СтруктураМетаданных = СтруктураМетаданныхПоПереданномуПути(Путь); + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ДеревоТестов = Неопределено; + ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов); + + ВыполнитьОбработкуОповещения(ОбработкаОповещения, ДеревоТестов); + +КонецПроцедуры + Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт ОбъектМетаданных = ПолучитьОбъектМетаданныхПоПути(Путь); Контекст = СоздатьОбработкуПоМетаданным(ОбъектМетаданных); From dbb8c168dcf406ecec467a556cf28b42cc895f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=9C=D0=B0?= =?UTF-8?q?=D0=BA=D0=B0=D1=80=D0=B5=D0=B2=D0=B8=D1=87?= <36016849+Mity1440@users.noreply.github.com> Date: Wed, 7 Apr 2021 17:13:34 +0300 Subject: [PATCH 222/421] =?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=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B8=20=D0=B4=D0=BE=D0=BF.=20=D1=81=D0=B2=D0=BE?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82?= =?UTF-8?q?=D0=B0=20=D0=BF=D1=80=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B0=20"?= =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=D0=A1=D0=BE=D0=B7?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=D0=94=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5"=20(#853)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Исправлена ошибка запуска тестов xUnit в пакетном режиме с помощью vrunner * feat: Добавлен возможность для установки доп. свойств удаляемых данных и метод программного интрефейса для взаимодействия --- .../Ext/ObjectModule.bsl" | 142 ++++++++++++------ 1 file changed, 99 insertions(+), 43 deletions(-) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index 9594e6935..f73fdd42c 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -21,6 +21,8 @@ Перем АнглийскоеСоответствие; Перем мТЗКэшОбъектов; +Перем ДопСвойстваУдаляемыхДанных; + Функция Версия() Экспорт Версия = "6.7.0"; Возврат Версия; @@ -42,6 +44,60 @@ Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры + +// Устанавливает значение переменной ДопСвойстваУдаляемыхДанных +// Параметры: +// ДопСвойства - Соответствие - +Процедура УстановитьДопСвойстваУдаляемыхДанных(Знач ДопСвойства) Экспорт + + ДопСвойстваУдаляемыхДанных = ДопСвойства; + +КонецПроцедуры + +// Удаляет созданные элементы (Справочники, Документы, Пользователи ИБ), регистры сведений не чистит - есть тесты +// +// Параметры: +// Данные - Структура - Структура, соджержащая в себе созданные ранее данные, где ключом является присовенное имя, +// а значением собственно значение созданного объекта - ссылка, примитивный тип и т.д. +// +// Возвращаемое значение: +// Число - Количество удаленных объектов +// +Функция УдалитьСозданныеДанные(Данные) Экспорт + + // Обратный порядок нужен для получения правильного количества удаленных элементов, + // т.к например, Владелец.Удалить удаляет и подчиненные элементы из подчиненных справочников + МассивУдаляемыхДанныхВОбратномПорядке = Новый Массив; + Для Каждого КлючЗначение Из Данные Цикл + МассивУдаляемыхДанныхВОбратномПорядке.Вставить(0, КлючЗначение.Значение); + КонецЦикла; + + КоличествоУдаленных = 0; + Для Каждого УдаляемыйЭлемент Из МассивУдаляемыхДанныхВОбратномПорядке Цикл + + ТипЗнчУдаляемыйЭлемент = ТипЗнч(УдаляемыйЭлемент); + + Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнчУдаляемыйЭлемент) + ИЛИ Документы.ТипВсеСсылки().СодержитТип(ТипЗнчУдаляемыйЭлемент) Тогда + + УдаляемыйОбъект = УдаляемыйЭлемент.ПолучитьОбъект(); + Если УдаляемыйОбъект = Неопределено Тогда + Продолжить; + КонецЕсли; + + УстановитьДопСвойстваУдаляемогоОбъекта(УдаляемыйОбъект); + УдалитьОбъектВПопыткеИсключение(УдаляемыйОбъект, КоличествоУдаленных); + + ИначеЕсли ТипЗнчУдаляемыйЭлемент = Тип("ПользовательИнформационнойБазы") Тогда + УдалитьОбъектВПопыткеИсключение(УдаляемыйЭлемент, КоличествоУдаленных); + КонецЕсли; + + КонецЦикла; + + Возврат КоличествоУдаленных; + +КонецФункции + // } Plugin interface //{ Десериализация тестовых данных @@ -212,49 +268,6 @@ КонецФункции -// удаляет созданные элементы (Справочники, Документы, Пользователи ИБ), регистры сведений не чистит - есть тесты -Функция УдалитьСозданныеДанные(Данные) Экспорт - // обратный порядок нужен для получения правильного количества удаленных элементов, т.к Владелец.Удалить удаляет и подчиненные элементы из подчиненных справочников - массивВОбратномПорядке = Новый Массив; - Для каждого ключЗначение Из Данные Цикл - массивВОбратномПорядке.Вставить(0, КлючЗначение.Значение); - КонецЦикла; - - количествоУдаленных = 0; - Для каждого элем Из массивВОбратномПорядке Цикл - типЭлемента = ТипЗнч(элем); - Если Справочники.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда - объект = элем.ПолучитьОбъект(); - Если объект <> Неопределено Тогда - Попытка - объект.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(типЭлемента) Тогда - объект = элем.ПолучитьОбъект(); - Если объект <> Неопределено Тогда - Попытка - объект.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - ИначеЕсли типЭлемента = Тип("ПользовательИнформационнойБазы") Тогда - Попытка - элем.Удалить(); - количествоУдаленных = количествоУдаленных + 1; - Исключение - Сообщить(ОписаниеОшибки()); - КонецПопытки; - КонецЕсли; - КонецЦикла; - Возврат количествоУдаленных; -КонецФункции - Функция ПолучитьКлючиЗаписиРСПоНаборуЗаписейРС(НаборЗаписей,ИмяРС) Результат = Новый Массив; @@ -2094,6 +2107,49 @@ // } Десериализация тестовых данных +// { Методы удаления созданных данных + +Процедура УстановитьДопСвойстваУдаляемогоОбъекта(УдаляемыйОбъект, ЭтоСсылочныйОбъект = Ложь) + + Если ДопСвойстваУдаляемыхДанных = Неопределено Тогда + Возврат; + КонецЕсли; + + ДопСвойстваУдаляемыйОбъект = УдаляемыйОбъект.ДополнительныеСвойства; + + ЗаполнитьСтруктуруПоСтруктуре(ДопСвойстваУдаляемыхДанных.Получить("Общие"), ДопСвойстваУдаляемыйОбъект); + Если ЭтоСсылочныйОбъект Тогда + ЗаполнитьСтруктуруПоСтруктуре(ДопСвойстваУдаляемыхДанных.Получить(УдаляемыйОбъект["Ссылка"]), + ДопСвойстваУдаляемыйОбъект); + КонецЕсли; + +КонецПроцедуры + +Процедура ЗаполнитьСтруктуруПоСтруктуре(Источник, Приемник) + + Если Источник = Неопределено ИЛИ Приемник = Неопределено Тогда + Возврат; + КонецЕсли; + + Для Каждого КлючЗначение Из Источник Цикл + Приемник.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЦикла; + +КонецПроцедуры + +Процедура УдалитьОбъектВПопыткеИсключение(Объект, Счетчик) + + Попытка + Объект.Удалить(); + Счетчик = Счетчик + 1; + Исключение + Сообщить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + КонецПопытки; + +КонецПроцедуры + +// } Методы удаления созданных данных + // { Методы проверки таблиц метаданных Функция ПолучитьКоличествоДокументовПоОтбору(видДокумента, Дата1, дата2, структураОтбора = Неопределено) Экспорт Если Не ЗначениеЗаполнено(видДокумента) Тогда From 4d7c0a3536e1f3934d2fc98abac7c3aa048a4ab8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 8 Apr 2021 21:23:24 +0300 Subject: [PATCH 223/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - нельзя было протестировать произвольный тип, например, Массив - ошибка несколько текущих выражений с отрицанием доработка после #839 --- .../Ext/Form/Module.bsl" | 90 ++++++++----------- 1 file changed, 36 insertions(+), 54 deletions(-) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 480735173..883135c99 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -5,6 +5,9 @@ &НаКлиенте Перем ФлагОтрицанияДляСообщения; +&НаКлиенте +Перем ПроверяемоеЗначение; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -26,7 +29,7 @@ &НаКлиенте Функция Что(Знач ПроверяемоеЗначениеПараметр, Знач Сообщение = "") Экспорт - Объект.ПроверяемоеЗначение = ПроверяемоеЗначениеПараметр; + ПроверяемоеЗначение = ПроверяемоеЗначениеПараметр; Объект.ДопСообщениеОшибки = Сообщение; Объект.ФлагОтрицания = Ложь; @@ -55,8 +58,8 @@ &НаКлиенте Функция ЭтоИстина() Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Истина) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(Объект.ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ИСТИНОЙ."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Истина) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ИСТИНОЙ."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -70,8 +73,8 @@ &НаКлиенте Функция ЭтоЛожь() Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Ложь) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(Объект.ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ЛОЖЬЮ."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Ложь) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(Формат(ПроверяемоеЗначение, "БЛ=Ложь; БИ=Истина"), "является ЛОЖЬЮ."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -85,8 +88,8 @@ &НаКлиенте Функция Равно(Знач ОжидаемоеЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = ОжидаемоеЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = ОжидаемоеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "РАВНО (" + ОжидаемоеЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -95,8 +98,8 @@ &НаКлиенте Функция Больше(Знач МеньшееЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение > МеньшееЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "БОЛЬШЕ (" + МеньшееЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение > МеньшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "БОЛЬШЕ (" + МеньшееЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -105,8 +108,8 @@ &НаКлиенте Функция БольшеИлиРавно(Знач МеньшееИлиРавноеЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение >= МеньшееИлиРавноеЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "БОЛЬШЕ ИЛИ РАВНО (" + МеньшееИлиРавноеЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение >= МеньшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "БОЛЬШЕ ИЛИ РАВНО (" + МеньшееИлиРавноеЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -120,8 +123,8 @@ &НаКлиенте Функция МеньшеИлиРавно(Знач БольшееИлиРавноеЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение <= БольшееИлиРавноеЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕНЬШЕ ИЛИ РАВНО (" + БольшееИлиРавноеЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение <= БольшееИлиРавноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕНЬШЕ ИЛИ РАВНО (" + БольшееИлиРавноеЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -135,8 +138,8 @@ &НаКлиенте Функция Меньше(Знач БольшееЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение < БольшееЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕНЬШЕ (" + БольшееЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение < БольшееЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕНЬШЕ (" + БольшееЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -145,8 +148,8 @@ &НаКлиенте Функция Заполнено() Экспорт - Если Не ЛогическоеВыражениеВерно(ЗначениеЗаполнено(Объект.ПроверяемоеЗначение)) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является ЗАПОЛНЕННЫМ."); + Если Не ЛогическоеВыражениеВерно(ЗначениеЗаполнено(ПроверяемоеЗначение)) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является ЗАПОЛНЕННЫМ."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -155,8 +158,8 @@ &НаКлиенте Функция Существует() Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение <> Неопределено И Объект.ПроверяемоеЗначение <> Null) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "СУЩЕСТВУЕТ."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение <> Неопределено И ПроверяемоеЗначение <> Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "СУЩЕСТВУЕТ."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -165,8 +168,8 @@ &НаКлиенте Функция ЭтоНеопределено() Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Неопределено) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является НЕОПРЕДЕЛЕНО."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Неопределено) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является НЕОПРЕДЕЛЕНО."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -180,8 +183,8 @@ &НаКлиенте Функция ЭтоNull() Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение = Null) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "является NULL."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение = Null) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "является NULL."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -196,7 +199,7 @@ &НаКлиенте Функция ИмеетТип(Знач ТипИлиИмяТипа) Экспорт ОжидаемыйТип = ?(ТипЗнч(ТипИлиИмяТипа) = Тип("Строка"), Тип(ТипИлиИмяТипа), ТипИлиИмяТипа); - ТипПроверяемогоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); + ТипПроверяемогоЗначения = ТипЗнч(ПроверяемоеЗначение); Если Не ЛогическоеВыражениеВерно(ТипПроверяемогоЗначения = ОжидаемыйТип) Тогда СообщениеОшибки = СформироватьСообщениеОбОшибке("тип - " + ТипПроверяемогоЗначения, "имеет тип (" + ОжидаемыйТип + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); @@ -207,8 +210,8 @@ &НаКлиенте Функция Между(Знач НачальноеЗначение, Знач КонечноеЗначение) Экспорт - Если Не ЛогическоеВыражениеВерно(Объект.ПроверяемоеЗначение >= НачальноеЗначение И Объект.ПроверяемоеЗначение <= КонечноеЗначение) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке(Объект.ПроверяемоеЗначение, "МЕЖДУ (" + НачальноеЗначение + ") и (" + КонечноеЗначение + ")."); + Если Не ЛогическоеВыражениеВерно(ПроверяемоеЗначение >= НачальноеЗначение И ПроверяемоеЗначение <= КонечноеЗначение) Тогда + СообщениеОшибки = СформироватьСообщениеОбОшибке(ПроверяемоеЗначение, "МЕЖДУ (" + НачальноеЗначение + ") и (" + КонечноеЗначение + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли;; @@ -220,9 +223,8 @@ Перем ИскомоеЗначениеНайдено; - ПроверяемоеЗначение = Объект.ПроверяемоеЗначение; ДопСообщениеОшибки = Объект.ДопСообщениеОшибки; - ТипПроверяемоегоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); + ТипПроверяемоегоЗначения = ТипЗнч(ПроверяемоеЗначение); Если ТипПроверяемоегоЗначения = Тип("Строка") Тогда Если СтрЧислоСтрок(ИскомоеЗначение) = 1 Тогда ИскомоеЗначениеНайдено = Найти(ПроверяемоеЗначение, ИскомоеЗначение) > 0; @@ -262,14 +264,14 @@ Функция ИмеетДлину(Знач ОжидаемаяДлина) Экспорт Перем ФактическаяДлина; - ТипПроверяемоегоЗначения = ТипЗнч(Объект.ПроверяемоеЗначение); + ТипПроверяемоегоЗначения = ТипЗнч(ПроверяемоеЗначение); Если ТипПроверяемоегоЗначения = Тип("Строка") Тогда - ФактическаяДлина = СтрДлина(Объект.ПроверяемоеЗначение); + ФактическаяДлина = СтрДлина(ПроверяемоеЗначение); ИначеЕсли ТипПроверяемоегоЗначения = Тип("Массив") Или ТипПроверяемоегоЗначения = Тип("ФиксированныйМассив") Или ТипПроверяемоегоЗначения = Тип("Структура") Или ТипПроверяемоегоЗначения = Тип("ФиксированнаяСтруктура") Или ТипПроверяемоегоЗначения = Тип("Соответствие") Или ТипПроверяемоегоЗначения = Тип("ФиксированноеСоответствие") Или ТипПроверяемоегоЗначения = Тип("СписокЗначений") Тогда - ФактическаяДлина = Объект.ПроверяемоеЗначение.Количество(); + ФактическаяДлина = ПроверяемоеЗначение.Количество(); КонецЕсли; Если ФактическаяДлина = Неопределено Тогда @@ -278,7 +280,7 @@ КонецЕсли; Если Не ЛогическоеВыражениеВерно(ФактическаяДлина = ОжидаемаяДлина) Тогда - СообщениеОшибки = СформироватьСообщениеОбОшибке("<" + Объект.ПроверяемоеЗначение + "> с длиной " + ФактическаяДлина, "ИМЕЕТ ДЛИНУ (" + ОжидаемаяДлина + ")."); + СообщениеОшибки = СформироватьСообщениеОбОшибке("<" + ПроверяемоеЗначение + "> с длиной " + ФактическаяДлина, "ИМЕЕТ ДЛИНУ (" + ОжидаемаяДлина + ")."); ВызватьОшибкуПроверки(СообщениеОшибки); КонецЕсли; @@ -287,7 +289,7 @@ &НаКлиенте Функция ВыбрасываетИсключение(Знач ФрагментИсключения = "") Экспорт - Контекст = Объект.ПроверяемоеЗначение; + Контекст = ПроверяемоеЗначение; СтрокаПараметры = ""; Если ТипЗнч(Объект.ПараметрыМетода) = Тип("Массив") Тогда Для Сч = 0 По Объект.ПараметрыМетода.Количество() - 1 Цикл @@ -317,26 +319,6 @@ КонецФункции // { Helpers -&НаСервере -Процедура ВыполнитьМетодОбъектаНаСервере(Знач ИмяМетода, Знач КоличествоПараметров, Знач Параметр1 = Неопределено, Знач Параметр2 = Неопределено) - ОбъектНаСервере = ЭтотОбъектНаСервере(); - - СтрокаПараметры = ""; - Если КоличествоПараметров = 1 Тогда - СтрокаПараметры = "Параметр1"; - ИначеЕсли КоличествоПараметров = 2 Тогда - СтрокаПараметры = "Параметр1, Параметр2"; - КонецЕсли; - - Попытка - Выполнить("ОбъектНаСервере." + ИмяМетода + "(" + СтрокаПараметры + ")"); - Исключение - ОписаниеОшибки = ОписаниеОшибки(); - ВызватьИсключение "Вызов метода <" + ИмяМетода +">: " + ОписаниеОшибки; - КонецПопытки; - - ЗначениеВРеквизитФормы(ОбъектНаСервере, "Объект"); -КонецПроцедуры &НаСервере Функция ЭтотОбъектНаСервере() @@ -413,7 +395,7 @@ Функция ЛогическоеВыражениеВерно(Знач ЛогическоеВыражение) Результат = Объект.ФлагОтрицания <> ЛогическоеВыражение; ФлагОтрицанияДляСообщения = Объект.ФлагОтрицания; - ФлагОтрицания = Ложь; + Объект.ФлагОтрицания = Ложь; Возврат Результат; КонецФункции From 81b127870e4dd8482ec13917396f467692e649b5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 12:13:43 +0300 Subject: [PATCH 224/421] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=82=D0=B8=D0=BF=D0=B0=20=D0=BD=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BC=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D0=BE=D0=BA=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit обход ошибки из телеграма https://t.me/vanessa_opensource_chat/1740 --- .../Ext/Form/Module.bsl" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9b06ef55e..6fc143dbb 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -507,6 +507,9 @@ ЗаголовкиМодальныхОкон = Новый Соответствие; Для Каждого КлючЗначение Из НастройкиМодальныхОкон Цикл Описание = КлючЗначение.Значение; + Если ТипЗнч(Описание) <> Тип("Структура") Тогда + Продолжить; + КонецЕсли; Заголовки = Неопределено; Если Описание.Свойство("Заголовки", Заголовки) Тогда Для Каждого Заголовок Из Заголовки Цикл @@ -921,4 +924,4 @@ КонецПроцедуры -// } Helpers \ No newline at end of file +// } Helpers From 27d36804f78ae231c8c451f318f387780ea848c9 Mon Sep 17 00:00:00 2001 From: Mity1440 Date: Fri, 9 Apr 2021 13:10:02 +0300 Subject: [PATCH 225/421] =?UTF-8?q?=D0=9C=D0=B5=D1=82=D0=BE=D0=B4=20=D0=9D?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=D1=82=D1=8C=D0=97=D0=B0=D0=B3=D1=80=D1=83?= =?UTF-8?q?=D0=B7=D0=BA=D1=83=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D1=81=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=B8=D0=B7=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B2=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=D0=BB=D1=8C=20=D1=84=D0=BE=D1=80=D0=BC=D1=8B?= =?UTF-8?q?.=20=D0=92=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B1=D1=8B=D0=BB=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BE=D1=87=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 13 ------------- .../Ext/Form/Module.bsl" | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index a24757ebc..c28aff4ce 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -43,19 +43,6 @@ Возврат ДеревоТестов; КонецФункции -&НаКлиенте -Процедура НачатьЗагрузку(ОбработкаОповещения, КонтекстЯдра, Путь) Экспорт - ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; - - СтруктураМетаданных = СтруктураМетаданныхПоПереданномуПути(Путь); - ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); - ДеревоТестов = Неопределено; - ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов); - - ВыполнитьОбработкуОповещения(ОбработкаОповещения, ДеревоТестов); - -КонецПроцедуры - Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт ОбъектМетаданных = ПолучитьОбъектМетаданныхПоПути(Путь); Контекст = СоздатьОбработкуПоМетаданным(ОбъектМетаданных); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cf17cde05..24ce78247 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -40,6 +40,19 @@ Возврат ДеревоТестов; КонецФункции +&НаКлиенте +Процедура НачатьЗагрузку(ОбработкаОповещения, КонтекстЯдра, Путь) Экспорт + ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; + + СтруктураМетаданных = СтруктураМетаданныхПоПереданномуПути(Путь); + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ДеревоТестов = Неопределено; + ОбработатьОбъектМетаданных(СтруктураМетаданных, ДеревоТестов); + + ВыполнитьОбработкуОповещения(ОбработкаОповещения, ДеревоТестов); + +КонецПроцедуры + &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт Перем Контекст; From 30535635f29e3103d1b1d43fe20d8baaccd356c0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 20:27:11 +0300 Subject: [PATCH 226/421] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" index 25c3ed15b..d5dbb12f6 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" @@ -69,7 +69,7 @@ ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; Утверждения.ПроверитьРавенство(Контейнер.Тип, ТипыУзловДереваТестов.Контейнер, "Контейнер.Тип"); - Утверждения.ПроверитьРавенство(Контейнер.Имя, ФайлСТестами.ИмяБезРасширения, "Контейнер.Имя"); + Утверждения.ПроверитьРавенство(Контейнер.Имя, "Тестовый набор для загрузчика ФС", "Контейнер.Имя"); Утверждения.ПроверитьТип(Контейнер.Строки, "Массив", "Контейнер.Строки"); Утверждения.ПроверитьРавенство(Контейнер.Строки.Количество(), 3, "Контейнер.Строки.Количество()"); diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" index 84d0f4fd2..7d90822d2 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" @@ -89,7 +89,7 @@ ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").ТипыУзловДереваТестов; Ожидаем.Что(Контейнер.Тип, "Контейнер.Тип").Равно(ТипыУзловДереваТестов.Контейнер); - Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно(ФайлСТестами.ИмяБезРасширения); + Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно("Тестовый набор для загрузчика ФС"); Ожидаем.Что(Контейнер.Строки, "Контейнер.Строки").ИмеетТип("Массив").ИмеетДлину(3); Элемент1 = Контейнер.Строки[0]; diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cae502ddc..b4da0b2c2 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -108,7 +108,7 @@ ТипыУзловДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов").Объект.ТипыУзловДереваТестов; Ожидаем.Что(Контейнер.Тип, "Контейнер.Тип").Равно(ТипыУзловДереваТестов.Контейнер); - Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно(ФайлСТестами.ИмяБезРасширения); + Ожидаем.Что(Контейнер.Имя, "Контейнер.Имя").Равно("Тестовый набор для загрузчика ФС"); Ожидаем.Что(Контейнер.Строки, "Контейнер.Строки").ИмеетТип("Массив").ИмеетДлину(3); Элемент1 = Контейнер.Строки[0]; From 84a283bbbb17337e0a8ca828e25bbec9c246eafc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 20:42:55 +0300 Subject: [PATCH 227/421] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20+=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 32 +++++++++++-------- .../Ext/Form/Module.bsl" | 2 +- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 073e020f8..85ab722e7 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -194,7 +194,9 @@ // Процедура ПоказатьСвойстваВРежимеОтладки(Знач ПараметрыПараметр, Знач Отступ = "") Экспорт КонтекстЯдра = КонтекстЯдра(); - Если ТипЗнч(ПараметрыПараметр) = Тип("ФиксированныйМассив") Тогда + ТипПараметра = ТипЗнч(ПараметрыПараметр); + + Если ТипПараметра = Тип("ФиксированныйМассив") Тогда Для Каждого Значение Из ПараметрыПараметр Цикл Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Или ТипЗнч(Значение) = Тип("Структура") Или @@ -207,18 +209,22 @@ КонецЕсли; КонецЦикла; Иначе - Для Каждого КлючЗначение Из ПараметрыПараметр Цикл - Значение = КлючЗначение.Значение; - Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Или - ТипЗнч(Значение) = Тип("Структура") Или - ТипЗнч(Значение) = Тип("ФиксированнаяСтруктура") Тогда - - КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, количество = <" + Значение.Количество() + ">"); - ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); - Иначе - КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, Значение = <" + Значение + ">"); - КонецЕсли; - КонецЦикла; + Если (ТипПараметра = Тип("Структура") ИЛИ ТипПараметра = Тип("ФиксированнаяСтруктура")) Тогда + Для Каждого КлючЗначение Из ПараметрыПараметр Цикл + Значение = КлючЗначение.Значение; + Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Или + ТипЗнч(Значение) = Тип("Структура") Или + ТипЗнч(Значение) = Тип("ФиксированнаяСтруктура") Тогда + + КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, количество = <" + Значение.Количество() + ">"); + ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); + Иначе + КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, Значение = <" + Значение + ">"); + КонецЕсли; + КонецЦикла; + Иначе + КонтекстЯдра.Отладка(Отступ + "Значение = <" + ТипПараметра + ">"); + КонецЕсли; КонецЕсли; КонтекстЯдра.Отладка(Отступ + ""); diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3e4f480cd..78eb3d7fe 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -228,7 +228,7 @@ Возврат бЕстьНастройка; КонецЕсли; - мЭлементыПути = КонтекстЯдра.РазложитьСтрокуВМассивПодстрок(ПутьНастроек, ".", Ложь); + мЭлементыПути = СтрРазделить(ПутьНастроек, ".", Ложь); Если мЭлементыПути.Количество() = 0 Тогда Возврат бЕстьНастройка; КонецЕсли; From 4d3c5c24add8cd5843082fd67ff63a28781d3f53 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 20:48:05 +0300 Subject: [PATCH 228/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=D1=8E=20=D1=83=D1=81=D1=82=D0=B0=D1=80=D0=B5=D0=B2?= =?UTF-8?q?=D1=88=D0=B8=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 6 ++++++ 1 file changed, 6 insertions(+) diff --git "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/Ext/ObjectModule.bsl" "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/Ext/ObjectModule.bsl" index d88a0b481..205adf369 100644 --- "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/\320\242\320\265\321\201\321\202\321\213_\320\227\320\260\320\277\321\203\321\201\320\272\320\222\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\274\320\240\320\265\320\266\320\270\320\274\320\265/Ext/ObjectModule.bsl" @@ -191,6 +191,9 @@ КонецПроцедуры Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddRun() Экспорт + + КонтекстЯдра.ПропуститьТест("Тест временно отключен"); + ФайлСТестами = ПолучитьФайлПроекта("tests\xunit\core\Тесты_СистемаПлагинов.epf"); СтрокаПараметров = СформироватьСтрокуПараметров("НесуществующийЗагрузчик", ФайлСТестами, "ГенераторОтчетаJUnitXML"); @@ -204,6 +207,9 @@ КонецПроцедуры Процедура ТестДолжен_ПроверитьЗапускВПакетномРежиме_ТолстыйКлиент_СПлохимиПараметрами_xddReport() Экспорт + + КонтекстЯдра.ПропуститьТест("Тест временно отключен"); + ФайлСТестами = ПолучитьФайлПроекта("tests\xunit\core\Тесты_СистемаПлагинов.epf"); СтрокаПараметров = СформироватьСтрокуПараметров("ЗагрузчикФайла", ФайлСТестами, "НесуществующийГенераторОтчета"); From 16cde7d793e9ac9deaae39459072ba5e3932d6c7 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Fri, 9 Apr 2021 20:57:23 +0300 Subject: [PATCH 229/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20(#851)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix исходники тестов * fix xUnitParams * fix Тесты_ПроверкаУстаревшихТиповДанных * fix smoke.example.json * fix Используется * fix ВыполнятьТест --- tests/smoke/smoke.example.json | 1258 +++++++++++++---- .../Ext/Form/Module.bsl" | 16 +- ...0\261\320\274\320\265\320\275\320\260.xml" | 38 + .../Ext/Form/Module.bsl" | 37 +- ...1\200\321\204\320\265\320\271\321\201.xml" | 46 +- .../Ext/ObjectModule.bsl" | 0 ...0\244\320\276\321\200\320\274\320\260.xml" | 0 .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 410 ++++++ ...1\201\321\202\320\265\320\274\321\203.xml" | 100 ++ .../Ext/ObjectModule.bsl" | 0 ...0\244\320\276\321\200\320\274\320\260.xml" | 0 .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 184 ++- .../Ext/Form/Module.bsl" | 18 +- ...0\276\320\271\321\201\321\202\320\262.xml" | 46 +- .../Ext/ObjectModule.bsl" | 0 ...0\244\320\276\321\200\320\274\320\260.xml" | 0 .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 146 +- ...0\261\320\276\321\202\320\276\320\272.xml" | 38 + .../Ext/Form/Module.bsl" | 198 ++- ...0\267\320\270\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 165 ++- ...0\262\321\211\320\270\320\272\320\260.xml" | 38 + .../Ext/Form/Module.bsl" | 107 +- ...1\207\320\265\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 254 +++- .../Ext/Form/Module.bsl" | 16 +- ...0\265\320\272\321\202\320\276\320\262.xml" | 46 +- .../Ext/ObjectModule.bsl" | 0 ...0\244\320\276\321\200\320\274\320\260.xml" | 0 .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 162 ++- ...0\265\320\272\321\202\320\260\320\274.xml" | 46 +- .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 138 +- ...0\265\320\272\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 70 +- ...0\265\320\272\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 146 +- ...65\320\272\321\202\320\276\320\262RLS.xml" | 38 + .../Ext/Form/Module.bsl" | 142 +- ...0\273\320\265\320\275\320\270\321\217.xml" | 38 + ...0\244\320\276\321\200\320\274\320\260.xml" | 1 + .../Ext/Form/Module.bsl" | 67 +- ...0\265\320\275\320\275\321\213\321\205.xml" | 38 + .../Ext/Form/Module.bsl" | 60 +- ...0\267\320\270\321\202\320\260\321\205.xml" | 38 + .../Ext/Form/Module.bsl" | 219 ++- ...0\265\320\272\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 149 +- ...0\265\320\272\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 134 +- ...0\274\320\265\320\275\321\202\320\260.xml" | 100 ++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 371 +++++ ...0\264\320\260\320\275\320\270\320\271.xml" | 38 + .../Ext/Form/Module.bsl" | 146 +- .../Ext/Form/Module.bsl" | 26 +- ...0\270\320\272\321\201\320\276\320\274.xml" | 46 +- .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 147 +- ...0\260\320\275\320\275\321\213\321\205.xml" | 38 + .../Ext/Form/Module.bsl" | 123 +- ...0\260\320\275\320\275\321\213\321\205.xml" | 38 + .../Ext/Form/Module.bsl" | 135 +- ...0\240\320\276\320\273\320\265\320\271.xml" | 38 + .../Ext/Form/Module.bsl" | 133 +- ...0\260\320\275\320\275\321\213\321\205.xml" | 38 + .../Ext/Form/Module.bsl" | 132 +- ...1\207\320\265\321\202\320\276\320\262.xml" | 38 + .../Ext/Form/Module.bsl" | 158 ++- tools/JSON/xUnitParams.json | 1149 +++++++++++---- 78 files changed, 6238 insertions(+), 1611 deletions(-) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201.xml" (64%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260.xml" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" (91%) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" (91%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" (61%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262.xml" (65%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Ext/ObjectModule.bsl" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" (100%) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" (80%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" (67%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" (100%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" (96%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" (58%) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274.xml" (64%) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" (93%) rename "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" => "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" (79%) diff --git a/tests/smoke/smoke.example.json b/tests/smoke/smoke.example.json index f8bd91a65..ac8f206ff 100644 --- a/tests/smoke/smoke.example.json +++ b/tests/smoke/smoke.example.json @@ -249,290 +249,986 @@ ] }, - "Тесты": { - "Параметры" : { - "Префикс" : "", - "Подсистема" : "", - "ПропускатьОбъектыСПрефиксомУдалить" : true, - - "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, - "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : true, - "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, - "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, - "Тесты_ПроверкаОбщихРеквизитов" : true, - "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : true, - "Тесты_ПроверкаОсновныхФормОтчетов" : true, - "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : true, - "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных" : true, - "Тесты_ПроверкаПравКУстаревшимОбъектам" : true, - "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов" : true, - "Тесты_ПроверкаПравНаЧтениеОбъектов" : true, - "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : true, - "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : true, - "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, - "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, - "Тесты_ПроверкаРегламентныхЗаданий" : true, - "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : true, - "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, - "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, - "Тесты_ПроверкаСоставныхТиповДанных" : true, - "Тесты_ПроверкаСтандартныхРолей" : true, - "Тесты_ПроверкаУстаревшихТиповДанных" : true, - "Тесты_ПроверкаХранилищаВариантовОтчетов" : true - }, - "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : { - "КаталогиВнешнихОтчетов" : [ - "" - ], - "КаталогиВнешнихОбработок" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОбщихРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОсновныхФормОтчетов" : { - "ОтборПоПрефиксу" : false, - "КаталогиВнешнихОтчетов" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравКУстаревшимОбъектамМетданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравНаЧтениеОбъектов" : { - "ОтборПоПрефиксу" : false, - "ПропускатьОбъектыСПрефиксомУдалить" : true, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : { - "ОбъектыМетаданных" : { - "Справочник" : [ - "" - ], - "Документ" : [ - "" - ] - }, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаРегламентныхЗаданий" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСоставныхТиповДанных" : { - "ОтборПоПрефиксу" : false, - "НеПроверятьДополнительныеРеквизиты" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСтандартныхРолей" : { - "ОсновныеРоли" : [ - "ИмяРоли" - ], - "СтандартныеРоли" : { - "ИмяРоли" : [ - "Чтение", - "ЧтениеПросмотр" - ] - }, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } + "Тесты_ПроверкаАвтоРегистрацииПлановОбмена": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "МойПланОбмена": [ + "РегистрСведений.МойРегистрСведений", + "Справочник.МойСправочник", + "Документ.МойДокумент" + ] + + } + + }, + + "Тесты_ПереходНаУправляемыеФормы": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1.Форма.ФормаУзла" + ], + + "КритерийОбмена" : [ + "КритерийОбмена1.Форма.ФормаСписка" + ], + + "ОбщаяФорма" : [ + "ФормаКонстант" + ], + + "Документ" : [ + "Документ1.Форма.ФормаОтбора" + ], + + "Справочник" : [ + "Справочник1.Форма.ФормаСписка" + ], + + "РегистрНакопления" : [ + "РегистрНакопления1.Форма.ФормаСписка" + ], + + "Обработка" : [ + "Обработка1.Форма.Форма" + ], + + "Отчет" : [ + "*" + ], + + "КритерийОтбора" : [ + "КритерийОтбора1.Форма.ФормаСписка" + ], + + "ЖурналДокументов" : [ + "Журнал1.Форма.ФормаСписка" + ], + + "Перечисление" : [ + "Перечисление1.Форма.ФормаВыбора" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1.Форма.ФормаПВХ" + ], + + "БизнесПроцесс" : [ + "РегистрСведений1.Форма.ФормаРегистра" + ], + + "Задача" : [ + "ЗадачиПользователя.Форма.ФормаЗадачи" + ] + + } + + }, + + "Тесты_ПроверкаПериодичностиНумерацииДокументов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "Документ": [ + "Документ1" + ] + + } + + }, + + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ОпределяемыйТипКомментарий": "Комментарий", + "ОпределяемыйТипОтветственный": "Ответственный", + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ] + + } + + }, + + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "Справочник":[ + "УдалитьСправочник1" + ], + + "РегистрСведений":[ + "УдалитьРегистрСведений1" + ] + } + + }, + + "Тесты_ПроверкаСтандартныхРолей":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "ОсновныеРоли":[ + "ПолныеПрава", + "АдминистраторСистемы" + ], + + "СтандартныеРоли":{ + + "ПолныеПрава":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "МобильныйКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "РегистрацияИнформационнойБазыСистемыВзаимодействия", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов", + "Вывод" + ], + + "АдминистраторСистемы":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "Вывод" + ], + + "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок":[ + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов" + ], + + "Администрирование":[ + "Администрирование", + "АдминистрированиеДанных", + "АктивныеПользователи" + ], + + "ВыводНаПринтерФайлБуферОбмена":[ + "Вывод" + ], + + "ЗапускAutomation":[ + "Automation" + ], + + "ЗапускВебКлиента":[ + "ВебКлиент" + ], + + "ЗапускВнешнегоСоединения":[ + "ВнешнееСоединение" + ], + + "ЗапускТолстогоКлиента":[ + "ТолстыйКлиент" + ], + + "ЗапускТонкогоКлиента":[ + "ТонкийКлиент" + ], + + "ОбновлениеКонфигурацииБазыДанных":[ + "ОбновлениеКонфигурацииБазыДанных" + ], + + "ПросмотрЖурналаРегистрации":[ + "ЖурналРегистрации" + ], + + "РежимВсеФункции":[ + "РежимВсеФункции" + ], + + "СохранениеДанныхПользователя":[ + "СохранениеДанныхПользователя" + ] + }, - "Тесты_ПроверкаУстаревшихТиповДанных" : { - "ОтборПоПрефиксу" : false, - "НеПроверятьДополнительныеРеквизиты" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } + + "ИсключенияИзПроверок":{ + + "Роль":[ + "МояРоль" + ] + } + + }, + + "Тесты_ПроверкаОбщихРеквизитов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ОбщийРеквизит":[ + "ОбщийРеквизит1" + ] + } + }, + + "Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ОбщийМодуль" :[ + "ОбщийМодуль1" + ], + + "ПараметрСеанса" :[ + "ПараметрСеанса1" + ], + + "Роль" :[ + "Роль1" + ], + + "ПланОбмена" :[ + "ПланОбмена1" + ], + + "КритерийОтбора" :[ + "КритерийОтбора1" + ], + + "ПодпискаНаСобытие" :[ + "ПодпискаНаСобытие1" + ], + + "РегламентноеЗадание" :[ + "РегламентноеЗадание1" + ], + + "ФункциональнаяОпция" :[ + "ФункциональнаяОпция1" + ], + + "ПараметрФункциональныхОпций" :[ + "ПараметрФункциональныхОпций1" + ], + + "ОпределяемыйТип" :[ + "ОпределяемыйТип1" + ], + + "ОбщаяФорма" :[ + "ОбщаяФорма1" + ], + + "ОбщаяКоманда" :[ + "ОбщаяКоманда1" + ], + + "ГруппаКоманд" :[ + "ГруппаКоманд1" + ], + + "ОбщийМакет": [ + "ОбщийМакет1" + ], + + "ОбщаяКартинка": [ + "ОбщаяКартинка1" + ], + + "ПакетXDTO": [ + "ПакетXDTO1" + ], + + "WebСервис": [ + "WebСервис1" + ], + + "HTTPСервис": [ + "HTTPСервис1" + ], + + "ЭлементСтиля": [ + "ЭлементСтиля1" + ], + + "Константа": [ + "Константа1" + ], + + "Справочник": [ + "Справочник1" + ], + + "Документ": [ + "Документ1" + ], + + "ЖурналДокументов": [ + "ЖурналДокументов1" + ], + + "Перечисление": [ + "Перечисление1" + ], + + "Отчет": [ + "Отчет1" + ], + + "Обработка": [ + "Обработка1" + ], + + "ПланВидовХарактеристик": [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений": [ + "РегистрСведений1" + ], + + "РегистрНакопления": [ + "РегистрНакопления1" + ], + + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + + "Задача": [ + "ЗадачиПользователя" + ], + + "ВнешнийИсточникДанных": [ + "ВнешнийИсточникДанных1.Таблица.Таблица1" + ] + } + + }, + + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена":[ + "ПланОбмена1.Реквизит.Реквизит1" + ], + + "ОбщаяКоманда":[ + "УдалитьНастройкуСинхронизации" + ], + + "ОбщаяКартинка":[ + "ОбщаяКартинка1" + ], + + "Константа":[ + "Константа1" + ], + + "Справочник":[ + "Справочник1.Реквизит.Реквизит1" + ], + + "Документ":[ + "Документ1.Реквизит.Реквизит1" + ], + + "Перечисление":[ + "Перечисление1.ЗначениеПеречисления.НовоеЗначениеПеречисления" + ], + + "РегистрСведений":[ + "РегистрСведений1.Ресурс.Ресурс1" + ], + + "БизнесПроцесс":[ + "БизнесПроцесс1.Реквизит.УдалитьРеквизит1" + ], + + "Задача":[ + "Задача.Реквизит.Реквизит1" + ] + + } + }, + + "Тесты_ПроверкаПравНаЧтениеОбъектов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Константа" : [ + "Константа1" + ], + + "Документ" : [ + "Документ1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" + ] + + } + + }, + + "Тесты_ПроверкаПраваИнтерактивногоУдаления": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаСоставныхТиповДанных": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПроверятьДополнительныеРеквизиты": true, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "МойДокумент.ТабличнаяЧасть.МояТабличнаяЧасть.Реквизит.МойРеквизит" + ], + + "ОпределяемыйТип":[ + "ОпределяемыйТип1" + ], + + "ПланОбмена":[ + "МойПланОбмена.Реквизит.Реквизит1" + ], + + "Справочник":[ + "Справочник1.Реквизит.Реквизит1" + ], + + "Константа":[ + "Константа1" + ], + + "РегистрСведений":[ + "МойРегистрСведенй" + ], + + "БизнесПроцесс":[ + "Бизнеспроцесс1" + ] + } + + }, + + "Тесты_ПроверкаРегламентныхЗаданий": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "РегламентноеЗадание":[ + "РегламентноеЗадание1" + ] + } + }, + + "Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "РегистрСведений":[ + "РегистрСведений1" + ], + + "РегистрНакопления": [ + "РегистрНакопления1" + ] + + } + }, + + "Тесты_ПроверкаПользовательскихПредставленийОбъектов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "Документ" : [ + "Документ1" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" + ], + + "БизнесПроцесс" : [ + "БизнесПроцесс1" + ], + + "Задача" : [ + "Задача1" + ] + + } + + }, + + "Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "Документ" : [ + "Документ1" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" + ], + + "БизнесПроцесс" : [ + "БизнесПроцесс1" + ], + + "Задача" : [ + "Задача1" + ], + + "Перечисление": [ + "Перечисление1" + ] + + } + + }, + + "Тесты_ПроверкаХранилищаВариантовОтчетов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ХранилищеВариантовОтчетов": "ХранилищеВариантовОтчетов", + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + ".\\Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "Отчет":[ + "МойОтчет" + ], + + "ВнешнимйОтчет":[ + "ВнешнийОтчет1" + ] + + } + }, + + "Тесты_ПроверкаОсновныхФормОтчетов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ФормаОтчета": "ФормаОтчета", + "ФормаНастроек": "ФормаНастроекОтчета", + "ФормаВарианта": "ФормаВариантаОтчета", + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + "Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "Отчет":[ + "МойОтчет" + ], + + "ВнешнимйОтчет":[ + "ВнешнийОтчет1" + ] + + } + + }, + + "Тесты_ПроверкаПривилегированногоРежимаОбъектов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "*" + ] + } + }, + + "Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + "Перечисление": [ + "*" + ] + } + }, + + "Тесты_ПроверкаПравКУстаревшимОбъектам": { + + "Используется": false, + "ВыводитьИсключения": true, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + "Перечисление": [ + "*" + ] + } + }, + + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + "Каталог2" + ], + + "КаталогиВнешнихОбработок":[ + "Каталог1", + "Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "ВнешнийОтчет":[ + "Каталог1\\ВнешнийОтчет1.erf" + ], + + "ВнешняяОбработка":[ + "Каталог1\\ВнешняяОбработка1.epf" + ] + + } + }, + + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "ОбъектыМетаданных":{ + + "РегистрНакопления": [ + "РегистрНаколпения1" + ], + + "Справочник": [ + "*" + ] }, - "Тесты_ПроверкаХранилищаВариантовОтчетов" : { - "ОтборПоПрефиксу" : false, - "ХранилищеВариантовОтчетов" : "", - "КаталогиВнешнихОтчетов" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } + + "ИсключенияИзПроверок":{ + + "РегистрНакопления": [ + "РегистрНаколпения1" + ], + + "Справочник":[ + "*" + ] + + } + }, + + "Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему":{ + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": false, + "Подсистема": "Подсистема1", + + "ИсключенияИзПроверок":{ + + "ОбщийМодуль": [ + "ОбщийМодуль1" + ], + + "Справочник":[ + "*" + ] + + } + }, + + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах":{ + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": true, + "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json", + + "ИсключенияИзПроверок":{ + + "WebСервис" : [ + "WEBСервис1" + ], + + "ПакетXDTO":[ + "ПакетXDTO1" + ], + + "ПланОбмена":[ + "ПланОбмена" + ], + + "ОбщийМодуль":[ + "*" + ], + + "ПодпискаНаСобытие":[ + "ПодпискаНаСобытиеПриЗаписи1" + ], + + "РегистрСведений":[ + "МойРегистрСведений" + ], + + "Обработка":[ + "МояОбработка" + ], + + "Роль":[ + "ПолныеПрава" + ], + + "ОбщийРеквизит":[ + "МойОбщийРеквизит" + ], + + "Справочник":[ + "МойСправочник" + ] + + } + + }, + + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов": { + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1.Реквизит.Реквизит1" + ], + + "Справочник":[ + "справочник1.Команда.Команда1" + ], + + "Перечисление": [ + "*" + ] + + } + + }, + + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика":{ + + "Используется": false, + "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json" + + }, + + "Тесты_ПроверкаУстаревшихТиповДанных":{ + + "Используется": false, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ВыводитьИсключения": true, + + "ИсключенияИзПроверок":{ + + "Справочник":[ + "Справочник1" + ], + + "Документ":[ + "Документ1" + ] + } } + } diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 247a31fd2..a99a12582 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/\320\242\320\265\321\201\321\202\321\213_\320\237\320\265\321\200\320\265\321\205\320\276\320\264\320\235\320\260\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\321\213\320\265\320\244\320\276\321\200\320\274\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -133,7 +133,7 @@ Результат = (ТипФормы = "Управляемая"); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -190,22 +190,14 @@ &НаКлиенте Функция УбратьИсключения(МассивТестов) - Исключения = Новый Соответствие; Результат = Новый Массив; Для Каждого Тест Из МассивТестов Цикл - Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда - Исключения.Вставить(Тест, Истина); + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); КонецЕсли; КонецЦикла; - Для Каждого Тест Из МассивТестов Цикл - Если Исключения.Получить(Тест) = Истина Тогда - Продолжить; - КонецЕсли; - Результат.Добавить(Тест); - КонецЦикла; - Возврат Результат; КонецФункции @@ -329,7 +321,7 @@ Объект.ИмяТеста = ИмяТестаНаСервере(); КонецЕсли; - Возврат Объект.Имятеста; + Возврат Объект.ИмяТеста; КонецФункции diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" index a34cb3bb8..23beafa55 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8a15339e5..1a5e29138 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\220\320\262\321\202\320\276\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270\320\237\320\273\320\260\320\275\320\276\320\262\320\236\320\261\320\274\320\265\320\275\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -32,7 +32,9 @@ КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -54,7 +56,7 @@ НаборТестов.Добавить( "ТестДолжен_ПроверитьАвтоРегистрацииПланаОбмена", НаборТестов.ПараметрыТеста(ПланОбмена.Ключ, Элемент.ПолноеИмя, Элемент.АвтоРегистрация), - КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка авторегистрации планов обмена'"))); + КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка авторегистрации плана обмена'"))); КонецЦикла; КонецЦикла; @@ -99,7 +101,7 @@ Если Настройки.Свойство("ИсключенияИзпроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -124,7 +126,7 @@ Результат = (АвтоРегистрация = "Запретить"); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПланОбмена, ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПланОбмена, ПолноеИмяМетаданных)); КонецЕсли; @@ -173,22 +175,14 @@ &НаКлиенте Функция УбратьИсключения(ПланОбмена, МассивТестов) - Исключения = Новый Соответствие; Результат = Новый Массив; Для Каждого Тест Из МассивТестов Цикл - Если ИсключенИзПроверок(ПланОбмена, Тест.ПолноеИмя) Тогда - Исключения.Вставить(Тест, Истина); + Если Не ИсключенИзПроверок(ПланОбмена, Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); КонецЕсли; КонецЦикла; - Для Каждого Тест Из МассивТестов Цикл - Если Исключения.Получить(Тест) = Истина Тогда - Продолжить; - КонецЕсли; - Результат.Добавить(Тест); - КонецЦикла; - Возврат Результат; КонецФункции @@ -244,15 +238,26 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; + ВыполнятьТест = Ложь; ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201.xml" similarity index 64% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201.xml" index 10ebda031..4eb8f414f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201.xml" @@ -6,21 +6,21 @@ c3831ec8-d8d5-4f93-8a22-f9bfae07327f 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 - + 374454b4-1df5-4b67-9e85-800ed93937ff 95383c60-00b2-4dc5-af00-0832ae567804 - Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему + Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс ru - Тесты "Проверка включения новых объектов с префиксом в подсистему" + Тесты "Проверка включения объектов в командный интерфейс" - ExternalDataProcessor.Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему.Form.Форма + ExternalDataProcessor.Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс.Form.Форма @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Ext/ObjectModule.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260.xml" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260.xml" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" similarity index 91% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index e39752340..4c0b3a2a7 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -4,7 +4,7 @@ - cfg:ExternalDataProcessorObject.Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему + cfg:ExternalDataProcessorObject.Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс true diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ada49b2bb --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\222\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,410 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ИсключенияИзПроверок; +&Наклиенте +Перем Подсистемы; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + ПутьНастройки = ИмяТеста(); + Настройки(КонтекстЯдра, ПутьНастройки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Если Подсистемы.КомандныйИнтерфейс.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); + Для Каждого Элемент Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы", + НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), + КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка включения объекта в командный интерфейс'"))); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ВыводитьИсключения = Истина; + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + СлужебныеПодсистемы = Новый Массив; + Подсистемы = Подсистемы(); + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + Результат = ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, Подсистемы); + + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); + Иначе + Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, Подсистемы) + + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Результат = Ложь; + + Для Каждого ИмяПодсистемы Из Подсистемы.КомандныйИнтерфейс Цикл + Подсистема = Метаданные.НайтиПоПолномуИмени(ИмяПодсистемы); + Если ПодсистемаСодержитОбъект(Подсистема, ОбъектМетаданных) Тогда + Результат = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Для Каждого ИмяПодсистемы Из Подсистемы.Служебные Цикл + Подсистема = Метаданные.НайтиПоПолномуИмени(ИмяПодсистемы); + Если ПодсистемаСодержитОбъект(Подсистема, ОбъектМетаданных) Тогда + Результат = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" не входит в служебные подсистемы или подсистемы командного интерфейса: + |%2'"); + Разделитель = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(",%1", Символы.ПС); + ТекстПодсистемы = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(Подсистемы.КомандныйИнтерфейс, Разделитель); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, ТекстПодсистемы); + + Возврат ТекстСообщения; + +КонецФункции + +&НаСервереБезКонтекста +Функция Подсистемы() + + Подсистемы = Новый Структура; + Подсистемы.Вставить("КомандныйИнтерфейс", Новый Массив); + Подсистемы.Вставить("Служебные", Новый Массив); + + Для Каждого Подсистема Из Метаданные.Подсистемы Цикл + Если Подсистема.ВключатьВКомандныйИнтерфейс Тогда + Подсистемы.КомандныйИнтерфейс.Добавить(Подсистема.ПолноеИмя()); + Иначе + Подсистемы.Служебные.Добавить(Подсистема.ПолноеИмя()); + КонецЕсли; + КонецЦикла; + + Возврат Подсистемы; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу) + + ОбъектыМетаданных = Новый Структура; + ОбъектыМетаданных.Вставить("ОбщиеМодули", Новый Массив); + ОбъектыМетаданных.Вставить("ПараметрыСеанса", Новый Массив); + ОбъектыМетаданных.Вставить("Роли", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); + ОбъектыМетаданных.Вставить("КритерииОтбора", Новый Массив); + ОбъектыМетаданных.Вставить("ПодпискиНаСобытия", Новый Массив); + ОбъектыМетаданных.Вставить("РегламентныеЗадания", Новый Массив); + ОбъектыМетаданных.Вставить("ФункциональныеОпции", Новый Массив); + ОбъектыМетаданных.Вставить("ПараметрыФункциональныхОпций", Новый Массив); + ОбъектыМетаданных.Вставить("ОпределяемыеТипы", Новый Массив); + ОбъектыМетаданных.Вставить("ХранилищаНастроек", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеФормы", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеКоманды", Новый Массив); + ОбъектыМетаданных.Вставить("ГруппыКоманд", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеМакеты", Новый Массив); + ОбъектыМетаданных.Вставить("ОбщиеКартинки", Новый Массив); + ОбъектыМетаданных.Вставить("ПакетыXDTO", Новый Массив); + ОбъектыМетаданных.Вставить("WebСервисы", Новый Массив); + ОбъектыМетаданных.Вставить("HTTPСервисы", Новый Массив); + ОбъектыМетаданных.Вставить("ЭлементыСтиля", Новый Массив); + ОбъектыМетаданных.Вставить("Стили", Новый Массив); + ОбъектыМетаданных.Вставить("Константы", Новый Массив); + ОбъектыМетаданных.Вставить("Справочники", Новый Массив); + ОбъектыМетаданных.Вставить("Документы", Новый Массив); + ОбъектыМетаданных.Вставить("ЖурналыДокументов", Новый Массив); + ОбъектыМетаданных.Вставить("Перечисления", Новый Массив); + ОбъектыМетаданных.Вставить("Отчеты", Новый Массив); + ОбъектыМетаданных.Вставить("Обработки", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыСчетов", Новый Массив); + ОбъектыМетаданных.Вставить("ПланыВидовРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыСведений", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыНакопления", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыБухгалтерии", Новый Массив); + ОбъектыМетаданных.Вставить("РегистрыРасчета", Новый Массив); + ОбъектыМетаданных.Вставить("БизнесПроцессы", Новый Массив); + ОбъектыМетаданных.Вставить("Задачи", Новый Массив); + ОбъектыМетаданных.Вставить("ВнешниеИсточникиДанных", Новый Массив); + + Для Каждого Элемент Из ОбъектыМетаданных Цикл + Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + Если Метаданные.ВнешниеИсточникиДанных.Содержит(ОбъектМетаданных) Тогда + ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, ОбъектыМетаданных[Элемент.Ключ]); + Иначе + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.ПолноеИмя()); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЕсли; + КонецЦикла; + КонецЦикла; + + Возврат ОбъектыМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, КоллекцияОбъектовМетаданных) + + КоллекцииВнешнегоИсчтоникаДанных = Новый Структура; + КоллекцииВнешнегоИсчтоникаДанных.Вставить("Таблицы", "Таблица"); + КоллекцииВнешнегоИсчтоникаДанных.Вставить("Кубы", "Куб"); + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Для Каждого КоллекцияВнешнегоИсчтоникаДанных Из КоллекцииВнешнегоИсчтоникаДанных Цикл + Для Каждого ОбъектВнешнегоИсчтоникаДанных Из ОбъектМетаданных[КоллекцияВнешнегоИсчтоникаДанных.Ключ] Цикл + + СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("Имя", ОбъектВнешнегоИсчтоникаДанных.ПолноеИмя()); + СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектВнешнегоИсчтоникаДанных.ПолноеИмя()); + КоллекцияОбъектовМетаданных.Добавить(СтруктураЭлемента); + + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПодсистемаСодержитОбъект(ПодсистемаРодитель, ОбъектМетаданных) + + Если ПодсистемаРодитель.Состав.Содержит(ОбъектМетаданных) Тогда + Возврат Истина; + КонецЕсли; + + Для Каждого Подсистема Из ПодсистемаРодитель.Подсистемы Цикл + Если ПодсистемаСодержитОбъект(Подсистема, ОбъектМетаданных) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Возврат Ложь; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); + Настройки(КонтекстЯдра, ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" new file mode 100644 index 000000000..3f958c38f --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203.xml" @@ -0,0 +1,100 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему + + + ru + Тесты "Проверка включения объектов с префиксом в подсистему" + + + + ExternalDataProcessor.Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Ext/ObjectModule.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260.xml" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" similarity index 91% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index f275e5e11..7f5bc8d69 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -4,7 +4,7 @@ - cfg:ExternalDataProcessorObject.Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов + cfg:ExternalDataProcessorObject.Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему true diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" similarity index 61% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b0885f0ab..d8300b5be 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\222\320\272\320\273\321\216\321\207\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274\320\222\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\321\203/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,6 +10,10 @@ Перем ПрефиксОбъектов; &НаКлиенте Перем ИмяПодсистемы; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ИсключенияИзПроверок; #КонецОбласти @@ -22,13 +26,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -45,16 +50,23 @@ ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; КонецЕсли; - НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); - Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина);; + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл НаборТестов.Добавить( "ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы", - НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), + Тест.ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -70,6 +82,9 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Ложь; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -78,14 +93,34 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Подсистема") Тогда - ИмяПодсистемы = ВРег(Настройки.Параметры.Подсистема); + Если Настройки.Свойство("Подсистема") Тогда + ИмяПодсистемы = Настройки.Подсистема; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + КонецПроцедуры #КонецОбласти @@ -94,9 +129,15 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьЧтоОбъектВключенВПодсистемы(ПолноеИмяМетаданных) Экспорт - - Результат = ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, ИмяПодсистемы); - Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы)); + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьЧтоОбъектВключенВПодсистемыСервер(ПолноеИмяМетаданных, ИмяПодсистемы); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы)); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы)); + КонецЕсли; КонецПроцедуры @@ -119,6 +160,55 @@ #Область СлужебныеПроцедурыИФункции +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, ИмяПодсистемы) @@ -131,7 +221,10 @@ &НаСервереБезКонтекста Функция ОбъектыМетаданных(ПрефиксОбъектов) - + + СтроковыеУтилиты = СтроковыеУтилиты(); + Пояснение = НСтр("ru = 'Проверка включения объекта с префиксом в подсистему'");; + ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("ОбщиеМодули", Новый Массив); ОбъектыМетаданных.Вставить("ПараметрыСеанса", Новый Массив); @@ -174,17 +267,24 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл - Если СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) = 0 Тогда + + Если Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда Продолжить; КонецЕсли; + Если Метаданные.ВнешниеИсточникиДанных.Содержит(ОбъектМетаданных) Тогда - ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, ОбъектыМетаданных[Элемент.Ключ]); + ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, ОбъектыМетаданных[Элемент.Ключ], Пояснение); Иначе + + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); + СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + КонецЕсли; + КонецЦикла; КонецЦикла; @@ -193,7 +293,7 @@ КонецФункции &НаСервереБезКонтекста -Процедура ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, КоллекцияОбъектовМетаданных) +Процедура ОбъектыВнешнегоИсточникаДанных(ОбъектМетаданных, КоллекцияОбъектовМетаданных, Пояснение) КоллекцииВнешнегоИсчтоникаДанных = Новый Структура; КоллекцииВнешнегоИсчтоникаДанных.Вставить("Таблицы", "Таблица"); @@ -204,14 +304,11 @@ Для Каждого КоллекцияВнешнегоИсчтоникаДанных Из КоллекцииВнешнегоИсчтоникаДанных Цикл Для Каждого ОбъектВнешнегоИсчтоникаДанных Из ОбъектМетаданных[КоллекцияВнешнегоИсчтоникаДанных.Ключ] Цикл - Имя = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2.%3", - ОбъектМетаданных.Имя, - КоллекцияВнешнегоИсчтоникаДанных.Значение, - ОбъектВнешнегоИсчтоникаДанных.Имя); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектВнешнегоИсчтоникаДанных.ПолноеИмя(), Пояснение); СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектВнешнегоИсчтоникаДанных.ПолноеИмя()); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); КоллекцияОбъектовМетаданных.Добавить(СтруктураЭлемента); КонецЦикла; @@ -219,21 +316,44 @@ КонецПроцедуры +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + &НаСервереБезКонтекста Функция СтроковыеУтилиты() Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -241,10 +361,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 641007836..947de4181 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\230\320\275\320\264\320\265\320\272\321\201\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -127,7 +127,7 @@ Результат = ПроверитьИндексированиеУстаревшихОбъектовМетаданных(ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -155,7 +155,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -185,22 +185,14 @@ &НаКлиенте Функция УбратьИсключения(МассивТестов) - Исключения = Новый Соответствие; Результат = Новый Массив; Для Каждого Тест Из МассивТестов Цикл - Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда - Исключения.Вставить(Тест, Истина); + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); КонецЕсли; КонецЦикла; - Для Каждого Тест Из МассивТестов Цикл - Если Исключения.Получить(Тест) = Истина Тогда - Продолжить; - КонецЕсли; - Результат.Добавить(Тест); - КонецЦикла; - Возврат Результат; КонецФункции @@ -430,7 +422,7 @@ &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; + ВыполнятьТест = Ложь; Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262.xml" similarity index 65% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262.xml" index c3a19e180..0a649a01c 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262.xml" @@ -6,21 +6,21 @@ c3831ec8-d8d5-4f93-8a22-f9bfae07327f 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 - + 374454b4-1df5-4b67-9e85-800ed93937ff 95383c60-00b2-4dc5-af00-0832ae567804 - Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов + Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств ru - Тесты "Проверка каноничности префикса новых объектов и реквизитов" + Тесты "Проверка каноничности префикса объектов/свойств" - ExternalDataProcessor.Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов.Form.Форма + ExternalDataProcessor.Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств.Form.Форма @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Ext/ObjectModule.bsl" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Ext/ObjectModule.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..99413b15a --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" similarity index 80% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4bc108a43..efa71efc3 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\232\320\260\320\275\320\276\320\275\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\241\320\262\320\276\320\271\321\201\321\202\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,9 +7,11 @@ &НаКлиенте Перем СтроковыеУтилиты; &НаКлиенте -Перем ПрефиксОбъектов; -&НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ПрефиксОбъектов; #КонецОбласти @@ -22,13 +24,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -38,19 +41,25 @@ Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); + Пояснение = НСтр("ru = 'Проверка каноничности префикса объекта/свойства'"); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); - Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьКаноничностьПрефиксаОбъектаИлиРеквизитов", - НаборТестов.ПараметрыТеста(ЭлементКоллекции.Имя, ЭлементКоллекции.ПолноеИмя), - ЭлементКоллекции.ИмяТеста); + + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Тест.ПолноеИмя, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -76,11 +85,15 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Префикс; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -89,7 +102,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); @@ -110,7 +123,7 @@ Результат = (Лев(ИмяМетаданных, ДлинаПрефикса) = ПрефиксОбъектов); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -128,7 +141,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -139,6 +152,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -150,13 +194,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ИмяСодержитПрефикс(Имя, Префикс) - ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; -КонецФункции - -&НаСервереБезКонтекста -Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) +Функция ОбъектыМетаданных(ПрефиксОбъектов) МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); @@ -173,7 +211,6 @@ ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], - ОбъектМетаданных.Имя, ОбъектМетаданных.ПолноеИмя(), ОбъектМетаданных.Имя); @@ -234,7 +271,6 @@ Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, ЭлементКоллекции.ПолноеИмя(), ЭлементКоллекции.Имя); КонецЕсли; @@ -251,7 +287,6 @@ Если ИмяСодержитПрефикс(Реквизит.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, Реквизит.ПолноеИмя(), Реквизит.Имя); КонецЕсли; @@ -286,7 +321,6 @@ Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, ЭлементКоллекции.ПолноеИмя(), ЭлементКоллекции.Имя); КонецЕсли; @@ -305,13 +339,13 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, ИмяТеста, ПолноеИмя, Имя) +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, ПолноеИмя, Имя) - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); - СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); - СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); - Коллекция.Добавить(СтруктураЭлемента); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("Имя", Имя); + СтруктураТеста.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьКаноничностьПрефиксаОбъектаИлиРеквизитов"); + Коллекция.Добавить(СтруктураТеста); КонецПроцедуры @@ -384,27 +418,47 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" index 395bed0c3..9f9282e4f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ad427ecd5..53efa552c 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\276\320\262\320\241\320\232\320\224\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262\320\236\320\261\321\200\320\260\320\261\320\276\321\202\320\276\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,6 +12,8 @@ Перем КаталогиВнешнихОтчетов; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -24,48 +26,63 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; + Пояснение = НСтр("ru = 'Проверка макета СКД внешнего отчета/обработки'"); + Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл - Макеты = МакетыВнешнегоОбъекта("ВнешниеОтчеты", КаталогВнешнихОтчетов, "*.erf"); - Если Макеты.Количество() Тогда + + ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнегоОтчета"; + Макеты = МакетыВнешнегоОбъекта("ВнешниеОтчеты", КаталогВнешнихОтчетов, "*.erf", ИмяПроцедуры); + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(Макеты); + Иначе + МассивТестов = Макеты; + КонецЕсли; + + Если МассивТестов.Количество() Тогда ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); НаборТестов.НачатьГруппу(ИмяГруппы, Истина); - Для Каждого Макет Из Макеты Цикл - ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнегоОтчета"; - НаборТестов.Добавить( - ИмяПроцедуры, - НаборТестов.ПараметрыТеста(Макет.ИмяФайла, Макет.ПолноеИмя, Макет.ИмяМакета), - СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Макет.ИмяФайла, Макет.ИмяМакета)); + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]: %3", Тест.ПолноеИмя, Тест.ИмяМакета, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, Тест.Параметры, ИмяТеста); КонецЦикла; КонецЕсли; + КонецЦикла; Для Каждого КаталогВнешнихОбработок Из КаталогиВнешнихОбработок Цикл - Макеты = МакетыВнешнегоОбъекта("ВнешниеОбработки", КаталогВнешнихОбработок, "*.epf"); - Если Макеты.Количество() Тогда + + ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнейОбработки"; + Макеты = МакетыВнешнегоОбъекта("ВнешниеОбработки", КаталогВнешнихОбработок, "*.epf", ИмяПроцедуры); + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(Макеты); + Иначе + МассивТестов = Макеты; + КонецЕсли; + + Если МассивТестов.Количество() Тогда ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние Обработки [%1]", КаталогВнешнихОтчетов); НаборТестов.НачатьГруппу(ИмяГруппы, Истина); - Для Каждого Макет Из Макеты Цикл - ИмяПроцедуры = "ТестДолжен_ПроверитьМакетСКДВнешнейОбработки"; - НаборТестов.Добавить( - ИмяПроцедуры, - НаборТестов.ПараметрыТеста(Макет.ИмяФайла, Макет.ПолноеИмя, Макет.ИмяМакета), - СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Макет.ИмяФайла, Макет.ИмяМакета)); + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]: %3", Тест.ПолноеИмя, Тест.ИмяМакета, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, Тест.Параметры, ИмяТеста); КонецЦикла; КонецЕсли; + КонецЦикла; КонецПроцедуры @@ -84,6 +101,7 @@ КаталогиВнешнихОбработок = Новый Массив; КаталогиВнешнихОтчетов = Новый Массив; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -93,15 +111,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда - КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути(Настройки[ИмяТеста()].КаталогиВнешнихОтчетов); + Если Настройки.Свойство("КаталогиВнешнихОтчетов") Тогда + КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути(Настройки.КаталогиВнешнихОтчетов); + КонецЕсли; + + Если Настройки.Свойство("КаталогиВнешнихОбработок") Тогда + КаталогиВнешнихОбработок = ОбработатьОтносительныеПути(Настройки.КаталогиВнешнихОбработок); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОбработок") Тогда - КаталогиВнешнихОбработок = ОбработатьОтносительныеПути(Настройки[ИмяТеста()].КаталогиВнешнихОбработок); + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -110,9 +132,9 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл - ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + ИсключенияИзПроверок.Вставить(ВРег(ИсключениеИзПроверок), Истина); КонецЦикла; КонецЦикла; @@ -125,13 +147,13 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьМакетСКДВнешнегоОтчета(ИмяОтчета, ПолноеИмяОтчета, ИмяМакета) Экспорт - ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОтчета)); + ПропускатьТест = ПропускатьТест(ПолноеИмяОтчета); ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); Результат = ПроверитьМакетСКД("ВнешниеОтчеты", Адрес, ИмяМакета); Если Не Результат.ОтчетПодключен И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(Результат.ТекстОшибки); Иначе Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); КонецЕсли; @@ -141,19 +163,35 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьМакетСКДВнешнейОбработки(ИмяОбработки, ПолноеИмяОбработки, ИмяМакета) Экспорт - ПропускатьТест = ПропускатьТест(СтроковыеУтилиты.ПодставитьПараметрыВСтроку("ВнешнийОтчет.%1", ИмяОбработки)); + ПропускатьТест = ПропускатьТест(ПолноеИмяОбработки); ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОбработки); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); Результат = ПроверитьМакетСКД("ВнешниеОбработки", Адрес, ИмяМакета); Если Не Результат.ОтчетПодключен И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(Результат.ТекстОшибки); Иначе Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура ТестДолжен_ОбработатьОшибкуЗагрузкиОбъекта(ПолноеИмяОбъекта, ТекстОшибки) Экспорт + + ШаблонСообщения = НСтр("ru = 'Ошибка загрузки объекта ""%1"": + |%2'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяОбъекта, ТекстОшибки); + ПропускатьТест = ПропускатьТест(ПолноеИмяОбъекта); + + Если ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ТекстСообщения); + Иначе + Утверждения.Проверить(Ложь, ТекстСообщения); + КонецЕсли; + +КонецПроцедуры + &НаСервереБезКонтекста Функция ПроверитьМакетСКД(ИмяМенеджера, Адрес, ИмяМакета) @@ -187,15 +225,15 @@ #Область СлужебныеПроцедурыИФункции &НаКлиенте -Функция ПропускатьТест(ИмяОтчета) +Функция ПропускатьТест(ПолноеИмяОбъекта) Результат = Новый Структура; Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяОбъекта)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); - Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяОбъекта); Результат.Пропустить = Истина; Возврат Результат; КонецЕсли; @@ -205,17 +243,31 @@ КонецФункции &НаКлиенте -Функция ТекстСообщения(ИмяОтчета, Результат) +Функция ИсключенИзПроверок(ПолноеИмяОбъекта) + + Результат = ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяОбъекта)) <> Неопределено; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) - ШаблонСообщения = НСтр("ru = 'Для отчета ""%1"" не указаны формы:%2.'"); - ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета, Результат); + Результат = Новый Массив; - Возврат ТекстСообщения; + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; КонецФункции &НаКлиенте -Функция МакетыВнешнегоОбъекта(ИмяМенеджера, Каталог, Маска) +Функция МакетыВнешнегоОбъекта(ИмяМенеджера, Каталог, Маска, ИмяПроцедуры) Результат = Новый Массив(); Файлы = НайтиФайлы(Каталог, Маска, Истина); @@ -233,6 +285,7 @@ мПараметры.Вставить("ИмяМенеджера", ИмяМенеджера); мПараметры.Вставить("ИмяФайла", Файл.Имя); мПараметры.Вставить("ПолноеИмя", Файл.ПолноеИмя); + мПараметры.Вставить("ИмяПроцедуры", ИмяПроцедуры); Макеты = МакетыВнешнегоОбъектаСервер(мПараметры); @@ -252,23 +305,29 @@ Результат = Новый Массив(); Менеджер = Вычислить(Параметры.ИмяМенеджера); - Если Параметры.ИмяМенеджера = "ВнешниеОтчеты" Тогда - СтруктураОсновногоМакета = Новый Структура; - СтруктураОсновногоМакета.Вставить("ИмяМакета", "ОсновнаяСхемаКомпоновкиДанных"); - СтруктураОсновногоМакета.Вставить("ИмяФайла", Параметры.ИмяФайла); - СтруктураОсновногоМакета.Вставить("ПолноеИмя", Параметры.ПолноеИмя); - КонецЕсли; - Попытка ИмяВременногоФайла = ВременныйФайлОбработкиОтчета(Параметры.Адрес); МетаданныеФайла = Менеджер.Создать(ИмяВременногоФайла).Метаданные(); УдалитьФайлы(ИмяВременногоФайла); Исключение + УдалитьФайлы(ИмяВременногоФайла); - Если Параметры.ИмяМенеджера = "ВнешниеОтчеты" Тогда - Результат.Добавить(СтруктураОсновногоМакета); - КонецЕсли; + ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + + ПараметрыТеста = Новый Массив; + ПараметрыТеста.Добавить(Параметры.ПолноеИмя); + ПараметрыТеста.Добавить(ТекстОшибки); + + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ИмяФайла", Параметры.ИмяФайла); + СтруктураТеста.Вставить("ПолноеИмя", Параметры.ПолноеИмя); + СтруктураТеста.Вставить("ИмяМакета", ""); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ОбработатьОшибкуЗагрузкиОбъекта"); + СтруктураТеста.Вставить("Параметры", ПараметрыТеста); + + Результат.Добавить(СтруктураТеста); Возврат Результат; + КонецПопытки; Для Каждого Макет Из МетаданныеФайла.Макеты Цикл @@ -277,11 +336,18 @@ Продолжить; КонецЕсли; - СтруктураМакета = Новый Структура; - СтруктураМакета.Вставить("ИмяМакета", Макет.Имя); - СтруктураМакета.Вставить("ИмяФайла", Параметры.ИмяФайла); - СтруктураМакета.Вставить("ПолноеИмя", Параметры.ПолноеИмя); - Результат.Добавить(СтруктураМакета); + ПараметрыТеста = Новый Массив; + ПараметрыТеста.Добавить(Параметры.ИмяФайла); + ПараметрыТеста.Добавить(Параметры.ПолноеИмя); + ПараметрыТеста.Добавить(Макет.Имя); + + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ИмяФайла", Параметры.ИмяФайла); + СтруктураТеста.Вставить("ПолноеИмя", Параметры.ПолноеИмя); + СтруктураТеста.Вставить("ИмяМакета", Макет.Имя); + СтруктураТеста.Вставить("ИмяПроцедуры", Параметры.ИмяПроцедуры); + СтруктураТеста.Вставить("Параметры", ПараметрыТеста); + Результат.Добавить(СтруктураТеста); КонецЦикла; @@ -326,27 +392,35 @@ КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" index 8c340b7bb..631bb37f1 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4a89e4cb2..c2e033a98 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -8,6 +8,12 @@ Перем СтроковыеУтилиты; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; #КонецОбласти @@ -20,27 +26,38 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - МассивОбъектовМетаданных = МассивОбъектовМетаданных("ОбщиеРеквизиты"); - НаборТестов.НачатьГруппу("Обшие реквизиты", Истина); + СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных("ОбщиеРеквизиты", ОтборПоПрефиксу, ПрефиксОбъектов); - Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + Для Каждого ОбъектМетаданных Из СтруктураОбъектовМетаданных Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьОбщийРеквизит", - НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя), - ЭлементМассиваОбъектовМетаданных.Имя); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьОбщийРеквизит", + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), + Тест.ИмяТеста); + КонецЦикла; КонецЦикла; @@ -57,7 +74,10 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -67,7 +87,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -76,7 +108,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -95,7 +127,7 @@ Результат = ПроверитьОбщийРеквизит(ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -120,15 +152,8 @@ Результат = Новый Структура; Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - - Если ЭтоУстаревшийОбъектМетаданных(ПолноеИмяМетаданных) Тогда - ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки, устаревший объект.'"); - Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); - Результат.Пропустить = Истина; - Возврат Результат; - КонецЕсли; - - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -139,6 +164,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -150,56 +206,91 @@ КонецФункции &НаСервереБезКонтекста -Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных) - +Функция СтруктураОбъектовМетаданных(ИмяОбъектовМетаданных, ОтборПоПрефиксу, ПрефиксОбъектов) + + СтроковыеУтилиты = СтроковыеУтилиты(); + СтруктураОбъектовМетаданных = Новый Структура; + МассивОбъектовМетаданных = Новый Массив; Для Каждого ОбъектМетаданных Из Метаданные[ИмяОбъектовМетаданных] Цикл + + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, МассивОбъектовМетаданных, ОбъектМетаданных.Имя, ОбъектМетаданных.ПолноеИмя()); + КонецЦикла; + + СтруктураОбъектовМетаданных.Вставить(ИмяОбъектовМетаданных, МассивОбъектовМетаданных); - Возврат МассивОбъектовМетаданных; + Возврат СтруктураОбъектовМетаданных; КонецФункции &НаСервереБезКонтекста -Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, Имя, ПолноеИмя) + ОписаниеТеста = НСтр("ru = 'Проверка общего реквизита'"); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмя, ОписаниеТеста); + СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); Коллекция.Добавить(СтруктураЭлемента); КонецПроцедуры &НаКлиентеНаСервереБезКонтекста -Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) - Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + КонецФункции -&НаСервере +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" index 7ec547813..0165557a8 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index fcc11f278..9b66da9b4 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\237\320\276\321\201\321\202\320\260\320\262\321\211\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,7 @@ &НаКлиенте Перем СтроковыеУтилиты; &НаКлиенте -Перем КонфигурацияПоставщика; +Перем КонфигурацииПоставщика; #КонецОбласти @@ -20,36 +20,44 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - Если Не ЗначениеЗаполнено(КонфигурацияПоставщика) Тогда + Если Не ЗначениеЗаполнено(КонфигурацииПоставщика) Тогда Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(КонфигурацияПоставщика); + Пояснение = НСтр("ru = 'Проверка объектов метаданных конфигурации поставщика'"); + СтруктураКонфигурацийПоставщика = СтруктураКонфигурацийПоставщика(КонфигурацииПоставщика); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; - КонецЕсли; - ИмяТеста = ЭлементСтруктурыОбъектовМетаданных.Ключ; - МассивОбъектовМетаданных = ЭлементСтруктурыОбъектовМетаданных.Значение; - НаборТестов.Добавить( - "ТестДолжен_ПроверитьОбъектМетаданныхКонфигурацииПоставщика", - НаборТестов.ПараметрыТеста(МассивОбъектовМетаданных), - СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ИмяТеста, МассивОбъектовМетаданных.Количество())); + Для Каждого СтруктураКонфигурацииПоставщика Из СтруктураКонфигурацийПоставщика Цикл + + ИмяКонфигурации = СтруктураКонфигурацииПоставщика.Ключ; + НаборТестов.НачатьГруппу(ИмяКонфигурации, Истина); + + Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураКонфигурацииПоставщика.Значение Цикл + + ИмяТеста = ЭлементСтруктурыОбъектовМетаданных.Ключ; + МассивОбъектовМетаданных = ЭлементСтруктурыОбъектовМетаданных.Значение; + КоличествоОбъектов = МассивОбъектовМетаданных.Количество(); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2 [%3]: %4", ИмяКонфигурации, ИмяТеста, КоличествоОбъектов, Пояснение); + НаборТестов.Добавить( + "ТестДолжен_ПроверитьОбъектМетаданныхКонфигурацииПоставщика", + НаборТестов.ПараметрыТеста(МассивОбъектовМетаданных), + ИмяТеста); + + КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -66,6 +74,7 @@ КонецЕсли; ИсключенияИзПроверок = Новый Соответствие; + КонфигурацииПоставщика = Новый Структура; ПлагинНастроек = мКонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -75,7 +84,7 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("КонфигурацияПоставщика") Тогда + Если Настройки.Свойство("КонфигурацияПоставщика") Тогда ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки); КонецЕсли; @@ -85,7 +94,7 @@ Процедура ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки) #Если Не ВебКлиент Тогда - ПутьФайлаКонфигурацииПоставщика = Настройки.Параметры.КонфигурацияПоставщика; + ПутьФайлаКонфигурацииПоставщика = Настройки.КонфигурацияПоставщика; ПутьФайлаКонфигурацииПоставщика = ОбработатьОтносительныйПуть(ПутьФайлаКонфигурацииПоставщика, мКонтекстЯдра); Файл = Новый Файл(ПутьФайлаКонфигурацииПоставщика); @@ -95,7 +104,7 @@ ЧтениеJson = Новый ЧтениеJSON; ЧтениеJson.ОткрытьФайл(ПутьФайлаКонфигурацииПоставщика); - КонфигурацияПоставщика = ПрочитатьJSON(ЧтениеJson); + КонфигурацииПоставщика = ПрочитатьJSON(ЧтениеJson); ЧтениеJson.Закрыть(); Файл = Неопределено; @@ -151,32 +160,41 @@ КонецФункции &НаСервереБезКонтекста -Функция СтруктураОбъектовМетаданных(КонфигурацияПоставщика) +Функция СтруктураКонфигурацийПоставщика(КонфигурацииПоставщика) СоответствиеИменОбъектовМетаданных = СоответствиеИменОбъектовМетаданных(); СтруктураОбъектовМетаданных = Новый Структура; + СтруктураКонфигурацийПоставщика = Новый Структура; СтроковыеУтилиты = СтроковыеУтилиты(); - Для Каждого КоллекцияОбъектовМетаданных Из КонфигурацияПоставщика Цикл - - ИмяКоллекции = СоответствиеИменОбъектовМетаданных.Получить(КоллекцияОбъектовМетаданных.Ключ); + Для Каждого КонфигурацияПоставщика Из КонфигурацииПоставщика Цикл - СтруктураОбъектовМетаданных.Вставить(КоллекцияОбъектовМетаданных.Ключ, Новый Массив); + СтруктураОбъектовМетаданных = Новый Структура; - Для Каждого ОбъектаМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл + Для Каждого КоллекцияОбъектовМетаданных Из КонфигурацияПоставщика.Значение Цикл + + ИмяКоллекции = СоответствиеИменОбъектовМетаданных.Получить(КоллекцияОбъектовМетаданных.Ключ); - ИмяОбъектаМетаданных = ИмяОбъектаМетаданных(ОбъектаМетаданных, СтроковыеУтилиты); + СтруктураОбъектовМетаданных.Вставить(КоллекцияОбъектовМетаданных.Ключ, Новый Массив); - ДобавитьЭлементКоллекцииОбъектовМетаданных( - СтруктураОбъектовМетаданных[КоллекцияОбъектовМетаданных.Ключ], - ИмяОбъектаМетаданных, - СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", ИмяКоллекции, ИмяОбъектаМетаданных)); + Для Каждого ОбъектаМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл + + ИмяОбъектаМетаданных = ИмяОбъектаМетаданных(ОбъектаМетаданных, СтроковыеУтилиты); + + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[КоллекцияОбъектовМетаданных.Ключ], + ИмяОбъектаМетаданных, + СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", ИмяКоллекции, ИмяОбъектаМетаданных)); + КонецЦикла; + КонецЦикла; - + + СтруктураКонфигурацийПоставщика.Вставить(КонфигурацияПоставщика.Ключ, СтруктураОбъектовМетаданных); + КонецЦикла; - Возврат СтруктураОбъектовМетаданных; + Возврат СтруктураКонфигурацийПоставщика; КонецФункции @@ -309,16 +327,27 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -326,10 +355,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" index 6088ec6e1..8fb4cb342 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 996dff274..441541ca1 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\201\320\275\320\276\320\262\320\275\321\213\321\205\320\244\320\276\321\200\320\274\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,9 +11,19 @@ &НаКлиенте Перем ПрефиксОбъектов; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; +&НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте Перем КаталогиВнешнихОтчетов; +&НаКлиенте +Перем ИмяФормыОтчета; +&НаКлиенте +Перем ИмяФормыНастроек; +&НаКлиенте +Перем ИмяФормыВарианта; #КонецОбласти @@ -26,38 +36,50 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - НаборТестов.НачатьГруппу("Отчеты", Истина); - мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); - Для Каждого Отчет Из мОтчеты Цикл + мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(мОтчеты); + Иначе + МассивТестов = мОтчеты; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу("Отчеты", Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьОсновныеФормыОтчетов"; - НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Отчет.Имя, Отчет.ПолноеИмя), Отчет.Имя); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, НСтр("ru = 'Проверка основных форм отчета'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл ФайлыВнешнихОтчетов = НайтиФайлы(КаталогВнешнихОтчетов, "*.erf", Истина); Если ФайлыВнешнихОтчетов.Количество() Тогда ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); - НаборТестов.НачатьГруппу(ИмяГруппы, Истина); - Для Каждого ФайлВнешнегоОтчета Из ФайлыВнешнихОтчетов Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ФайлыВнешнихОтчетов); + Иначе + МассивТестов = ФайлыВнешнихОтчетов; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьОсновныеФормыВнешнихОтчетов"; - НаборТестов.Добавить( - ИмяПроцедуры, - НаборТестов.ПараметрыТеста(ФайлВнешнегоОтчета.Имя, ФайлВнешнегоОтчета.ПолноеИмя), - ФайлВнешнегоОтчета.Имя); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, НСтр("ru = 'Проверка основных форм отчета'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; КонецЕсли; КонецЦикла; @@ -75,8 +97,13 @@ Возврат; КонецЕсли; + ИмяФормыОтчета = ""; + ИмяФормыНастроек = ""; + ИмяФормыВарианта = ""; ОтборПоПрефиксу = Ложь; ПрефиксОбъектов = ""; + ВыводитьИсключения = Истина; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; КаталогиВнешнихОтчетов = Новый Массив; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); @@ -88,21 +115,39 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("ФормаОтчета") Тогда + ИмяФормыОтчета = Настройки.ФормаОтчета; + КонецЕсли; + + Если Настройки.Свойство("ФормаНастроек") Тогда + ИмяФормыНастроек = Настройки.ФормаНастроек; + КонецЕсли; + + Если Настройки.Свойство("ФормаВарианта") Тогда + ИмяФормыВарианта = Настройки.ФормаВарианта; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда - КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути( - Настройки[ИмяТеста()].КаталогиВнешнихОтчетов, - КонтекстЯдра); + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("КаталогиВнешнихОтчетов") Тогда + КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути(Настройки.КаталогиВнешнихОтчетов, КонтекстЯдра); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -111,7 +156,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -128,9 +173,9 @@ ПропускатьТест = ПропускатьТест(ПолноеИмяОтчета); - Результат = ПроверитьОсновныеФормыОтчетов(ИмяОтчета); + Результат = ПроверитьОсновныеФормыОтчетов(ИмяОтчета, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяОтчета, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяОтчета, Результат)); КонецЕсли; @@ -138,29 +183,12 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьОсновныеФормыОтчетов(ИмяОтчета) +Функция ПроверитьОсновныеФормыОтчетов(ИмяОтчета, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта) Отчет = Метаданные.Отчеты.Найти(ИмяОтчета); Результат = ""; - СтроковыеУтилиты = СтроковыеУтилиты(); - Если Метаданные.ОсновнаяФормаОтчета = Неопределено И Отчет.ОсновнаяФорма = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); - ШаблонОшибки = НСтр("ru = '%1%2 форма отчета'"); - Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); - КонецЕсли; - - Если Метаданные.ОсновнаяФормаНастроекОтчета = Неопределено И Отчет.ОсновнаяФормаНастроек = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); - ШаблонОшибки = НСтр("ru = '%1%2 форма настроек отчета'"); - Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); - КонецЕсли; - - Если Метаданные.ОсновнаяФормаВариантаОтчета = Неопределено И Отчет.ОсновнаяФормаВарианта = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); - ШаблонОшибки = НСтр("ru = '%1%2 форма варианта отчета'"); - Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); - КонецЕсли; + ПроверитьФормыОтчета(Результат, Отчет, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта); Возврат Результат; @@ -173,9 +201,9 @@ ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); - Результат = ПроверитьОсновныеФормыВнешнихОтчетов(Адрес); + Результат = ПроверитьОсновныеФормыВнешнихОтчетов(Адрес, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта); Если Результат.ТекстОшибки <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяОтчета, Результат.ТекстОшибки)); ИначеЕсли Не Результат.ОтчетПодключен Тогда Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); Иначе @@ -185,7 +213,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьОсновныеФормыВнешнихОтчетов(Адрес) +Функция ПроверитьОсновныеФормыВнешнихОтчетов(Адрес, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта) Результат = Новый Структура; Результат.Вставить("ТекстОшибки", ""); @@ -207,29 +235,65 @@ СтроковыеУтилиты = СтроковыеУтилиты(); ТекстОшибки = ""; - Если Метаданные.ОсновнаяФормаОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФорма = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + ПроверитьФормыОтчета(Результат, ВнешнийОтчет, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта); + + Результат.ТекстОшибки = ТекстОшибки; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Процедура ПроверитьФормыОтчета(Результат, Отчет, ИмяФормыОтчета, ИмяФормыНастроек, ИмяФормыВарианта) + + СтроковыеУтилиты = СтроковыеУтилиты(); + + Если Метаданные.ОсновнаяФормаОтчета = Неопределено И Отчет.ОсновнаяФорма = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); ШаблонОшибки = НСтр("ru = '%1%2 форма отчета'"); - ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + Иначе + Если ЗначениеЗаполнено(ИмяФормыОтчета) Тогда + ФормаОтчета = Метаданные.ОбщиеФормы.Найти(ИмяФормыОтчета); + Если Не (Метаданные.ОсновнаяФормаОтчета = ФормаОтчета Или Отчет.ОсновнаяФорма = ФормаОтчета) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 некорректная форма отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + КонецЕсли; КонецЕсли; - Если Метаданные.ОсновнаяФормаНастроекОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФормаНастроек = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + Если Метаданные.ОсновнаяФормаНастроекОтчета = Неопределено И Отчет.ОсновнаяФормаНастроек = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); ШаблонОшибки = НСтр("ru = '%1%2 форма настроек отчета'"); - ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + Иначе + Если ЗначениеЗаполнено(ИмяФормыНастроек) Тогда + ФормаНастроек = Метаданные.ОбщиеФормы.Найти(ИмяФормыНастроек); + Если Не (Метаданные.ОсновнаяФормаОтчета = ФормаНастроек Или Отчет.ОсновнаяФормаНастроек = ФормаНастроек) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 некорректная форма настроек отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + КонецЕсли; КонецЕсли; - Если Метаданные.ОсновнаяФормаВариантаОтчета = Неопределено И ВнешнийОтчет.ОсновнаяФормаВарианта = Неопределено Тогда - Разделитель = ?(ЗначениеЗаполнено(ТекстОшибки), ",", ""); + Если Метаданные.ОсновнаяФормаВариантаОтчета = Неопределено И Отчет.ОсновнаяФормаВарианта = Неопределено Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); ШаблонОшибки = НСтр("ru = '%1%2 форма варианта отчета'"); - ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ТекстОшибки, Разделитель); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + Иначе + Если ЗначениеЗаполнено(ИмяФормыВарианта) Тогда + ФормаВарианта = Метаданные.ОбщиеФормы.Найти(ИмяФормыВарианта); + Если Не (Метаданные.ОсновнаяФормаОтчета = ФормаВарианта Или Отчет.ОсновнаяФормаВарианта = ФормаВарианта) Тогда + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + ШаблонОшибки = НСтр("ru = '%1%2 некорректная форма варианта отчета'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); + КонецЕсли; + КонецЕсли; КонецЕсли; - Результат.ТекстОшибки = ТекстОшибки; - - Возврат Результат; - -КонецФункции +КонецПроцедуры #КонецОбласти @@ -242,12 +306,19 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ИмяОтчета)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); Результат.Пропустить = Истина; Возврат Результат; КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ИмяОтчета), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ИмяОтчета); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; Возврат Результат; @@ -263,6 +334,37 @@ КонецФункции +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ОбработатьОтносительныеПути(Знач ОтносительныеПути, КонтекстЯдра) @@ -294,27 +396,35 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; @@ -349,7 +459,7 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0bad18b5d..9f03312ff 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\265\321\200\320\270\320\276\320\264\320\270\321\207\320\275\320\276\321\201\321\202\320\270\320\235\321\203\320\274\320\265\321\200\320\260\321\206\320\270\320\270\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -132,7 +132,7 @@ Результат = ПроверитьПериодичностьНумерацииДокумента(ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат = Истина, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -197,22 +197,14 @@ &НаКлиенте Функция УбратьИсключения(МассивТестов) - Исключения = Новый Соответствие; Результат = Новый Массив; Для Каждого Тест Из МассивТестов Цикл - Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда - Исключения.Вставить(Тест, Истина); + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); КонецЕсли; КонецЦикла; - Для Каждого Тест Из МассивТестов Цикл - Если Исключения.Получить(Тест) = Истина Тогда - Продолжить; - КонецЕсли; - Результат.Добавить(Тест); - КонецЦикла; - Возврат Результат; КонецФункции @@ -287,7 +279,7 @@ &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; + ВыполнятьТест = Ложь; Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" similarity index 67% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index b252fc00c..3f64113e5 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -6,21 +6,21 @@ c3831ec8-d8d5-4f93-8a22-f9bfae07327f 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 - + 374454b4-1df5-4b67-9e85-800ed93937ff 95383c60-00b2-4dc5-af00-0832ae567804 - Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов + Тесты_ПроверкаПользовательскихПредставленийОбъектов ru - Тесты "Проверка пользовательских представлений новых объектов" + Тесты "Проверка пользовательских представлений объектов" - ExternalDataProcessor.Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов.Form.Форма + ExternalDataProcessor.Тесты_ПроверкаПользовательскихПредставленийОбъектов.Form.Форма @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Ext/ObjectModule.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Ext/ObjectModule.bsl" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" similarity index 100% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260.xml" diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" similarity index 96% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 7f0a43a18..d7817dd2d 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -4,7 +4,7 @@ - cfg:ExternalDataProcessorObject.Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПользовательскихПредставленийОбъектов true diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" similarity index 58% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ad36a35cc..cdc14ce86 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,11 @@ &НаКлиенте Перем ПрефиксОбъектов; &НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -22,35 +26,36 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Если Не ВыполнятьТест(КонтекстЯдра) Тогда - Возврат; - КонецЕсли; + Инициализация(КонтекстЯдраПараметр); - Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда + Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; КонецЕсли; - НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); - Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьПользовательскиеПредставленияОбъектов", - НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + + Если МассивТестов.Количество() <> 0 Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), Тест.ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -66,21 +71,32 @@ Возврат; КонецЕсли; + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; - ИсключенияИзПроверок = Новый Соответствие; Если Не ЗначениеЗаполнено(Настройки) Тогда Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -89,7 +105,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -105,12 +121,13 @@ Процедура ТестДолжен_ПроверитьПользовательскиеПредставленияОбъектов(ПолноеИмяМетаданных) Экспорт ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); - + ТекстОшибки = НСтр("ru = 'Не заполнено ни одно представление объекта.'"); + Результат = ПроверитьПользовательскиеПредставленияОбъектовСервер(ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстОшибки); Иначе - Утверждения.Проверить(Результат = Истина, НСтр("ru = 'Не заполнено ни одно представление объекта.'")); + Утверждения.Проверить(Результат = Истина, ТекстОшибки); КонецЕсли; КонецПроцедуры @@ -153,8 +170,8 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда - ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; Возврат Результат; @@ -164,9 +181,44 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаСервереБезКонтекста -Функция ОбъектыМетаданных(ПрефиксОбъектов) - +Функция ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу) + + СтроковыеУтилиты = СтроковыеУтилиты(); + Пояснение = НСтр("ru = 'Проверка пользовательского представления объекта'"); + СвойствоПодчинениеРегистратору = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору; + ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); ОбъектыМетаданных.Вставить("Справочники", Новый Массив); @@ -179,42 +231,68 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл - Если СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) = 0 Тогда + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда Продолжить; КонецЕсли; - Если Элемент.Ключ = "РегистрыСведений" - И Строка(ОбъектМетаданных.РежимЗаписи) = "ПодчинениеРегистратору" Тогда + Если Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) + И ОбъектМетаданных.РежимЗаписи = СвойствоПодчинениеРегистратору Тогда Продолжить; КонецЕсли; - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); - СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); - ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); + + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ИмяТеста", ИмяТеста); + СтруктураТеста.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьПользовательскиеПредставленияОбъектов"); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураТеста); КонецЦикла; КонецЦикла; Возврат ОбъектыМетаданных; -КонецФункции // ОбъектыМетаданных() +КонецФункции &НаСервереБезКонтекста Функция СтроковыеУтилиты() Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -222,10 +300,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" index ed8119229..7dbe06bcb 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274.xml" @@ -6,21 +6,21 @@ c3831ec8-d8d5-4f93-8a22-f9bfae07327f 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 - + 374454b4-1df5-4b67-9e85-800ed93937ff 95383c60-00b2-4dc5-af00-0832ae567804 - Тесты_ПроверкаПравКУстаревшимОбъектамМетданных + Тесты_ПроверкаПравКУстаревшимОбъектам ru - Тесты "Проверка прав к устаревшим объектам метаданных" + Тесты "Проверка прав к устаревшим объектам" - ExternalDataProcessor.Тесты_ПроверкаПравКУстаревшимОбъектамМетданных.Form.Форма + ExternalDataProcessor.Тесты_ПроверкаПравКУстаревшимОбъектам.Form.Форма @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index d7b0a6b0c..7d927491e 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -4,7 +4,7 @@ - cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравКУстаревшимОбъектамМетданных + cfg:ExternalDataProcessorObject.Тесты_ПроверкаПравКУстаревшимОбъектам true diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f523673db..f70839a59 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\232\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\320\274\320\236\320\261\321\212\320\265\320\272\321\202\320\260\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,11 +7,9 @@ &НаКлиенте Перем СтроковыеУтилиты; &НаКлиенте -Перем ОтборПоПрефиксу; -&НаКлиенте -Перем ПрефиксОбъектов; -&НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -24,31 +22,38 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + Пояснение = НСтр("ru = 'Проверка прав к устаревшему объекту'"); + ОбъектыМетаданных = ОбъектыМетаданных(); Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); КонецЕсли; - НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); - Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных", - НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Тест.ПолноеИмя, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -65,8 +70,7 @@ КонецЕсли; ИсключенияИзПроверок = Новый Соответствие; - ПрефиксОбъектов = ""; - ОтборПоПрефиксу = Ложь; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -76,15 +80,11 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; - КонецЕсли; - - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -93,7 +93,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -112,7 +112,7 @@ Результат = ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных(ПолноеИмяМетаданных); Если Не Результат = "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); КонецЕсли; @@ -142,7 +142,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -153,6 +153,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) @@ -207,7 +238,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) +Функция ОбъектыМетаданных() ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); @@ -228,16 +259,14 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл - Если Не ЭтоУстаревшийОбъектМетаданных(ОбъектМетаданных.Имя) Тогда - Продолжить; - КонецЕсли; - Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Если Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, "УДАЛИТЬ") Тогда Продолжить; КонецЕсли; - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); - СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); - ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураТеста.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьЧтоНетПравКУстаревшимОбъектамМетаданных"); + ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураТеста); КонецЦикла; КонецЦикла; @@ -245,10 +274,10 @@ КонецФункции -&НаКлиентеНаСервереБезКонтекста -Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) - Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); -КонецФункции +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции &НаКлиентеНаСервереБезКонтекста Функция ИмяСодержитПрефикс(Имя, Префикс) @@ -258,17 +287,23 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; КонецФункции -&НаСервереБезКонтекста -Функция СтроковыеУтилиты() - Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); -КонецФункции +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции &НаСервере -Функция ИмяТеста() +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции @@ -276,18 +311,15 @@ Функция ВыполнятьТест(КонтекстЯдра) ВыполнятьТест = Ложь; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index b1c12cc8c..38de34bd1 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index eca0dbf6a..84cd69061 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -6,6 +6,8 @@ Перем Утверждения; &НаКлиенте Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПроверятьОсновныеРоли; #КонецОбласти @@ -17,11 +19,15 @@ КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - + + Настройки(КонтекстЯдра, ИмяТеста()); + КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -38,7 +44,7 @@ НаборТестов.Добавить( "ТестДолжен_ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных", НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + Элемент.ИмяТеста); КонецЦикла; КонецЦикла; @@ -55,14 +61,19 @@ Возврат; КонецЕсли; - ИсключенияИзПроверок = Новый Соответствие; + ПроверятьОсновныеРоли = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; + + Если Настройки.Свойство("ПроверятьОсновныеРоли") Тогда + ПроверятьОсновныеРоли = Настройки.ПроверятьОсновныеРоли; + КонецЕсли; КонецПроцедуры @@ -73,7 +84,7 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных) Экспорт - Результат = ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных); + Результат = ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных, ПроверятьОсновныеРоли); ТекстШаблона = НСтр("ru = 'Есть право на удаление или пометку предопределенных объектов:%1'"); ТекстРезультата = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ТекстШаблона, Результат); Утверждения.Проверить(Результат = "", ТекстРезультата); @@ -81,29 +92,29 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных) +Функция ПроверитьЧтоНетПравНаУдалениеИлиПометкуПредопределенныхДанных(ПолноеИмяМетаданных, ПроверятьОсновныеРоли) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); Результат = ""; - ПроверитьПрава(Результат, ОбъектМетаданных); + ПроверитьПрава(Результат, ОбъектМетаданных, ПроверятьОсновныеРоли); Возврат Результат; -КонецФункции // ПроверитьЧтоЕстьПраваНаЧтениеСервер() +КонецФункции #КонецОбласти #Область СлужебныеПроцедурыИФункции &НаСервереБезКонтекста -Функция ПроверитьПрава(Результат, ОбъектМетаданных) +Функция ПроверитьПрава(Результат, ОбъектМетаданных, ПроверятьОсновныеРоли) СписокПрав = СписокПрав(); Для Каждого Роль Из Метаданные.Роли Цикл - Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Если Не ПроверятьОсновныеРоли И Метаданные.ОсновныеРоли.Содержит(Роль) Тогда Продолжить; КонецЕсли; @@ -135,7 +146,10 @@ &НаСервереБезКонтекста Функция ОбъектыМетаданных() - + + СтроковыеУтилиты = СтроковыеУтилиты(); + Пояснение = НСтр("ru = 'Проверка прав на предопределенные данные объекта'"); + ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("Справочники", Новый Массив); ОбъектыМетаданных.Вставить("ПланыВидовХарактеристик", Новый Массив); @@ -144,8 +158,9 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); КонецЦикла; @@ -153,29 +168,42 @@ Возврат ОбъектыМетаданных; -КонецФункции // ОбъектыМетаданных() +КонецФункции -&НаСервере +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index cb8be160d..2d703983f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0f8bba5e9..88955ce1f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -14,6 +14,10 @@ Перем ОтборПоПрефиксу; &НаКлиенте Перем ПрефиксОбъектов; +&НаКлиенте +Перем РольБазовыеПрава; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -26,30 +30,36 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); - Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Если Не ВыполнятьТест() Тогда Возврат; КонецЕсли; ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов, ОтборПоПрефиксу); Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда Продолжить; КонецЕсли; НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Ложь); - Для Каждого Элемент Из ОбъектМетаданных.Значение Цикл + Для Каждого Элемент Из МассивТестов Цикл НаборТестов.Добавить( "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтение", НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + КонтекстЯдра.СтрШаблон_("%1 [%2]", Элемент.Имя, НСтр("ru = 'Проверка прав на чтение объекта'"))); КонецЦикла; КонецЦикла; @@ -60,13 +70,15 @@ #Область РаботаСНастройками &НаКлиенте -Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) +Процедура Настройки(Знач ПутьНастройки) Если ЗначениеЗаполнено(Объект.Настройки) Тогда Возврат; КонецЕсли; ОтборПоПрефиксу = Ложь; + ВыводитьИсключения = Ложь; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; ПрефиксОбъектов = ""; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); @@ -77,20 +89,28 @@ Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = Настройки.Префикс; + КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда - ПропускатьОбъектыСПрефиксомУдалить = Настройки.Параметры.ПропускатьОбъектыСПрефиксомУдалить; + Если Настройки.Свойство("РольБазовыеПрава") Тогда + РольБазовыеПрава = Настройки.РольБазовыеПрава; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -99,7 +119,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -119,13 +139,13 @@ Результат = ПроверитьЧтоЕстьПраваНаЧтениеСервер( ПолноеИмяМетаданных, - Право, + Право, + РольБазовыеПрава, ПрефиксОбъектов, ОтборПоПрефиксу); - - + Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Право)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных, Право)); КонецЕсли; @@ -133,11 +153,20 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьЧтоЕстьПраваНаЧтениеСервер(ПолноеИмяМетаданных, Право, ПрефиксОбъектов, ОтборПоПрефиксу) +Функция ПроверитьЧтоЕстьПраваНаЧтениеСервер(ПолноеИмяМетаданных, + Право, + РольБазовыеПрава, + ПрефиксОбъектов, + ОтборПоПрефиксу) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ЕстьРольБазовыеПрава = ЗначениеЗаполнено(РольБазовыеПрава); ЕстьПраво = Ложь; + Если ЕстьРольБазовыеПрава И ПравоДоступа(Право, ОбъектМетаданных, Метаданные.Роли.Найти(РольБазовыеПрава)) Тогда + Возврат Истина; + КонецЕсли; + Для Каждого Роль Из Метаданные.Роли Цикл Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Роль.Имя, ПрефиксОбъектов) Тогда @@ -170,7 +199,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -188,6 +217,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, Право) @@ -232,7 +292,7 @@ ДобавитьЭлементКоллекцииОбъектовМетаданных( ОбъектыМетаданных[Элемент.Ключ], - ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя(), ОбъектМетаданных.ПолноеИмя()); Параметры = Новый Структура; @@ -263,14 +323,9 @@ Для Каждого ЭлементКоллекции Из ОбъектМетаданных[ИмяКоллекции] Цикл - ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - "%1.%2.%3", - ОбъектМетаданных.Имя, - ИмяЭлемента, - ЭлементКоллекции.Имя); ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, + ЭлементКоллекции.ПолноеИмя(), ЭлементКоллекции.ПолноеИмя()); КонецЦикла; @@ -301,13 +356,13 @@ &НаСервереБезКонтекста Функция ПравоДляПроверки(ПолноеИмяМетаданных) - Если СтрНайти(ПолноеИмяМетаданных, "Обработка.") > 0 - Или СтрНайти(ПолноеИмяМетаданных, "Отчет.") > 0 Тогда - Право = "Использование"; - ИначеЕсли СтрНайти(ПолноеИмяМетаданных, "ОбщаяФорма.") > 0 + Если СтрНайти(ПолноеИмяМетаданных, "ОбщаяФорма.") > 0 Или СтрНайти(ПолноеИмяМетаданных, "ОбщаяКоманда.") > 0 Или СтрНайти(ПолноеИмяМетаданных, ".Команда.") > 0 Тогда Право = "Просмотр"; + ИначеЕсли СтрНайти(ПолноеИмяМетаданных, "Обработка.") > 0 + Или СтрНайти(ПолноеИмяМетаданных, "Отчет.") > 0 Тогда + Право = "Использование"; Иначе Право = "Чтение"; КонецЕсли; @@ -333,27 +388,34 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте -Функция ВыполнятьТест(КонтекстЯдра) +Функция ВыполнятьТест() - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" index 6edd3a4e1..5fc038205 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5c193698f..ee188dc74 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\247\321\202\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262RLS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,6 +9,8 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ОбъектыМетаданных; #КонецОбласти @@ -22,16 +24,15 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); - Инициализация(КонтекстЯдра); - Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; @@ -41,16 +42,20 @@ КонецЕсли; Для Каждого КоллекцияОбъектовМетаданных Из ОбъектыМетаданных Цикл - Если КоллекцияОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(КоллекцияОбъектовМетаданных.Значение); + Иначе + МассивТестов = КоллекцияОбъектовМетаданных.Значение; + КонецЕсли; + + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(КоллекцияОбъектовМетаданных.Ключ, Истина); КонецЕсли; - НаборТестов.НачатьГруппу(КоллекцияОбъектовМетаданных.Ключ, Ложь); - Для Каждого ОбъектМетаданных Из КоллекцияОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтениеRLS", - НаборТестов.ПараметрыТеста(ОбъектМетаданных.ПолноеИмя), - ОбъектМетаданных.Имя); + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), Тест.ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -67,6 +72,7 @@ КонецЕсли; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -76,29 +82,34 @@ Возврат; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОбъектыМетаданных") Тогда - ОбъектаМетаданных(Настройки); + Если Настройки.Свойство("ОбъектыМетаданных") Тогда + ОбъектыМетаданных(Настройки); + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; КонецПроцедуры &НаКлиенте -Процедура ОбъектаМетаданных(Настройки) +Процедура ОбъектыМетаданных(Настройки) ОбъектыМетаданных = Новый Структура; + Пояснение = НСтр("ru = 'Проверка прав на чтение объекта с RLS'"); - Для Каждого КоллекцияОбъектовМетаданных Из Настройки[ИмяТеста()].ОбъектыМетаданных Цикл + Для Каждого КоллекцияОбъектовМетаданных Из Настройки.ОбъектыМетаданных Цикл Если Не КоллекцияМетаданныхДоступнаДляПроверки(КоллекцияОбъектовМетаданных.Ключ) Тогда Продолжить; КонецЕсли; Если КоллекцияОбъектовМетаданных.Значение.Найти("*") <> Неопределено Тогда - МассивОбъектовМетаданных = ВсеОбъектыКоллекцииМетаданных(КоллекцияОбъектовМетаданных.Ключ); + МассивОбъектовМетаданных = ВсеОбъектыКоллекцииМетаданных(КоллекцияОбъектовМетаданных.Ключ, Пояснение); Иначе МассивОбъектовМетаданных = Новый Массив; @@ -107,10 +118,12 @@ "%1.%2", КоллекцияОбъектовМетаданных.Ключ, ЭлементКоллекцииОбъектовМетаданных); - СтруктураИмен = Новый Структура; - СтруктураИмен.Вставить("Имя", ЭлементКоллекцииОбъектовМетаданных); - СтруктураИмен.Вставить("ПолноеИмя", ПолноеИмя); - МассивОбъектовМетаданных.Добавить(СтруктураИмен); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]",ПолноеИмя, Пояснение); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураТеста.Вставить("ИмяТеста", ИмяТеста); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтениеRLS"); + МассивОбъектовМетаданных.Добавить(СтруктураТеста); КонецЦикла; КонецЕсли; @@ -124,7 +137,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -145,7 +158,7 @@ Результат = ПроверитьЧтоЕстьПраваНаЧтениеRLS(ПолноеИмяМетаданных, Право, ИсключенияИзПроверок); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Право, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Право, Результат)); КонецЕсли; @@ -155,10 +168,16 @@ &НаСервереБезКонтекста Функция ПроверитьЧтоЕстьПраваНаЧтениеRLS(ПолноеИмяМетаданных, Право, ИсключенияИзПроверок) + СтроковыеУтилиты = СтроковыеУтилиты(); Результат = ""; - ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); + Если ОбъектМетаданных = Неопределено Тогда + ШаблонОшибки = НСтр("ru = 'Объект ""%1"" не найден.'"); + Результат = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, ПолноеИмяМетаданных); + Возврат Результат; + КонецЕсли; + СписокПолей = ВсеПоляОграниченияДоступаОбъектаМетаданных(ОбъектМетаданных, ПолноеИмяМетаданных); - СтроковыеУтилиты = СтроковыеУтилиты(); Для Каждого Роль Из Метаданные.Роли Цикл @@ -195,7 +214,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -206,6 +225,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, Право, Результат) @@ -247,7 +297,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ВсеОбъектыКоллекцииМетаданных(ИмяКоллекции) +Функция ВсеОбъектыКоллекцииМетаданных(ИмяКоллекции, Пояснение) Результат = Новый Массив; СтроковыеУтилиты = СтроковыеУтилиты(); @@ -271,13 +321,14 @@ Для Каждого ОбъектМетаданных Из Метаданные[СоответствиеОбъектовМетаданных.Получить(ИмяКоллекции)] Цикл - ПолноеИмя = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.%2", ИмяКоллекции, ОбъектМетаданных.Имя); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); - СтруктураИмен = Новый Структура; - СтруктураИмен.Вставить("Имя", ОбъектМетаданных.Имя); - СтруктураИмен.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); + СтруктураТеста.Вставить("ИмяТеста", ИмяТеста); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьЧтоЕстьПраваНаЧтениеRLS"); - Результат.Добавить(СтруктураИмен); + Результат.Добавить(СтруктураТеста); КонецЦикла; @@ -504,16 +555,27 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -521,10 +583,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" index aca3551aa..f8c2b002d 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" index 8120149f9..1c52a2854 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -16,6 +16,7 @@ PersonalComputer MobileDevice + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index aaa35abfa..81895850b 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -4,6 +4,10 @@ Перем КонтекстЯдра; &НаКлиенте Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПроверятьОсновныеРоли; #КонецОбласти @@ -14,11 +18,16 @@ КонтекстЯдра = КонтекстЯдраПараметр; Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -35,7 +44,7 @@ НаборТестов.Добавить( "ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление", НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + Элемент.ИмяТеста); КонецЦикла; КонецЦикла; @@ -52,14 +61,19 @@ Возврат; КонецЕсли; - ИсключенияИзПроверок = Новый Соответствие; + ПроверятьОсновныеРоли = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; + + Если Настройки.Свойство("ПроверятьОсновныеРоли") Тогда + ПроверятьОсновныеРоли = Настройки.ПроверятьОсновныеРоли; + КонецЕсли; КонецПроцедуры @@ -70,20 +84,20 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) Экспорт - Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных); + Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли); Утверждения.Проверить(Результат = "", "Есть право на интерактивное удаление объектов:" + Результат); КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных) +Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдаление(ПолноеИмяМетаданных, ПроверятьОсновныеРоли) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); ЕстьПраво = Ложь; Результат = ""; Для Каждого Роль Из Метаданные.Роли Цикл - Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Если Не ПроверятьОсновныеРоли И Метаданные.ОсновныеРоли.Содержит(Роль) Тогда Продолжить; КонецЕсли; ЕстьПраво = ПравоДоступа("ИнтерактивноеУдаление", ОбъектМетаданных, Роль); @@ -94,7 +108,7 @@ Возврат Результат; -КонецФункции // ПроверитьЧтоЕстьПраваНаЧтениеСервер() +КонецФункции #КонецОбласти @@ -102,7 +116,10 @@ &НаСервереБезКонтекста Функция ОбъектыМетаданных() - + + СтроковыеУтилиты = СтроковыеУтилиты(); + Пояснение = НСтр("ru = 'Проверка права интерактивного удаления'"); + ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); ОбъектыМетаданных.Вставить("Документы", Новый Массив); @@ -115,8 +132,9 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); КонецЦикла; @@ -124,29 +142,42 @@ Возврат ОбъектыМетаданных; -КонецФункции // ОбъектыМетаданных() +КонецФункции -&НаСервере +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" index 2be453535..c6f4eabae 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6b41f4b79..b84aff38e 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\260\320\230\320\275\321\202\320\265\321\200\320\260\320\272\321\202\320\270\320\262\320\275\320\276\320\263\320\276\320\243\320\264\320\260\320\273\320\265\320\275\320\270\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -6,6 +6,8 @@ Перем Утверждения; &НаКлиенте Перем СтроковыеУтилиты; +&НаКлиенте +Перем ПроверятьОсновныеРоли; #КонецОбласти @@ -18,10 +20,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + Настройки(КонтекстЯдра, ИмяТеста()); + КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -38,7 +44,7 @@ НаборТестов.Добавить( "ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных", НаборТестов.ПараметрыТеста(Элемент.ПолноеИмя), - Элемент.Имя); + Элемент.ИмяТеста); КонецЦикла; КонецЦикла; @@ -55,14 +61,19 @@ Возврат; КонецЕсли; - ИсключенияИзПроверок = Новый Соответствие; + ПроверятьОсновныеРоли = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; + + Если Настройки.Свойство("ПроверятьОсновныеРоли") Тогда + ПроверятьОсновныеРоли = Настройки.ПроверятьОсновныеРоли; + КонецЕсли; КонецПроцедуры @@ -73,21 +84,21 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных) Экспорт - Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных); + Результат = ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных, ПроверятьОсновныеРоли); ШаблонСообщения = НСтр("ru = 'Есть право на интерактивное удаление помеченных объектов:%1'"); Утверждения.Проверить(Результат = "", СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Результат)); КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных) +Функция ПроверитьЧтоНетПраваНаИнтерактивноеУдалениеПомеченных(ПолноеИмяМетаданных, ПроверятьОсновныеРоли) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); ЕстьПраво = Ложь; Результат = ""; Для Каждого Роль Из Метаданные.Роли Цикл - Если Метаданные.ОсновныеРоли.Содержит(Роль) Тогда + Если Не ПроверятьОсновныеРоли И Метаданные.ОсновныеРоли.Содержит(Роль) Тогда Продолжить; КонецЕсли; ЕстьПраво = ПравоДоступа("ИнтерактивноеУдалениеПомеченных", ОбъектМетаданных, Роль); @@ -106,7 +117,10 @@ &НаСервереБезКонтекста Функция ОбъектыМетаданных() - + + СтроковыеУтилиты = СтроковыеУтилиты(); + Пояснение = НСтр("ru = 'Проверка права интерактивного удаления помеченных'"); + ОбъектыМетаданных = Новый Структура; ОбъектыМетаданных.Вставить("ПланыОбмена", Новый Массив); ОбъектыМетаданных.Вставить("Документы", Новый Массив); @@ -119,8 +133,9 @@ Для Каждого Элемент Из ОбъектыМетаданных Цикл Для Каждого ОбъектМетаданных Из Метаданные[Элемент.Ключ] Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ОбъектМетаданных.ПолноеИмя(), Пояснение); СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", ОбъектМетаданных.Имя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); СтруктураЭлемента.Вставить("ПолноеИмя", ОбъектМетаданных.ПолноеИмя()); ОбъектыМетаданных[Элемент.Ключ].Добавить(СтруктураЭлемента); КонецЦикла; @@ -130,27 +145,40 @@ КонецФункции -&НаСервере +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" index 1591e5069..c49257666 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9a0658263..e1a81cac0 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,9 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте -Перем КонфигурацияПоставщика; +Перем ВыводитьИсключения; +&НаКлиенте +Перем КонфигурацииПоставщика; #КонецОбласти @@ -24,13 +26,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -40,22 +43,27 @@ Возврат; КонецЕсли; - Если Не ЗначениеЗаполнено(КонфигурацияПоставщика) Тогда + Если Не ЗначениеЗаполнено(КонфигурацииПоставщика) Тогда Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(КонфигурацияПоставщика); + Пояснение = НСтр("ru = 'Проверка префикса в новом объекте/реквизите'"); + ОбъектыМетаданных = СтруктураОбъектовМетаданных(КонфигурацииПоставщика); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина);; КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); - Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов", - НаборТестов.ПараметрыТеста(ЭлементКоллекции.ПолноеИмя), - ЭлементКоллекции.Имя); + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Тест.ПолноеИмя, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя, Тест.Имя), ИмяТеста); КонецЦикла; КонецЦикла; @@ -72,7 +80,10 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Ложь; + КонфигурацииПоставщика = Новый Структура; ПлагинНастроек = мКонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -82,15 +93,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзпроверок") Тогда + Если Настройки.Свойство("ИсключенияИзпроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("КонфигурацияПоставщика") Тогда + Если Настройки.Свойство("КонфигурацияПоставщика") Тогда ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки); КонецЕсли; @@ -100,7 +115,7 @@ Процедура ПрочитатьФайлКонфигурацииПоставщика(мКонтекстЯдра, Настройки) #Если Не ВебКлиент Тогда - ПутьФайлаКонфигурацииПоставщика = Настройки.Параметры.КонфигурацияПоставщика; + ПутьФайлаКонфигурацииПоставщика = Настройки.КонфигурацияПоставщика; ПутьФайлаКонфигурацииПоставщика = ОбработатьОтносительныйПуть(ПутьФайлаКонфигурацииПоставщика, мКонтекстЯдра); Файл = Новый Файл(ПутьФайлаКонфигурацииПоставщика); @@ -110,7 +125,7 @@ ЧтениеJson = Новый ЧтениеJSON; ЧтениеJson.ОткрытьФайл(ПутьФайлаКонфигурацииПоставщика); - КонфигурацияПоставщика = ПрочитатьJSON(ЧтениеJson); + КонфигурацииПоставщика = ПрочитатьJSON(ЧтениеJson); ЧтениеJson.Закрыть(); Файл = Неопределено; @@ -121,7 +136,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -134,29 +149,19 @@ #Область Тесты &НаКлиенте -Процедура ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных) Экспорт +Процедура ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных, ИмяМетаданных) Экспорт ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); - Результат = ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных, ПрефиксОбъектов); + Результат = ИмяСодержитПрефикс(ИмяМетаданных, ПрефиксОбъектов); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; КонецПроцедуры -&НаСервереБезКонтекста -Функция ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов(ПолноеИмяМетаданных, ПрефиксОбъектов) - - ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); - Результат = (СтрНайти(ВРег(ОбъектМетаданных.Имя), ПрефиксОбъектов) > 0); - - Возврат Результат; - -КонецФункции - #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -168,7 +173,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -179,6 +184,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -190,7 +226,7 @@ КонецФункции &НаСервереБезКонтекста -Функция СтруктураОбъектовМетаданных(КонфигурацияПоставщика) +Функция СтруктураОбъектовМетаданных(КонфигурацииПоставщика) МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); @@ -200,11 +236,27 @@ КонецЦикла; Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - ОбластьКонфигурацииПоставщика = КонфигурацияПоставщика[ЭлементСтруктурыОбъектовМетаданных.Ключ]; Для Каждого ОбъектМетаданных Из Метаданные[ЭлементСтруктурыОбъектовМетаданных.Ключ] Цикл - Если ОбластьКонфигурацииПоставщика.Найти(ОбъектМетаданных.Имя) <> Неопределено Тогда + ОбработатьВесьОбъект = Истина; + + Для Каждого КонфигурацияПоставщика Из КонфигурацииПоставщика Цикл + ОбластьКонфигурацииПоставщика = КонфигурацияПоставщика.Значение[ЭлементСтруктурыОбъектовМетаданных.Ключ]; + Если ОбластьКонфигурацииПоставщика.Найти(ОбъектМетаданных.Имя) <> Неопределено Тогда + ОбработатьВесьОбъект = Ложь; + Прервать; + КонецЕсли; + КонецЦикла; + + Если ОбработатьВесьОбъект Тогда + ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], + ОбъектМетаданных.Имя, + ОбъектМетаданных.ПолноеИмя()); + + Иначе + Параметры = Новый Структура; Параметры.Вставить("ОбъектМетаданных", ОбъектМетаданных); Параметры.Вставить("СтруктураОбъектовМетаданных", СтруктураОбъектовМетаданных); @@ -226,15 +278,8 @@ ОбработатьЭлементыОбъекта(Параметры, "Формы", "Форма"); ОбработатьЭлементыОбъекта(Параметры, "Команды", "Команда"); ОбработатьЭлементыОбъекта(Параметры, "Макеты", "Макет"); - - Продолжить; - + КонецЕсли; - - ДобавитьЭлементКоллекцииОбъектовМетаданных( - СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], - ОбъектМетаданных.Имя, - ОбъектМетаданных.ПолноеИмя()); КонецЦикла; КонецЦикла; @@ -266,17 +311,11 @@ ОбъектМетаданных.Имя, ИмяНабораКоллекции, ЭлементНабораКоллекции.Имя); - - ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - ШаблонКоллекции, - ОбъектМетаданных.Имя, - ИмяЭлементаНабора, - ЭлементНабораКоллекции.Имя); Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, + ЭлементНабораКоллекции.Имя, ЭлементНабораКоллекции.ПолноеИмя()); Продолжить; КонецЕсли; @@ -290,17 +329,10 @@ ИмяЭлементов, ЭлементКоллекции.Имя); - ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонЭлементов, - ОбъектМетаданных.Имя, - ИмяЭлементаНабора, - ЭлементНабораКоллекции.Имя, - ИмяЭлемента, - ЭлементКоллекции.Имя); - Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, + ЭлементКоллекции.Имя, ЭлементКоллекции.ПолноеИмя()); КонецЕсли; @@ -339,7 +371,7 @@ Если ОбластьКонфигурацииПоставщика.Найти(ИмяДляПоиска) = Неопределено Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( СтруктураОбъектовМетаданных[ИмяМетаданных], - ИмяОбъекта, + ЭлементКоллекции.Имя, ЭлементКоллекции.ПолноеИмя()); КонецЕсли; @@ -359,10 +391,11 @@ &НаСервереБезКонтекста Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); - СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); - Коллекция.Добавить(СтруктураЭлемента); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("Имя", Имя); + СтруктураТеста.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьЧтоЕстьПрефиксУОбъектаИлиРеквизитов"); + Коллекция.Добавить(СтруктураТеста); КонецПроцедуры @@ -390,6 +423,8 @@ &НаКлиенте Функция ОбработатьФайлКонфигурацииПоставщика(ИмяФайла) + #Если Не ВебКлиент Тогда + ИмяКонфигурации = ""; СтрокаКонфигурацииПоставщика = Новый Массив; СтруктураОбъектовМетаданных = Новый Структура; МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); @@ -398,10 +433,13 @@ СтруктураОбъектовМетаданных.Вставить(ЭлементМассива, Новый Массив); КонецЦикла; - ШаблонПоиска = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивИменОбъектовМетаданных, "|"); + ШаблонПоиска = СтрСоединить(МассивИменОбъектовМетаданных, "|"); Файл = Новый ЧтениеТекста(ИмяФайла); Строка = Файл.ПрочитатьСтроку(); Пока Строка <> Неопределено Цикл + Если СтрНайти(СокрЛП(Строка), "- Конфигурации.") Тогда + ИмяКонфигурации = СтрЗаменить(Строка, "- Конфигурации.", ""); + КонецЕсли; Если СтрНайти(СокрЛП(Строка), "-") Тогда Строка = СтрЗаменить(Строка, "- ", ""); СтрокаКонфигурацииПоставщика.Добавить(СокрЛП(Строка)); @@ -412,7 +450,7 @@ Файл.Закрыть(); Для Каждого СтрокаКонфигурацииПоставщика Из СтрокаКонфигурацииПоставщика Цикл - МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(СтрокаКонфигурацииПоставщика, "."); + МассивСтрок = СтрРазделить(СтрокаКонфигурацииПоставщика, "."); ИмяСвойства = МассивСтрок[0]; Попытка ЕстьСвойство = СтруктураОбъектовМетаданных.Свойство(ИмяСвойства); @@ -421,17 +459,21 @@ КонецПопытки; Если ЕстьСвойство Тогда МассивСтрок.Удалить(0); - НоваяСтрока = СтроковыеУтилиты.СтрокаИзМассиваПодстрок(МассивСтрок, "."); + НоваяСтрока = СтрСоединить(МассивСтрок, "."); СтруктураОбъектовМетаданных[ИмяСвойства].Добавить(НоваяСтрока); КонецЕсли; КонецЦикла; + СтруктураКонфигурацииПоставщика = Новый Структура; + СтруктураКонфигурацииПоставщика.Вставить(ИмяКонфигурации, СтруктураОбъектовМетаданных); + ЗаписьJSON = Новый ЗаписьJSON; ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(); ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписи); - ЗаписатьJSON(ЗаписьJSON, СтруктураОбъектовМетаданных); + ЗаписатьJSON(ЗаписьJSON, СтруктураКонфигурацииПоставщика); Возврат ЗаписьJSON.Закрыть(); + #КонецЕсли КонецФункции @@ -515,21 +557,44 @@ КонецФункции +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + &НаСервереБезКонтекста Функция СтроковыеУтилиты() Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -537,10 +602,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index e581868db..d781297ab 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9f9431ab2..441bfa0db 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,6 +10,8 @@ Перем ПрефиксОбъектов; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -22,13 +24,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -37,20 +40,26 @@ Если Не ЗначениеЗаполнено(ПрефиксОбъектов) Тогда Возврат; КонецЕсли; - - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + Пояснение = НСтр("ru = 'Проверка префикса свойства нового объекта'"); + ОбъектыМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина);; КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); - Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьПрефиксСвойствНовыхОбъектов", - НаборТестов.ПараметрыТеста(ЭлементКоллекции.ИмяСвойства, ЭлементКоллекции.ПолноеИмя), - ЭлементКоллекции.Имя); + Для Каждого Тест Из МассивТестов Цикл + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Тест.ПолноеИмя, Пояснение); + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ИмяСвойства, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -66,6 +75,9 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; + ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Ложь; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -76,11 +88,15 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -89,7 +105,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); @@ -106,13 +122,12 @@ Процедура ТестДолжен_ПроверитьПрефиксСвойствНовыхОбъектов(ИмяМетаданных, ПолноеИмяМетаданных) Экспорт ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); - ДлинаПрефикса = СтрДлина(ПрефиксОбъектов); - Результат = СтрНайти(ВРег(Лев(ИмяМетаданных, ДлинаПрефикса)), ВРег(ПрефиксОбъектов)) = 0; + Результат = Не ИмяСодержитПрефикс(ИмяМетаданных, ПрефиксОбъектов); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяМетаданных)); Иначе - Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + Утверждения.Проверить(Результат, ТекстСообщения(ИмяМетаданных)); КонецЕсли; КонецПроцедуры @@ -128,7 +143,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -139,6 +154,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -149,12 +195,6 @@ КонецФункции -&НаСервереБезКонтекста -Функция ИмяСодержитПрефикс(Имя, Префикс) - ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; -КонецФункции - &НаСервереБезКонтекста Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) @@ -181,7 +221,6 @@ ОбработатьЭлементыОбъекта(Параметры, "Подсистемы", "Подсистема"); ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); - ОбработатьЭлементыОбъекта(Параметры, "ЗначенияПеречисления", "ЗначениеПеречисления"); ОбработатьЭлементыОбъекта(Параметры, "Измерения", "Измерение"); ОбработатьЭлементыОбъекта(Параметры, "Ресурсы", "Ресурс"); ОбработатьЭлементыОбъекта(Параметры, "Реквизиты", "Реквизит"); @@ -266,7 +305,7 @@ СтруктураОбъектовМетаданных[ИмяМетаданных], ИмяОбъекта, ЭлементКоллекции.ПолноеИмя(), - ЭлементКоллекции.Синоним); + ЭлементКоллекции.Имя); КонецЦикла; @@ -373,13 +412,14 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, Синоним) +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, ИмяСвойства) - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); - СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); - СтруктураЭлемента.Вставить("ИмяСвойства", Синоним); - Коллекция.Добавить(СтруктураЭлемента); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("Имя", Имя); + СтруктураТеста.Вставить("ПолноеИмя", ПолноеИмя); + СтруктураТеста.Вставить("ИмяСвойства", ИмяСвойства); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьПрефиксСвойствНовыхОбъектов"); + Коллекция.Добавить(СтруктураТеста); КонецПроцедуры @@ -426,21 +466,44 @@ КонецФункции +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + +КонецФункции + &НаСервереБезКонтекста Функция СтроковыеУтилиты() Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -448,10 +511,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index 8698d0f5c..cec0a095d 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 37b956d42..0edf1bfd7 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\270\320\262\320\270\320\273\320\265\320\263\320\270\321\200\320\276\320\262\320\260\320\275\320\275\320\276\320\263\320\276\320\240\320\265\320\266\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -8,6 +8,12 @@ Перем СтроковыеУтилиты; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; #КонецОбласти @@ -20,13 +26,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -36,15 +43,24 @@ Для Каждого ГруппаТестов Из ГруппыТестов Цикл - МассивОбъектовМетаданных = МассивОбъектовМетаданных(ГруппаТестов.ИмяОбъектовМетаданных); - НаборТестов.НачатьГруппу(ГруппаТестов.ИмяГруппыТестов, Истина); + ОбъектыМетаданных = ОбъектыМетаданных(ГруппаТестов.ИмяОбъектовМетаданных, ОтборПоПрефиксу, ПрефиксОбъектов); - Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектыМетаданных); + Иначе + МассивТестов = ОбъектыМетаданных; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ГруппаТестов.ИмяГруппыТестов, Истина); + КонецЕсли; + + Для Каждого Тест Из МассивТестов Цикл + + Пояснение = НСтр("ru = 'Проверка привилегированного режима объекта'"); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", Тест.ПолноеИмя, Пояснение); + ПараметрыТеста = НаборТестов.ПараметрыТеста(Тест.ПолноеИмя, ГруппаТестов.ПроверяемыеСвойства); - НаборТестов.Добавить( - "ТестДолжен_ПроверитьПривилегированныйРежимОбъекта", - НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя, ГруппаТестов.ПроверяемыеСвойства), - ЭлементМассиваОбъектовМетаданных.Имя); + НаборТестов.Добавить(Тест.ИмяПроцедуры, ПараметрыТеста, ИмяТеста); КонецЦикла; @@ -63,7 +79,10 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -73,7 +92,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -82,7 +113,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -101,7 +132,7 @@ Результат = ПроверитьПривилегированныйРежимОбъекта(ПолноеИмяМетаданных, ПроверяемыеСвойства); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); КонецЕсли; @@ -148,7 +179,7 @@ Возврат Результат; КонецЕсли; - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -157,7 +188,38 @@ Возврат Результат; -КонецФункции +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) @@ -214,7 +276,7 @@ КонецФункции &НаСервереБезКонтекста -Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных) +Функция ОбъектыМетаданных(ИмяОбъектовМетаданных, ОтборПоПрефиксу, ПрефиксОбъектов) ПроведениеЗапретить = Метаданные.СвойстваОбъектов.Проведение.Запретить; МассивОбъектовМетаданных = Новый Массив; @@ -224,6 +286,9 @@ И ОбъектМетаданных.Проведение = ПроведениеЗапретить Тогда Продолжить; КонецЕсли; + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; ДобавитьЭлементКоллекцииОбъектовМетаданных( МассивОбъектовМетаданных, ОбъектМетаданных.Имя, @@ -238,6 +303,7 @@ Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) СтруктураЭлемента = Новый Структура; + СтруктураЭлемента.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьПривилегированныйРежимОбъекта"); СтруктураЭлемента.Вставить("Имя", Имя); СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); Коллекция.Добавить(СтруктураЭлемента); @@ -254,27 +320,47 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" new file mode 100644 index 000000000..9659573ad --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260.xml" @@ -0,0 +1,100 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента + + + ru + Тесты "Проверка регистров для отчета движения документа" + + + + ExternalDataProcessor.Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..fdc1d357d --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..60d42f3a6 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\276\320\262\320\224\320\273\321\217\320\236\321\202\321\207\320\265\321\202\320\260\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,371 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; +&НаКлиенте +Перем ИсключенияИзПроверок; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + Настройки(КонтекстЯдра, ИмяТеста()); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + Регистры = Регистры(ПрефиксОбъектов, ОтборПоПрефиксу); + Для Каждого КлючЗначение Из Регистры Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(КлючЗначение.Значение); + Иначе + МассивТестов = КлючЗначение.Значение; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(КлючЗначение.Ключ, Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл + ИмяПроцедуры = "ТестДолжен_ПроверитьРегистр"; + ТекстПояснения = НСтр("ru = 'Проверка регистра для отчета движения документа'"); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, ТекстПояснения); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ОтборПоПрефиксу = Ложь; + ПрефиксОбъектов = ""; + ВыводитьИсключения = Истина; + ПропускатьОбъектыСПрефиксомУдалить = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьРегистр(ИмяРегистра, ПолноеИмяРегистра) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяРегистра); + + Результат = ПроверитьРегистрСервер(ПолноеИмяРегистра); + Если ЕстьОсновнаяФормаСписка(ПолноеИмяРегистра) Тогда + ФормаСписка = ПолучитьФорму(СтрШаблон("%1.ФормаСписка", ПолноеИмяРегистра)); + Если ФормаСписка.Элементы.Найти("Регистратор") = Неопределено Тогда + ШаблонОшибки = НСтр("ru = '%1%2 В форме списка нет колонки ""Регистратор""'"); + Результат = ДобавитьТекстОшибки(СтроковыеУтилиты, Результат, ШаблонОшибки); + КонецЕсли; + КонецЕсли; + + Если Результат <> "" И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ТекстСообщения(ИмяРегистра, Результат)); + Иначе + Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяРегистра, Результат)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьРегистрСервер(ПолноеИмяРегистра) + + Результат = ""; + СтроковыеУтилиты = СтроковыеУтилиты(); + РежимОбычноеПриложение = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение; + + Регистр = Метаданные.НайтиПоПолномуИмени(ПолноеИмяРегистра); + + Если Регистр.ИспользоватьСтандартныеКоманды = Истина Тогда + ШаблонОшибки = НСтр("ru = '%1%2 Включено использование стандартных команд'"); + Результат = ДобавитьТекстОшибки(СтроковыеУтилиты, Результат, ШаблонОшибки); + КонецЕсли; + + Если Метаданные.ОсновнойРежимЗапуска = РежимОбычноеПриложение Тогда + Если Регистр.ОсновнаяФормаСписка = Неопределено Тогда + ШаблонОшибки = НСтр("ru = '%1%2 Не указана основная форма списка'"); + Результат = ДобавитьТекстОшибки(СтроковыеУтилиты, Результат, ШаблонОшибки); + ИначеЕсли Регистр.ОсновнаяФормаСписка.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Обычная Тогда + ШаблонОшибки = НСтр("ru = '%1%2 Основная форма списка - обычная'"); + Результат = ДобавитьТекстОшибки(СтроковыеУтилиты, Результат, ШаблонОшибки); + КонецЕсли; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ИмяРегистра) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ВРег(ИмяРегистра)) Тогда + ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяРегистра); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ИмяРегистра), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ИмяРегистра); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ИмяРегистра, Результат) + + ШаблонСообщения = НСтр("ru = 'Для регистра ""%1"" есть замечания:%2.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяРегистра, Результат); + + Возврат ТекстСообщения; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ДобавитьТекстОшибки(СтроковыеУтилиты, Знач Результат, Знач ШаблонОшибки) + Разделитель = ?(ЗначениеЗаполнено(Результат), ",", ""); + Возврат СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, Результат, Разделитель); +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЕстьОсновнаяФормаСписка(ПолноеИмяРегистра) + Регистр = Метаданные.НайтиПоПолномуИмени(ПолноеИмяРегистра); + ТипФормыУправляемая = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; + Возврат Регистр.ОсновнаяФормаСписка <> Неопределено И Регистр.ОсновнаяФормаСписка.ТипФормы = ТипФормыУправляемая; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЕстьРеквизитИлиСвойствоОбъекта(Объект, ИмяРеквизита) Экспорт + + КлючУникальности = Новый УникальныйИдентификатор; + СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности); + ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект); + + Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности; + +КонецФункции + +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); +КонецФункции + +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); + Настройки = Объект.Настройки; + + Если Не ЕстьПодсистемаБСП("ОтчетОДвиженияхДокумента") Тогда + Возврат Ложь; + КонецЕсли; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЕстьПодсистемаБСП(ИмяПодсистемы) + + Результат = Ложь; + + СтандартныеПодсистемы = Метаданные.Подсистемы.Найти("СтандартныеПодсистемы"); + Если СтандартныеПодсистемы <> Неопределено Тогда + Результат = СтандартныеПодсистемы.Подсистемы.Найти(ИмяПодсистемы) <> Неопределено; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция Регистры(ПрефиксОбъектов, ОтборПоПрефиксу) + + ПодчинениеРегистратору = Метаданные.СвойстваОбъектов.РежимЗаписиРегистра.ПодчинениеРегистратору; + + Регистры = Новый Соответствие; + Регистры.Вставить("РегистрыСведений", Новый Массив); + Регистры.Вставить("РегистрыНакопления", Новый Массив); + Регистры.Вставить("РегистрыБухгалтерии", Новый Массив); + Регистры.Вставить("РегистрыРасчета", Новый Массив); + + Для Каждого КлючЗначение Из Регистры Цикл + Для Каждого Регистр Из Метаданные[КлючЗначение.Ключ] Цикл + Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(Регистр.Имя, ПрефиксОбъектов) Тогда + Продолжить; + КонецЕсли; + Если Метаданные.РегистрыСведений.Содержит(Регистр) И Регистр.РежимЗаписи <> ПодчинениеРегистратору Тогда + Продолжить; + КонецЕсли; + СтруктураРегистра = Новый Структура; + СтруктураРегистра.Вставить("Имя", Регистр.Имя); + СтруктураРегистра.Вставить("Синоним", Регистр.Синоним); + СтруктураРегистра.Вставить("ПолноеИмя", Регистр.ПолноеИмя()); + КлючЗначение.Значение.Добавить(СтруктураРегистра); + КонецЦикла; + КонецЦикла; + + Возврат Регистры; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" index 69f601eb7..dd6dcc650 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 67eda36ad..57c72d38f 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\321\205\320\227\320\260\320\264\320\260\320\275\320\270\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,6 +9,8 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ОтборПоПрефиксу; &НаКлиенте Перем ПрефиксОбъектов; @@ -24,28 +26,39 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - МассивОбъектовМетаданных = МассивОбъектовМетаданных("РегламентныеЗадания", ПрефиксОбъектов, ОтборПоПрефиксу); - НаборТестов.НачатьГруппу("Регламентные задания", Истина); - - Для Каждого ЭлементМассиваОбъектовМетаданных Из МассивОбъектовМетаданных Цикл + ОбъектыМетаданных = ОбъектыМетаданных("РегламентныеЗадания", ПрефиксОбъектов, ОтборПоПрефиксу); + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьРегламентноеЗадание", - НаборТестов.ПараметрыТеста(ЭлементМассиваОбъектовМетаданных.ПолноеИмя), - ЭлементМассиваОбъектовМетаданных.Имя); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить( + "ТестДолжен_ПроверитьРегламентноеЗадание", + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), + Тест.ИмяТеста); + КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -64,6 +77,7 @@ ОтборПоПрефиксу = Ложь; ПрефиксОбъектов = ""; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -73,15 +87,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -90,7 +108,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -109,7 +127,7 @@ Результат = ПроверитьРегламентноеЗадание(ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); КонецЕсли; @@ -136,14 +154,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ЭтоУстаревшийОбъектМетаданных(ПолноеИмяМетаданных) Тогда - ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки, устаревший объект.'"); - Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); - Результат.Пропустить = Истина; - Возврат Результат; - КонецЕсли; - - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -154,6 +165,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных) @@ -165,20 +207,25 @@ КонецФункции &НаСервереБезКонтекста -Функция МассивОбъектовМетаданных(ИмяОбъектовМетаданных, ПрефиксОбъектов, ОтборПоПрефиксу) - +Функция ОбъектыМетаданных(ИмяОбъектовМетаданных, ПрефиксОбъектов, ОтборПоПрефиксу) + + СтроковыеУтилиты = СтроковыеУтилиты(); + ОбъектыМетаданных = Новый Структура; + МассивОбъектовМетаданных = Новый Массив; Для Каждого ОбъектМетаданных Из Метаданные[ИмяОбъектовМетаданных] Цикл Если ОтборПоПрефиксу И Не ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда Продолжить; КонецЕсли; ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, МассивОбъектовМетаданных, - ОбъектМетаданных.Имя, ОбъектМетаданных.ПолноеИмя()); КонецЦикла; + + ОбъектыМетаданных.Вставить(ИмяОбъектовМетаданных, МассивОбъектовМетаданных); - Возврат МассивОбъектовМетаданных; + Возврат ОбъектыМетаданных; КонецФункции @@ -190,46 +237,57 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции &НаСервереБезКонтекста -Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя) +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя) + Описание = НСтр("ru = 'Проверка регламентного задания'"); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмя, Описание); + СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); Коллекция.Добавить(СтруктураЭлемента); КонецПроцедуры -&НаКлиентеНаСервереБезКонтекста -Функция ЭтоУстаревшийОбъектМетаданных(ИмяОбъектаМетаданных) - Возврат СтрНайти(ВРег(ИмяОбъектаМетаданных), "УДАЛИТЬ"); +&НаСервереБезКонтекста +Функция СтроковыеУтилиты() + Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 20601ecee..7d301d828 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -45,13 +45,15 @@ Возврат; КонецЕсли; - НаборТестов.НачатьГруппу("Документы", Ложь); мДокументы = Документы(ПрефиксОбъектов, ОтборПоПрефиксу); Если Не ВыводитьИсключения Тогда МассивТестов = УбратьИсключения(мДокументы); Иначе МассивТестов = мДокументы; КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу("Документы", Истина); + КонецЕсли; Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьРеквизитыДокументовКомментарийОтветственный"; ИмяТеста = КонтекстЯдра.СтрШаблон_( @@ -144,7 +146,7 @@ ИмяДокумента, ИмяТипаКомментарий, ИмяТипаОтветственный); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяДокумента, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяДокумента, Результат)); КонецЕсли; @@ -209,7 +211,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ИмяДокумента)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ИмяДокумента)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяДокумента); Результат.Пропустить = Истина; @@ -240,22 +242,14 @@ &НаКлиенте Функция УбратьИсключения(МассивТестов) - Исключения = Новый Соответствие; Результат = Новый Массив; Для Каждого Тест Из МассивТестов Цикл - Если ИсключенИзПроверок(Тест.ПолноеИмя) Тогда - Исключения.Вставить(Тест, Истина); + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); КонецЕсли; КонецЦикла; - Для Каждого Тест Из МассивТестов Цикл - Если Исключения.Получить(Тест) = Истина Тогда - Продолжить; - КонецЕсли; - Результат.Добавить(Тест); - КонецЦикла; - Возврат Результат; КонецФункции @@ -264,10 +258,10 @@ Функция ИсключенИзПроверок(ПолноеИмяМетаданных) Результат = Ложь; - ИмяТеста = ПолноеИмяМетаданных; - ИслючениеВсехОбъектов = "Документ.*"; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); - Если ИсключенияИзПроверок.Получить(ВРег(ИмяТеста)) <> Неопределено + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда Результат = Истина; КонецЕсли; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274.xml" similarity index 64% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274.xml" index f98419a22..3892445f8 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274.xml" @@ -6,21 +6,21 @@ c3831ec8-d8d5-4f93-8a22-f9bfae07327f 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 - + 374454b4-1df5-4b67-9e85-800ed93937ff 95383c60-00b2-4dc5-af00-0832ae567804 - Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов + Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом ru - Тесты "Проверка синонима новых объектов и реквизитов" + Тесты "Проверка синонима объектов и свойств с префиксом" - ExternalDataProcessor.Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов.Form.Форма + ExternalDataProcessor.Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом.Form.Форма @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" similarity index 93% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index ff863474a..fe111d53d 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -4,7 +4,7 @@ - cfg:ExternalDataProcessorObject.Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов + cfg:ExternalDataProcessorObject.Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом true diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" similarity index 79% rename from "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" rename to "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0db2dc3f7..79b637f5e 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\241\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,6 +10,8 @@ Перем ПрефиксОбъектов; &НаКлиенте Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; #КонецОбласти @@ -22,15 +24,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -40,18 +41,21 @@ Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ПрефиксОбъектов); + ОбъектыМетаданных = ОбъектыМетаданных(ПрефиксОбъектов); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + + Если МассивТестов.Количество() <> 0 Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Ложь); - Для Каждого ЭлементКоллекции Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьСинонимОбъектаИлиРеквизитов", - НаборТестов.ПараметрыТеста(ЭлементКоллекции.ПолноеИмя, ЭлементКоллекции.Синоним), - СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ЭлементКоллекции.Имя, ЭлементКоллекции.Синоним)); + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя, Тест.Синоним), Тест.ИмяТеста); КонецЦикла; КонецЦикла; @@ -68,7 +72,9 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -78,11 +84,15 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = ВРег(Настройки.Параметры.Префикс); + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -91,7 +101,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ТекстИсключения = ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок); ИсключенияИзПроверок.Вставить(ТекстИсключения, Истина); @@ -108,14 +118,12 @@ Процедура ТестДолжен_ПроверитьСинонимОбъектаИлиРеквизитов(ПолноеИмяМетаданных, Синоним) Экспорт ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); - мПрефиксОбъектов = ВРег(СтрЗаменить(ПрефиксОбъектов, "_", "")); - ДлинаПрефикса = СтрДлина(мПрефиксОбъектов); - Результат = (ВРег(Лев(Синоним, ДлинаПрефикса)) <> ВРег(мПрефиксОбъектов)); + Результат = Не ИмяСодержитПрефикс(Синоним, ПрефиксОбъектов); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(Синоним, ПолноеИмяМетаданных)); Иначе - Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + Утверждения.Проверить(Результат, ТекстСообщения(Синоним, ПолноеИмяМетаданных)); КонецЕсли; КонецПроцедуры @@ -131,7 +139,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -143,23 +151,48 @@ КонецФункции &НаКлиенте -Функция ТекстСообщения(ПолноеИмяМетаданных) +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) - ШаблонСообщения = НСтр("ru = 'Синоним объекта ""%1"" содержит префикс.'"); - ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат = Новый Массив; - Возврат ТекстСообщения; + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; КонецФункции -&НаСервереБезКонтекста -Функция ИмяСодержитПрефикс(Имя, Префикс) - ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; +&НаКлиенте +Функция ТекстСообщения(Синоним, ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Синоним ""%1"" объекта ""%2"" содержит префикс.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, Синоним, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + КонецФункции &НаСервереБезКонтекста -Функция СтруктураОбъектовМетаданных(ПрефиксОбъектов) +Функция ОбъектыМетаданных(ПрефиксОбъектов) МассивИменОбъектовМетаданных = МассивИменОбъектовМетаданных(); СтроковыеУтилиты = СтроковыеУтилиты(); @@ -176,6 +209,7 @@ Если ИмяСодержитПрефикс(ОбъектМетаданных.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, СтруктураОбъектовМетаданных[ЭлементСтруктурыОбъектовМетаданных.Ключ], ОбъектМетаданных.Имя, ОбъектМетаданных.ПолноеИмя(), @@ -239,6 +273,7 @@ Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, СтруктураОбъектовМетаданных[ИмяМетаданных], ИмяОбъекта, ЭлементКоллекции.ПолноеИмя(), @@ -248,6 +283,7 @@ Для Каждого Реквизит Из ЭлементКоллекции.Реквизиты Цикл ИмяОбъекта = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( + СтроковыеУтилиты, ШаблонРеквизит, ОбъектМетаданных.Имя, ИмяЭлемента, @@ -256,6 +292,7 @@ Если ИмяСодержитПрефикс(Реквизит.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, СтруктураОбъектовМетаданных[ИмяМетаданных], ИмяОбъекта, Реквизит.ПолноеИмя(), @@ -288,6 +325,7 @@ Если ИмяСодержитПрефикс(ЭлементКоллекции.Имя, ПрефиксОбъектов) Тогда ДобавитьЭлементКоллекцииОбъектовМетаданных( + СтроковыеУтилиты, СтруктураОбъектовМетаданных[ИмяМетаданных], ИмяОбъекта, ЭлементКоллекции.ПолноеИмя(), @@ -309,10 +347,14 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(Коллекция, Имя, ПолноеИмя, Синоним) +Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, Имя, ПолноеИмя, Синоним) + Пояснение = НСтр("ru = 'Проверка синонима объекта/свойства с префиксом'"); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмя, Пояснение); + СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("Имя", Имя); + СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); + СтруктураЭлемента.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьСинонимОбъектаИлиРеквизитов"); СтруктураЭлемента.Вставить("ПолноеИмя", ПолноеИмя); СтруктураЭлемента.Вставить("Синоним", Синоним); Коллекция.Добавить(СтруктураЭлемента); @@ -388,16 +430,39 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -405,10 +470,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" index f725ff458..ecf09f6d9 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index afc012029..9ac80b4d8 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\270\320\275\320\276\320\275\320\270\320\274\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,6 +9,8 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ОтборПоПрефиксу; &НаКлиенте Перем ПрефиксОбъектов; @@ -24,15 +26,14 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; @@ -41,22 +42,24 @@ СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); Для Каждого ОбъектМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ОбъектМетаданных.Значение.Количество() = 0 Тогда + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда Продолжить; КонецЕсли; + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из ОбъектМетаданных.Значение Цикл - - ПараметрыТеста = НаборТестов.ПараметрыТеста( - ЭлементСтруктурыОбъектовМетаданных.ПолноеИмя, - ЭлементСтруктурыОбъектовМетаданных.Синоним); - + Для Каждого Тест Из МассивТестов Цикл НаборТестов.Добавить( "ТестДолжен_ПроверитьСинонимУстаревшихОбъектовМетаданных", - ПараметрыТеста, - ЭлементСтруктурыОбъектовМетаданных.ИмяТеста); - + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя, Тест.Синоним), + Тест.ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -75,6 +78,7 @@ ПрефиксОбъектов = ""; ОтборПоПрефиксу = Ложь; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -84,15 +88,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -101,7 +109,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -120,9 +128,9 @@ Результат = (СтрНайти(НРег(Синоним), "(не используется)") > 0); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Синоним)); Иначе - Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных, Синоним)); КонецЕсли; КонецПроцедуры @@ -138,7 +146,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -150,10 +158,41 @@ КонецФункции &НаКлиенте -Функция ТекстСообщения(ПолноеИмяМетаданных) +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) - ШаблонСообщения = НСтр("ru = 'У объекта %1 в синониме не указан префикс (не используется).'"); - ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных, Синоним) + + ШаблонСообщения = НСтр("ru = 'У объекта ""%1"" в синониме ""%2"" не указан префикс (не используется).'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, Синоним); Возврат ТекстСообщения; @@ -299,10 +338,9 @@ Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя, Синоним) ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - "%1 [%2]: %3", + "%1 [%2]", ПолноеИмя, - Синоним, - НСтр("ru = 'Проверка синонима устаревших объектов метаданных'")); + НСтр("ru = 'Проверка синонима устаревшего объекта(свойства) метаданных'")); СтруктураЭлемента = Новый Структура; СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); @@ -389,7 +427,8 @@ Возврат Ложь; КонецЕсли; - Возврат СтрНайти(ВРег(Имя), ВРег(Префикс)) > 0; + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции @@ -398,27 +437,35 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" index 5e02b4929..e355671b4 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7103fb55d..63dec02fd 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\320\276\321\201\321\202\320\260\320\262\320\275\321\213\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,9 +9,11 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ПропускатьОбъектыСПрефиксомУдалить; &НаКлиенте -Перем НеПроверятьДополнительныеРеквизиты; +Перем ПроверятьДополнительныеРеквизиты; &НаКлиенте Перем ТипыОбъектСсылка; &НаКлиенте @@ -30,30 +32,36 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + ОбъектыМетаданных = ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; + КонецЕсли; + Если МассивТестов.Количество() = 0 Тогда Продолжить; КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Истина); - Для Каждого СтруктураОбъектаМетаданных Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + Для Каждого Тест Из МассивТестов Цикл НаборТестов.Добавить( "ТестДолжен_ПроверитьСоставнойТип", - НаборТестов.ПараметрыТеста(СтруктураОбъектаМетаданных.ПолноеИмя), - СтруктураОбъектаМетаданных.ИмяТеста); + НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), + Тест.ИмяТеста); КонецЦикла; КонецЦикла; @@ -70,10 +78,12 @@ Возврат; КонецЕсли; + ПрефиксОбъектов = ""; ОтборПоПрефиксу = Ложь; ПропускатьОбъектыСПрефиксомУдалить = Ложь; - ПрефиксОбъектов = ""; + ПроверятьДополнительныеРеквизиты = Истина; ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Настройки = Объект.Настройки; @@ -83,23 +93,27 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки["Параметры"].Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда - ПропускатьОбъектыСПрефиксомУдалить = Настройки["Параметры"].ПропускатьОбъектыСПрефиксомУдалить; + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ПроверятьДополнительныеРеквизиты") Тогда + ПроверятьДополнительныеРеквизиты = Настройки.ПроверятьДополнительныеРеквизиты; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("НеПроверятьДополнительныеРеквизиты") Тогда - НеПроверятьДополнительныеРеквизиты = Настройки[ИмяТеста()].НеПроверятьДополнительныеРеквизиты; + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -108,7 +122,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -129,7 +143,7 @@ ШаблонСообщения = НСтр("ru = 'Объект ""%1"" содержит ссылочные и примитивные типы'"); ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения); Иначе Утверждения.Проверить(Результат, ТекстСообщения); КонецЕсли; @@ -142,7 +156,7 @@ ШаблонСообщения = НСтр("ru = 'Объект ""%1"" содержит типы: %2'"); ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных, Результат); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения); КонецЕсли; @@ -255,14 +269,14 @@ КонецЕсли; СтрокаПоиска = ВРег("ДополнительныеРеквизиты"); - Если НеПроверятьДополнительныеРеквизиты = Истина И СтрНайти(ВРег(ПолноеИмяМетаданных), СтрокаПоиска) > 0 Тогда + Если Не ПроверятьДополнительныеРеквизиты И СтрНайти(ВРег(ПолноеИмяМетаданных), СтрокаПоиска) > 0 Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки, доп. реквизиты не проверяются'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; Возврат Результат; КонецЕсли; - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ПолноеИмяМетаданных) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -273,8 +287,39 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаСервереБезКонтекста -Функция СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) +Функция ОбъектыМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов) СоответсвиеОбъектовМетаданных = СоответсвиеОбъектовМетаданных(); СтроковыеУтилиты = СтроковыеУтилиты(); @@ -420,10 +465,8 @@ &НаСервереБезКонтекста Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ПолноеИмя) - ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - "%1: %2", - ПолноеИмя, - НСтр("ru = 'Проверка составных типов данных'")); + Описание = НСтр("ru = 'Проверка составного типа данных'"); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1 [%2]", ПолноеИмя, Описание); СтруктураЭлемента = Новый Структура; СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); @@ -496,8 +539,8 @@ ТипыОбъектовМетаданных.Вставить("ПланСчетовСсылка", ПланыСчетов.ТипВсеСсылки().Типы()); ТипыОбъектовМетаданных.Вставить("ПланВидовРасчетаСсылка", ПланыВидовРасчета.ТипВсеСсылки().Типы()); ТипыОбъектовМетаданных.Вставить("БизнесПроцессСсылка", БизнесПроцессы.ТипВсеСсылки().Типы()); - ТипыОбъектовМетаданных.Вставить("ТочкаМаршрутаБизнесПроцессаСсылка", - БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()); + ТипыОбъектовМетаданных.Вставить( + "ТочкаМаршрутаБизнесПроцессаСсылка", БизнесПроцессы.ТипВсеСсылкиТочекМаршрутаБизнесПроцессов().Типы()); ТипыОбъектовМетаданных.Вставить("ЗадачаСсылка", Задачи.ТипВсеСсылки().Типы()); ТипыОбъектовМетаданных.Вставить("ПланОбменаСсылка", ПланыОбмена.ТипВсеСсылки().Типы()); @@ -532,7 +575,7 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции @@ -541,27 +584,35 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" index cba64658c..497ebbb36 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b357b05a2..86e00e6cd 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,6 +11,8 @@ &НаКлиенте Перем СтандартныеРоли; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ИсключенияИзПроверок; #КонецОбласти @@ -24,42 +26,59 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - Если ЗначениеЗаполнено(ОсновныеРоли) Тогда + Если ОсновныеРоли.Количество() Тогда НаборТестов.НачатьГруппу("Основные роли конфигурации", Ложь); Для Каждого ОсновнаяРоль Из ОсновныеРоли Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьСоставОсновныхРолей"; - НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(ОсновнаяРоль), ОсновнаяРоль); + ИмяТеста = КонтекстЯдра.СтрШаблон_("Роль.%1 [%2]", ОсновнаяРоль, НСтр("ru = 'Проверка основной роли'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(ОсновнаяРоль), ИмяТеста); КонецЦикла; + КоличествоОсновныхРолей = ОсновныеРоли.Количество(); + ИмяПроцедуры = "ТестДолжен_ПроверитьКоличествоОсновныхРолей"; + ИмяТеста = КонтекстЯдра.СтрШаблон_("Количество основных ролей [%1]", НСтр("ru = 'Проверка основной роли'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(КоличествоОсновныхРолей), ИмяТеста); КонецЕсли; - Если ЗначениеЗаполнено(СтандартныеРоли) Тогда + Если СтандартныеРоли.Количество() Тогда НаборТестов.НачатьГруппу("Стандартные роли", Ложь); Для Каждого СтандартнаяРоль Из СтандартныеРоли Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьПраваДоступаСтандартнойРоли"; + ОписаниеТеста = НСтр("ru = 'Проверка прав стандартной роли'"); + ИмяТеста = КонтекстЯдра.СтрШаблон_("Роль.%1 [%2]", СтандартнаяРоль.Ключ, ОписаниеТеста); НаборТестов.Добавить( ИмяПроцедуры, НаборТестов.ПараметрыТеста(СтандартнаяРоль.Ключ, СтандартнаяРоль.Значение), - СтандартнаяРоль.Ключ); + ИмяТеста); КонецЦикла; КонецЕсли; - НаборТестов.НачатьГруппу("Роли", Ложь); - ИменаРолей = ИменаРолей(СтандартныеРоли); - Для Каждого ИменаРоли Из ИменаРолей Цикл + ИменаРолей = ИменаРолей(СтандартныеРоли); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ИменаРолей); + Иначе + МассивТестов = ИменаРолей; + КонецЕсли; + Если МассивТестов.Количество() > 0 Тогда + НаборТестов.НачатьГруппу("Роли", Ложь); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей"; - НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(ИменаРоли.Имя, ИменаРоли.ПолноеИмя), ИменаРоли.Имя); + ОписаниеТеста = НСтр("ru = 'Проверка прав роли на корень конфигурации'"); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, ОписаниеТеста); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; КонецПроцедуры @@ -75,6 +94,9 @@ Возврат; КонецЕсли; + ВыводитьИсключения = Истина; + ОсновныеРоли = Новый Массив; + СтандартныеРоли = Новый Массив; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -85,15 +107,19 @@ Возврат; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОсновныеРоли") Тогда - ОсновныеРоли = Настройки[ИмяТеста()].ОсновныеРоли; + Если Настройки.Свойство("ОсновныеРоли") Тогда + ОсновныеРоли = Настройки.ОсновныеРоли; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("СтандартныеРоли") Тогда - СтандартныеРоли = Настройки[ИмяТеста()].СтандартныеРоли; + Если Настройки.Свойство("СтандартныеРоли") Тогда + СтандартныеРоли = Настройки.СтандартныеРоли; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -102,7 +128,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -134,6 +160,21 @@ КонецФункции +&НаКлиенте +Процедура ТестДолжен_ПроверитьКоличествоОсновныхРолей(КоличествоОсновныхРолей) Экспорт + + Результат = ПроверитьКоличествоОсновныхРолей(КоличествоОсновныхРолей); + ШаблонОшибки = НСтр("ru = 'Количество основных ролей не соответствует стандарту (%1)'"); + ТекстОшибки = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонОшибки, КоличествоОсновныхРолей); + Утверждения.Проверить(Результат = Истина, ТекстОшибки); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьКоличествоОсновныхРолей(КоличествоОсновныхРолей) + Возврат Метаданные.ОсновныеРоли.Количество() = КоличествоОсновныхРолей; +КонецФункции + &НаКлиенте Процедура ТестДолжен_ПроверитьПраваДоступаСтандартнойРоли(ИмяРоли, ПраваДоступаРоли) Экспорт @@ -169,7 +210,7 @@ Результат = ПроверитьНедоступностьПравНаКореньКонфигурацииДляОстальныхРолей(ИмяРоли); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяРоли, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ИмяРоли, Результат)); КонецЕсли; @@ -206,7 +247,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяРоли)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяРоли)) Тогда ШаблонСообщения = НСтр("ru = 'Роль ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяРоли); Результат.Пропустить = Истина; @@ -217,6 +258,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ИмяРоли, Результат) @@ -227,16 +299,27 @@ КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -244,10 +327,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" index 254b7908a..f75cc0e5c 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 14a3c3c8d..1be0a3e5a 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\243\321\201\321\202\320\260\321\200\320\265\320\262\321\210\320\270\321\205\320\242\320\270\320\277\320\276\320\262\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,6 +9,8 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте Перем ОтборПоПрефиксу; &НаКлиенте Перем ПрефиксОбъектов; @@ -24,31 +26,36 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - СтруктураОбъектовМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); + ОбъектыМетаданных = СтруктураОбъектовМетаданных(ОтборПоПрефиксу, ПрефиксОбъектов); - Для Каждого ЭлементСтруктурыОбъектовМетаданных Из СтруктураОбъектовМетаданных Цикл - Если ЭлементСтруктурыОбъектовМетаданных.Значение.Количество() = 0 Тогда - Продолжить; + Для Каждого ОбъектМетаданных Из ОбъектыМетаданных Цикл + + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ОбъектМетаданных.Значение); + Иначе + МассивТестов = ОбъектМетаданных.Значение; КонецЕсли; - НаборТестов.НачатьГруппу(ЭлементСтруктурыОбъектовМетаданных.Ключ, Истина); - Для Каждого СтруктураОбъектаМетаданных Из ЭлементСтруктурыОбъектовМетаданных.Значение Цикл - НаборТестов.Добавить( - "ТестДолжен_ПроверитьУстаревшийТипДанных", - НаборТестов.ПараметрыТеста(СтруктураОбъектаМетаданных.ПолноеИмя), - СтруктураОбъектаМетаданных.ИмяТеста); + + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ОбъектМетаданных.Ключ, Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл + НаборТестов.Добавить(Тест.ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.ПолноеИмя), Тест.ИмяТеста); КонецЦикла; + КонецЦикла; КонецПроцедуры @@ -65,8 +72,8 @@ КонецЕсли; ОтборПоПрефиксу = Ложь; - ПропускатьОбъектыСПрефиксомУдалить = Ложь; ПрефиксОбъектов = ""; + ВыводитьИсключения = Ложь; ИсключенияИзПроверок = Новый Соответствие; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); @@ -76,24 +83,20 @@ Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); Возврат; КонецЕсли; - - Если Настройки.Свойство("Параметры") И Настройки["Параметры"].Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда - ПропускатьОбъектыСПрефиксомУдалить = Настройки["Параметры"].ПропускатьОбъектыСПрефиксомУдалить; - КонецЕсли; - - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("НеПроверятьДополнительныеРеквизиты") Тогда - НеПроверятьДополнительныеРеквизиты = Настройки[ИмяТеста()].НеПроверятьДополнительныеРеквизиты; + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -102,7 +105,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзПроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -121,7 +124,7 @@ Результат = ПроверитьУстаревшийТипДанных(ПолноеИмяМетаданных); Если Результат <> "" И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных, Результат)); Иначе Утверждения.Проверить(Результат = "", ТекстСообщения(ПолноеИмяМетаданных, Результат)); КонецЕсли; @@ -161,7 +164,7 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); Результат.Пропустить = Истина; @@ -172,6 +175,37 @@ КонецФункции +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ТекстСообщения(ПолноеИмяМетаданных, Результат) @@ -316,17 +350,20 @@ &НаСервереБезКонтекста Процедура ДобавитьЭлементКоллекцииОбъектовМетаданных(СтроковыеУтилиты, Коллекция, ЭлементМетаданных) + МетаданныеПоТипу = Метаданные.НайтиПоТипу(ЭлементМетаданных.Тип.Типы()[0]); + ИмяТеста = СтроковыеУтилиты.ПодставитьПараметрыВСтроку( - "%1 [%2]: %3", + "%1 [Тип: %2]: %3", ЭлементМетаданных.ПолноеИмя(), - ЭлементМетаданных.Синоним, + МетаданныеПоТипу.ПолноеИмя(), НСтр("ru = 'Проверка устаревших типов данных'")); - СтруктураЭлемента = Новый Структура; - СтруктураЭлемента.Вставить("ИмяТеста", ИмяТеста); - СтруктураЭлемента.Вставить("ПолноеИмя", ЭлементМетаданных.ПолноеИмя()); - СтруктураЭлемента.Вставить("КоличествоТипов", ЭлементМетаданных.Тип.Типы().Количество()); - Коллекция.Добавить(СтруктураЭлемента); + СтруктураТеста = Новый Структура; + СтруктураТеста.Вставить("ИмяТеста", ИмяТеста); + СтруктураТеста.Вставить("ПолноеИмя", ЭлементМетаданных.ПолноеИмя()); + СтруктураТеста.Вставить("КоличествоТипов", ЭлементМетаданных.Тип.Типы().Количество()); + СтруктураТеста.Вставить("ИмяПроцедуры", "ТестДолжен_ПроверитьУстаревшийТипДанных"); + Коллекция.Добавить(СтруктураТеста); КонецПроцедуры @@ -411,16 +448,27 @@ Возврат ВнешниеОбработки.Создать("СтроковыеУтилиты"); КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; + ВыполнятьТест = Ложь; + ПутьНастройки = ИмяТеста(); Настройки(КонтекстЯдра, ПутьНастройки); Настройки = Объект.Настройки; @@ -428,10 +476,8 @@ Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" index 47f0d4663..8d3005a97 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.xml" @@ -56,6 +56,44 @@ Auto + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + +
Форма
diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c99b3d527..acaa12c19 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\260\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,11 @@ &НаКлиенте Перем ИсключенияИзПроверок; &НаКлиенте -Перем ХранилищеВариантовОтчетов; +Перем ВыводитьИсключения; +&НаКлиенте +Перем ПропускатьОбъектыСПрефиксомУдалить; +&НаКлиенте +Перем ИмяХранилищеВариантовОтчетов; &НаКлиенте Перем КаталогиВнешнихОтчетов; @@ -28,42 +32,54 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + Настройки(КонтекстЯдра, ИмяТеста()); КонецПроцедуры &НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдра) Экспорт +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - Инициализация(КонтекстЯдра); + Инициализация(КонтекстЯдраПараметр); Если Не ВыполнятьТест(КонтекстЯдра) Тогда Возврат; КонецЕсли; - Если Не ЗначениеЗаполнено(ХранилищеВариантовОтчетов) Тогда + Если Не ЗначениеЗаполнено(ИмяХранилищеВариантовОтчетов) Тогда Возврат; КонецЕсли; - НаборТестов.НачатьГруппу("Отчеты", Ложь); - мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); - Для Каждого Отчет Из мОтчеты Цикл + мОтчеты = Отчеты(ПрефиксОбъектов, ОтборПоПрефиксу); + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(мОтчеты); + Иначе + МассивТестов = мОтчеты; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу("Отчеты", Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьХранилищеВариантовОтчетов"; - НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Отчет.Имя, Отчет.ПолноеИмя), Отчет.Имя); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, НСтр("ru = 'Проверка хранилища вариантов отчета'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; Для Каждого КаталогВнешнихОтчетов Из КаталогиВнешнихОтчетов Цикл ФайлыВнешнихОтчетов = НайтиФайлы(КаталогВнешнихОтчетов, "*.erf", Истина); Если ФайлыВнешнихОтчетов.Количество() Тогда ИмяГруппы = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("Внешние отчеты [%1]", КаталогВнешнихОтчетов); - НаборТестов.НачатьГруппу(ИмяГруппы, Истина); - Для Каждого ФайлВнешнегоОтчета Из ФайлыВнешнихОтчетов Цикл + Если Не ВыводитьИсключения Тогда + МассивТестов = УбратьИсключения(ФайлыВнешнихОтчетов); + Иначе + МассивТестов = ФайлыВнешнихОтчетов; + КонецЕсли; + Если МассивТестов.Количество() Тогда + НаборТестов.НачатьГруппу(ИмяГруппы, Истина); + КонецЕсли; + Для Каждого Тест Из МассивТестов Цикл ИмяПроцедуры = "ТестДолжен_ПроверитьХранилищеВариантовВнешнихОтчетов"; - НаборТестов.Добавить( - ИмяПроцедуры, - НаборТестов.ПараметрыТеста(ФайлВнешнегоОтчета.Имя, ФайлВнешнегоОтчета.ПолноеИмя), - ФайлВнешнегоОтчета.Имя); + ИмяТеста = КонтекстЯдра.СтрШаблон_("%1 [%2]", Тест.ПолноеИмя, НСтр("ru = 'Проверка хранилища вариантов отчета'")); + НаборТестов.Добавить(ИмяПроцедуры, НаборТестов.ПараметрыТеста(Тест.Имя, Тест.ПолноеИмя), ИмяТеста); КонецЦикла; КонецЕсли; КонецЦикла; @@ -94,25 +110,33 @@ Возврат; КонецЕсли; - Если Настройки.Свойство("Параметры") И Настройки.Параметры.Свойство("Префикс") Тогда - ПрефиксОбъектов = Настройки.Параметры.Префикс; + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("КаталогиВнешнихОтчетов") Тогда + Если Настройки.Свойство("КаталогиВнешнихОтчетов") Тогда КаталогиВнешнихОтчетов = ОбработатьОтносительныеПути( - Настройки[ИмяТеста()].КаталогиВнешнихОтчетов, + Настройки.КаталогиВнешнихОтчетов, КонтекстЯдра); КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ОтборПоПрефиксу") Тогда - ОтборПоПрефиксу = Настройки[ИмяТеста()].ОтборПоПрефиксу; + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ХранилищеВариантовОтчетов") Тогда - ХранилищеВариантовОтчетов = Настройки[ИмяТеста()].ХранилищеВариантовОтчетов; + Если Настройки.Свойство("ХранилищеВариантовОтчетов") Тогда + ИмяХранилищеВариантовОтчетов = Настройки.ХранилищеВариантовОтчетов; КонецЕсли; - Если Настройки.Свойство(ИмяТеста()) И Настройки[ИмяТеста()].Свойство("ИсключенияИзПроверок") Тогда + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ПропускатьОбъектыСПрефиксомУдалить") Тогда + ПропускатьОбъектыСПрефиксомУдалить = Настройки.ПропускатьОбъектыСПрефиксомУдалить; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда ИсключенияИзПроверок(Настройки); КонецЕсли; @@ -121,7 +145,7 @@ &НаКлиенте Процедура ИсключенияИзПроверок(Настройки) - Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки[ИмяТеста()].ИсключенияИзпроверок Цикл + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзпроверок Цикл Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); КонецЦикла; @@ -138,9 +162,9 @@ ПропускатьТест = ПропускатьТест(ПолноеИмяОтчета); - Результат = ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ХранилищеВариантовОтчетов); + Результат = ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ИмяХранилищеВариантовОтчетов); Если Не Результат И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяОтчета)); Иначе Утверждения.Проверить(Результат, ТекстСообщения(ИмяОтчета)); КонецЕсли; @@ -148,10 +172,10 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ХранилищеВариантовОтчетов) +Функция ПроверитьХранилищеВариантовОтчетов(ИмяОтчета, ИмяХранилищеВариантовОтчетов) Отчет = Метаданные.Отчеты.Найти(ИмяОтчета); - Хранилище = Метаданные.ХранилищаНастроек.Найти(ХранилищеВариантовОтчетов); + Хранилище = Метаданные.ХранилищаНастроек.Найти(ИмяХранилищеВариантовОтчетов); Возврат Метаданные.ХранилищеВариантовОтчетов = Хранилище Или Отчет.ХранилищеВариантов = Хранилище; @@ -165,9 +189,9 @@ ДвоичныеДанные = Новый ДвоичныеДанные(ПолноеИмяОтчета); Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, ЭтотОбъект.УникальныйИдентификатор); - Результат = ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ХранилищеВариантовОтчетов); + Результат = ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ИмяХранилищеВариантовОтчетов); Если Не Результат.ХранилищеУстановлено И ПропускатьТест.Пропустить Тогда - Утверждения.ПропуститьТест(ПропускатьТест.ТекстСообщения); + Утверждения.ПропуститьТест(ТекстСообщения(ИмяОтчета)); ИначеЕсли Не Результат.ОтчетПодключен Тогда Утверждения.Проверить(Результат.ОтчетПодключен, Результат.ТекстОшибки); Иначе @@ -177,7 +201,7 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ХранилищеВариантовОтчетов) +Функция ПроверитьХранилищеВариантовВнешнихОтчетов(Адрес, ИмяХранилищеВариантовОтчетов) Результат = Новый Структура; Результат.Вставить("ТекстОшибки", ""); @@ -197,7 +221,7 @@ Возврат Результат; КонецПопытки; - Хранилище = Метаданные.ХранилищаНастроек.Найти(ХранилищеВариантовОтчетов); + Хранилище = Метаданные.ХранилищаНастроек.Найти(ИмяХранилищеВариантовОтчетов); Результат.ХранилищеУстановлено = (Метаданные.ХранилищеВариантовОтчетов = Хранилище Или ВнешнийОтчет.ХранилищеВариантов = Хранилище); @@ -217,12 +241,19 @@ Результат.Вставить("ТекстСообщения", ""); Результат.Вставить("Пропустить", Ложь); - Если ИсключенияИзПроверок.Получить(ВРег(ИмяОтчета)) <> Неопределено Тогда + Если ИсключенИзПроверок(ВРег(ИмяОтчета)) Тогда ШаблонСообщения = НСтр("ru = 'Объект ""%1"" исключен из проверки.'"); Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ИмяОтчета); Результат.Пропустить = Истина; Возврат Результат; КонецЕсли; + + Если ПропускатьОбъектыСПрефиксомУдалить = Истина И СтрНайти(ВРег(ИмяОтчета), ".УДАЛИТЬ") > 0 Тогда + ШаблонСообшения = НСтр("ru = 'Объект ""%1"" исключен из проверки, префикс ""Удалить""'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообшения, ИмяОтчета); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; Возврат Результат; @@ -238,6 +269,37 @@ КонецФункции +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ОбработатьОтносительныеПути(Знач ОтносительныеПути, КонтекстЯдра) @@ -264,27 +326,35 @@ КонецФункции -&НаСервере +&НаКлиенте Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; КонецФункции &НаКлиенте Функция ВыполнятьТест(КонтекстЯдра) - ВыполнятьТест = Истина; - ПутьНастройки = "Тесты"; - Настройки(КонтекстЯдра, ПутьНастройки); + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); Настройки = Объект.Настройки; Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ВыполнятьТест; КонецЕсли; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Параметры") - И Настройки.Параметры.Свойство(ИмяТеста()) Тогда - ВыполнятьТест = Настройки.Параметры[ИмяТеста()]; + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; КонецЕсли; Возврат ВыполнятьТест; @@ -319,7 +389,7 @@ КонецЕсли; ДлинаПрефикса = СтрДлина(Префикс); - Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), ВРег(Префикс)) > 0; + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; КонецФункции diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 7eb2a7d56..5ec3ea680 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -229,7 +229,7 @@ "Тесты_ПроверкаАвтоРегистрацииПлановОбмена": { - "Используется": true, + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -245,28 +245,10 @@ } }, - - "Тесты_ПроверкаПериодичностиНумерацииДокументов": { - - "Используется": true, - "ВыводитьИсключения": true, - "Префикс": "Префикс", - "ОтборПоПрефиксу": false, - "ПропускатьОбъектыСПрефиксомУдалить": false, - - "ИсключенияИзПроверок":{ - - "Документ": [ - "Документ1" - ] - - } - - }, - + "Тесты_ПереходНаУправляемыеФормы": { - "Используется": true, + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -333,10 +315,28 @@ } }, + + "Тесты_ПроверкаПериодичностиНумерацииДокументов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "Документ": [ + "Документ1" + ] + } + + }, + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный":{ - "Используется": true, + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -353,283 +353,858 @@ } }, + + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "Справочник":[ + "УдалитьСправочник1" + ], + + "РегистрСведений":[ + "УдалитьРегистрСведений1" + ] + } + + }, + + "Тесты_ПроверкаСтандартныхРолей":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "ОсновныеРоли":[ + "ПолныеПрава", + "АдминистраторСистемы" + ], + + "СтандартныеРоли":{ + + "ПолныеПрава":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "МобильныйКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "РегистрацияИнформационнойБазыСистемыВзаимодействия", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов", + "Вывод" + ], + + "АдминистраторСистемы":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "Вывод" + ], + + "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок":[ + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов" + ], + + "Администрирование":[ + "Администрирование", + "АдминистрированиеДанных", + "АктивныеПользователи" + ], + + "ВыводНаПринтерФайлБуферОбмена":[ + "Вывод" + ], + + "ЗапускAutomation":[ + "Automation" + ], + + "ЗапускВебКлиента":[ + "ВебКлиент" + ], + + "ЗапускВнешнегоСоединения":[ + "ВнешнееСоединение" + ], + + "ЗапускТолстогоКлиента":[ + "ТолстыйКлиент" + ], + + "ЗапускТонкогоКлиента":[ + "ТонкийКлиент" + ], + + "ОбновлениеКонфигурацииБазыДанных":[ + "ОбновлениеКонфигурацииБазыДанных" + ], + + "ПросмотрЖурналаРегистрации":[ + "ЖурналРегистрации" + ], + + "РежимВсеФункции":[ + "РежимВсеФункции" + ], + + "СохранениеДанныхПользователя":[ + "СохранениеДанныхПользователя" + ] + + }, + + "ИсключенияИзПроверок":{ + + "Роль":[ + "МояРоль" + ] + } + + }, + + "Тесты_ПроверкаОбщихРеквизитов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ОбщийРеквизит":[ + "ОбщийРеквизит1" + ] + } + }, + + "Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ОбщийМодуль" :[ + "ОбщийМодуль1" + ], + + "ПараметрСеанса" :[ + "ПараметрСеанса1" + ], + + "Роль" :[ + "Роль1" + ], + + "ПланОбмена" :[ + "ПланОбмена1" + ], + + "КритерийОтбора" :[ + "КритерийОтбора1" + ], + + "ПодпискаНаСобытие" :[ + "ПодпискаНаСобытие1" + ], + + "РегламентноеЗадание" :[ + "РегламентноеЗадание1" + ], + + "ФункциональнаяОпция" :[ + "ФункциональнаяОпция1" + ], + + "ПараметрФункциональныхОпций" :[ + "ПараметрФункциональныхОпций1" + ], + + "ОпределяемыйТип" :[ + "ОпределяемыйТип1" + ], + + "ОбщаяФорма" :[ + "ОбщаяФорма1" + ], + + "ОбщаяКоманда" :[ + "ОбщаяКоманда1" + ], + + "ГруппаКоманд" :[ + "ГруппаКоманд1" + ], + + "ОбщийМакет": [ + "ОбщийМакет1" + ], + + "ОбщаяКартинка": [ + "ОбщаяКартинка1" + ], + + "ПакетXDTO": [ + "ПакетXDTO1" + ], + + "WebСервис": [ + "WebСервис1" + ], + + "HTTPСервис": [ + "HTTPСервис1" + ], + + "ЭлементСтиля": [ + "ЭлементСтиля1" + ], + + "Константа": [ + "Константа1" + ], + + "Справочник": [ + "Справочник1" + ], + + "Документ": [ + "Документ1" + ], + + "ЖурналДокументов": [ + "ЖурналДокументов1" + ], + + "Перечисление": [ + "Перечисление1" + ], + + "Отчет": [ + "Отчет1" + ], + + "Обработка": [ + "Обработка1" + ], + + "ПланВидовХарактеристик": [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений": [ + "РегистрСведений1" + ], + + "РегистрНакопления": [ + "РегистрНакопления1" + ], + + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + + "Задача": [ + "ЗадачиПользователя" + ], + + "ВнешнийИсточникДанных": [ + "ВнешнийИсточникДанных1.Таблица.Таблица1" + ] + } + + }, + + "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных": { - "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных": { + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, - "Используется": true, + "ИсключенияИзПроверок":{ + + "ПланОбмена":[ + "ПланОбмена1.Реквизит.Реквизит1" + ], + + "ОбщаяКоманда":[ + "УдалитьНастройкуСинхронизации" + ], + + "ОбщаяКартинка":[ + "ОбщаяКартинка1" + ], + + "Константа":[ + "Константа1" + ], + + "Справочник":[ + "Справочник1.Реквизит.Реквизит1" + ], + + "Документ":[ + "Документ1.Реквизит.Реквизит1" + ], + + "Перечисление":[ + "Перечисление1.ЗначениеПеречисления.НовоеЗначениеПеречисления" + ], + + "РегистрСведений":[ + "РегистрСведений1.Ресурс.Ресурс1" + ], + + "БизнесПроцесс":[ + "БизнесПроцесс1.Реквизит.УдалитьРеквизит1" + ], + + "Задача":[ + "Задача.Реквизит.Реквизит1" + ] + + } + }, + + "Тесты_ПроверкаПравНаЧтениеОбъектов": { + + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Константа" : [ + "Константа1" ], + "Документ" : [ - "ИмяДокумента" + "Документ1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" ] + } + }, - "Тесты": { - "Параметры" : { - "Префикс" : "", - "Подсистема" : "", - "ПропускатьОбъектыСПрефиксомУдалить" : true, - - "Тесты_ПроверкаВключенияНовыхОбъектовСПрефиксомВПодсистему" : true, - "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : true, - "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : true, - "Тесты_ПроверкаОбщихРеквизитов" : true, - "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : true, - "Тесты_ПроверкаОсновныхФормОтчетов" : true, - "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : true, - "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных" : true, - "Тесты_ПроверкаПравКУстаревшимОбъектам" : true, - "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов" : true, - "Тесты_ПроверкаПравНаЧтениеОбъектов" : true, - "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : true, - "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : true, - "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : true, - "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : true, - "Тесты_ПроверкаРегламентныхЗаданий" : true, - "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : true, - "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : true, - "Тесты_ПроверкаСоставныхТиповДанных" : true, - "Тесты_ПроверкаСтандартныхРолей" : true, - "Тесты_ПроверкаУстаревшихТиповДанных" : true, - "Тесты_ПроверкаХранилищаВариантовОтчетов" : true - }, - "Тесты_ПроверкаКаноничностиПрефиксаНовыхОбъектовИРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" : { - "КаталогиВнешнихОтчетов" : [ - "" - ], - "КаталогиВнешнихОбработок" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОбщихРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаОсновныхФормОтчетов" : { - "ОтборПоПрефиксу" : false, - "КаталогиВнешнихОтчетов" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПользовательскихПредставленийНовыхОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравКУстаревшимОбъектамМетданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравНаЧтениеОбъектов" : { - "ОтборПоПрефиксу" : false, - "ПропускатьОбъектыСПрефиксомУдалить" : true, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" : { - "ОбъектыМетаданных" : { - "Справочник" : [ - "" - ], - "Документ" : [ - "" - ] - }, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаПривилегированногоРежимаОбъектов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаРегламентныхЗаданий" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСинонимаНовыхОбъектовИРеквизитов" : { - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных" : { - "ОтборПоПрефиксу" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСоставныхТиповДанных" : { - "ОтборПоПрефиксу" : false, - "НеПроверятьДополнительныеРеквизиты" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаСтандартныхРолей" : { - "ОсновныеРоли" : [ - "ИмяРоли" - ], - "СтандартныеРоли" : { - "ИмяРоли" : [ - "Чтение", - "ЧтениеПросмотр" - ] - }, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаУстаревшихТиповДанных" : { - "ОтборПоПрефиксу" : false, - "НеПроверятьДополнительныеРеквизиты" : false, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } - }, - "Тесты_ПроверкаХранилищаВариантовОтчетов" : { - "ОтборПоПрефиксу" : false, - "ХранилищеВариантовОтчетов" : "", - "КаталогиВнешнихОтчетов" : [ - "" - ], - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" - ] - } + "Тесты_ПроверкаПраваИнтерактивногоУдаления": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов": { + + "Используется": false, + "ПроверятьОсновныеРоли": true + + }, + + "Тесты_ПроверкаСоставныхТиповДанных": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПроверятьДополнительныеРеквизиты": true, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "МойДокумент.ТабличнаяЧасть.МояТабличнаяЧасть.Реквизит.МойРеквизит" + ], + + "ОпределяемыйТип":[ + "ОпределяемыйТип1" + ], + + "ПланОбмена":[ + "МойПланОбмена.Реквизит.Реквизит1" + ], + + "Справочник":[ + "Справочник1.Реквизит.Реквизит1" + ], + + "Константа":[ + "Константа1" + ], + + "РегистрСведений":[ + "МойРегистрСведенй" + ], + + "БизнесПроцесс":[ + "Бизнеспроцесс1" + ] + } + + }, + + "Тесты_ПроверкаРегламентныхЗаданий": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "РегламентноеЗадание":[ + "РегламентноеЗадание1" + ] + } + }, + + "Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + + "ИсключенияИзПроверок":{ + + "РегистрСведений":[ + "РегистрСведений1" + ], + + "РегистрНакопления": [ + "РегистрНакопления1" + ] + + } + }, + + "Тесты_ПроверкаПользовательскихПредставленийОбъектов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "Документ" : [ + "Документ1" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" + ], + + "БизнесПроцесс" : [ + "БизнесПроцесс1" + ], + + "Задача" : [ + "Задача1" + ] + + } + + }, + + "Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + + "ИсключенияИзПроверок":{ + + "ПланОбмена" : [ + "ПланОбмена1" + ], + + "Справочник" : [ + "Справочник1" + ], + + "Документ" : [ + "Документ1" + ], + + "ПланВидовХарактеристик" : [ + "ПланВидовХарактеристик1" + ], + + "РегистрСведений" : [ + "РегистрСведений1" + ], + + "БизнесПроцесс" : [ + "БизнесПроцесс1" + ], + + "Задача" : [ + "Задача1" + ], + + "Перечисление": [ + "Перечисление1" + ] + + } + + }, + + "Тесты_ПроверкаХранилищаВариантовОтчетов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ХранилищеВариантовОтчетов": "ХранилищеВариантовОтчетов", + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + ".\\Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "Отчет":[ + "МойОтчет" + ], + + "ВнешнимйОтчет":[ + "ВнешнийОтчет1" + ] + + } + }, + + "Тесты_ПроверкаОсновныхФормОтчетов":{ + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ПропускатьОбъектыСПрефиксомУдалить": false, + "ФормаОтчета": "ФормаОтчета", + "ФормаНастроек": "ФормаНастроекОтчета", + "ФормаВарианта": "ФормаВариантаОтчета", + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + "Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "Отчет":[ + "МойОтчет" + ], + + "ВнешнимйОтчет":[ + "ВнешнийОтчет1" + ] + + } + + }, + + "Тесты_ПроверкаПривилегированногоРежимаОбъектов": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "*" + ] + } + }, + + "Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств": { + + "Используется": false, + "ВыводитьИсключения": true, + "Префикс": "Префикс", + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + "Перечисление": [ + "*" + ] + } + }, + + "Тесты_ПроверкаПравКУстаревшимОбъектам": { + + "Используется": false, + "ВыводитьИсключения": true, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1" + ], + "БизнесПроцесс": [ + "БизнесПроцесс1" + ], + "Перечисление": [ + "*" + ] + } + }, + + "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "КаталогиВнешнихОтчетов":[ + "Каталог1", + "Каталог2" + ], + + "КаталогиВнешнихОбработок":[ + "Каталог1", + "Каталог2" + ], + + "ИсключенияИзПроверок":{ + + "ВнешнийОтчет":[ + "Каталог1\\ВнешнийОтчет1.erf" + ], + + "ВнешняяОбработка":[ + "Каталог1\\ВнешняяОбработка1.epf" + ] + + } + }, + + "Тесты_ПроверкаПравНаЧтениеОбъектовRLS":{ + + "Используется": false, + "ВыводитьИсключения": true, + + "ОбъектыМетаданных":{ + + "РегистрНакопления": [ + "РегистрНаколпения1" + ], + + "Справочник": [ + "*" + ] + }, + + "ИсключенияИзПроверок":{ + + "РегистрНакопления": [ + "РегистрНаколпения1" + ], + + "Справочник":[ + "*" + ] + + } + }, + + "Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему":{ + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": false, + "Подсистема": "Подсистема1", + + "ИсключенияИзПроверок":{ + + "ОбщийМодуль": [ + "ОбщийМодуль1" + ], + + "Справочник":[ + "*" + ] + + } + }, + + "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах":{ + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": true, + "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json", + + "ИсключенияИзПроверок":{ + + "WebСервис" : [ + "WEBСервис1" + ], + + "ПакетXDTO":[ + "ПакетXDTO1" + ], + + "ПланОбмена":[ + "ПланОбмена" + ], + + "ОбщийМодуль":[ + "*" + ], + + "ПодпискаНаСобытие":[ + "ПодпискаНаСобытиеПриЗаписи1" + ], + + "РегистрСведений":[ + "МойРегистрСведений" + ], + + "Обработка":[ + "МояОбработка" + ], + + "Роль":[ + "ПолныеПрава" + ], + + "ОбщийРеквизит":[ + "МойОбщийРеквизит" + ], + + "Справочник":[ + "МойСправочник" + ] + + } + + }, + + "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов": { + + "Используется": false, + "Префикс": "Префикс", + "ВыводитьИсключения": false, + + "ИсключенияИзПроверок":{ + + "Документ":[ + "Документ1.Реквизит.Реквизит1" + ], + + "Справочник":[ + "справочник1.Команда.Команда1" + ], + + "Перечисление": [ + "*" + ] + + } + + }, + + "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика":{ + + "Используется": false, + "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json" + + }, + + "Тесты_ПроверкаУстаревшихТиповДанных":{ + + "Используется": false, + "Префикс": "Префикс", + "ОтборПоПрефиксу": false, + "ВыводитьИсключения": true, + + "ИсключенияИзПроверок":{ + + "Справочник":[ + "Справочник1" + ], + + "Документ":[ + "Документ1" + ] + } } From 471c0bce7fc4c7f8f8d53440c14aae4bed1fe5bc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 22:05:36 +0300 Subject: [PATCH 230/421] =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=B0=20=D1=87?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D0=A1=D0=BF?= =?UTF-8?q?=D1=80.=D0=B4=D1=82=5F=D0=AD=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D1=8B=D0=A1=D1=85=D0=B5=D0=BC=D0=A0=D0=B0=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\320\240\320\276\320\273\321\2141/Ext/Rights.xml" | 7 +++++++ 1 file changed, 7 insertions(+) diff --git "a/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" "b/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" index 53b2d0f75..78a71e0f5 100644 --- "a/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" +++ "b/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" @@ -827,6 +827,13 @@ false + + Catalog.дт_ЭлементыСхемРазмещения + + Read + true + + Document.Документ2 From 72e40a3bb40a8c23985720e7c6a2772eaf99c774 Mon Sep 17 00:00:00 2001 From: hpa Date: Fri, 16 Apr 2021 12:14:51 +0300 Subject: [PATCH 231/421] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=20=D1=81=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D0=B5=D0=BC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2\320\272\321\200\321\213\321\202\321\214TestClient.feature" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/libraries/UITestRunner/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient.feature" "b/features/libraries/UITestRunner/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient.feature" index ba6051a61..ed551b6ea 100644 --- "a/features/libraries/UITestRunner/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient.feature" +++ "b/features/libraries/UITestRunner/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient.feature" @@ -27,7 +27,7 @@ @Описание: Подсценарий. Запускается новый тест-клиент (TestClient), если необходимо, с нужным логином и паролем и в нем закрываются все окна. Запуск в той же базе, в которой запущен TestManager. @ПримерИспользования: Дано Я запускаю тест-клиент для пользователя "ИмяПользователя" с паролем "ПарольПользователя" Сценарий: Я запускаю тест-клиент для пользователя "ИмяПользователя" с паролем "ПарольПользователя" или подключаю уже существующий - Дано Я открыл сеанс TestClient от имени "ИмяПользователя" с паролем "" или подключаю уже существующий + Дано Я открыл сеанс TestClient от имени "ИмяПользователя" с паролем "ПарольПользователя" или подключаю уже существующий И Я закрыл все окна клиентского приложения Сценарий: Я открываю и закрываю TestClient From aeeb1a3283c126d8085774f95c0f6cb7538a053a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 22 Apr 2021 19:57:39 +0300 Subject: [PATCH 232/421] =?UTF-8?q?=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20?= =?UTF-8?q?runner=20=D1=8F=D0=B2=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=D1=8E=20=D0=B2=D0=B0=D0=BD=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=B0-=D1=80=D0=B0=D0=BD=D0=BD=D0=B5=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tasks/init.os | 156 +++++++++++++++++++++++++------------------------- 1 file changed, 77 insertions(+), 79 deletions(-) diff --git a/tasks/init.os b/tasks/init.os index b33e03d23..2fba1c748 100644 --- a/tasks/init.os +++ b/tasks/init.os @@ -19,61 +19,61 @@ ВозможныеКоманды = Новый Структура("file, server", "file", "server"); - ПарсерАргументовКоманднойСтроки = Новый ПарсерАргументовКоманднойСтроки(); - - Исходники.УстановитьПараметрыСборкиРазборкиДляКоманднойСтроки(ПарсерАргументовКоманднойСтроки); - - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметр("--v8version", "Версия платформы", Истина); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметр(Исходники.КлючКаталогБинарныхФайлов(), "Каталог сборки исходников"); - - ОписаниеКоманды = ПарсерАргументовКоманднойСтроки.ОписаниеКоманды(ВозможныеКоманды.file); - ПарсерАргументовКоманднойСтроки.ДобавитьКоманду(ОписаниеКоманды); - - ОписаниеКоманды1 = ПарсерАргументовКоманднойСтроки.ОписаниеКоманды(ВозможныеКоманды.server); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvr", "Сервер 1С" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvrport", "Порт сервера 1С" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvrproto", "Протокол, TCP" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--ref", "Имя базы на сервере 1C" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbms", "Тип базы данных [MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase]" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbsrvr", "Сервера SQL" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbname", "Имя базы на сервере SQL, по умолчанию равно --ref" ); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbuid", "Имя пользователя базы данных"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbpwd", "Пароль пользователя"); + Парсер = Новый ПарсерАргументовКоманднойСтроки(); + + Исходники.УстановитьПараметрыСборкиРазборкиДляКоманднойСтроки(Парсер); + + Парсер.ДобавитьИменованныйПараметр("--v8version", "Версия платформы", Истина); + Парсер.ДобавитьИменованныйПараметр(Исходники.КлючКаталогБинарныхФайлов(), "Каталог сборки исходников"); + + ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды.file); + Парсер.ДобавитьКоманду(ОписаниеКоманды); + + ОписаниеКоманды1 = Парсер.ОписаниеКоманды(ВозможныеКоманды.server); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvr", "Сервер 1С" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvrport", "Порт сервера 1С" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--srvrproto", "Протокол, TCP" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--ref", "Имя базы на сервере 1C" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbms", "Тип базы данных [MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase]" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbsrvr", "Сервера SQL" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbname", "Имя базы на сервере SQL, по умолчанию равно --ref" ); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbuid", "Имя пользователя базы данных"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--dbpwd", "Пароль пользователя"); // SQLYOffs - нафиг этот прошлый век, такой параметр неправильным даже поддерживать не будем. - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--locale", "язык (страна)"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--crsqldb", "создать базу в случаии ее ее отсутствия [Y|N], по умолчанию Y"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--schjobdn", "Запретить выполнение регламентных созданий (Y/N). Значение по умолчанию — Y"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--susr", "имя администратора кластера"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--spwd", "пароль администратора кластера"); - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--licdstr", "разрешить получение клиентских лицензий через сервер Y|N, default Y"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--locale", "язык (страна)"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--crsqldb", "создать базу в случаии ее ее отсутствия [Y|N], по умолчанию Y"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--schjobdn", "Запретить выполнение регламентных созданий (Y/N). Значение по умолчанию - Y"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--susr", "имя администратора кластера"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--spwd", "пароль администратора кластера"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--licdstr", "разрешить получение клиентских лицензий через сервер Y|N, default Y"); //LicDstr //Zn - ПарсерАргументовКоманднойСтроки.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--zn", "Разделители. "); - ПарсерАргументовКоманднойСтроки.ДобавитьКоманду(ОписаниеКоманды1); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--zn", "Разделители. "); + Парсер.ДобавитьКоманду(ОписаниеКоманды1); - Аргументы = ПарсерАргументовКоманднойСтроки.РазобратьКоманду(АргументыКоманднойСтроки); + Аргументы = Парсер.РазобратьКоманду(АргументыКоманднойСтроки); Если Аргументы = Неопределено Тогда - ЗначенияПараметров = ПарсерАргументовКоманднойСтроки.Разобрать(АргументыКоманднойСтроки); + ЗначенияПараметров = Парсер.Разобрать(АргументыКоманднойСтроки); Аргументы = Новый Структура("Команда, ЗначенияПараметров", "file", ЗначенияПараметров); КонецЕсли; + КомандаИзАргументов = Аргументы.Команда; ВерсияПлатформы = ?(Аргументы.ЗначенияПараметров["--v8version"] = Неопределено, "8.3.10", Аргументы.ЗначенияПараметров["--v8version"] ); СтрокаПодключения = ""; - Лог.Информация("Получили команду %1", Аргументы.Команда); + Лог.Информация("Получили команду %1", КомандаИзАргументов); Лог.Информация("Версия платформы %1", ВерсияПлатформы); ОписаниеСборкиРазборки = Исходники.ОписаниеСборкиРазборки(Аргументы.ЗначенияПараметров, Лог); Бинарники1СХранятсяРядомСИсходниками = ОписаниеСборкиРазборки.Бинарники1СХранятсяРядомСИсходниками; - // ИмяКаталогаСборки = ?(Бинарники1СХранятсяРядомСИсходниками, "", ОписаниеСборкиРазборки.ПутьКаталогаСборки); ИмяКаталогаСборки = ОписаниеСборкиРазборки.ПутьКаталогаСборки; КаталогСборки = ?(Бинарники1СХранятсяРядомСИсходниками, "", СтрШаблон("./%1", ИмяКаталогаСборки)); - ИмяФайлаНастройки = СтрШаблон("./tools/JSON/env.json.%1.build", Аргументы.Команда); + ИмяФайлаНастройки = СтрШаблон("./tools/JSON/env.json.%1.build", КомандаИзАргументов); НастройкиОкружения.СкопироватьЗаполнитьШаблон(ИмяФайлаНастройки, КаталогСборки); СоздатьКаталог("./build/ServiceBases/allurereport/"); @@ -90,13 +90,13 @@ СоздатьКаталог("./build/junit-smoke-ordinaryapp"); СоздатьКаталог("./build/junit-tdd-ordinaryapp"); - Если Аргументы.Команда = ВозможныеКоманды.file Тогда + Если КомандаИзАргументов = ВозможныеКоманды.file Тогда Лог.Информация("Создание основной файловой базы - runner init-dev"); СтрокаПодключения = "/F./build/ib"; - ИначеЕсли Аргументы.Команда = ВозможныеКоманды.server Тогда + ИначеЕсли КомандаИзАргументов = ВозможныеКоманды.server Тогда Лог.Информация("Создание основной базы сервер - runner init-dev"); ЗапуститьСозданиеСервернойБазы(Аргументы.ЗначенияПараметров); @@ -104,36 +104,35 @@ СтрокаПодключения = СтрШаблон("/S%1:%2/%3", Аргументы.ЗначенияПараметров["--srvr"], Строка(Аргументы.ЗначенияПараметров["--srvrport"]), Строка(Аргументы.ЗначенияПараметров["--ref"])); - + Иначе + ВызватьИсключение "Неизвестная команда " + КомандаИзАргументов; КонецЕсли; НастройкиОкружения.ЗаписатьВНастройкиПараметры(СтрокаПодключения, ВерсияПлатформы); - СтрокаВыполнения = "runner init-dev --src ./lib/CF/83NoSync --ibconnection " + СтрокаПодключения; + СтрокаВыполнения = "vrunner init-dev --src ./lib/CF/83NoSync --ibconnection " + СтрокаПодключения; ИсполнитьКоманду(СтрокаВыполнения); - СтрокаВыполнения = "runner init-dev --dev --src ./lib/CF/83NoSync --ibconnection /F./build/ibservice --nocacheuse"; + СтрокаВыполнения = "vrunner init-dev --dev --src ./lib/CF/83NoSync --ibconnection /F./build/ibservice --nocacheuse"; ИсполнитьКоманду(СтрокаВыполнения); - СтрокаВыполнения = "runner init-dev --src ./lib/CF/83xddNoSync --ibconnection /F./build/ibservicexdd --nocacheuse"; + СтрокаВыполнения = "vrunner init-dev --src ./lib/CF/83xddNoSync --ibconnection /F./build/ibservicexdd --nocacheuse"; ИсполнитьКоманду(СтрокаВыполнения); Если НЕ Новый Файл("./build/1Cv8.cf").Существует() Тогда - ИсполнитьКоманду("runner unload ./build/1Cv8.cf --ibconnection /F./build/ibservice"); - // ИсполнитьКоманду("runner compile"); + ИсполнитьКоманду("vrunner unload ./build/1Cv8.cf --ibconnection /F./build/ibservice"); Иначе Лог.Информация("./build/1Cv8.cf существует, пропускаем компиляцию"); КонецЕсли; - УстановитьПеременнуюСреды("RUNNER_DBUSER", " "); - УстановитьПеременнуюСреды("RUNNER_DBPWD", " "); + УстановитьПеременнуюСреды("vRUNNER_DBUSER", " "); + УстановитьПеременнуюСреды("vRUNNER_DBPWD", " "); - СтрокаЗапуска = "runner updatedb --uccode test"; + СтрокаЗапуска = "vrunner updatedb --uccode test"; ИсполнитьКоманду(СтрокаЗапуска); Если Не Бинарники1СХранятсяРядомСИсходниками Тогда - //СоздатьКаталог("./build/epf"); СоздатьКаталог(СтрШаблон("%1features", КаталогСборки)); СоздатьКаталог(СтрШаблон("%1tools", КаталогСборки)); СоздатьКаталог(СтрШаблон("%1lib", КаталогСборки)); @@ -145,29 +144,29 @@ СоздатьКаталог(СтрШаблон("%1/vanessa-add", КаталогВременныхФайлов())); - СтрокаЗапуска = СтрШаблон("oscript ./tools/runner.os compileepf ./tools %1tools --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./tools %1tools --ibname /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("runner run --command VBParams=./tools/epf/init.json --execute %1tools/epf/init.epf", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner run --command VBParams=./tools/epf/init.json --execute %1tools/epf/init.epf", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = "runner run --command СоздатьАдминистратора --ibconnection /F./build/ibservicexdd"; + СтрокаЗапуска = "vrunner run --command СоздатьАдминистратора --ibconnection /F./build/ibservicexdd"; ИсполнитьКоманду(СтрокаЗапуска); СтрокаЗапуска = Исходники.СтрокаЗапускаКомандыСборки(Бинарники1СХранятсяРядомСИсходниками, ИмяКаталогаСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("oscript ./tools/runner.os compileepf ./lib %1lib --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib %1lib --ibname /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); Если НЕ Бинарники1СХранятсяРядомСИсходниками Тогда - СтрокаЗапуска = СтрШаблон("oscript ./tools/runner.os compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibname /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("oscript ./tools/runner.os compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibname /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("oscript ./tools/runner.os compileepf ./locales %1locales --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./locales %1locales --onlycopy --ibname /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); КонецЕсли; @@ -180,24 +179,24 @@ СИ = Новый СистемнаяИнформация; СоответствиеПеременных = Новый Соответствие(); - СоответствиеПеременных.Вставить("RUNNER_srvr", "--srvr"); - СоответствиеПеременных.Вставить("RUNNER_srvrport", "--srvrport"); - СоответствиеПеременных.Вставить("RUNNER_srvrproto", "--srvrproto"); - СоответствиеПеременных.Вставить("RUNNER_ref", "--ref"); - СоответствиеПеременных.Вставить("RUNNER_dbms", "--dbms"); - СоответствиеПеременных.Вставить("RUNNER_dbsrvr", "--dbsrvr"); - СоответствиеПеременных.Вставить("RUNNER_dbname", "--dbname"); - СоответствиеПеременных.Вставить("RUNNER_dbuid", "--dbuid"); - СоответствиеПеременных.Вставить("RUNNER_dbpwd", "--dbpwd"); - СоответствиеПеременных.Вставить("RUNNER_locale", "--locale"); - СоответствиеПеременных.Вставить("RUNNER_crsqldb", "--crsqldb"); - СоответствиеПеременных.Вставить("RUNNER_schjobdn", "--schjobdn"); - СоответствиеПеременных.Вставить("RUNNER_susr", "--susr"); - СоответствиеПеременных.Вставить("RUNNER_spwd", "--spwd"); - СоответствиеПеременных.Вставить("RUNNER_licdstr", "--licdstr"); - СоответствиеПеременных.Вставить("RUNNER_zn", "--zn"); - - ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tools", "runner.os"), "runner"); + СоответствиеПеременных.Вставить("vRUNNER_srvr", "--srvr"); + СоответствиеПеременных.Вставить("vRUNNER_srvrport", "--srvrport"); + СоответствиеПеременных.Вставить("vRUNNER_srvrproto", "--srvrproto"); + СоответствиеПеременных.Вставить("vRUNNER_ref", "--ref"); + СоответствиеПеременных.Вставить("vRUNNER_dbms", "--dbms"); + СоответствиеПеременных.Вставить("vRUNNER_dbsrvr", "--dbsrvr"); + СоответствиеПеременных.Вставить("vRUNNER_dbname", "--dbname"); + СоответствиеПеременных.Вставить("vRUNNER_dbuid", "--dbuid"); + СоответствиеПеременных.Вставить("vRUNNER_dbpwd", "--dbpwd"); + СоответствиеПеременных.Вставить("vRUNNER_locale", "--locale"); + СоответствиеПеременных.Вставить("vRUNNER_crsqldb", "--crsqldb"); + СоответствиеПеременных.Вставить("vRUNNER_schjobdn", "--schjobdn"); + СоответствиеПеременных.Вставить("vRUNNER_susr", "--susr"); + СоответствиеПеременных.Вставить("vRUNNER_spwd", "--spwd"); + СоответствиеПеременных.Вставить("vRUNNER_licdstr", "--licdstr"); + СоответствиеПеременных.Вставить("vRUNNER_zn", "--zn"); + + ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "..", "tools", "vrunner.os"), "vrunner"); runner = Новый runner(); runner.ДополнитьАргументыИзПеременныхОкружения(Параметры, СоответствиеПеременных); @@ -286,28 +285,26 @@ runner.ОпределитьПараметрыРаботы(Аргументы); Конфигуратор = Новый УправлениеКонфигуратором(); - //Логирование.ПолучитьЛог("oscript.lib.v8runner").УстановитьУровень(Лог.Уровень()); ВерсияПлатформы = Аргументы.ЗначенияПараметров["--v8version"]; Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда - Лог.Отладка("ИнициализацироватьБазуДанных ВерсияПлатформы:"+ВерсияПлатформы); + Лог.Отладка("ИнициализацироватьБазуДанных ВерсияПлатформы:" + ВерсияПлатформы); Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); КонецЕсли; ПараметрыЗапуска = Новый Массив; ПараметрыЗапуска.Добавить("CREATEINFOBASE"); - //Лог.Отладка(СтрокаСозданияБазы); Если НЕ ЭтоWindows Тогда - СтрокаСозданияБазы = """"+СтрокаСозданияБазы+""""; + СтрокаСозданияБазы = """" + СтрокаСозданияБазы + """"; СтрокаСозданияБазы = СтрЗаменить(СтрокаСозданияБазы, """", "\"""); СтрокаСозданияБазы = СтрЗаменить(СтрокаСозданияБазы, ";", "\;"); КонецЕсли; Лог.Отладка(СтрокаСозданияБазы); ПараметрыЗапуска.Добавить(СтрокаСозданияБазы); - ПараметрыЗапуска.Добавить("/L"+Параметры["--locale"]); - ПараметрыЗапуска.Добавить("/Out""" +Конфигуратор.ФайлИнформации() + """"); + ПараметрыЗапуска.Добавить("/L" + Параметры["--locale"]); + ПараметрыЗапуска.Добавить("/Out""" + Конфигуратор.ФайлИнформации() + """"); СтрокаЗапуска = ""; СтрокаДляЛога = ""; @@ -320,7 +317,7 @@ Если Найти(Приложение, " ") > 0 Тогда Приложение = runner.ОбернутьПутьВКавычки(Приложение); КонецЕсли; - СтрокаЗапуска = Приложение + " "+СтрокаЗапуска; + СтрокаЗапуска = Приложение + " " + СтрокаЗапуска; Сообщить(СтрокаЗапуска); ЗаписьXML = Новый ЗаписьXML(); @@ -341,6 +338,7 @@ Попытка УдалитьФайлы(Конфигуратор.ФайлИнформации()); Исключение + Лог.Отладка("Не удалось удалить служебный файл от 1С " + Конфигуратор.ФайлИнформации()); КонецПопытки; Параметры = Аргументы.ЗначенияПараметров; @@ -360,13 +358,13 @@ КонецЕсли; Лог.Отладка("файл информации: - |"+Текст); + |" + Текст); Возврат Текст; КонецФункции -Функция ЗначениеПоУмолчанию(value, defValue="") +Функция ЗначениеПоУмолчанию(value, defValue = "") res = ?( ЗначениеЗаполнено(value), value, defValue); Возврат res; КонецФункции From c1a9c6186c294bb948b29ec425bff00ba58efdc5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 22 Apr 2021 19:57:45 +0300 Subject: [PATCH 233/421] =?UTF-8?q?=D0=B2=D1=8B=D0=BD=D0=B5=D1=81=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B8=D0=B5=20=D1=83=D1=81=D0=BB=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitlab-ci.yml | 57 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1cfacc31a..6fb1a28e8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,10 @@ +.only_develop: &only_develop + only: + refs: + - develop + # changes: + # - src/config/VERSION + variables: CI_VRUNNER_SETTINGS: "--settings ./tools/JSON/gitlab-ci-env.json" EPF_CACHE_PATH: E:\vanessa-add-artifacts\develop @@ -40,8 +47,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -52,6 +59,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Восстановление epf-файлов: @@ -71,8 +79,8 @@ stages: - .\build\cache.json - .\**\*.epf only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -83,6 +91,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Сборка файлов: stage: Подготовка @@ -111,8 +120,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -123,6 +132,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Сохранение epf-файлов: @@ -137,8 +147,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -149,6 +159,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Сборка пакета: stage: Сборка пакета @@ -166,8 +177,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -178,6 +189,7 @@ stages: - tools/**/* # - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Сохранение epf-файлов для сборки пакета: @@ -193,8 +205,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -205,6 +217,7 @@ stages: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Модульные тесты: stage: Тестирование @@ -226,8 +239,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -238,6 +251,7 @@ stages: - tools/**/* # - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Дымовые тесты: stage: Тестирование @@ -259,8 +273,8 @@ stages: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/xdd*/**/* # - lib/**/* @@ -271,6 +285,7 @@ stages: - tools/**/* # - vendor/**/* - .gitlab-ci.yml + <<: *only_develop BDD тестирование (библиотеки): stage: Тестирование @@ -292,8 +307,8 @@ BDD тестирование (библиотеки): tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/bdd*/**/* - lib/**/* @@ -304,6 +319,7 @@ BDD тестирование (библиотеки): - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop Allure: @@ -323,8 +339,8 @@ Allure: tags: - vanessa-add only: - refs: - - develop + # refs: + # - develop changes: - epf/**/* - lib/**/* @@ -335,3 +351,4 @@ Allure: - tools/**/* - vendor/**/* - .gitlab-ci.yml + <<: *only_develop From 7ef332d8e3fce7d0d04a80e731ffd87f45a7b081 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 22 Apr 2021 20:44:36 +0300 Subject: [PATCH 234/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=BE=D0=B9=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit продолжение #801 --- .../Ext/ObjectModule.bsl" | 5 ++-- .../Ext/Form/Module.bsl" | 9 +++---- .../Ext/ObjectModule.bsl" | 27 ++++++++++--------- .../Ext/Form/Module.bsl" | 26 +++++++++++------- 4 files changed, 39 insertions(+), 28 deletions(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 85ab722e7..0aa613194 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -99,8 +99,9 @@ // // Пример: // Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); -// РезультатПроверки = ЕстьНастройка("Ключ1.Ключ2.Ключ3", ВремЗнач); -// В результате получим ВремЗнач == 42 +// Настройки.ДобавитьНастройки(Структура); +// РезультатПроверки = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3"); +// В результате получим Истина // //&НаКлиенте Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 78eb3d7fe..019bb1136 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -112,11 +112,10 @@ // Булево - Истина, если ключ/путь найден, иначе Ложь // // Пример: -// Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); -// Настройки.ЗагрузитьНастройки(Структура); -// ЗначениеНастройки = Неопределено; -// РезультатПроверки = ЕстьНастройка("Ключ1.Ключ2.Ключ3", ЗначениеНастройки); -// В результате получим ВремЗнач == Структура("Ключ3", 42) +// Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); +// Настройки.ДобавитьНастройки(Структура); +// РезультатПроверки = Настройки.ЕстьНастройка("Ключ1.Ключ2.Ключ3"); +// В результате получим Истина // &НаКлиенте Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 8c8af4056..6f32041b5 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -40,8 +40,7 @@ НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что пустая структура, но это не так!") - .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(0); + .ИмеетТип("ФиксированнаяСтруктура"); КонецПроцедуры @@ -49,11 +48,14 @@ Настройки.Обновить(); + НастройкиДо = Настройки.ПолучитьНастройки(); + КоличествоДо = НастройкиДо.Количество(); + Настройки.ДобавитьНастройку("Ключ99", 99); НастройкиДанные = Настройки.ПолучитьНастройки(); - Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках один элемент, но это не так.") + Ожидаем.Что(НастройкиДанные, "Ожидали, что в настройки добавился один элемент, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(1); + .ИмеетДлину(КоличествоДо + 1); КонецПроцедуры @@ -62,27 +64,25 @@ Настройки.Обновить(); НастройкиДанные = Настройки.ПолучитьНастройки(); - Ожидаем.Что(НастройкиДанные, "Ожидали, что после обновления настроек они не содержат элементов, но это не так.") - .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(0); + КоличествоДо = НастройкиДанные.Количество(); Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках три элемента, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); Настройки.ДобавитьНастройки(Новый Структура()); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления пустых настроек текущие настройки не изменятся, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); Настройки.ДобавитьНастройки("abc"); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления некорректных настроек текущие настройки не изменятся, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); КонецПроцедуры @@ -173,7 +173,7 @@ Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") .ЭтоИстина(); Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ3.Ключ32 значение настройки НЕ Структура, но это не так") - .Не_().ИмеетТип("Структура"); + .ЭтоНе().ИмеетТип("Структура"); КонецПроцедуры @@ -200,6 +200,9 @@ Настройки.Обновить(); + НастройкиДанные = Настройки.ПолучитьНастройки(); + КоличествоДо = НастройкиДанные.Количество(); + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); Настройки.ДобавитьНастройки(Структура); @@ -209,7 +212,7 @@ .ЭтоИстина(); Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 значение это структура, размером 1, но это не так") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(1); + .ИмеетДлину(КоличествоДо + 1); КонецПроцедуры diff --git "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c7ed44bcd..0696bacc3 100644 --- "a/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Plugins/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\242\320\265\321\201\321\202\321\213_\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -47,8 +47,7 @@ НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что пустая структура, но это не так!") - .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(0); + .ИмеетТип("ФиксированнаяСтруктура"); КонецПроцедуры @@ -57,11 +56,14 @@ Настройки.Обновить(); + НастройкиДо = Настройки.ПолучитьНастройки(); + КоличествоДо = НастройкиДо.Количество(); + Настройки.ДобавитьНастройку("Ключ99", 99); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках один элемент, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(1); + .ИмеетДлину(КоличествоДо + 1); КонецПроцедуры @@ -70,28 +72,31 @@ Настройки.Обновить(); + НастройкиДанные = Настройки.ПолучитьНастройки(); + КоличествоДо = НастройкиДанные.Количество(); + НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после обновления настроек они не содержат элементов, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(0); + .ИмеетДлину(КоличествоДо + 0); Настройки.ДобавитьНастройки(НастройкиДанныеКакСтруктура()); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления в настройках три элемента, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); Настройки.ДобавитьНастройки(Новый Структура()); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления пустых настроек текущие настройки не изменятся, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); Настройки.ДобавитьНастройки("abc"); НастройкиДанные = Настройки.ПолучитьНастройки(); Ожидаем.Что(НастройкиДанные, "Ожидали, что после добавления некорректных настроек текущие настройки не изменятся, но это не так.") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(3); + .ИмеетДлину(КоличествоДо + 3); КонецПроцедуры @@ -184,7 +189,7 @@ Ожидаем.Что(бЕстьНастройка, "Ожидали, что для пути Ключ3.Ключ32 будет найдена настройка, но это не так!") .ЭтоИстина(); Ожидаем.Что(ЗначениеНастройки, "Ожидали, что метод работает неправильно и для пути Ключ3.Ключ32 значение настройки НЕ Структура, но это не так") - .Не_().ИмеетТип("Структура"); + .ЭтоНе().ИмеетТип("Структура"); КонецПроцедуры @@ -213,6 +218,9 @@ Настройки.Обновить(); + НастройкиДанные = Настройки.ПолучитьНастройки(); + КоличествоДо = НастройкиДанные.Количество(); + Структура = Новый Структура("Ключ1", Новый Структура("Ключ2", Новый Структура("Ключ3", 42))); Настройки.ДобавитьНастройки(Структура); @@ -222,7 +230,7 @@ .ЭтоИстина(); Ожидаем.Что(ЗначениеНастройки, "Ожидали, что для ключа Ключ1.Ключ2.Ключ3 значение это структура, кразмером 1, но это не так") .ИмеетТип("ФиксированнаяСтруктура") - .ИмеетДлину(1); + .ИмеетДлину(КоличествоДо + 1); КонецПроцедуры From bde70bf5a7ca31c6e849020cd9ac94a64b937849 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 9 Apr 2021 14:59:51 +0300 Subject: [PATCH 235/421] =?UTF-8?q?=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D1=81=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20?= =?UTF-8?q?=D0=B2=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B5=20=D0=BD=D0=B0=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B7=D0=B0=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 60 ++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 5ec3ea680..1b1afa9f9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -229,7 +229,7 @@ "Тесты_ПроверкаАвтоРегистрацииПлановОбмена": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -248,7 +248,7 @@ "Тесты_ПереходНаУправляемыеФормы": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -318,7 +318,7 @@ "Тесты_ПроверкаПериодичностиНумерацииДокументов": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -336,7 +336,7 @@ "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -356,7 +356,7 @@ "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -376,7 +376,7 @@ "Тесты_ПроверкаСтандартныхРолей":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "ОсновныеРоли":[ @@ -490,7 +490,7 @@ "Тесты_ПроверкаОбщихРеквизитов": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -505,7 +505,7 @@ "Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -645,7 +645,7 @@ "Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -697,7 +697,7 @@ "Тесты_ПроверкаПравНаЧтениеОбъектов": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -731,28 +731,28 @@ "Тесты_ПроверкаПраваИнтерактивногоУдаления": { - "Используется": false, + "Используется": true, "ПроверятьОсновныеРоли": true }, "Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных": { - "Используется": false, + "Используется": true, "ПроверятьОсновныеРоли": true }, "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов": { - "Используется": false, + "Используется": true, "ПроверятьОсновныеРоли": true }, "Тесты_ПроверкаСоставныхТиповДанных": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -794,7 +794,7 @@ "Тесты_ПроверкаРегламентныхЗаданий": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -809,7 +809,7 @@ "Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -830,7 +830,7 @@ "Тесты_ПроверкаПользовательскихПредставленийОбъектов":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -871,7 +871,7 @@ "Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", @@ -915,7 +915,7 @@ "Тесты_ПроверкаХранилищаВариантовОтчетов":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -942,7 +942,7 @@ "Тесты_ПроверкаОсновныхФормОтчетов":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -972,7 +972,7 @@ "Тесты_ПроверкаПривилегированногоРежимаОбъектов": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, @@ -990,7 +990,7 @@ "Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", @@ -1010,7 +1010,7 @@ "Тесты_ПроверкаПравКУстаревшимОбъектам": { - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "ИсключенияИзПроверок":{ @@ -1029,7 +1029,7 @@ "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "КаталогиВнешнихОтчетов":[ @@ -1057,7 +1057,7 @@ "Тесты_ПроверкаПравНаЧтениеОбъектовRLS":{ - "Используется": false, + "Используется": true, "ВыводитьИсключения": true, "ОбъектыМетаданных":{ @@ -1086,7 +1086,7 @@ "Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему":{ - "Используется": false, + "Используется": true, "Префикс": "Префикс", "ВыводитьИсключения": false, "Подсистема": "Подсистема1", @@ -1106,7 +1106,7 @@ "Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах":{ - "Используется": false, + "Используется": true, "Префикс": "Префикс", "ВыводитьИсключения": true, "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json", @@ -1159,7 +1159,7 @@ "Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов": { - "Используется": false, + "Используется": true, "Префикс": "Префикс", "ВыводитьИсключения": false, @@ -1183,14 +1183,14 @@ "Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика":{ - "Используется": false, + "Используется": true, "КонфигурацияПоставщика": ".\\SmokeTestsParams\\providerConfiguration.json" }, "Тесты_ПроверкаУстаревшихТиповДанных":{ - "Используется": false, + "Используется": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, "ВыводитьИсключения": true, From f52436af0218837dce30f6bbb27210caf081e424 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 22 Apr 2021 22:11:15 +0300 Subject: [PATCH 236/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/vrunner.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/JSON/vrunner.json b/tools/JSON/vrunner.json index d4cc1248d..327d3231c 100644 --- a/tools/JSON/vrunner.json +++ b/tools/JSON/vrunner.json @@ -40,7 +40,7 @@ "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure/allure.xml}", "--xddExitCodePath": "./build/xddExitCodePath.txt", "--pathxunit": "./xddTestRunner.epf", - "--testclient" : "::47003", + "--testclient" : "Admin::47003", "--testclient-additional" : "/iTaxi" // "--testclient-additional" : "/Debug /DebuggerURL tcp://localhost:1561" // "--testclient-additional" : "/debug -http -attach /debuggerURL http://127.0.0.1:2550" From 49744076d01a41a61aed0a4023ba56e317ccca7f Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Wed, 19 May 2021 19:39:16 +0300 Subject: [PATCH 237/421] =?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=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=89=D0=B8=D1=85=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5?= =?UTF-8?q?=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 58 +++++++++++++++---- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9b9d2a8e8..aa17b40ed 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -988,18 +988,29 @@ Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов, МассивСообщений) ОбъектНаСервере = ЭтотОбъектНаСервере(); - Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда - ЭтоОтчет = (Метаданные.Отчеты.Найти(ОписаниеКонтекста.Идентификатор) <> Неопределено); + Если ОписаниеКонтекста.ЭтоОбщийМодуль Тогда + + УстановитьБезопасныйРежим(Истина); + КонтекстВыполнения = Вычислить(ОписаниеКонтекста.Идентификатор); + УстановитьБезопасныйРежим(Ложь); + Иначе - ФайлОбработки = Новый Файл(ЭлементДереваТестов.Путь); - ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = ".erf"); - КонецЕсли; + + Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда + ЭтоОтчет = (Метаданные.Отчеты.Найти(ОписаниеКонтекста.Идентификатор) <> Неопределено); + Иначе + ФайлОбработки = Новый Файл(ЭлементДереваТестов.Путь); + ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = ".erf"); + КонецЕсли; - КонтекстВыполнения = СоздатьОбъектПлагина(ОписаниеКонтекста.Идентификатор, ОписаниеКонтекста.ЭтоВнутренняяОбработка, ЭтоОтчет); - КонтекстВыполнения.Инициализация(ОбъектНаСервере); + КонтекстВыполнения = СоздатьОбъектПлагина(ОписаниеКонтекста.Идентификатор, + ОписаниеКонтекста.ЭтоВнутренняяОбработка, ЭтоОтчет); + КонтекстВыполнения.Инициализация(ОбъектНаСервере); - // Заполняем служебные поля, если они имеются - ЗаполнитьСвойствоПриНаличии(КонтекстВыполнения, "ПутьКФайлуПолный", ЭлементДереваТестов.Путь); + // Заполняем служебные поля, если они имеются + ЗаполнитьСвойствоПриНаличии(КонтекстВыполнения, "ПутьКФайлуПолный", ЭлементДереваТестов.Путь); + + КонецЕсли; РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); @@ -2021,9 +2032,36 @@ &НаКлиенте Функция ПолучитьОписаниеКонтекстаВыполнения(Знач Идентификатор, Знач ЭтоВнутренняяОбработка = Ложь) Экспорт - ОписаниеКонтекстаВыполнения = Новый Структура("Идентификатор, ЭтоВнутренняяОбработка", Идентификатор, ЭтоВнутренняяОбработка); + + ОписаниеКонтекстаВыполнения = НовоеОписаниеКонтекстаВыполнения(); + ОписаниеКонтекстаВыполнения.Идентификатор = Идентификатор; + ОписаниеКонтекстаВыполнения.ЭтоВнутренняяОбработка = ЭтоВнутренняяОбработка; + + Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); + +КонецФункции +&НаКлиенте +Функция НовыйКонтекстВыполненияОбщегоМодуля(Знач Идентификатор) Экспорт + + ОписаниеКонтекстаВыполнения = НовоеОписаниеКонтекстаВыполнения(); + ОписаниеКонтекстаВыполнения.Идентификатор = Идентификатор; + ОписаниеКонтекстаВыполнения.ЭтоОбщийМодуль = Истина; + Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); + +КонецФункции + +&НаКлиенте +Функция НовоеОписаниеКонтекстаВыполнения() + + ОписаниеКонтекста = Новый Структура(); + ОписаниеКонтекста.Вставить("Идентификатор", ""); + ОписаниеКонтекста.Вставить("ЭтоВнутренняяОбработка", Ложь); + ОписаниеКонтекста.Вставить("ЭтоОбщийМодуль", Ложь); + + Возврат ОписаниеКонтекста; + КонецФункции &НаСервере From 406b3e68a291f6eeec4d5837efe4e0c173b3886b Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Wed, 19 May 2021 19:39:55 +0300 Subject: [PATCH 238/421] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD-=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D1=87=D0=B8=D0=BA=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2=20=D0=B8=D0=B7=20=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\200\320\265\320\275\320\270\321\217.xml" | 96 ++++ .../Ext/ObjectModule.bsl" | 310 +++++++++++++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 + .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 414 ++++++++++++++++++ 5 files changed, 854 insertions(+) create mode 100644 "plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" create mode 100644 "plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" create mode 100644 "plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" new file mode 100644 index 000000000..9c469f634 --- /dev/null +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" @@ -0,0 +1,96 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 164551e6-0f13-4b3e-a46e-e4fa9c3cbaf5 + + + 1dac4306-44c0-4c64-bdef-8d0cf003ec70 + 81f05a99-6872-4e22-aff7-ebe27dde72f7 + + + + ЗагрузчикРасширения + + + ru + Загрузить тесты из расширения конфигурации + + + + ExternalDataProcessor.ЗагрузчикРасширения.Form.Форма + + + + + + ТипыКонтекстаМодулей + + + ru + Типы контекста модулей + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ВключенаАнглийскаяЛокализация + + + ru + Включена английская локализация + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..6064fc87d --- /dev/null +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -0,0 +1,310 @@ + +Перем ПостроительДереваТестов Экспорт; +Перем КонтейнерМодуля Экспорт; +Перем КонтейнерГруппы Экспорт; + +#Область ПрограммныйИнтерфейс + +Процедура СлучайныйПорядокВыполнения() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; + +КонецПроцедуры + +Процедура СтрогийПорядокВыполнения() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + + КонтейнерМодуля.СлучайныйПорядокВыполнения = Ложь; + ОстановитьВыполнениеПослеПаденияТестов(); + + КонецЕсли; + +КонецПроцедуры + +Процедура ПродолжитьВыполнениеПослеПаденияТеста() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Истина; + КонецЕсли; + +КонецПроцедуры + +Процедура ОстановитьВыполнениеПослеПаденияТестов() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Ложь; + КонецЕсли; + +КонецПроцедуры + +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + + КонтейнерГруппы = ПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, ПостроительДереваТестов.ИконкиУзловДереваТестов.Группа); + КонтейнерГруппы.Путь = КонтейнерМодуля.Путь; + КонтейнерГруппы.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерМодуля.Строки.Добавить(КонтейнерГруппы); + +КонецПроцедуры + +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт + + Если Не ЗначениеЗаполнено(Параметры) ИЛИ ТипЗнч(Параметры) <> Тип("Массив") Тогда + + Если ТипЗнч(Параметры) = Тип("Строка") И Представление = "" Тогда + Представление = Параметры; + КонецЕсли; + + Параметры = Неопределено; + + КонецЕсли; + + Элемент = ПостроительДереваТестов.СоздатьЭлемент(КонтейнерМодуля.Путь, ИмяМетода, Представление); + + Если Параметры <> Неопределено Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + + Если ЗначениеЗаполнено(КонтейнерГруппы) Тогда + КонтейнерГруппы.Строки.Добавить(Элемент); + Иначе + КонтейнерМодуля.Строки.Добавить(Элемент); + КонецЕсли; + + Возврат Элемент; + +КонецФункции + +Функция ДобавитьДеструктор(Знач ИмяМетодаДеструктора, Знач Представление = "") Экспорт + + ЭлементДеструктор = Добавить(ИмяМетодаДеструктора, Неопределено, Представление); + + Если ЗначениеЗаполнено(КонтейнерГруппы) Тогда + КонтейнерГруппы.ЭлементДеструктор = ЭлементДеструктор; + Иначе + КонтейнерМодуля.ЭлементДеструктор = ЭлементДеструктор; + КонецЕсли; + + Возврат ЭлементДеструктор; + +КонецФункции + +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, + Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, + Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#Область ВнешнийИнтерфейсПлагина + +Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт + + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", Метаданные().Представление()); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + +КонецПроцедуры + +#КонецОбласти + +#Область ВнутреннийИнтерфейсПлагина + +Функция СписокРасширений() Экспорт + + СписокРасширений = Новый СписокЗначений(); + + Для Каждого РасширениеКонфигурации Из РасширенияКонфигурации.Получить() Цикл + + Если ЗначениеЗаполнено(РасширениеКонфигурации.Версия) Тогда + ПредставлениеРасширения = СтрШаблон("%1 (%2)", + РасширениеКонфигурации.Синоним, + РасширениеКонфигурации.Версия); + + Иначе + ПредставлениеРасширения = РасширениеКонфигурации.Синоним; + + КонецЕсли; + + СписокРасширений.Добавить(РасширениеКонфигурации.Имя, ПредставлениеРасширения); + + КонецЦикла; + + Возврат СписокРасширений; + +КонецФункции + +Функция МодулиРасширения(ИмяРасширения) Экспорт + + МетаданныеРасширения = МетаданныеРасширения(ИмяРасширения); + + МодулиРасширения = Новый Структура(); + МодулиРасширения.Вставить("Клиент", КлиентскиеМодулиРасширения(МетаданныеРасширения)); + МодулиРасширения.Вставить("Сервер", СерверныеМодулиРасширения(МетаданныеРасширения)); + + Возврат Новый ФиксированнаяСтруктура(МодулиРасширения); + +КонецФункции + +Процедура ИнициализироватьПостроительДереваТестов(ОбъектКонтекстаЯдра) Экспорт + + КонтекстЯдра = КонтекстЯдра(ОбъектКонтекстаЯдра); + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + +КонецПроцедуры + +Функция ИконкаУзлаМодуля() Экспорт + Возврат ПостроительДереваТестов.ИконкиУзловДереваТестов.Форма; +КонецФункции + +Функция ТипКонтекстаМодуля() Экспорт + Возврат ТипыКонтекстаМодулей.Сервер; +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ВключенаАнглийскаяЛокализация() + + ВариантВстроенногоЯзыкаАнглийский = Ложь; + Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или + ТекущийЯзыкСистемы() = "en" Тогда + + ВариантВстроенногоЯзыкаАнглийский = Истина; + КонецЕсли; + + Возврат ВариантВстроенногоЯзыкаАнглийский; + +КонецФункции + +Функция ТипыКонтекстаМодулей() + + Результат = Новый Структура; + Результат.Вставить("Клиент", "Клиент"); + Результат.Вставить("Сервер", "Сервер"); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +Функция КонтекстЯдра(ОбъектКонтекстаЯдра) + + // Получаем доступ к серверному контексту обработки с использованием + // полного имени метаданных браузера тестов. Иначе нет возможности получить + // доступ к серверному контексту ядра, т.к. изначально вызов был выполнен на клиенте. + // При передаче на сервер клиентский контекст теряется. + КонтекстЯдра = Неопределено; + ПолноеИмяБраузераТестов = ОбъектКонтекстаЯдра.ПолноеИмяБраузераТестов; + + МетаданныеЯдра = Метаданные.НайтиПоПолномуИмени(ПолноеИмяБраузераТестов); + Если НЕ МетаданныеЯдра = Неопределено И Метаданные.Обработки.Содержит(МетаданныеЯдра) Тогда + + МенеджерОбработки = Обработки[МетаданныеЯдра.Имя]; + КонтекстЯдра = МенеджерОбработки.Создать(); + + Иначе + + ЧастиИмени = СтрРазделить(ПолноеИмяБраузераТестов, "."); + ИмяОбработкиКонтекстаЯдра = ЧастиИмени[1]; + КонтекстЯдра = ВнешниеОбработки.Создать(ИмяОбработкиКонтекстаЯдра); + + КонецЕсли; + + КонтекстЯдра.ИнициализацияНаСервере(ОбъектКонтекстаЯдра); + + Возврат КонтекстЯдра; + +КонецФункции + +Функция МетаданныеРасширения(ИмяРасширения) + + Отбор = Новый Структура("Имя", ИмяРасширения); + Расширения = РасширенияКонфигурации.Получить(Отбор); + Расширение = Расширения[0]; + МетаданныеРасширения = Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные()); + + Возврат МетаданныеРасширения; + +КонецФункции + +Функция КлиентскиеМодулиРасширения(МетаданныеРасширения) + + МодулиРасширения = Новый Массив; + + Для Каждого ОбщийМодуль Из МетаданныеРасширения.ОбщиеМодули Цикл + + Если ОбщийМодуль.КлиентУправляемоеПриложение И НЕ ОбщийМодуль.Глобальный Тогда + МодулиРасширения.Добавить(ОбщийМодуль.Имя); + КонецЕсли; + + КонецЦикла; + + Возврат Новый ФиксированныйМассив(МодулиРасширения); + +КонецФункции + +Функция СерверныеМодулиРасширения(МетаданныеРасширения) + + МодулиРасширения = Новый Массив; + + Для Каждого ОбщийМодуль Из МетаданныеРасширения.ОбщиеМодули Цикл + + Если ОбщийМодуль.Сервер И НЕ ОбщийМодуль.Глобальный Тогда + МодулиРасширения.Добавить(ОбщийМодуль.Имя); + КонецЕсли; + + КонецЦикла; + + Возврат Новый ФиксированныйМассив(МодулиРасширения); + +КонецФункции + +#КонецОбласти + +ЭтотОбъект.ВключенаАнглийскаяЛокализация = ВключенаАнглийскаяЛокализация(); +ЭтотОбъект.ТипыКонтекстаМодулей = ТипыКонтекстаМодулей(); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..88615e2e9 --- /dev/null +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..c5608de8b --- /dev/null +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.ЗагрузчикРасширения + + true + + + \ No newline at end of file diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ca9da814e --- /dev/null +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,414 @@ + +&НаКлиенте +Перем ПостроительДереваТестов Экспорт; + +&НаКлиенте +Перем КонтейнерМодуля Экспорт; + +&НаКлиенте +Перем КонтейнерГруппы Экспорт; + +#Область ПрограммныйИнтерфейс + +&НаКлиенте +Процедура СлучайныйПорядокВыполнения() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.СлучайныйПорядокВыполнения = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СтрогийПорядокВыполнения() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + + КонтейнерМодуля.СлучайныйПорядокВыполнения = Ложь; + ОстановитьВыполнениеПослеПаденияТестов(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПродолжитьВыполнениеПослеПаденияТеста() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОстановитьВыполнениеПослеПаденияТестов() Экспорт + + Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда + КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Ложь; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьГруппу(Знач ИмяГруппы, Знач СтрогийПорядокВыполнения = Ложь) Экспорт + + КонтейнерГруппы = ПостроительДереваТестов.СоздатьКонтейнер(ИмяГруппы, ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Группа); + КонтейнерГруппы.Путь = КонтейнерМодуля.Путь; + КонтейнерГруппы.СлучайныйПорядокВыполнения = Не СтрогийПорядокВыполнения; + КонтейнерМодуля.Строки.Добавить(КонтейнерГруппы); + +КонецПроцедуры + +&НаКлиенте +Функция Добавить(Знач ИмяМетода, Знач Параметры = Неопределено, Знач Представление = "") Экспорт + + Если Не ЗначениеЗаполнено(Параметры) ИЛИ ТипЗнч(Параметры) <> Тип("Массив") Тогда + + Если ТипЗнч(Параметры) = Тип("Строка") И Представление = "" Тогда + Представление = Параметры; + КонецЕсли; + + Параметры = Неопределено; + + КонецЕсли; + + Элемент = ПостроительДереваТестов.СоздатьЭлемент(КонтейнерМодуля.Путь, ИмяМетода, Представление); + + Если ЗначениеЗаполнено(КонтейнерГруппы) Тогда + КонтейнерГруппы.Строки.Добавить(Элемент); + Иначе + КонтейнерМодуля.Строки.Добавить(Элемент); + КонецЕсли; + + Если Параметры <> Неопределено Тогда + Элемент.Параметры = Параметры; + КонецЕсли; + + Возврат Элемент; + +КонецФункции + +&НаКлиенте +Функция ДобавитьДеструктор(Знач ИмяМетодаДеструктора, Знач Представление = "") Экспорт + + ЭлементДеструктор = Добавить(ИмяМетодаДеструктора, Неопределено, Представление); + + Если ЗначениеЗаполнено(КонтейнерГруппы) Тогда + КонтейнерГруппы.ЭлементДеструктор = ЭлементДеструктор; + Иначе + КонтейнерМодуля.ЭлементДеструктор = ЭлементДеструктор; + КонецЕсли; + + Возврат ЭлементДеструктор; + +КонецФункции + +&НаКлиенте +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, + Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, + Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт + + ВсеПараметры = Новый Массив; + ВсеПараметры.Добавить(Парам1); + ВсеПараметры.Добавить(Парам2); + ВсеПараметры.Добавить(Парам3); + ВсеПараметры.Добавить(Парам4); + ВсеПараметры.Добавить(Парам5); + ВсеПараметры.Добавить(Парам6); + ВсеПараметры.Добавить(Парам7); + ВсеПараметры.Добавить(Парам8); + ВсеПараметры.Добавить(Парам9); + + ИндексСПоследнимПараметром = 0; + + Для Сч = 0 По ВсеПараметры.ВГраница() Цикл + + Индекс = ВсеПараметры.ВГраница() - Сч; + Если ВсеПараметры[Индекс] <> Неопределено Тогда + ИндексСПоследнимПараметром = Индекс; + Прервать; + КонецЕсли; + + КонецЦикла; + + ПараметрыТеста = Новый Массив; + Для Сч = 0 По ИндексСПоследнимПараметром Цикл + ПараметрыТеста.Добавить(ВсеПараметры[Сч]); + КонецЦикла; + + Возврат ПараметрыТеста; + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#Область ВнешнийИнтерфейсПлагина + +&НаКлиенте +Функция ВыбратьПутьИнтерактивно(КонтекстЯдра, ИмяРасширения = "") Экспорт + + СписокРасширений = СписокРасширений(); + + Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда + + ДополнительныеПараметры = Новый Структура(); + ДополнительныеПараметры.Вставить("КонтекстЯдра", КонтекстЯдра); + + ОповещениеОВыборе = Новый ОписаниеОповещения("ВыбратьПутьИнтерактивноЗавершение", ЭтотОбъект, + ДополнительныеПараметры); + + СписокРасширений.ПоказатьВыборЭлемента(ОповещениеОВыборе); + + Иначе + + ВыбранныйЭлемент = СписокРасширений.ВыбратьЭлемент(); + Если ВыбранныйЭлемент <> Неопределено Тогда + + ИмяРасширения = ВыбранныйЭлемент.Значение; + ЗагрузитьТесты(КонтекстЯдра, ИмяРасширения); + + КонецЕсли; + + КонецЕсли; + + Возврат ""; + +КонецФункции + +&НаКлиенте +Функция Загрузить(КонтекстЯдра, ИмяРасширения) Экспорт + + КонтейнерТестов = ЗагрузитьСписокТестов(КонтекстЯдра, ИмяРасширения); + + Возврат КонтейнерТестов; + +КонецФункции + +&НаКлиенте +Процедура НачатьЗагрузку(ОбработчикОповещения, КонтекстЯдра, ИмяРасширения) Экспорт + + КонтейнерТестов = ЗагрузитьСписокТестов(КонтекстЯдра, ИмяРасширения); + + ВыполнитьОбработкуОповещения(ОбработчикОповещения, КонтейнерТестов); + +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт + + СоставКонтекста = СтрРазделить(Путь, "#"); + ТипКонтекстаМодуля = СоставКонтекста[0]; + ИмяМодуля = СоставКонтекста[1]; + + Если ТипКонтекстаМодуля = Объект.ТипыКонтекстаМодулей.Клиент Тогда + ОписаниеКонтекста = ОбщийМодуль(ИмяМодуля); + Иначе + ОписаниеКонтекста = КонтекстЯдра.НовыйКонтекстВыполненияОбщегоМодуля(ИмяМодуля); + КонецЕсли; + + Возврат ОписаниеКонтекста; + +КонецФункции + +#КонецОбласти + +#Область ВнутреннийИнтерфейсПлагина + +&НаКлиенте +Процедура ИнициализироватьПостроительДереваТестов(КонтекстЯдра) Экспорт + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); +КонецПроцедуры + +&НаКлиенте +Функция ИконкаУзлаМодуля() Экспорт + Возврат ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов.Форма; +КонецФункции + +&НаКлиенте +Функция ТипКонтекстаМодуля() Экспорт + Возврат Объект.ТипыКонтекстаМодулей.Клиент; +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область ОбъектПлагина + +&НаСервере +Функция ОбъектПлагина() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаСервере +Функция ИдентификаторПлагина(Знач КонтекстЯдра) + + ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); + Возврат ОписаниеПлагина.Идентификатор; + +КонецФункции + +&НаСервере +Функция СписокРасширений() + Возврат ОбъектПлагина().СписокРасширений(); +КонецФункции + +&НаСервере +Функция МодулиРасширения(Знач ИмяРасширения) + Возврат ОбъектПлагина().МодулиРасширения(ИмяРасширения); +КонецФункции + +#КонецОбласти + +&НаКлиенте +Процедура ВыбратьПутьИнтерактивноЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт + + Если ВыбранныйЭлемент = Неопределено Тогда + Возврат; + КонецЕсли; + + КонтекстЯдра = ДополнительныеПараметры.КонтекстЯдра; + ИмяРасширения = ВыбранныйЭлемент.Значение; + + НачатьЗагрузкуТестов(Неопределено, КонтекстЯдра, ИмяРасширения) + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьТесты(КонтекстЯдра, ИмяРасширения) + + ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра); + КонтекстЯдра.ЗагрузитьТесты(ИдентификаторПлагина, ИмяРасширения); + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьЗагрузкуТестов(ОбработкаОповещения, КонтекстЯдра, ИмяРасширения) + + ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра); + КонтекстЯдра.НачатьЗагрузкуТестов(ОбработкаОповещения, ИдентификаторПлагина, ИмяРасширения); + +КонецПроцедуры + +&НаКлиенте +Функция ЗагрузитьСписокТестов(КонтекстЯдра, ИмяРасширения) + + ИнициализироватьПостроительДереваТестов(КонтекстЯдра); + КонтейнерТестов = ПостроительДереваТестов.СоздатьКонтейнер(ИмяРасширения); + + МодулиРасширения = МодулиРасширения(ИмяРасширения); + + СерверныеТесты = НаборТестовНаСервере(МодулиРасширения.Сервер, КонтекстЯдра.Объект); + Для Каждого СерверныйТест Из СерверныеТесты Цикл + КонтейнерТестов.Строки.Добавить(СерверныйТест); + КонецЦикла; + + КлиентскиеТесты = НаборТестов(ЭтотОбъект, МодулиРасширения.Клиент); + Для Каждого КлиентскийТест Из КлиентскиеТесты Цикл + КонтейнерТестов.Строки.Добавить(КлиентскийТест); + КонецЦикла; + + ПостроительДереваТестов = Неопределено; + КонтейнерМодуля = Неопределено; + КонтейнерГруппы = Неопределено; + + Возврат КонтейнерТестов; + +КонецФункции + +&НаСервере +Функция НаборТестовНаСервере(Знач СерверныеМодули, Знач КонтекстЯдра) + + ОбъектПлагина = ОбъектПлагина(); + ОбъектПлагина.ИнициализироватьПостроительДереваТестов(КонтекстЯдра); + + Возврат НаборТестов(ОбъектПлагина, СерверныеМодули); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция НаборТестов(ОбъектПлагина, КлиентскиеМодули) + + НаборТестов = Новый Массив; + + Для Каждого ИмяМодуля Из КлиентскиеМодули Цикл + + ОбъектМодуля = ОбщийМодуль(ИмяМодуля); + + НачатьНовыйМодуль(ОбъектПлагина, ИмяМодуля); + ЗаполнитьНаборТестовМодуля(ОбъектПлагина, ОбъектМодуля); + ЗавершитьМодуль(ОбъектПлагина, НаборТестов); + + КонецЦикла; + + Возврат Новый ФиксированныйМассив(НаборТестов); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ОбщийМодуль(ИмяМодуля) + +#Если Сервер Тогда + УстановитьБезопасныйРежим(Истина); +#КонецЕсли + + ОбъектМодуля = Вычислить(ИмяМодуля); + + Возврат ОбъектМодуля; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Процедура ЗаполнитьНаборТестовМодуля(ОбъектПлагина, ОбъектМодуля) + + Попытка + ОбъектМодуля.ЗаполнитьНаборТестов(ОбъектПлагина); + Исключение + + ИнформацияОбОшибке = ИнформацияОбОшибке(); + + Если Не ЭтоИсключениеМетодОбъектаНеОбнаружен(ИнформацияОбОшибке) Тогда + ВызватьИсключение; + КонецЕсли; + + КонецПопытки; + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Функция ЭтоИсключениеМетодОбъектаНеОбнаружен(ИнформацияОбОшибке) + + СписокОписаний = Новый Массив(); + СписокОписаний.Добавить("Метод объекта не обнаружен (ЗаполнитьНаборТестов)"); + СписокОписаний.Добавить("Object method not found (ЗаполнитьНаборТестов)"); + + Возврат (СписокОписаний.Найти(ИнформацияОбОшибке.Описание) <> Неопределено); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Процедура НачатьНовыйМодуль(ОбъектПлагина, ИмяМодуля) + + ИконкаУзла = ОбъектПлагина.ИконкаУзлаМодуля(); + ТипКонтекста = ОбъектПлагина.ТипКонтекстаМодуля(); + + ОбъектПлагина.КонтейнерГруппы = Неопределено; + ОбъектПлагина.КонтейнерМодуля = ОбъектПлагина.ПостроительДереваТестов.СоздатьКонтейнер(ИмяМодуля, ИконкаУзла); + ОбъектПлагина.КонтейнерМодуля.Путь = СтрШаблон("%1#%2", ТипКонтекста, ИмяМодуля); + +КонецПроцедуры + +&НаКлиентеНаСервереБезКонтекста +Процедура ЗавершитьМодуль(ОбъектПлагина, НаборТестов) + + Если ОбъектПлагина.КонтейнерМодуля.Строки.Количество() > 0 Тогда + НаборТестов.Добавить(ОбъектПлагина.КонтейнерМодуля); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти From 30fdbb63a3d9e566bc9902e006dacc7ee67891ca Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Wed, 26 May 2021 13:59:45 +0300 Subject: [PATCH 239/421] =?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=B5=D1=80=D0=B5=D0=B4=D0=B0=D1=87?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0?= =?UTF-8?q?=20=D1=8F=D0=B4=D1=80=D0=B0=20=D0=B2=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=89=D0=B5=D0=B3=D0=BE=20=D0=BC=D0=BE=D0=B4=D1=83?= =?UTF-8?q?=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xddTestRunner/Ext/ObjectModule.bsl | 22 ++++++++++++++++-- .../Ext/Form/Module.bsl" | 23 +++++++++++++++++-- 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 8dbd5f89c..0d12acf29 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -337,9 +337,27 @@ КонецПроцедуры Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); - ИcполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; - Выполнить(ИcполняемыйКод); + ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров); + + ИсполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; + Выполнить(ИсполняемыйКод); + +КонецПроцедуры + +Процедура ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров) + + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") Тогда + + Если ПустаяСтрока(СтрокаПараметров) Тогда + СтрокаПараметров = "ЭтотОбъект"; + Иначе + СтрокаПараметров = "ЭтотОбъект, " + СтрокаПараметров; + КонецЕсли; + + КонецЕсли; + КонецПроцедуры Функция СформироватьСтрокуПараметров(Знач Параметры) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index aa17b40ed..dc3ee1c00 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1033,9 +1033,28 @@ &НаКлиенте Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); - ИcполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; - Выполнить(ИcполняемыйКод); + ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров); + + ИсполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; + Выполнить(ИсполняемыйКод); + +КонецПроцедуры + +&НаКлиенте +Процедура ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров) + + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") Тогда + + Если ПустаяСтрока(СтрокаПараметров) Тогда + СтрокаПараметров = "ЭтаФорма"; + Иначе + СтрокаПараметров = "ЭтаФорма, " + СтрокаПараметров; + КонецЕсли; + + КонецЕсли; + КонецПроцедуры &НаКлиенте From 6c9f210cf338ae8d40aa38d6087a983a82beb381 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Thu, 3 Jun 2021 19:13:25 +0300 Subject: [PATCH 240/421] =?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=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=20=D0=BC=D1=83=D1=82=D0=B0=D0=B1=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5?= =?UTF-8?q?=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ca9da814e..33ad0ba59 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -247,7 +247,7 @@ &НаСервере Функция ИдентификаторПлагина(Знач КонтекстЯдра) - ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); + ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); Возврат ОписаниеПлагина.Идентификатор; КонецФункции @@ -281,7 +281,7 @@ &НаКлиенте Процедура ЗагрузитьТесты(КонтекстЯдра, ИмяРасширения) - ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра); + ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра.Объект); КонтекстЯдра.ЗагрузитьТесты(ИдентификаторПлагина, ИмяРасширения); КонецПроцедуры @@ -289,7 +289,7 @@ &НаКлиенте Процедура НачатьЗагрузкуТестов(ОбработкаОповещения, КонтекстЯдра, ИмяРасширения) - ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра); + ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра.Объект); КонтекстЯдра.НачатьЗагрузкуТестов(ОбработкаОповещения, ИдентификаторПлагина, ИмяРасширения); КонецПроцедуры From 0001fe22b323719fba0fb3f1f3ae7438957a8f50 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Thu, 3 Jun 2021 19:17:11 +0300 Subject: [PATCH 241/421] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=BF=D0=BE=20=D0=B2=D1=81?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 6064fc87d..a8d10e249 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -156,18 +156,12 @@ СписокРасширений = Новый СписокЗначений(); + Представление = ПредставлениеРасширения(Метаданные); + СписокРасширений.Добавить(Метаданные.Имя, Представление, , БиблиотекаКартинок.Константа); + Для Каждого РасширениеКонфигурации Из РасширенияКонфигурации.Получить() Цикл - Если ЗначениеЗаполнено(РасширениеКонфигурации.Версия) Тогда - ПредставлениеРасширения = СтрШаблон("%1 (%2)", - РасширениеКонфигурации.Синоним, - РасширениеКонфигурации.Версия); - - Иначе - ПредставлениеРасширения = РасширениеКонфигурации.Синоним; - - КонецЕсли; - + ПредставлениеРасширения = ПредставлениеРасширения(РасширениеКонфигурации); СписокРасширений.Добавить(РасширениеКонфигурации.Имя, ПредставлениеРасширения); КонецЦикла; @@ -178,7 +172,11 @@ Функция МодулиРасширения(ИмяРасширения) Экспорт - МетаданныеРасширения = МетаданныеРасширения(ИмяРасширения); + Если ИмяРасширения = Метаданные.Имя Тогда + МетаданныеРасширения = Метаданные; + Иначе + МетаданныеРасширения = МетаданныеРасширения(ИмяРасширения); + КонецЕсли; МодулиРасширения = Новый Структура(); МодулиРасширения.Вставить("Клиент", КлиентскиеМодулиРасширения(МетаданныеРасширения)); @@ -209,6 +207,20 @@ #Область СлужебныеПроцедурыИФункции +Функция ПредставлениеРасширения(РасширениеКонфигурации) + + Если ЗначениеЗаполнено(РасширениеКонфигурации.Версия) Тогда + + Возврат СтрШаблон("%1 (%2)", РасширениеКонфигурации.Синоним, РасширениеКонфигурации.Версия); + + Иначе + + Возврат РасширениеКонфигурации.Синоним; + + КонецЕсли; + +КонецФункции + Функция ВключенаАнглийскаяЛокализация() ВариантВстроенногоЯзыкаАнглийский = Ложь; From 8c15c89ca63f005360e8aabb6befec8c9fe57b04 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Thu, 3 Jun 2021 19:18:02 +0300 Subject: [PATCH 242/421] =?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=BE=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 35 +++++++-------- .../Ext/Form/Module.bsl" | 45 +++++++++---------- 2 files changed, 39 insertions(+), 41 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index a8d10e249..8d6b7198d 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -1,5 +1,4 @@ - -Перем ПостроительДереваТестов Экспорт; +Перем ПостроительДереваТестов Экспорт; Перем КонтейнерМодуля Экспорт; Перем КонтейнерГруппы Экспорт; @@ -28,7 +27,7 @@ Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Истина; - КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -36,7 +35,7 @@ Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Ложь; - КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -91,9 +90,9 @@ КонецФункции -Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, - Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, - Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, + Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, + Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт ВсеПараметры = Новый Массив; ВсеПараметры.Добавить(Парам1); @@ -212,11 +211,11 @@ Если ЗначениеЗаполнено(РасширениеКонфигурации.Версия) Тогда Возврат СтрШаблон("%1 (%2)", РасширениеКонфигурации.Синоним, РасширениеКонфигурации.Версия); - + Иначе Возврат РасширениеКонфигурации.Синоним; - + КонецЕсли; КонецФункции @@ -224,8 +223,8 @@ Функция ВключенаАнглийскаяЛокализация() ВариантВстроенногоЯзыкаАнглийский = Ложь; - Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или - ТекущийЯзыкСистемы() = "en" Тогда + Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English + Или ТекущийЯзыкСистемы() = "en" Тогда ВариантВстроенногоЯзыкаАнглийский = Истина; КонецЕсли; @@ -246,7 +245,7 @@ Функция КонтекстЯдра(ОбъектКонтекстаЯдра) - // Получаем доступ к серверному контексту обработки с использованием + // Получаем доступ к серверному контексту обработки с использованием // полного имени метаданных браузера тестов. Иначе нет возможности получить // доступ к серверному контексту ядра, т.к. изначально вызов был выполнен на клиенте. // При передаче на сервер клиентский контекст теряется. @@ -273,14 +272,14 @@ КонецФункции -Функция МетаданныеРасширения(ИмяРасширения) +Функция МетаданныеРасширения(ИмяРасширения) - Отбор = Новый Структура("Имя", ИмяРасширения); + Отбор = Новый Структура("Имя", ИмяРасширения); Расширения = РасширенияКонфигурации.Получить(Отбор); Расширение = Расширения[0]; МетаданныеРасширения = Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные()); - Возврат МетаданныеРасширения; + Возврат МетаданныеРасширения; КонецФункции @@ -292,7 +291,7 @@ Если ОбщийМодуль.КлиентУправляемоеПриложение И НЕ ОбщийМодуль.Глобальный Тогда МодулиРасширения.Добавить(ОбщийМодуль.Имя); - КонецЕсли; + КонецЕсли; КонецЦикла; @@ -308,7 +307,7 @@ Если ОбщийМодуль.Сервер И НЕ ОбщийМодуль.Глобальный Тогда МодулиРасширения.Добавить(ОбщийМодуль.Имя); - КонецЕсли; + КонецЕсли; КонецЦикла; @@ -319,4 +318,4 @@ #КонецОбласти ЭтотОбъект.ВключенаАнглийскаяЛокализация = ВключенаАнглийскаяЛокализация(); -ЭтотОбъект.ТипыКонтекстаМодулей = ТипыКонтекстаМодулей(); +ЭтотОбъект.ТипыКонтекстаМодулей = ТипыКонтекстаМодулей(); \ No newline at end of file diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 33ad0ba59..8fcb50fa5 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,5 +1,4 @@ - -&НаКлиенте +&НаКлиенте Перем ПостроительДереваТестов Экспорт; &НаКлиенте @@ -36,7 +35,7 @@ Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Истина; - КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -45,7 +44,7 @@ Если ЗначениеЗаполнено(КонтейнерМодуля) Тогда КонтейнерМодуля.ПродолжитьВыполнениеПослеПаденияТеста = Ложь; - КонецЕсли; + КонецЕсли; КонецПроцедуры @@ -104,9 +103,9 @@ КонецФункции &НаКлиенте -Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, - Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, - Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт +Функция ПараметрыТеста(Знач Парам1, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, + Знач Парам4 = Неопределено, Знач Парам5 = Неопределено, Знач Парам6 = Неопределено, + Знач Парам7 = Неопределено, Знач Парам8 = Неопределено, Знач Парам9 = Неопределено) Экспорт ВсеПараметры = Новый Массив; ВсеПараметры.Добавить(Парам1); @@ -152,15 +151,15 @@ СписокРасширений = СписокРасширений(); Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда - + ДополнительныеПараметры = Новый Структура(); ДополнительныеПараметры.Вставить("КонтекстЯдра", КонтекстЯдра); - - ОповещениеОВыборе = Новый ОписаниеОповещения("ВыбратьПутьИнтерактивноЗавершение", ЭтотОбъект, - ДополнительныеПараметры); - + + ОповещениеОВыборе = Новый ОписаниеОповещения("ВыбратьПутьИнтерактивноЗавершение", ЭтотОбъект, + ДополнительныеПараметры); + СписокРасширений.ПоказатьВыборЭлемента(ОповещениеОВыборе); - + Иначе ВыбранныйЭлемент = СписокРасширений.ВыбратьЭлемент(); @@ -206,7 +205,7 @@ ОписаниеКонтекста = ОбщийМодуль(ИмяМодуля); Иначе ОписаниеКонтекста = КонтекстЯдра.НовыйКонтекстВыполненияОбщегоМодуля(ИмяМодуля); - КонецЕсли; + КонецЕсли; Возврат ОписаниеКонтекста; @@ -248,9 +247,9 @@ Функция ИдентификаторПлагина(Знач КонтекстЯдра) ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); - Возврат ОписаниеПлагина.Идентификатор; + Возврат ОписаниеПлагина.Идентификатор; -КонецФункции +КонецФункции &НаСервере Функция СписокРасширений() @@ -269,7 +268,7 @@ Если ВыбранныйЭлемент = Неопределено Тогда Возврат; - КонецЕсли; + КонецЕсли; КонтекстЯдра = ДополнительныеПараметры.КонтекстЯдра; ИмяРасширения = ВыбранныйЭлемент.Значение; @@ -282,7 +281,7 @@ Процедура ЗагрузитьТесты(КонтекстЯдра, ИмяРасширения) ИдентификаторПлагина = ИдентификаторПлагина(КонтекстЯдра.Объект); - КонтекстЯдра.ЗагрузитьТесты(ИдентификаторПлагина, ИмяРасширения); + КонтекстЯдра.ЗагрузитьТесты(ИдентификаторПлагина, ИмяРасширения); КонецПроцедуры @@ -352,9 +351,9 @@ &НаКлиентеНаСервереБезКонтекста Функция ОбщийМодуль(ИмяМодуля) -#Если Сервер Тогда + #Если Сервер Тогда УстановитьБезопасныйРежим(Истина); -#КонецЕсли + #КонецЕсли ОбъектМодуля = Вычислить(ИмяМодуля); @@ -373,7 +372,7 @@ Если Не ЭтоИсключениеМетодОбъектаНеОбнаружен(ИнформацияОбОшибке) Тогда ВызватьИсключение; - КонецЕсли; + КонецЕсли; КонецПопытки; @@ -400,7 +399,7 @@ ОбъектПлагина.КонтейнерМодуля = ОбъектПлагина.ПостроительДереваТестов.СоздатьКонтейнер(ИмяМодуля, ИконкаУзла); ОбъектПлагина.КонтейнерМодуля.Путь = СтрШаблон("%1#%2", ТипКонтекста, ИмяМодуля); -КонецПроцедуры +КонецПроцедуры &НаКлиентеНаСервереБезКонтекста Процедура ЗавершитьМодуль(ОбъектПлагина, НаборТестов) @@ -411,4 +410,4 @@ КонецПроцедуры -#КонецОбласти +#КонецОбласти \ No newline at end of file From f9523f0a8c26552e2a4ea7ff130d07cca2751346 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 4 Jun 2021 16:00:14 +0300 Subject: [PATCH 243/421] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=87=D0=B5=D0=BA-=D0=BB=D0=B8=D1=81=D1=82=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CONTRIBUTING.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0c1b1a607..8fe708438 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,6 +1,15 @@ # Коллективное участие в проекте -> постоянно наполняемый FAQ для "контрибьюторов" +## Простой чек-лист использования + +- если скачали в первый раз, выполните `opm run init` +- для сборки\компиляции только внешних файлов выполните `opm run cepf` - все соберется, только тестовые ИБ не будут обновлены +- для выгрузки\декомпиляции своих изменений в исходники `opm run depf` +- и стандартный процесс Гитхаба - Пулл-реквесты и т.д. + +Ниже есть более подробные описания всех этих действий и возможных проблем. + +> постоянно наполняемый FAQ для "контрибьюторов" выполните * Мы используем подход git-flow для реализации функциональности * Мы используем принцип самопроверки через feature файлы, поэтому перед разработкой новой функциональности мы также - разрабатываем feature файлы, генерируем шаблоны сценариев и наполняем их кодом для проверки. Поэтому к доработкам без feature файлов все участники относятся "холодно". From d6df4c702cf1188b57bffd226d0f34cda735c8c0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 4 Jun 2021 16:23:49 +0300 Subject: [PATCH 244/421] =?UTF-8?q?=D0=A3=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=20=D0=BD=D0=B5=D0=BE=D0=B1=D1=85?= =?UTF-8?q?=D0=BE=D0=B4=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/CONTRIBUTING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 8fe708438..8449b9b1e 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -9,10 +9,11 @@ Ниже есть более подробные описания всех этих действий и возможных проблем. -> постоянно наполняемый FAQ для "контрибьюторов" выполните - * Мы используем подход git-flow для реализации функциональности -* Мы используем принцип самопроверки через feature файлы, поэтому перед разработкой новой функциональности мы также - разрабатываем feature файлы, генерируем шаблоны сценариев и наполняем их кодом для проверки. Поэтому к доработкам без feature файлов все участники относятся "холодно". +* Старайтесь создавать тесты в формате `BDD` или пишите модульные тесты. +* Наличие тестов не всегда является обязательным. При каждой новой доработке используем индивидуальный подход для облегчения входа новых контрибьюторов и ускорения появления полезной функциональности + * Мы используем принцип самопроверки через feature файлы, поэтому перед разработкой новой функциональности мы также - разрабатываем feature файлы, генерируем шаблоны сценариев и наполняем их кодом для проверки. + * Также возможно обычные модульные тесты, написанные кодом 1С. ## Прежде чем создавать задачи (issues) `GitHub` From 45ccc8cafec5b9319b36ef17ffd404ce1c36c801 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 16 Jun 2021 13:24:39 +0300 Subject: [PATCH 245/421] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BE=D1=82=20opm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 1 - 1 file changed, 1 deletion(-) diff --git a/packagedef b/packagedef index d7fb7c43f..d04332f33 100644 --- a/packagedef +++ b/packagedef @@ -194,6 +194,5 @@ .ЗависитОт("v8runner", "0.11.2") .ЗависитОт("v8unpack", "1.0.1") .ЗависитОт("fs", "1.0.0") - .ЗависитОт("opm", "0.15.0") .ОпределяетМодуль("add", "ospx/addospx.os") ; From 7a057c6ef2983dfbc0050178d38fa7b76c70f508 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 29 Jul 2021 09:59:35 +0300 Subject: [PATCH 246/421] =?UTF-8?q?=D0=92=D1=8B=D0=B4=D0=B5=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=B0=D0=B6=D0=BD=D0=BE=D0=B9=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B2=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=BD=D0=B0=20=D0=BE=D1=81?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 55bc8c149..fd1b6dcc4 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -573,7 +573,7 @@ ## Дымовое тестирование ввода документов на основании Данная обработка может быть использована и в bdd и в tdd/xdd. -Запускать данный набора тестов рекомендуется в ИБ, в которой уже есть заполненные документы. +**Запускать данный набора тестов рекомендуется в ИБ, в которой уже есть заполненные документы.** ### Настройка дымовых тестов для запуска в tddTestRunner From 7e3a553fc69f49c595bb05f687f40d2b877eac73 Mon Sep 17 00:00:00 2001 From: Samokhval Maxim Date: Sat, 14 Aug 2021 10:32:04 +0300 Subject: [PATCH 247/421] =?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=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8=20"=D0=97=D0=B0=D0=BF=D1=80=D0=B5=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=BE=D0=B4=D0=BD=D0=BE=D0=B2=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B8=20--ibconnection=20?= =?UTF-8?q?=D0=B8=20--ibname"=20=20(#875)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Изменено --ibname на --ibconnection vrunner compileepf * Избавился от лишних добавленных пробелов Co-authored-by: Artur Ayukhanov --- tasks/init.os | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tasks/init.os b/tasks/init.os index 2fba1c748..dca8ad010 100644 --- a/tasks/init.os +++ b/tasks/init.os @@ -144,7 +144,7 @@ СоздатьКаталог(СтрШаблон("%1/vanessa-add", КаталогВременныхФайлов())); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./tools %1tools --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./tools %1tools --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); СтрокаЗапуска = СтрШаблон("vrunner run --command VBParams=./tools/epf/init.json --execute %1tools/epf/init.epf", КаталогСборки); @@ -156,17 +156,17 @@ СтрокаЗапуска = Исходники.СтрокаЗапускаКомандыСборки(Бинарники1СХранятсяРядомСИсходниками, ИмяКаталогаСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib %1lib --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib %1lib --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); Если НЕ Бинарники1СХранятсяРядомСИсходниками Тогда - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./locales %1locales --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./locales %1locales --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); КонецЕсли; From 71d3d3e316a3106ab97b5abf755d82d60525a2a7 Mon Sep 17 00:00:00 2001 From: Samokhval Maxim Date: Sat, 14 Aug 2021 10:47:07 +0300 Subject: [PATCH 248/421] =?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=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BA=20=D0=BF=D0=BB=D0=B0?= =?UTF-8?q?=D0=B3=D0=B8=D0=BD=D1=83=20"=D0=97=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81=D1=8B=D0=98=D0=B7=D0=91=D0=94"=20(#872)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * добавлена документация к плагину "ЗапросыИЗБД" * Оглавление и форматирование Co-authored-by: Artur Ayukhanov --- ...21\213\320\230\320\267\320\221\320\224.MD" | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 "doc/xdd/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.MD" diff --git "a/doc/xdd/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.MD" "b/doc/xdd/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.MD" new file mode 100644 index 000000000..425de4d9b --- /dev/null +++ "b/doc/xdd/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224.MD" @@ -0,0 +1,60 @@ +# Запросы из БД + +Плагин "Запросы из БД" предназначен для получения данных из информационной базы, базы данных. +В режиме сервера или толстого клиента обычного приложения. + +- [Примеры](#примеры) + - [Пример получения количества документов по отбору](#пример-получения-количества-документов-по-отбору) + - [Пример получения количества элементов справочника по отбору](#пример-получения-количества-элементов-справочника-по-отбору) + - [Пример получения количества элементов метаданного по отбору](#пример-получения-количества-элементов-метаданного-по-отбору) + - [Пример получения элементов метаданного по отбору](#пример-получения-элементов-метаданного-по-отбору) + +## Примеры + +### Получение количества документов по отбору + +```bsl +ВидДокумента = "ПриходнаяНакладная"; +ДатаНачала = Дата('20210509125531'); +ДатаОкончания = Дата('20210510125531'); + +Отбор = Новый Структура; +Отбор.Вставить("Склад", Склад); + +КоличествоДокументов = ЗапросыИзБД.ПолучитьКоличествоДокументовПоОтбору(ВидДокумента, ДатаНачала, ДатаОкончания, Отбор); +``` + +### Получение количества элементов справочника по отбору + +```bsl +ВидСправочника = "ПростойСправочник"; + +Отбор = Новый Структура; +Отбор.Вставить("РеквизитБулево", Истина); + +КоличествоЭлементовСправочника = ЗапросыИзБД.ПолучитьКоличествоЭлементовСправочникаПоОтбору(ВидСправочника, Отбор); +``` +### Получение количества элементов метаданного по отбору + +```bsl +ТипМетаданного = "Документ"; +ВидМетаданного = "ПриходнаяНакладная"; + +Отбор = Новый Структура; +Отбор.Вставить("Склад", _Склад); + +КоличествоЭлементовМетаданного = ЗапросыИзБД.ПолучитьКоличествоЭлементовМетаданногоПоОтбору(ТипМетаданного, ВидМетаданного, Отбор); +``` + +### Получение элементов метаданного по отбору + +```bsl +ТипМетаданного = "Документ"; +ВидМетаданного = "ПриходнаяНакладная"; +КоличествоЭлементов = 3; + +СтруктураОтбора = Новый Структура; +СтруктураОтбора.Вставить("Склад", _Склад); + +КоличествоЭлементовМетаданного = ЗапросыИзБД.ПолучитьКоличествоЭлементовМетаданногоПоОтбору(ТипМетаданного, ВидМетаданного, КоличествоЭлементов, СтруктураОтбора); +``` From 197771bfab91f2e8263d14b9067362f55d6b3ed9 Mon Sep 17 00:00:00 2001 From: Sulfur Date: Sat, 14 Aug 2021 10:48:29 +0300 Subject: [PATCH 249/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B8=D1=82=D0=B0=D0=B5=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20(#862)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Иванов Д.В --- doc/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/README.md b/doc/README.md index 3e176d9ae..ce8bff313 100644 --- a/doc/README.md +++ b/doc/README.md @@ -23,7 +23,7 @@ Vanessa.ADD работает с гарантией на платформах 1С ## Разделы справки * [Обширная документация по BDD-части](./bdd/README.md) - * [Подготовка автодокументации - видео-документация и т.п.](https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8.md) + * [Подготовка автодокументации - видео-документация и т.п.](https://github.com/vanessa-opensource/add/blob/develop/doc/bdd/подготовка-автодокументации.md) * Разделы по tdd-тесты кодом @@ -43,9 +43,9 @@ Vanessa.ADD работает с гарантией на платформах 1С * [ЗагрузчикПользовательскихНастроек](xdd/Загрузчик-пользовательских-настроек.MD) * [ГенераторОтчетаJUnitXML](xdd/ГенераторыОтчетов.MD#генераторотчетаjunitxml) * Генераторы отчетов тестирования: - * [ГенераторОтчетаAllureXMLВерсия2](xdd/ГенераторыОтчетов.MD#генераторотчетаallurexmlверсия2) - * [(устаревший) ГенераторОтчетаAllureXML](xdd/ГенераторыОтчетов.MD#устаревший-генераторотчетаallurexml) - * [ГенераторОтчетаJUnitXML](xdd/ГенераторыОтчетов.MD#генераторотчетаjunitxml) - * [ГенераторОтчетаMXL](xdd/ГенераторыОтчетов.MD#генераторотчетаmxl) + * [ГенераторОтчетаAllureXMLВерсия2](xdd/ГенераторыОтчетов.MD#генераторотчетаallurexmlверсия2) + * [(устаревший) ГенераторОтчетаAllureXML](xdd/ГенераторыОтчетов.MD#устаревший-генераторотчетаallurexml) + * [ГенераторОтчетаJUnitXML](xdd/ГенераторыОтчетов.MD#генераторотчетаjunitxml) + * [ГенераторОтчетаMXL](xdd/ГенераторыОтчетов.MD#генераторотчетаmxl) * [Дымовые тесты (тесты открытия всех форм)](../tests/smoke/readme.md) From 874d1ca0b59329587eb4feb8f792d5744fdb6266 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 11:10:46 +0300 Subject: [PATCH 250/421] =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20?= =?UTF-8?q?8.3.10?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...210\320\270\321\200\320\265\320\275\320\270\321\217.xml" | 2 +- .../Forms/\320\244\320\276\321\200\320\274\320\260.xml" | 6 +++--- .../\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" index 9c469f634..50f220a59 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217.xml" @@ -1,5 +1,5 @@  - + diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" index 88615e2e9..2fb2f3229 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -1,5 +1,5 @@  - +
Форма @@ -13,8 +13,8 @@ Managed false - PlatformApplication - MobilePlatformApplication + PersonalComputer + MobileDevice diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index c5608de8b..2563a7f23 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -1,5 +1,5 @@  - + From a93f185cf3c4efa70c270605e75002f6836b1a19 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 12:07:30 +0300 Subject: [PATCH 251/421] Lj, --- .github/ISSUE_TEMPLATE.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index b245fb830..13c98ab13 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,5 +1,4 @@ - -> Заполните шаблон обсуждения GIT (GitHub, GitLab, Vanessa Hub) + ```Gherkin Функционал: <Необходимый эффект> @@ -30,4 +29,4 @@ Тогда <Что-то происходит> ``` -> Прикладывайте файлы скриншотов + From ceccf00fd783b515dd24fedf71d7f91d1ab99032 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 12:08:12 +0300 Subject: [PATCH 252/421] =?UTF-8?q?=D0=92=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для большего удобства From 08a4105f34bfdd2669a59ab6f5bd1182d430a3a6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 12:10:21 +0300 Subject: [PATCH 253/421] =?UTF-8?q?=D0=92=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=81=D1=82=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для большего удобства --- .github/ISSUE_TEMPLATE/feature_request.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 408d38887..bf6c78175 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -5,10 +5,10 @@ about: предложение новой идеи или функциональ --- **Существует проблема** -Описание существующей проблемы [...] + **Хотелось бы иметь следующую функциональность** -Вариант реализации [...] + **Дополнительный контекст** -Любая дополнительная информация + From a06c5234a035e79d79f051db44b411302adb3058 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 12:11:47 +0300 Subject: [PATCH 254/421] =?UTF-8?q?=D0=92=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/bug_report.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 9eefe9ead..21c552ada 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -8,20 +8,20 @@ assignees: '' --- **Описание ошибки** -что конкретно происходит + **Сценарий воспроизведения** -Шаги по воспроизведению: + **Ожидаемое поведение, если бы ошибки не было** -'....' + **Скриншоты** -если применимо, приложите скриншоты + **Окружение:** @@ -45,6 +45,6 @@ assignees: '' **Дополнительный контекст** -- Типовая или не типовая конфигурация ? + From 46b2c7a26cffe734148e16ed76509e390a7ff49a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 14 Aug 2021 12:12:52 +0300 Subject: [PATCH 255/421] =?UTF-8?q?=D0=92=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/help_request.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/help_request.md b/.github/ISSUE_TEMPLATE/help_request.md index cd8fe7cab..5468b30b7 100644 --- a/.github/ISSUE_TEMPLATE/help_request.md +++ b/.github/ISSUE_TEMPLATE/help_request.md @@ -5,7 +5,7 @@ about: если вам нужна помощь по использованию --- ## Контекст @@ -28,12 +28,12 @@ about: если вам нужна помощь по использованию - Операционная система: Windows 10 (64) --> -С какой версией работаете, в какой операционной системе, с каким проектом 1С [...] + ## Запрос поддержки -Идеальный конечный результат по вашему запросу ? Что вы хотите ? [...] + ## Критичность запроса -Насколько быстро вам нужно получить ответ и почему [...] + From 4de0f3545c7bd67c708e85517dc1bc0ac7633c27 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 15 Aug 2021 23:36:42 +0300 Subject: [PATCH 256/421] =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit новая сигнатура Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) если возвращается Неопределено, плагин не будет использоваться #879 --- .../xddTestRunner/Ext/ObjectModule.bsl | 5 +++- .../Ext/Form/Module.bsl" | 24 +++++++++++++----- .../Ext/Form.bin" | Bin 111863 -> 112364 bytes .../Ext/Form/Module.bsl" | 11 ++++++-- .../LoadSettings/Ext/ObjectModule.bsl | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- tasks/init.os | 10 ++++---- 78 files changed, 109 insertions(+), 87 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 0d12acf29..4f33e6907 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -68,7 +68,10 @@ Для каждого КлючЗначение Из Плагины Цикл Плагин = Плагин(КлючЗначение.Ключ); Плагин.Инициализация(ЭтотОбъект); - ОписаниеПлагина = Плагин.ОписаниеПлагина(ТипыПлагинов); + ОписаниеПлагина = Плагин.ОписаниеПлагина(ЭтотОбъект, ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + Продолжить; + КонецЕсли; Если ОписаниеПлагина.Тип = ТипПлагина Тогда Результат.Добавить(ОписаниеПлагина); КонецЕсли; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index dc3ee1c00..ddafe4d24 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -139,7 +139,11 @@ &НаКлиенте Процедура ЗагрузитьТестыПоУмолчанию(Команда) ЗагрузчикПоУмолчанию = ЗагрузчикПоУмолчанию(); - ИдентификаторЗагрузчикаПоУмолчанию = ЗагрузчикПоУмолчанию.ОписаниеПлагина(Объект.ТипыПлагинов).Идентификатор; + ОписаниеПлагина = ЗагрузчикПоУмолчанию.ОписаниеПлагина(ЭтаФорма, Объект.ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + ВызватьИсключение "У загрузчика по умолчанию не задано описание плагина"; + КонецЕсли; + ИдентификаторЗагрузчикаПоУмолчанию = ОписаниеПлагина.Идентификатор; Подключаемый_ИнтерактивныйВызовЗагрузчика(Новый Структура("Имя", ИдентификаторЗагрузчикаПоУмолчанию)); КонецПроцедуры @@ -398,9 +402,13 @@ КонецЕсли; Попытка + ЭтотОбъектНаСервере = ЭтотОбъектНаСервере(); ОбъектОбработки = СоздатьФайлОбработкиНаСервере(КлючФайла, ИмяПлагина); - ОбъектОбработки.Инициализация(ЭтотОбъектНаСервере()); - ОписанияПлагинов.Вставить(КлючФайла, ОбъектОбработки.ОписаниеПлагина(Объект.ТипыПлагинов)); + ОбъектОбработки.Инициализация(ЭтотОбъектНаСервере); + ОписаниеПлагина = ОбъектОбработки.ОписаниеПлагина(ЭтотОбъектНаСервере, Объект.ТипыПлагинов); + Если ОписаниеПлагина <> Неопределено Тогда + ОписанияПлагинов.Вставить(КлючФайла, ОписаниеПлагина); + КонецЕсли; Исключение Ошибка = "Возникла ошибка при загрузке плагина: " + КлючФайла + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); @@ -1343,7 +1351,7 @@ Для Каждого ГенераторОтчета Из МассивДанныхОтчетов Цикл Параметры_xddReport.Добавить(ГенераторОтчета); - ОписаниеПлагина = Плагин(ГенераторОтчета[0]).ОписаниеПлагина(Объект.ТипыПлагинов); + ОписаниеПлагина = Плагин(ГенераторОтчета[0]).ОписаниеПлагина(ЭтаФорма, Объект.ТипыПлагинов); Если ОписаниеПлагина.Свойство("ПотоковыйВывод") И ОписаниеПлагина.ПотоковыйВывод Тогда Параметры_xddStreamReport.Добавить(ГенераторОтчета); КонецЕсли; @@ -1567,11 +1575,12 @@ Если ПараметрыДиспетчера.ИндексВидаОтчета < СписокОтчетов.Количество() Тогда СтрокаЭкспорта = СписокОтчетов[ПараметрыДиспетчера.ИндексВидаОтчета]; ГенераторОтчета = СтрокаЭкспорта.генераторОтчета; + ИдентификаторГенератораОтчета = СтрокаЭкспорта.ИдентификаторГенератораОтчета; ПутьКОтчету = СтрокаЭкспорта.Путь; ОписаниеОшибки = СтрШаблон_("УФ: Формируем отчет тестирования - путь %1", ПутьКОтчету); - ЗафиксироватьОшибкуВЖурналеРегистрации(СтрокаЭкспорта.ИдентификаторГенератораОтчета, ОписаниеОшибки, Истина); + ЗафиксироватьОшибкуВЖурналеРегистрации(ИдентификаторГенератораОтчета, ОписаниеОшибки, Истина); НаборОтчетов = СтрокаЭкспорта.Отчет; @@ -1594,7 +1603,10 @@ ОбработчикЭкспорта = АСинк().смв_НовыйОписаниеОповещения("ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим", ЭтаФорма, ПараметрыДиспетчера, "ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежимИсключение", ЭтаФорма); - ОписаниеПлагина = ГенераторОтчета.ОписаниеПлагина(Объект.ТипыПлагинов); + ОписаниеПлагина = ГенераторОтчета.ОписаниеПлагина(ЭтаФорма, Объект.ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + ВызватьИсключение "У Генератора отчета не задано описание - " + ИдентификаторГенератораОтчета; + КонецЕсли; ЕстьПотоковыйВывод = ОписаниеПлагина.Свойство("ПотоковыйВывод") И ОписаниеПлагина.ПотоковыйВывод; ФормироватьСводныйФайл = Истина; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" index 83445846f79c29ab947054338c6462918bc4a09a..a47cca6bb9ad0bcd6e302a79df21fb2baceb5c3f 100644 GIT binary patch delta 2389 zcma)6UvO2$8PDFtM6O;0Wh@d2$8hZ!?^$zp&z?Pd#Areil0YED#Bd2}Ie+$qV1oGr zm_%DdYt>pAVNFjTnkIpQ`rvr=By-cM@Yv}%9nO7F$4(h=#ttJYtv@+KVHOm82V81LGYdVBogsPe{*LS+nDxtKHju{d~?N*qeW?Utst zz5U~(t)qH}(bR0W)f%nahuzjqgCpA>8yFuNwA!_yiJ^{ENBh_lsM+b<*EGHd)sE2g zmZ3(h@0T$4GNX$Qb?hIs%-)vG9eVqL_S9pIeJI^Iw8=MzH}-EC?b|yxIyl_l*Rz%N zH2QsQbw5`%`H4?8B|J|)0j0WJbkvT9_n76S`Gurv4u~%{d@tEt;<3JN7OZDPBh+y? zG=1tqVi6lUh!Lp!rppoWF!jaHgcfX@1~-QF4}5!TvWOdI_;AlW08|WLc%Trn{&Y|5 zY6O+AYS+LTar0dL^$4q2MJCN-3RfJwGoGZ#rJk#ENC_v9c$7g#xeG0ZJR4E2aSMy{ z$DpVmXUgRa0c1{UB+hBEaNk+Qk>Yyf;_I}Ezm&>?X#ftG8Sa_MrDYM5i<uL%8NG$Jo996U~)6h6$fTwHZ6XbDHrGe&=OW1|65Fw z)ex#DFD_rqy70ld$*#ds{Kb7msV(jdkfg9Pg`l?}&%$Y+FE%=LU` z73lVCLqi6WnQJ3M#>LOa#de@>P=bk1xbFE&{#DU(X`T6hLMsI~-v&z_FY!talnj*c z!a5PpE3ZR%L3s<4aO%>xvG`P!iT;#(CR(^FxM@46x=~fC$2_mPM!8?n!jHaEZ=M_h zYfF_nB^U2FRnpdi$6N)s+L}Bjf+_O|R&1e7K3_jhl zT*r#(FE%9+529&sSN8Zc7>lj9E#J3vsh_s2K}c*@Mq0-%G-MU&jtrsY<^?8u`8e1B zYGh$k)$=@Cb95V0PNaBgjxDQ8vmnx`Vc44IQNvk^d9`@&^Ou6}r$Ae9ZVDJdd=A_V z^MYUSWD{z5#G=sSy38I~>dR7H>^!Kc#9h$s8Q|BlvxB`J0=$ zBiMZscs0c&aY54pFauTv_awlYpz;)0nJ?Sl&H@-bdJ1f;DTbDU7lAIV3eKGZCsRd` zZ!U>x=Lz}hUtR+@9@fIit%bAKaQ&*{_sR(PqZ5gm5X%c4p#OIJ>8684(9a@@{Xoq0m#LOm+L9(xA HfLr!Ip;9S_ delta 2143 zcma)+ZEO@p7{{5V6gjv`Nj1Dv>q$bmp|kV0vx36W)#(G~>yiX{Y$ z5`_;&UCn;+r63?kG_+fDCYtCcV@wDnYK&0~F(`om5u?$>D9&9$)GyxdCNqH#dY66d1KNw75h=-KHppS-iW zjM6lUSJ#e!coVz^EE~ny+FfOPX=m@ct(k07Q-ilqIJ??AWcQU?jeeT$9lK7Zs}VU1if8t9`DL3jn^1A2DfH+ zc5$poZ`Xz{$Lpj0ytTPL=ht=asO4Mgb6d#ZcG0|YRnyw_oeljf+xDc9`3i5?E@sEy z(XRkt@dteO`0=brX%vLl7XN8DUO)0+5nN*aTo=u<%G*VjH zo^WVXc?2vDzwN1t-W~?C@~7Sb?}Hd-D())jbo@x}T>zXAOlIMZ(VBQ`d(JB6Fo=73iUFs+WZQGHMV(vp3ARBr*(Ap*xA%}+B zFKtRm$`}d)1znDfAx8o#?szRj=kz`&%G*3@GX`4D?TL#hde3VDW&OKjn~oMRjm z`5CqOlp6`yNE?2()=+W}L!?~hdD{0~-zh+;jYkh(0r4L%eKs*g9p)$^3`6B2NQv)3 zp$$#JeI zan0e=)=h%vk0fJ!^!tkNjc1p}xzU%$kJZYU5LdqUz?^@sFMRPrqG&jJ{_%eq?z^zW zN(D#-KC%@I2=@vgC6t5+=(*fA3=LCKgt8_^7iSrB;V4^h3Na-LQf5F3=^+>h8n{Af zPDoH-_)XY+dES4z>%ir?QwXw)?NymceCYCTR%G1=QjxV5%!yB5O;3w}1!hDoNl+Di z0>I4Zr@3HS`09))81B4^5qxn2tQl54k1Fw`6W=?PXryfvZ)+n4WzvjnhN;lZWHQJf7y(|{Un!)Sg#Z8m diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d88943098..ed83fdfb8 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -81,7 +81,11 @@ Процедура КнопкаЗагрузитьТестыНажатие(Элемент) ЗагрузчикПоУмолчанию = ЭтотОбъект.ЗагрузчикПоУмолчанию(); - ИдентификаторЗагрузчикаПоУмолчанию = ЗагрузчикПоУмолчанию.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов).Идентификатор; + ОписаниеПлагина = ЗагрузчикПоУмолчанию.ОписаниеПлагина(ЭтотОбъект, ЭтотОбъект.ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + ВызватьИсключение "У загрузчика по умолчанию не задано описание плагина"; + КонецЕсли; + ИдентификаторЗагрузчикаПоУмолчанию = ОписаниеПлагина.Идентификатор; Подключаемый_ИнтерактивныйВызовЗагрузчика(Новый Структура("Имя", ИдентификаторЗагрузчикаПоУмолчанию)); КонецПроцедуры @@ -179,7 +183,10 @@ Для каждого ФайлОбработки Из НайденныеФайлы Цикл Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь); Попытка - ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов); + ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект, ЭтотОбъект.ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + Продолжить; + КонецЕсли; Обработка.Инициализация(ЭтотОбъект); ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, Обработка); Исключение diff --git a/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl b/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl index f45aedb09..1f2cdfcee 100644 --- a/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl +++ b/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl @@ -1,7 +1,7 @@ Перем ЭтоLinux; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 30134e83d..6d551cc48 100644 --- "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,7 +12,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Ext/ObjectModule.bsl" "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Ext/ObjectModule.bsl" index 06b1e8b19..5c9147d24 100644 --- "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Ext/ObjectModule.bsl" +++ "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Ext/ObjectModule.bsl" @@ -10,7 +10,7 @@ Перем Регулярка; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 96aac7f03..9872e80ce 100644 --- "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 0f8e1d620..d9e3b0d69 100644 --- "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@ Перем СтатусыРезультатаТестирования; -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", "БазовыеУтверждения"); diff --git "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6b83dc79e..531a6152d 100644 --- "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2,7 +2,7 @@ Перем СтатусыРезультатаТестирования; &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" index a6be3506f..b0f5ea046 100644 --- "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" +++ "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" @@ -11,7 +11,7 @@ //Перем Лог; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 762f0e23f..ff02f5e20 100644 --- "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" index ab08f52d0..60495d417 100644 --- "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" +++ "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" @@ -11,7 +11,7 @@ Перем ФайлОткрыт; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 19040f629..fe1e052ba 100644 --- "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Ext/ObjectModule.bsl" index 3bedfa9d9..7eec85c73 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@ Перем РазницаВМилисекундахМеждуЮниксИНачалЭпохи; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bd7bccec5..8c05e0013 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" index 7e96327f5..d4ffd6071 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ Перем РазницаВМилисекундахМеждуЮниксИНачалЭпохи; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7a3cf99ef..02069d1bc 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" index 1ecadcede..a9ba5bcc6 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f650b286d..7a088758b 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Ext/ObjectModule.bsl" index 1e5ce0745..1515d0a6a 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index eb2a9e1e1..1245c331b 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" index f0b753205..afdeed8ac 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 10d6820df..db94afea8 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Ext/ObjectModule.bsl" index cd88749f5..26088318d 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 338e55605..d2a13ac2e 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" index cc1afd06e..85ba4f6fa 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Ext/ObjectModule.bsl" @@ -3,7 +3,7 @@ Перем СтруктураПредставленияСтроки; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c8ecf2899..119980558 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" index 66864b0ce..96a794f42 100644 --- "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" @@ -1,5 +1,5 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", "ДвиженияДокумента"); diff --git "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c8ecf2899..119980558 100644 --- "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index c28aff4ce..2a5834f8f 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -7,7 +7,7 @@ Перем ТекущаяГруппа; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 24ce78247..79ac0b69d 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,7 +10,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" index 2ca21a91b..7fefd3452 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Ext/ObjectModule.bsl" @@ -1,5 +1,5 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); Результат.Вставить("Идентификатор", "ЗагрузчикКаталога"); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e53c9901b..c3f1f2e5b 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" index c460b6d63..557f0762d 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" @@ -9,7 +9,7 @@ Перем ЭтоLinux; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 42159cdcf..3859137c8 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 8d6b7198d..a2aacdaf5 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -132,7 +132,7 @@ #Область ВнешнийИнтерфейсПлагина -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" index 011d64faf..9c73cf14a 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Ext/ObjectModule.bsl" @@ -5,7 +5,7 @@ Перем ТекущаяГруппа; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3dd429731..901b18079 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" index 23f667827..9b9e8fa26 100644 --- "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ //TODO раскомментировать утверждения во всех методах после решения Архитектура взаимодействия плагинов/утилит между собой #568 https://github.com/xDrivenDevelopment/xUnitFor1C/issues/568 // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f0ca34e7f..4f7dd98b2 100644 --- "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/ObjectModule.bsl" index 60d6aca43..33153413b 100644 --- "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Ext/ObjectModule.bsl" @@ -4,7 +4,7 @@ Перем Файлы; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1199dd86b..be50cbe2d 100644 --- "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Ext/ObjectModule.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Ext/ObjectModule.bsl" index 21fbe4e58..cd074168d 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Ext/ObjectModule.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Ext/ObjectModule.bsl" @@ -1,5 +1,5 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", "Информатор"); diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bf6d6cff5..e36a635cd 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,7 +12,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" index 308e7fbab..dffb1cbcc 100644 --- "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" +++ "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -7,7 +7,7 @@ Перем КонтекстЯдра; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); diff --git "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c8ecf2899..119980558 100644 --- "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" index b3132df86..39c706e4a 100644 --- "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" +++ "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Ext/ObjectModule.bsl" @@ -8,7 +8,7 @@ Перем мПуть; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3172ff99d..f52dc964d 100644 --- "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -5,7 +5,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 0aa613194..3988b3f14 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -3,7 +3,7 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", "Настройки"); diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 019bb1136..45843574d 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -14,7 +14,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" index 6c7a931d2..762f412ee 100644 --- "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -1,5 +1,5 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); МетаданныеПлагина = Метаданные(); diff --git "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 94be2da58..c4f78a717 100644 --- "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 55a6fb869..688793030 100644 --- "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 592412d42..ddf6ebf3b 100644 --- "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -20,7 +20,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\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/Ext/ObjectModule.bsl" "b/plugins/\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/Ext/ObjectModule.bsl" index 57655ac7d..4dc674739 100644 --- "a/plugins/\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/Ext/ObjectModule.bsl" +++ "b/plugins/\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/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1199dd86b..be50cbe2d 100644 --- "a/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Ext/ObjectModule.bsl" "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Ext/ObjectModule.bsl" index a6cf0b809..8048e4754 100644 --- "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Ext/ObjectModule.bsl" +++ "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f1b0dcb5d..870cbf535 100644 --- "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,7 @@  // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Ext/ObjectModule.bsl" index b65a887ee..f75feef11 100644 --- "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 72b2d3d14..efba60ca8 100644 --- "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -51,7 +51,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index db9d0edcb..b14ef7a21 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -10,7 +10,7 @@ Перем Ожидаем; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bafb4d1ce..698a557d0 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index f73fdd42c..08d199159 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -33,7 +33,7 @@ КонецФункции // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6b73c2845..0d8c9106b 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" index 46e4fe797..202c242e7 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 38b792bd4..c0f582a4f 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Ext/ObjectModule.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Ext/ObjectModule.bsl" index 996e8c55c..9d6493b0c 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); МетаданныеПлагина = Метаданные(); diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6fc143dbb..d4b202386 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -21,7 +21,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" index bce312b8c..b15e3ccad 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" @@ -2,7 +2,7 @@ Перем КонтекстЯдра; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f7b4250d6..6c94a66fd 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" index 2c4351a97..9c995b336 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Ext/ObjectModule.bsl" @@ -2,7 +2,7 @@ Перем ФлагОтрицанияДляСообщения; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 883135c99..1aa63085e 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,7 +10,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" index 43ed922af..9865da4cb 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" @@ -2,7 +2,7 @@ Перем ЭтоLinux; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 72a3f21a3..5bc0c0a45 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" index b60b6eb1d..e2b28257a 100644 --- "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" +++ "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Ext/ObjectModule.bsl" @@ -11,7 +11,7 @@ Перем КонтекстЯдра; // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 77e4faf5e..93446ef20 100644 --- "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции diff --git a/tasks/init.os b/tasks/init.os index 2fba1c748..dca8ad010 100644 --- a/tasks/init.os +++ b/tasks/init.os @@ -144,7 +144,7 @@ СоздатьКаталог(СтрШаблон("%1/vanessa-add", КаталогВременныхФайлов())); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./tools %1tools --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./tools %1tools --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); СтрокаЗапуска = СтрШаблон("vrunner run --command VBParams=./tools/epf/init.json --execute %1tools/epf/init.epf", КаталогСборки); @@ -156,17 +156,17 @@ СтрокаЗапуска = Исходники.СтрокаЗапускаКомандыСборки(Бинарники1СХранятсяРядомСИсходниками, ИмяКаталогаСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib %1lib --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib %1lib --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); Если НЕ Бинарники1СХранятсяРядомСИсходниками Тогда - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpf %1lib/TemplateEpf --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./lib/TemplateEpfUF %1lib/TemplateEpfUF --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); - СтрокаЗапуска = СтрШаблон("vrunner compileepf ./locales %1locales --onlycopy --ibname /F./build/ibservice", КаталогСборки); + СтрокаЗапуска = СтрШаблон("vrunner compileepf ./locales %1locales --onlycopy --ibconnection /F./build/ibservice", КаталогСборки); ИсполнитьКоманду(СтрокаЗапуска); КонецЕсли; From 865434d83bf41f10c261ce560709befe0bf4effc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 16 Aug 2021 00:35:49 +0300 Subject: [PATCH 257/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=B7?= =?UTF-8?q?-=D0=B7=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B9=20=D1=81=D0=B8?= =?UTF-8?q?=D0=B3=D0=BD=D0=B0=D1=82=D1=83=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #879 --- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 5 +++-- .../Ext/Form/Module.bsl" | 5 +++-- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/ObjectModule.bsl" | 22 ++++++++++++++++++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 5 +++-- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- 35 files changed, 92 insertions(+), 38 deletions(-) diff --git "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6d551cc48..6629f83fc 100644 --- "a/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/LoadSettings/LoadSettings/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -18,7 +18,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9872e80ce..40b07f9e9 100644 --- "a/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/\320\220\320\273\320\273\321\216\321\2002\320\236\321\202\321\207\320\265\321\202/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ff02f5e20..23e678db0 100644 --- "a/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\222\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index fe1e052ba..f9c5c4317 100644 --- "a/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/\320\222\321\213\320\262\320\276\320\264\320\222\320\233\320\276\320\263\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -22,7 +22,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8c05e0013..16b771286 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 02069d1bc..028a7269d 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260AllureXML\320\222\320\265\321\200\321\201\320\270\321\2172/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7a088758b..f5ef54d1e 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1245c331b..205de8313 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML_TFS/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index db94afea8..89cb930db 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260MXL/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d2a13ac2e..6d9feacb6 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/\320\223\320\265\320\275\320\265\321\200\320\260\321\206\320\270\321\217\320\232\320\276\320\264\320\260\320\222\320\276\320\267\320\262\321\200\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 119980558..1a86eab95 100644 --- "a/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\224\320\260\320\275\320\275\321\213\320\265/\320\224\320\260\320\275\320\275\321\213\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 119980558..1a86eab95 100644 --- "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 79ac0b69d..21169de9f 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\230\320\267\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -16,7 +16,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface @@ -453,7 +454,7 @@ КонецЕсли; КонтекстЯдра = ДополнительныеПараметры; - Описание = ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); + Описание = ОписаниеПлагина(КонтекстЯдра, КонтекстЯдра.Объект.ТипыПлагинов); КонтекстЯдра.ЗагрузитьТесты(Описание.Идентификатор, Результат); КонецПроцедуры diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c3f1f2e5b..e35e42de6 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\232\320\260\321\202\320\260\320\273\320\276\320\263\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте @@ -217,7 +218,7 @@ Результат = ДиалогВыбораКаталога.Каталог; КонецЕсли; - Описание = ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); + Описание = ОписаниеПлагина(КонтекстЯдра, КонтекстЯдра.Объект.ТипыПлагинов); Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда Обр = Новый ОписаниеОповещения("ОкончаниеЗагрузкиТестов", ЭтаФорма); КонтекстЯдра.НачатьЗагрузкуТестов(Обр, Описание.Идентификатор, Результат); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3859137c8..0207d7eb6 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,7 +9,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index a2aacdaf5..7af53f196 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -134,6 +134,10 @@ Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт + Если Не ПодходящийРежимСовместимостиПлатформы(КонтекстЯдра) Тогда + Возврат Неопределено; + КонецЕсли; + Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); Результат.Вставить("Идентификатор", Метаданные().Имя); @@ -143,6 +147,7 @@ КонецФункции + Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры @@ -277,7 +282,7 @@ Отбор = Новый Структура("Имя", ИмяРасширения); Расширения = РасширенияКонфигурации.Получить(Отбор); Расширение = Расширения[0]; - МетаданныеРасширения = Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные()); + МетаданныеРасширения = Вычислить("Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные());"); Возврат МетаданныеРасширения; @@ -315,6 +320,21 @@ КонецФункции +Функция ПодходящийРежимСовместимостиПлатформы(КонтекстЯдра) + + НеобходимаяВерсияПриложения = "8.3.13"; + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Не КонтекстЯдра.ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + + ВерсияРежимаСовместимости = КонтекстЯдра.ВерсияРежимаСовместимости(); + + Возврат КонтекстЯдра.ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); + +КонецФункции + #КонецОбласти ЭтотОбъект.ВключенаАнглийскаяЛокализация = ВключенаАнглийскаяЛокализация(); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8fcb50fa5..724c86dc4 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -246,7 +246,8 @@ &НаСервере Функция ИдентификаторПлагина(Знач КонтекстЯдра) - ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + ОписаниеПлагина = ОбъектПлагина().ОписаниеПлагина(КонтекстЯдраНаСервере, КонтекстЯдра.ТипыПлагинов); Возврат ОписаниеПлагина.Идентификатор; КонецФункции diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 901b18079..1b959dad8 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\244\320\260\320\271\320\273\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -24,7 +24,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface @@ -593,7 +594,7 @@ Текст = Лев(Текст, СтрДлина(Текст) - 1); - Описание = ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); + Описание = ОписаниеПлагина(КонтекстЯдра, КонтекстЯдра.Объект.ТипыПлагинов); Если ЕстьПоддержкаАсинхронныхВызовов Тогда Обр = Новый ОписаниеОповещения("ОкончаниеЗагрузкиТестов", ЭтаФорма); КонтекстЯдра.НачатьЗагрузкуТестов(Обр, Описание.Идентификатор, Текст); diff --git "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 4f7dd98b2..ec69103e5 100644 --- "a/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\230\320\267\320\221\320\224/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index be50cbe2d..ed56ec42c 100644 --- "a/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\227\320\260\320\277\321\203\321\201\320\272\320\242\320\265\321\201\321\202\320\276\320\262\320\224\320\273\321\217\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e36a635cd..500e28254 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -81,7 +81,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Helpers diff --git "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 119980558..1a86eab95 100644 --- "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f52dc964d..83bbdd5d3 100644 --- "a/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\244\320\260\320\271\320\273/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c4f78a717..221d60dfe 100644 --- "a/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/\320\237\320\260\321\200\321\201\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\271\320\241\321\202\321\200\320\276\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ddf6ebf3b..bb59de348 100644 --- "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -26,7 +26,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index be50cbe2d..ed56ec42c 100644 --- "a/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\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/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -13,7 +13,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 870cbf535..4aa332b70 100644 --- "a/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/\320\237\320\276\321\201\321\202\321\200\320\276\320\270\321\202\320\265\320\273\321\214\320\224\320\265\321\200\320\265\320\262\320\260\320\242\320\265\321\201\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -7,7 +7,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index efba60ca8..d5c8d3cc1 100644 --- "a/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\321\200\321\204\320\276\320\263\321\200\320\260\321\204\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -57,7 +57,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 698a557d0..5ee520eea 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -27,7 +27,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c0f582a4f..b86dfe8de 100644 --- "a/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -17,7 +17,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d4b202386..ddbe70f11 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -27,7 +27,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6c94a66fd..e15d07e25 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -20,7 +20,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1aa63085e..512c9aae9 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -16,7 +16,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5bc0c0a45..b7ee693eb 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 93446ef20..1b3330d2d 100644 --- "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -20,7 +20,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface From a32a97893ef37b8cc879f824a385ef06da631194 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 16 Aug 2021 00:47:33 +0300 Subject: [PATCH 258/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=8D?= =?UTF-8?q?=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=D0=BD=D1=8B=D0=B5=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit на сервере и толстом клиенте обычного приложения - ПодходящийРежимСовместимостиПлатформы - ВерсияПриложенияБольшеИлиРавнаЧемЗаданная - ВерсияРежимаСовместимости - РежимСовместимости УФ: - ПодходящийРежимСовместимостиПлатформыКлиент - УзнатьРежимСовместимостиКлиент - ВерсияРежимаСовместимостиКлиент - УФ: исправлена ошибка в ВерсияПриложенияБольшеИлиРавнаЧемЗаданная #874 #879 --- .../xddTestRunner/Ext/ObjectModule.bsl | 70 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 47 ++++++++++++- .../Ext/ObjectModule.bsl" | 18 +---- 3 files changed, 116 insertions(+), 19 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 4f33e6907..93052e95d 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1,5 +1,8 @@ Перем РегулярныеВыражения; +Перем КешРежимСовместимости; +Перем КешВерсияРежимСовместимости; + Функция Версия() Экспорт Версия = "6.7.0"; Возврат Версия; @@ -1034,4 +1037,71 @@ //} +#Область Версии_и_РежимСовместимости + +Функция ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(Версия1, Версия2) Экспорт + Массив1 = РазложитьСтрокуВМассивПодстрок(Версия1, "."); + Массив2 = РазложитьСтрокуВМассивПодстрок(Версия2, "."); + + Версия1БольшеИлиРавно = Истина; + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл + Элем1 = Массив1.Получить(Ккк); + Элем2 = Массив2.Получить(Ккк); + + Если Число(Элем2) > Число(Элем1) Тогда + Версия1БольшеИлиРавно = Ложь; + ИначеЕсли Число(Элем2) < Число(Элем1) Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат Версия1БольшеИлиРавно; +КонецФункции + +Функция ПодходящийРежимСовместимостиПлатформы(Знач НеобходимаяВерсияПриложения) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + + ВерсияРежимаСовместимости = ВерсияРежимаСовместимости(); + + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); + +КонецФункции + +Функция ВерсияРежимаСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда + РежимСовместимостиВерсия = СтрЗаменить(РежимСовместимости(ЗначениеПоУмолчанию), "Версия", ""); + КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); + КонецЕсли; + + Возврат КешВерсияРежимСовместимости; + +КонецФункции + +Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(КешРежимСовместимости) Тогда + + Если ЗначениеПоУмолчанию = Неопределено Тогда + ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; + КонецЕсли; + + Попытка + КешРежимСовместимости = Вычислить("Метаданные.РежимСовместимости"); + Исключение + КешРежимСовместимости = ЗначениеПоУмолчанию; + КонецПопытки; + + КонецЕсли; + + Возврат КешРежимСовместимости; + +КонецФункции + +#КонецОбласти + Инициализация(); diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ddafe4d24..1bb2b41d3 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,6 +12,12 @@ &НаКлиенте Перем Версия8315ИлиВыше Экспорт; +&НаКлиенте +Перем КешРежимСовместимости; + +&НаКлиенте +Перем КешВерсияРежимСовместимости; + &НаКлиенте Перем АСинк; @@ -2620,13 +2626,27 @@ Возврат Найти(Врег(СтрокаСоединенияИнформационнойБазы), "FILE=") = 1; КонецФункции +&НаКлиенте +Функция ПодходящийРежимСовместимостиПлатформыКлиент(Знач НеобходимаяВерсияПриложения) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + + ВерсияРежимаСовместимости = ВерсияРежимаСовместимостиКлиент(); + + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); + +КонецФункции + &НаКлиентеНаСервереБезКонтекста Функция ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(Версия1, Версия2) Экспорт Массив1 = РазложитьСтрокуВМассивПодстрок(Версия1, "."); Массив2 = РазложитьСтрокуВМассивПодстрок(Версия2, "."); Версия1БольшеИлиРавно = Истина; - Для Ккк = 0 По Массив1.Количество() - 1 Цикл + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл Элем1 = Массив1.Получить(Ккк); Элем2 = Массив2.Получить(Ккк); @@ -2706,8 +2726,31 @@ КонецФункции +&НаКлиенте +Функция УзнатьРежимСовместимостиКлиент(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(КешРежимСовместимости) Тогда + КешРежимСовместимости = РежимСовместимости(ЗначениеПоУмолчанию); + КонецЕсли; + + Возврат КешРежимСовместимости; +КонецФункции + +&НаКлиенте +Функция ВерсияРежимаСовместимостиКлиент(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда + РежимСовместимостиВерсия = СтрЗаменить(УзнатьРежимСовместимостиКлиент(ЗначениеПоУмолчанию), "Версия", ""); + КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); + КонецЕсли; + + Возврат КешВерсияРежимСовместимости; +КонецФункции + &НаСервереБезКонтекста -Функция РежимСовместимости(ЗначениеПоУмолчанию) +Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) + + Если ЗначениеПоУмолчанию = Неопределено Тогда + ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; + КонецЕсли; Значение = ЗначениеПоУмолчанию; Попытка diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 7af53f196..4312cb0d7 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -134,7 +134,7 @@ Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт - Если Не ПодходящийРежимСовместимостиПлатформы(КонтекстЯдра) Тогда + Если Не КонтекстЯдра.ПодходящийРежимСовместимостиПлатформы("8.3.13") Тогда Возврат Неопределено; КонецЕсли; @@ -147,7 +147,6 @@ КонецФункции - Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры @@ -320,21 +319,6 @@ КонецФункции -Функция ПодходящийРежимСовместимостиПлатформы(КонтекстЯдра) - - НеобходимаяВерсияПриложения = "8.3.13"; - - СистемнаяИнформация = Новый СистемнаяИнформация; - Если Не КонтекстЯдра.ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда - Возврат Ложь; - КонецЕсли; - - ВерсияРежимаСовместимости = КонтекстЯдра.ВерсияРежимаСовместимости(); - - Возврат КонтекстЯдра.ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); - -КонецФункции - #КонецОбласти ЭтотОбъект.ВключенаАнглийскаяЛокализация = ВключенаАнглийскаяЛокализация(); From 6316e168082ea2515c55aae0b8deb84a8cf14af6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 16 Aug 2021 01:12:18 +0300 Subject: [PATCH 259/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=B8=D1=81=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=B7?= =?UTF-8?q?-=D0=B7=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B9=20=D1=81=D0=B8?= =?UTF-8?q?=D0=B3=D0=BD=D0=B0=D1=82=D1=83=D1=80=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + bddRunner и разные файлы #879 --- .../Ext/Form/Module.bsl" | 5 ++-- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 5 ++-- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 5 ++-- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 5 +++- .../Ext/Form/Module.bsl" | 23 +++++++++++-------- .../Ext/Form/Module.bsl" | 8 ++++--- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 5 ++-- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/Form/Module.bsl" | 3 ++- .../Ext/ObjectModule.bsl" | 4 ++-- .../Ext/Form/Module.bsl" | 4 ++-- 16 files changed, 49 insertions(+), 32 deletions(-) diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index dd4a8a674..8410f976f 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\260\320\236\321\202\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -12,7 +12,7 @@ // Структура - структура-результат // &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции @@ -27,7 +27,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Ext/ObjectModule.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Ext/ObjectModule.bsl" index 2a20da132..74bdda86b 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Ext/ObjectModule.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Загрузчик); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index dc3e2e8be..83a4152f2 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/\320\250\320\260\320\261\320\273\320\276\320\275\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции @@ -13,7 +13,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" index e71b4a9b1..57b83d373 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1199dd86b..ed56ec42c 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -3,7 +3,7 @@ // { Plugin interface &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции @@ -13,7 +13,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 88b70e086..f5fce1014 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -50,7 +50,10 @@ Для каждого КлючЗначение Из Плагины Цикл Плагин = Плагин(КлючЗначение.Ключ); Плагин.Инициализация(ЭтотОбъект); - ОписаниеПлагина = Плагин.ОписаниеПлагина(ТипыПлагинов); + ОписаниеПлагина = Плагин.ОписаниеПлагина(ЭтотОбъект, ТипыПлагинов); + Если ОписаниеПлагина = Неопределено Тогда + Продолжить; + КонецЕсли; Если ОписаниеПлагина.Тип = ТипПлагина Тогда Результат.Добавить(ОписаниеПлагина); КонецЕсли; diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 92c2b4cd5..2b38ab41a 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -6026,14 +6026,16 @@ Для каждого ОбъектПлагина Из МассивПодключенныхПлагинов Цикл Попытка ОбъектПлагина.Инициализация(ЭтаФорма); - ОписаниеПлагина = ОбъектПлагина.ОписаниеПлагина(Объект.ТипыПлагинов); - ИмяПлагина = ОписаниеПлагина.Идентификатор; - - ПодключенныеРанее.Вставить(ОписаниеПлагина.Идентификатор, Истина); - Объект.ПлагиныЗагружены = Истина; - Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); - КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); - СделатьСообщение("Подключен плагин " + ИмяПлагина + " в режиме отладки"); + ОписаниеПлагина = ОбъектПлагина.ОписаниеПлагина(ЭтаФорма, Объект.ТипыПлагинов); + Если ОписаниеПлагина <> Неопределено Тогда + ИмяПлагина = ОписаниеПлагина.Идентификатор; + + ПодключенныеРанее.Вставить(ОписаниеПлагина.Идентификатор, Истина); + Объект.ПлагиныЗагружены = Истина; + Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); + КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); + СделатьСообщение("Подключен плагин " + ИмяПлагина + " в режиме отладки"); + КонецЕсли; Исключение ИнфоОшибки = ИнформацияОбОшибке(); Если ОбъектПлагина <> Неопределено Тогда @@ -19078,7 +19080,10 @@ Попытка ОбъектОбработки = СоздатьФайлОбработкиНаСервере(КлючФайла, ИмяПлагина, Объект.ИспользоватьПрямыеПутиФайлов); ОбъектОбработки.Инициализация(ЭтотОбъектНаСервере); - ОписанияПлагинов.Вставить(КлючФайла, ОбъектОбработки.ОписаниеПлагина(Объект.ТипыПлагинов)); + ОписаниеПлагина = ОбъектОбработки.ОписаниеПлагина(ЭтотОбъектНаСервере, Объект.ТипыПлагинов); + Если ОписаниеПлагина <> Неопределено Тогда + ОписанияПлагинов.Вставить(КлючФайла, ОписаниеПлагина); + КонецЕсли; Исключение Ошибка = "Возникла ошибка при загрузке плагина: " + КлючФайла + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); diff --git "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f9cf95e84..ad2d650f6 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -222,9 +222,11 @@ Для каждого ФайлОбработки Из НайденныеФайлы Цикл Обработка = ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя, Ложь); Попытка - ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект.ТипыПлагинов); - Обработка.Инициализация(ЭтотОбъект); - ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, Обработка); + ОписаниеПлагина = Обработка.ОписаниеПлагина(ЭтотОбъект, ЭтотОбъект.ТипыПлагинов); + Если ОписаниеПлагина <> Неопределено Тогда + Обработка.Инициализация(ЭтотОбъект); + ЭтотОбъект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, Обработка); + КонецЕсли; Исключение Ошибка = "Возникла ошибка при загрузке плагина: "+ФайлОбработки.Имя + Символы.ПС + ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); Сообщить(Ошибка); diff --git "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/Ext/ObjectModule.bsl" "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/Ext/ObjectModule.bsl" index 21fbe4e58..cd074168d 100644 --- "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/Ext/ObjectModule.bsl" +++ "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200\320\250\320\260\320\263\320\270/Ext/ObjectModule.bsl" @@ -1,5 +1,5 @@ // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", "Информатор"); diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" index 46e4fe797..202c242e7 100644 --- "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -1,6 +1,6 @@  // { Plugin interface -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b9bef579f..579406401 100644 --- "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -9,13 +9,14 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); КонецФункции &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 531a6152d..be8947bb6 100644 --- "a/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/\320\221\320\260\320\267\320\276\320\262\321\213\320\265\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -8,7 +8,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат Объект().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции &НаКлиенте diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 45843574d..c9c8898dd 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -464,7 +464,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат Объект().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции #КонецОбласти diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0d8c9106b..ecc64fbd0 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,7 +15,8 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат Объект().ОписаниеПлагина(ВозможныеТипыПлагинов); + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат Объект().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); КонецФункции // } Plugin interface diff --git "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Ext/ObjectModule.bsl" "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Ext/ObjectModule.bsl" index 3eab7b078..5a7758879 100644 --- "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Ext/ObjectModule.bsl" +++ "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Ext/ObjectModule.bsl" @@ -20,7 +20,7 @@ // { Core Процедура ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору() Экспорт ЗагрузчикТестов = КонтекстЯдра.Плагин("ЗагрузчикФайла"); - ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра, КонтекстЯдра.ТипыПлагинов); // Убираем из идентификатора префикс подсистемы ИдентификаторПлагинаБезПрефикса = КонтекстЯдра.ПолучитьИдентификаторБезПрефиксаПодсистемы(ОписаниеПлагина.Идентификатор); @@ -46,7 +46,7 @@ // { Plugin interface Процедура ТестДолжен_ПроверитьОписаниеПлагина() Экспорт ЗагрузчикТестов = КонтекстЯдра.ЗагрузчикПоУмолчанию(); - ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра.ТипыПлагинов); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра, КонтекстЯдра.ТипыПлагинов); Утверждения.ПроверитьРавенство(ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик, "ОписаниеПлагина.Тип, КонтекстЯдра.ТипыПлагинов.Загрузчик"); Утверждения.ПроверитьРавенство(ОписаниеПлагина.Идентификатор, "ЗагрузчикКаталога", "ОписаниеПлагина.Идентификатор"); Утверждения.ПроверитьРавенство(ОписаниеПлагина.Представление, "Загрузить тесты из каталога файловой системы", "ОписаниеПлагина.Представление"); diff --git "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 756da626a..f08e7bc52 100644 --- "a/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/xunit/Core/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\237\320\273\320\260\320\263\320\270\320\275\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -28,7 +28,7 @@ Процедура ТестДолжен_ПроверитьОписаниеПлагина() Экспорт ЗагрузчикТестов = КонтекстЯдра.ЗагрузчикПоУмолчанию(); ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; - ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов); // Убираем из идентификатора префикс подсистемы ИдентификаторПлагинаБезПрефикса = КонтекстЯдра.ПолучитьИдентификаторБезПрефиксаПодсистемы(ОписаниеПлагина.Идентификатор, КонтекстЯдра.Объект.ИспользуемыйПрефиксПодсистемы); @@ -44,7 +44,7 @@ Процедура ТестДолжен_ПроверитьПолучениеПлагинаПоИдентификатору() Экспорт ЗагрузчикТестов = КонтекстЯдра.Плагин("ЗагрузчикФайла"); ВозможныеТипыПлагинов = КонтекстЯдра.Объект.ТипыПлагинов; - ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(ВозможныеТипыПлагинов); + ОписаниеПлагина = ЗагрузчикТестов.ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов); // Убираем из идентификатора префикс подсистемы ИдентификаторПлагинаБезПрефикса = КонтекстЯдра.ПолучитьИдентификаторБезПрефиксаПодсистемы(ОписаниеПлагина.Идентификатор, КонтекстЯдра.Объект.ИспользуемыйПрефиксПодсистемы); From 5865c44bb25eb0fbe8e8b811cd6a0d24054e9a68 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 16 Aug 2021 01:30:58 +0300 Subject: [PATCH 260/421] =?UTF-8?q?bdd=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=8D=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit УФ: - ПодходящийРежимСовместимостиПлатформыКлиент - ВерсияРежимаСовместимостиКлиент на сервере и толстом клиенте обычного приложения - ПодходящийРежимСовместимостиПлатформы - ВерсияПриложенияБольшеИлиРавнаЧемЗаданная - ВерсияРежимаСовместимости - РежимСовместимости - УФ: исправлена ошибка в ВерсияПриложенияБольшеИлиРавнаЧемЗаданная #879 --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 70 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 33 ++++++++- 2 files changed, 100 insertions(+), 3 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index f5fce1014..dcf8507b1 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -5,6 +5,9 @@ Перем ЭтоLinux Экспорт; Перем РазницаВМилисекундахМеждуЮниксИНачалЭпохи; +Перем КешРежимСовместимости; +Перем КешВерсияРежимСовместимости; + Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт Версия = "6.7.0"; @@ -2236,6 +2239,73 @@ // } +#Область Версии_и_РежимСовместимости + +Функция ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(Версия1, Версия2) Экспорт + Массив1 = РазложитьСтрокуВМассивПодстрок(Версия1, "."); + Массив2 = РазложитьСтрокуВМассивПодстрок(Версия2, "."); + + Версия1БольшеИлиРавно = Истина; + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл + Элем1 = Массив1.Получить(Ккк); + Элем2 = Массив2.Получить(Ккк); + + Если Число(Элем2) > Число(Элем1) Тогда + Версия1БольшеИлиРавно = Ложь; + ИначеЕсли Число(Элем2) < Число(Элем1) Тогда + Прервать; + КонецЕсли; + КонецЦикла; + + Возврат Версия1БольшеИлиРавно; +КонецФункции + +Функция ПодходящийРежимСовместимостиПлатформы(Знач НеобходимаяВерсияПриложения) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + + ВерсияРежимаСовместимости = ВерсияРежимаСовместимости(); + + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); + +КонецФункции + +Функция ВерсияРежимаСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда + РежимСовместимостиВерсия = СтрЗаменить(РежимСовместимости(ЗначениеПоУмолчанию), "Версия", ""); + КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); + КонецЕсли; + + Возврат КешВерсияРежимСовместимости; + +КонецФункции + +Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + + Если Не ЗначениеЗаполнено(КешРежимСовместимости) Тогда + + Если ЗначениеПоУмолчанию = Неопределено Тогда + ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; + КонецЕсли; + + Попытка + КешРежимСовместимости = Вычислить("Метаданные.РежимСовместимости"); + Исключение + КешРежимСовместимости = ЗначениеПоУмолчанию; + КонецПопытки; + + КонецЕсли; + + Возврат КешРежимСовместимости; + +КонецФункции + +#КонецОбласти + СтатусыРезультатаТестирования = Новый Структура; СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2b38ab41a..046917324 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -197,6 +197,9 @@ &НаКлиенте Перем КешРежимСовместимости; +&НаКлиенте +Перем КешВерсияРежимСовместимости; + &НаКлиенте Перем СчетчикШаговБезТаймера, МаксСчетчикШаговБезТаймера; @@ -4316,7 +4319,7 @@ Массив2 = РазложитьСтрокуВМассивПодстрокБезКонтекста(Версия2, "."); Версия1БольшеИлиРавно = Истина; - Для Ккк = 0 По Массив1.Количество() - 1 Цикл + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл Элем1 = Массив1.Получить(Ккк); Элем2 = Массив2.Получить(Ккк); @@ -4337,6 +4340,20 @@ КонецФункции +&НаКлиенте +Функция ПодходящийРежимСовместимостиПлатформыКлиент(Знач НеобходимаяВерсияПриложения) Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда + Возврат Ложь; + КонецЕсли; + + ВерсияРежимаСовместимости = ВерсияРежимаСовместимостиКлиент(); + + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); + +КонецФункции + &НаКлиенте Функция ПолучитьМакетОбработки(ИмяМакета) Экспорт Шаги = МассивСценариевДляВыполнения[ТекИД_СценарияВМассиве].Шаги; @@ -6727,7 +6744,7 @@ Массив2 = РазложитьСтрокуВМассивПодстрок("8.3.3.641", "."); Версия1БольшеИлиРавно = Истина; - Для Ккк = 0 По Массив1.Количество() - 1 Цикл + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл Элем1 = Массив1.Получить(Ккк); Элем2 = Массив2.Получить(Ккк); @@ -6748,7 +6765,7 @@ Массив2 = РазложитьСтрокуВМассивПодстрок("8.3.9.2033", "."); Версия1БольшеИлиРавно = Истина; - Для Ккк = 0 По Массив1.Количество() - 1 Цикл + Для Ккк = 0 По Мин(Массив1.Количество(), Массив2.Количество()) - 1 Цикл Элем1 = Массив1.Получить(Ккк); Элем2 = Массив2.Получить(Ккк); @@ -6769,6 +6786,16 @@ Возврат КешРежимСовместимости; КонецФункции +&НаКлиенте +Функция ВерсияРежимаСовместимостиКлиент(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда + РежимСовместимостиВерсия = СтрЗаменить(УзнатьРежимСовместимостиКлиент(ЗначениеПоУмолчанию), "Версия", ""); + КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); + КонецЕсли; + + Возврат КешВерсияРежимСовместимости; +КонецФункции + &НаСервереБезКонтекста Функция УзнатьРежимСовместимости(ЗначениеПоУмолчанию) Значение = ЗначениеПоУмолчанию; From 35f140a9f6d7296988eae49e2b3c62bfae48cb81 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Aug 2021 12:24:23 +0300 Subject: [PATCH 261/421] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=BD=D1=82=D0=B0=D0=B9=D0=BC?= =?UTF-8?q?-=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #873 #874 --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index 4312cb0d7..1254808c4 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -281,7 +281,7 @@ Отбор = Новый Структура("Имя", ИмяРасширения); Расширения = РасширенияКонфигурации.Получить(Отбор); Расширение = Расширения[0]; - МетаданныеРасширения = Вычислить("Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные());"); + МетаданныеРасширения = Вычислить("Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные())"); Возврат МетаданныеРасширения; From a6cc6eda70edbd2abddb39a6657d0e078b715ed9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Aug 2021 12:24:57 +0300 Subject: [PATCH 262/421] =?UTF-8?q?=D0=9F=D0=BE=D0=BA=D0=B0=D0=B7=20=D1=81?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2?= =?UTF-8?q?=D0=BD=D1=8B=D1=85=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #880 --- .../Ext/Form/Module.bsl" | 65 ++++++++++++++++++- 1 file changed, 62 insertions(+), 3 deletions(-) diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 500e28254..9b2ae19bf 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -102,9 +102,9 @@ ТипБазы = "Клиент-серверная ИБ"; Если ЭтоФайловаяБаза() Тогда ТипБазы = "Файловая ИБ"; - ОперационнаяСистема = " - Операционная система: " + Данные.ТипПлатформыКлиент + " " + Данные.ВерсияОСКлиент; + ОперационнаяСистема = "Операционная система: " + Данные.ТипПлатформыКлиент + " " + Данные.ВерсияОСКлиент; Иначе - ОперационнаяСистема = " - Операционная система (клиент): " + Данные.ТипПлатформыКлиент + " " + Данные.ВерсияОСКлиент + " + ОперационнаяСистема = "Операционная система (клиент): " + Данные.ТипПлатформыКлиент + " " + Данные.ВерсияОСКлиент + " | - Операционная система (сервер): " + СисИнфо.ТипПлатформы + " " + СисИнфо.ВерсияОС; КонецЕсли; @@ -112,6 +112,7 @@ Данные.Вставить("ОперационнаяСистема", ОперационнаяСистема); Данные.Вставить("ЕстьЗащитаОтОпасныхДействий", ФорматВключенВыключенСервер(ЕстьЗащитаОтОпасныхДействийТекущегоПользователя())); + Данные.Вставить("Расширения", ИнформацияОбАктивныхРасширенияхСервер()); Результат = " @@ -129,7 +130,8 @@ | - Защита от опасных действий: " + Данные.ЕстьЗащитаОтОпасныхДействий + " | - Язык (для TestManager): " + Данные.ЯзыкСеанса + " | - Локализация (для TestManager): " + Данные.ЛокализацияСеанса + " - |" + Данные.ОперационнаяСистема + " + | - " + Данные.ОперационнаяСистема + " + | - " + Данные.Расширения + " |"; Возврат Результат; КонецФункции @@ -201,4 +203,61 @@ Возврат Формат(БулевоЗначение, "БЛ=выключен; БИ=включен"); КонецФункции +&НаСервереБезКонтекста +Функция ИнформацияОбАктивныхРасширенияхСервер() + + Результат = "Активные расширения:"; + + Для Каждого ЭлементСписка Из СписокРасширений() Цикл + Результат = Результат + СтрШаблон("%3 - - Расширение: %1 -- %2", ЭлементСписка.Значение, ЭлементСписка.Представление, Символы.ПС); + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция СписокРасширений() Экспорт + + СписокРасширений = Новый СписокЗначений(); + + Для Каждого РасширениеКонфигурации Из РасширенияКонфигурации.Получить() Цикл + Если Не РасширениеКонфигурации.Активно Тогда + Продолжить; + КонецЕсли; + + ПредставлениеРасширения = ПредставлениеРасширения(РасширениеКонфигурации); + СписокРасширений.Добавить(РасширениеКонфигурации.Имя, ПредставлениеРасширения); + + КонецЦикла; + + Возврат СписокРасширений; + +КонецФункции + +&НаСервереБезКонтекста +Функция ПредставлениеРасширения(РасширениеКонфигурации) + + ПредставлениеБезопасногоРежима = "Безопасный режим "; + Если РасширениеКонфигурации.БезопасныйРежим Тогда + Суффикс = "включен"; + Иначе + Суффикс = "не задан"; + КонецЕсли; + ПредставлениеБезопасногоРежима = ПредставлениеБезопасногоРежима + Суффикс; + + Если ЗначениеЗаполнено(РасширениеКонфигурации.Версия) Тогда + + Представление = СтрШаблон("%1 (%2)", РасширениеКонфигурации.Синоним, РасширениеКонфигурации.Версия); + + Иначе + + Представление = РасширениеКонфигурации.Синоним; + + КонецЕсли; + + Возврат СтрШаблон("%1 - %2", Представление, ПредставлениеБезопасногоРежима); + +КонецФункции + #КонецОбласти From 2629210f1de5aef81cf37b7df1ca2f8ba9a74e2c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 21 Aug 2021 12:26:29 +0300 Subject: [PATCH 263/421] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=A2=D0=B5=D1=81=D1=82=D0=97=D0=B0=D0=B3=D1=80?= =?UTF-8?q?=D1=83=D0=B7=D0=BA=D0=B8=D0=A2=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=D0=98=D0=B7=D0=A0=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для проверки прогона тестов из обших модулей расширений #873 #874 --- ...0\276\320\264\321\203\320\273\321\214.xml" | 23 ++++++++ .../Ext/Module.bsl" | 17 ++++++ .../Configuration.xml" | 59 +++++++++++++++++++ ...1\201\321\201\320\272\320\270\320\271.xml" | 10 ++++ 4 files changed, 109 insertions(+) create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.xml" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214/Ext/Module.bsl" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Configuration.xml" create mode 100644 "lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.xml" new file mode 100644 index 000000000..0c836d691 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214.xml" @@ -0,0 +1,23 @@ + + + + + ТестовыйМодуль + + + ru + Тестовый модуль + + + + false + false + true + false + false + false + false + DontUse + + + \ No newline at end of file diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214/Ext/Module.bsl" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214/Ext/Module.bsl" new file mode 100644 index 000000000..12ee54404 --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/CommonModules/\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214/Ext/Module.bsl" @@ -0,0 +1,17 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +Процедура ЗаполнитьНаборТестов(ДеревоТестов) Экспорт + ДеревоТестов.Добавить("Тест"); +КонецПроцедуры + +Процедура Тест(КонтекстЯдра) Экспорт + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Ожидаем.Что(2+2).Равно(4); +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли + diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Configuration.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Configuration.xml" new file mode 100644 index 000000000..53765ecfe --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Configuration.xml" @@ -0,0 +1,59 @@ + + + + + + 9cd510cd-abfc-11d4-9434-004095e12fc7 + 6d80785e-0114-4931-8c27-95565ec7e9dc + + + 9fcd25a0-4822-11d4-9414-008048da11f9 + c85e898b-9352-40fc-b132-939651318022 + + + e3687481-0a87-462c-a166-9f34594f9bba + d43fb581-6069-4cad-9aa6-c5568f35d8d9 + + + 9de14907-ec23-4a07-96f0-85521cb6b53b + 4b3d543f-df44-4b5b-a52b-884aa55de2b7 + + + 51f2d5d8-ea4d-4064-8892-82951750031e + febbb58a-bac5-4908-ac78-bbd397eac11a + + + e68182ea-4237-4383-967f-90c1e3370bc7 + 763a329b-d54b-44b4-af3c-2d41ede9e3a8 + + + + ТестЗагрузкиТестовИзРасширения + + + ru + Тест загрузки тестов из расширения + + + + Customization + Adopted + тдд + Version8_3_9 + ManagedApplication + + PersonalComputer + + Russian + + + Language.Русский + Taxi + Version8_3_9 + + + Русский + ТестовыйМодуль + + + \ No newline at end of file diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" new file mode 100644 index 000000000..2c3ca6c0b --- /dev/null +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\242\320\265\321\201\321\202\320\276\320\262\320\230\320\267\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217/Languages/\320\240\321\203\321\201\321\201\320\272\320\270\320\271.xml" @@ -0,0 +1,10 @@ + + + + + Русский + Adopted + ru + + + \ No newline at end of file From d9c77a2ff20c52b065a195bdba400742b7334a7c Mon Sep 17 00:00:00 2001 From: Alexander Kuzin Date: Tue, 24 Aug 2021 19:56:33 +0300 Subject: [PATCH 264/421] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=88=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BE=D0=B2=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2?= =?UTF-8?q?=D1=8B=D1=85=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20(#877)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 2a84d4d36..6a7bb33d8 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1050,7 +1050,35 @@ КонецЕсли; Если ТипЗнч(МассивИсключений) = Тип("Массив") И ЗначениеЗаполнено(МассивИсключений) Тогда Результат = Новый СписокЗначений; - Результат.ЗагрузитьЗначения(МассивИсключений); + Для Каждого лИмяИсключения Из МассивИсключений Цикл + лЗвездаВНачале = СтрНачинаетсяС(лИмяИсключения, "*"); + лЗвездаВКонце = СтрЗаканчиваетсяНа(лИмяИсключения, "*"); + Если лЗвездаВНачале Или лЗвездаВКонце Тогда + Если СтрНайти(лИмяИсключения, ".") > 0 Тогда + ВызватьИсключение "Исключения метаданных со * и . пока не поддерживаются"; + КонецЕсли; + + лИмяИсключения = НРег(СтрЗаменить(лИмяИсключения, "*", "")); + + Для Каждого лМД Из Метаданные[ВидМетаданного] Цикл + Если лЗвездаВНачале И лЗвездаВКонце Тогда + лПодходит = (СтрНайти(НРег(лМД.Имя), лИмяИсключения) > 0); + ИначеЕсли лЗвездаВНачале Тогда + лПодходит = СтрЗаканчиваетсяНа(НРег(лМД.Имя), лИмяИсключения); + ИначеЕсли лЗвездаВКонце Тогда + лПодходит = СтрНачинаетсяС(НРег(лМД.Имя), лИмяИсключения); + Иначе + лПодходит = Ложь; + КонецЕсли; + + Если лПодходит Тогда + Результат.Добавить(лМД.Имя); + КонецЕсли; + КонецЦикла; + Иначе + Результат.Добавить(лИмяИсключения); + КонецЕсли; + КонецЦикла; ИначеЕсли МассивИсключений = Ложь Тогда Результат = Ложь; КонецЕсли; From 3629492fd2ebc99c9a24311f4fef2d9b7d4a6d3f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 27 Aug 2021 12:34:06 +0300 Subject: [PATCH 265/421] =?UTF-8?q?Update=20=D0=A1=D1=82=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=D0=B8-=D0=B8-=D0=B2=D0=B8=D0=B4=D0=B5=D0=BE-=D0=BF=D0=BE-?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E-=D0=B2-1=D0=A1.MD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\260\320\275\320\270\321\216-\320\262-1\320\241.MD" | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git "a/doc/xdd/\320\241\321\202\320\260\321\202\321\214\320\270-\320\270-\320\262\320\270\320\264\320\265\320\276-\320\277\320\276-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\216-\320\262-1\320\241.MD" "b/doc/xdd/\320\241\321\202\320\260\321\202\321\214\320\270-\320\270-\320\262\320\270\320\264\320\265\320\276-\320\277\320\276-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\216-\320\262-1\320\241.MD" index 83dfb1612..8c7918198 100644 --- "a/doc/xdd/\320\241\321\202\320\260\321\202\321\214\320\270-\320\270-\320\262\320\270\320\264\320\265\320\276-\320\277\320\276-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\216-\320\262-1\320\241.MD" +++ "b/doc/xdd/\320\241\321\202\320\260\321\202\321\214\320\270-\320\270-\320\262\320\270\320\264\320\265\320\276-\320\277\320\276-\321\202\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\216-\320\262-1\320\241.MD" @@ -64,6 +64,14 @@ ## Видео +* [Цикл видео - Юнит-тестирование и управление качеством кода в 1С](https://www.youtube.com/playlist?list=PLB1FqRhexVy65PCet9YFZ9uHAh6hu2C24] + * Авторский цикл - Максим Самохвал - 2021 г. + * 10 видео + +* [VanessaADD. Дымовые тесты для 1С и вывод результата в отчет Allure. Проверяем доработки в расширение](https://www.youtube.com/watch?v=NzB2dIhH08s) + * Автор - Владимир Очаковский https://github.com/leobrn - 2021 г. + * 3 минуты + * [Механизмы разработки/тестирования в 1С. Использование методики TDD (разработка через тестирование) в 1С](http://www.youtube.com/watch?v=G0ki2deu0ow) * Выступление на конференции Infostart Event 2012 * Автор [Артур Аюханов aka artbear](https://github.com/artbear) From 6ba44db256474bb0f1159536a31d553138980aa7 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Mon, 30 Aug 2021 15:03:56 +0200 Subject: [PATCH 266/421] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20=D0=BE=D0=B1=D1=89?= =?UTF-8?q?=D0=B8=D1=85=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D0=B5=D0=B9=20?= =?UTF-8?q?=D1=81=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D0=BC=D0=B8=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20API=20"=D0=98=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F"=20?= =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=20=D0=BD=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=8F=D0=B7=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D0=BC=20?= =?UTF-8?q?(#886)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Для общих модулей с тестами метод API "Инициализация" сделан необязательным * Исправлено получение представления ошибки * Представление ошибок приведено в соответствие с клиентскими методами --- .../xddTestRunner/Ext/ObjectModule.bsl | 67 +++++++++++++++---- .../Ext/Form/Module.bsl" | 33 +++++++-- 2 files changed, 81 insertions(+), 19 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 93052e95d..bff0ba1b2 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -208,11 +208,11 @@ ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполненияДляКонтейнера, ЭлементДеструктор.ИмяМетода); Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); НовыйДочернийРезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + НовыйДочернийРезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; - Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда + Если ЭтоОшибкаПроверки(ПодробныйТекстОшибки) Тогда НовыйДочернийРезультатТестирования.Состояние = СостоянияТестов.Сломан; Иначе НовыйДочернийРезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; @@ -270,9 +270,12 @@ РезультатТестирования.Состояние = СостоянияТестов.Пройден; Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда РезультатТестирования.Состояние = СостоянияТестов.НеРеализован; Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); @@ -280,7 +283,7 @@ Иначе РезультатТестирования.Сообщение = КраткийТекстОшибки; - РезультатТестирования.ПодробноеСообщение = ТекстОшибки; + РезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = СостоянияТестов.Сломан; @@ -297,12 +300,13 @@ ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); - ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + РезультатТестирования.Сообщение = КраткийТекстОшибки; + РезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; - Если ЭтоОшибкаПроверки(ТекстОшибки) Тогда + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = СостоянияТестов.Сломан; Иначе РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; @@ -321,21 +325,44 @@ КонецФункции Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) + + ИмяПроцедуры = "Инициализация"; + + ПараметрыИнициализации = Новый Массив(); + ПараметрыИнициализации.Добавить(ЭтотОбъект); + Попытка - КонтекстВыполнения.Инициализация(ЭтотОбъект); - Возврат Истина; + + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры, ПараметрыИнициализации); + Исключение - РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; + + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); + + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") + И ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда + + Возврат Истина; + + Иначе + + РезультатТестирования.Сообщение = ТекстОшибки; + РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; + Возврат Ложь; + + КонецЕсли; + КонецПопытки; - Возврат Ложь; + + Возврат Истина; + КонецФункции Процедура ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(Знач КонтекстВыполнения, Знач ИмяПроцедуры) Попытка ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры); Исключение - ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке()); + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); Если Не ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда ВызватьИсключение; КонецЕсли; @@ -865,6 +892,18 @@ КонецФункции +Функция ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке) + + Если ВыводитьПодробноеПредставлениеОшибки Тогда + ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + Иначе + ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + КонецЕсли; + + Возврат ТекстОшибки; + +КонецФункции + Функция ДополнитьИдентификаторПрефиксомПодсистемы(Знач Идентификатор) Экспорт Если НЕ ЗначениеЗаполнено(ИспользуемыйПрефиксПодсистемы) Тогда diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1bb2b41d3..ea74a28cd 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -932,14 +932,37 @@ &НаКлиенте Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) + + ИмяПроцедуры = "Инициализация"; + + ПараметрыИнициализации = Новый Массив(); + ПараметрыИнициализации.Добавить(ЭтотОбъект); + Попытка - КонтекстВыполнения.Инициализация(ЭтаФорма); - Возврат Истина; + + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры, ПараметрыИнициализации); + Исключение - РезультатТестирования.Сообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); - РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); + + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") + И ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда + + Возврат Истина; + + Иначе + + РезультатТестирования.Сообщение = ТекстОшибки; + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; + Возврат Ложь; + + КонецЕсли; + КонецПопытки; - Возврат Ложь; + + Возврат Истина; + КонецФункции &НаКлиенте From b11af50722162dc89fc05acc44306b4e82852a8d Mon Sep 17 00:00:00 2001 From: Vladimir Ochakovskiy Date: Mon, 30 Aug 2021 19:42:51 +0700 Subject: [PATCH 267/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" index 89511a8a0..299a50a2f 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/\321\202\320\265\321\201\321\202\321\213_\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\237\320\265\321\207\320\260\321\202\320\275\321\213\321\205\320\244\320\276\321\200\320\274/Ext/ObjectModule.bsl" @@ -369,7 +369,8 @@ ИмяМенеджераПечати = КомандаПечати.МенеджерПечати; ИменаМакетов = КомандаПечати.Идентификатор; МассивОбъектов = ДокументыДляПечати; - ПараметрыПечати = Новый Структура("ДополнительныеПараметры", КомандаПечати.ДополнительныеПараметры); + ПараметрыПечати = ?(КомандаПечати.Свойство("ДополнительныеПараметры"), + КомандаПечати.ДополнительныеПараметры, Новый Структура); ДопустимыеТипыОбъектовПечати = Неопределено; МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); From bbb2ab65c22770dacc8bbe8a0b79c69a5fc10ddb Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Wed, 1 Sep 2021 17:44:53 +0200 Subject: [PATCH 268/421] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D1=80=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0=20=D0=B2=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B5=20Generic=20Execution=20(#?= =?UTF-8?q?891)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Добавлен генератор отчета в формате Generic Execution * формат 8.3.10 * формат 8.3.10 * формат 8.3.10 * Fix: Добавлена пустая строка в конце файла * Нормализована работа с файлом теста Co-authored-by: Artur Ayukhanov --- ...0\265\321\202\320\260GenericExecution.xml" | 30 +++ .../Ext/ObjectModule.bsl" | 30 +++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 234 ++++++++++++++++++ 5 files changed, 328 insertions(+) create mode 100644 "plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution.xml" create mode 100644 "plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Ext/ObjectModule.bsl" create mode 100644 "plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution.xml" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution.xml" new file mode 100644 index 000000000..10ab25b7b --- /dev/null +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution.xml" @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 09360208-e517-4264-8c7d-d2a11cf4bef3 + + + b1cd0462-35fc-47c0-aaa1-cd49bf128953 + 6d5a7c42-7cfc-4dcc-bb96-eba252d550e6 + + + + ГенераторОтчетаGenericExecution + + + ru + Генератор отчета Generic Execution + + + + ExternalDataProcessor.ГенераторОтчетаGenericExecution.Form.Форма + + + + Форма + + + diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..2182bc1c8 --- /dev/null +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Ext/ObjectModule.bsl" @@ -0,0 +1,30 @@ +#Область СлужебныйПрограммныйИнтерфейс + +#Область ВнешнийИнтерфейсПлагина + +Процедура Инициализация(КонтекстЯдра) Экспорт +КонецПроцедуры + +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +#КонецОбласти + +#Область ВнутреннийИнтерфейсПлагина + +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Экспорт + + Результат = Новый Структура; + Результат.Вставить("Тип", ВозможныеТипыПлагинов.ГенераторОтчета); + Результат.Вставить("Идентификатор", Метаданные().Имя); + Результат.Вставить("Представление", Метаданные().Представление()); + Результат.Вставить("ПотоковыйВывод", Истина); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +#КонецОбласти + +#КонецОбласти diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..7879716c8 --- /dev/null +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..e34b09645 --- /dev/null +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.ГенераторОтчетаGenericExecution + + true + + + diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..e2f49a267 --- /dev/null +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260GenericExecution/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,234 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем ТипыУзловДереваТестов; + +&НаКлиенте +Перем ИконкиУзловДереваТестов; + +&НаКлиенте +Перем СостоянияТестов; + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +&НаКлиенте +Процедура Инициализация(КонтекстЯдра) Экспорт + + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + + ТипыУзловДереваТестов = ПостроительДереваТестов.Объект.ТипыУзловДереваТестов; + ИконкиУзловДереваТестов = ПостроительДереваТестов.Объект.ИконкиУзловДереваТестов; + СостоянияТестов = КонтекстЯдра.Объект.СостоянияТестов; + +КонецПроцедуры + +&НаКлиенте +Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +&НаКлиенте +Функция СоздатьОтчет(КонтекстЯдра, РезультатыТестирования) Экспорт + + Отчет = Новый Соответствие; + + ОбработатьРезультатТестирования(Отчет, РезультатыТестирования, ""); + + Возврат Отчет; + +КонецФункции + +&НаКлиенте +Процедура Экспортировать(Отчет, ПутьКОтчету, ОписаниеОповещения = Неопределено) Экспорт + + ЗаписьXML = Новый ЗаписьXML; + ЗаписьXML.ОткрытьФайл(ПутьКОтчету); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + + GenericExecution_ЗаписатьОтчет(ЗаписьXML, Отчет); + + ЗаписьXML.Закрыть(); + + Если ОписаниеОповещения <> Неопределено Тогда + ВыполнитьОбработкуОповещения(ОписаниеОповещения); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область ОбъектПлагина + +&НаСервере +Функция ОбъектПлагина() + Возврат РеквизитФормыВЗначение("Объект"); +КонецФункции + +&НаСервере +Функция ОписаниеПлагинаНаСервере(Знач ВозможныеТипыПлагинов) + Возврат ОбъектПлагина().ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +#КонецОбласти + +#Область ФорматGenericExecution + +&НаКлиенте +Процедура GenericExecution_ЗаписатьОтчет(ЗаписьXML, Отчет) + + ВерсияФормата = "1"; + + ЗаписьXML.ЗаписатьНачалоЭлемента("testExecutions"); + ЗаписьXML.ЗаписатьАтрибут("version", ВерсияФормата); + + Для Каждого КлючИЗначение Из Отчет Цикл + GenericExecution_ЗаписатьФайлТеста(ЗаписьXML, КлючИЗначение.Значение); + КонецЦикла; + + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +&НаКлиенте +Процедура GenericExecution_ЗаписатьФайлТеста(ЗаписьXML, ФайлТеста) + + ЗаписьXML.ЗаписатьНачалоЭлемента("file"); + ЗаписьXML.ЗаписатьАтрибут("path", ФайлТеста.Путь); + + Для Каждого РезультатТеста Из ФайлТеста.НаборРезультатов Цикл + GenericExecution_ЗаписатьРезультатТеста(ЗаписьXML, РезультатТеста); + КонецЦикла; + + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +&НаКлиенте +Процедура GenericExecution_ЗаписатьРезультатТеста(ЗаписьXML, РезультатТеста) + + ЗаписьXML.ЗаписатьНачалоЭлемента("testCase"); + ЗаписьXML.ЗаписатьАтрибут("name", РезультатТеста.Имя); + ЗаписьXML.ЗаписатьАтрибут("duration", XMLСтрока(РезультатТеста.Длительность)); + + Если РезультатТеста.Состояние <> СостоянияТестов.Пройден Тогда + GenericExecution_ЗаписатьОшибкуТеста(ЗаписьXML, РезультатТеста); + КонецЕсли; + + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +&НаКлиенте +Процедура GenericExecution_ЗаписатьОшибкуТеста(ЗаписьXML, РезультатТеста) + + Если РезультатТеста.Состояние = СостоянияТестов.Сломан Тогда + ИмяЭлемента = "failure"; + + ИначеЕсли РезультатТеста.Состояние = СостоянияТестов.НеРеализован Тогда + ИмяЭлемента = "skipped"; + + Иначе + ИмяЭлемента = "error"; + + КонецЕсли; + + ЗаписьXML.ЗаписатьНачалоЭлемента(ИмяЭлемента); + ЗаписьXML.ЗаписатьАтрибут("message", РезультатТеста.Сообщение); + ЗаписьXML.ЗаписатьТекст(РезультатТеста.ПодробноеСообщение); + ЗаписьXML.ЗаписатьКонецЭлемента(); + +КонецПроцедуры + +#КонецОбласти + +&НаКлиенте +Процедура ОбработатьРезультатТестирования(Отчет, РезультатыТестирования, ПутьКонтейнера) + + Если РезультатыТестирования.Тип = ТипыУзловДереваТестов.Контейнер Тогда + ОбработатьКонтейнер(Отчет, РезультатыТестирования, ПутьКонтейнера); + + Иначе + ОбработатьЭлемент(Отчет, РезультатыТестирования, ПутьКонтейнера); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьКонтейнер(Отчет, Контейнер, ПутьКонтейнера) + + Если ПустаяСтрока(ПутьКонтейнера) Тогда + ТекущийПуть = Контейнер.Имя; + Иначе + ТекущийПуть = СтрШаблон("%1/%2", ПутьКонтейнера, Контейнер.Имя); + КонецЕсли; + + Для Каждого Строка Из Контейнер.Строки Цикл + ОбработатьРезультатТестирования(Отчет, Строка, ТекущийПуть); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьЭлемент(Отчет, Элемент, ПутьКонтейнера) + + ПутьТеста = СтрШаблон("%1/%2", ПутьКонтейнера, Элемент.Путь); + + РезультатТеста = НовыйРезультатТеста(); + РезультатТеста.Имя = Элемент.ИмяМетода; + РезультатТеста.Длительность = Элемент.ВремяОкончания - Элемент.ВремяНачала; + РезультатТеста.Состояние = Элемент.Состояние; + РезультатТеста.Сообщение = Элемент.Сообщение; + РезультатТеста.ПодробноеСообщение = Элемент.ПодробноеСообщение; + + ДобавитьРезультатТеста(Отчет, ПутьТеста, РезультатТеста); + +КонецПроцедуры + +&НаКлиенте +Функция НовыйРезультатТеста() + + Результат = Новый Структура; + Результат.Вставить("Имя", ""); + Результат.Вставить("Длительность", 0); + Результат.Вставить("Состояние", Неопределено); + Результат.Вставить("Сообщение", Неопределено); + Результат.Вставить("ПодробноеСообщение", Неопределено); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция НовыйФайлТеста() + + Результат = Новый Структура; + Результат.Вставить("Путь", ""); + Результат.Вставить("НаборРезультатов", Новый Массив); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Процедура ДобавитьРезультатТеста(Отчет, ПутьТеста, РезультатТеста) + + ФайлТеста = Отчет.Получить(ПутьТеста); + + Если ФайлТеста = Неопределено Тогда + + ФайлТеста = НовыйФайлТеста(); + ФайлТеста.Путь = ПутьТеста; + Отчет.Вставить(ПутьТеста, ФайлТеста); + + КонецЕсли; + + ФайлТеста.НаборРезультатов.Добавить(РезультатТеста); + +КонецПроцедуры + +#КонецОбласти From 606d360b051e1b58b7c61a0444ca709ef5624e80 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 24 Aug 2021 20:04:40 +0300 Subject: [PATCH 269/421] =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D1=83=20=D1=81=20?= =?UTF-8?q?*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit в любых вариациях При*ет, *ривет, Прив*, Пр*в*т заменил код из #877 #445 --- .../Ext/ObjectModule.bsl" | 30 +----------------- .../Ext/Form/Module.bsl" | 31 ++++++++++++++++++- 2 files changed, 31 insertions(+), 30 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 6a7bb33d8..2a84d4d36 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1050,35 +1050,7 @@ КонецЕсли; Если ТипЗнч(МассивИсключений) = Тип("Массив") И ЗначениеЗаполнено(МассивИсключений) Тогда Результат = Новый СписокЗначений; - Для Каждого лИмяИсключения Из МассивИсключений Цикл - лЗвездаВНачале = СтрНачинаетсяС(лИмяИсключения, "*"); - лЗвездаВКонце = СтрЗаканчиваетсяНа(лИмяИсключения, "*"); - Если лЗвездаВНачале Или лЗвездаВКонце Тогда - Если СтрНайти(лИмяИсключения, ".") > 0 Тогда - ВызватьИсключение "Исключения метаданных со * и . пока не поддерживаются"; - КонецЕсли; - - лИмяИсключения = НРег(СтрЗаменить(лИмяИсключения, "*", "")); - - Для Каждого лМД Из Метаданные[ВидМетаданного] Цикл - Если лЗвездаВНачале И лЗвездаВКонце Тогда - лПодходит = (СтрНайти(НРег(лМД.Имя), лИмяИсключения) > 0); - ИначеЕсли лЗвездаВНачале Тогда - лПодходит = СтрЗаканчиваетсяНа(НРег(лМД.Имя), лИмяИсключения); - ИначеЕсли лЗвездаВКонце Тогда - лПодходит = СтрНачинаетсяС(НРег(лМД.Имя), лИмяИсключения); - Иначе - лПодходит = Ложь; - КонецЕсли; - - Если лПодходит Тогда - Результат.Добавить(лМД.Имя); - КонецЕсли; - КонецЦикла; - Иначе - Результат.Добавить(лИмяИсключения); - КонецЕсли; - КонецЦикла; + Результат.ЗагрузитьЗначения(МассивИсключений); ИначеЕсли МассивИсключений = Ложь Тогда Результат = Ложь; КонецЕсли; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 638e45d53..647b9ceff 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -521,7 +521,7 @@ Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм) - Если СписокИсключений = Ложь Или СписокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда + Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда Возврат Ложь; КонецЕсли; @@ -832,6 +832,7 @@ //} //{ РаботаСНастройками +#Область Настройки &НаКлиенте Функция КлючНастройки() Экспорт @@ -959,6 +960,10 @@ Возврат Объект().ПолучитьНастройкуГруппировки(Объект.Настройки); КонецФункции +#КонецОбласти + +#Область Исключения + &НаКлиенте Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) Если ЕстьНастройка(ВидМетаданных) Тогда @@ -972,6 +977,20 @@ Возврат Объект().ПропускаемОшибкуПоТекстуИсключения(ТекстИсключения); КонецФункции +&НаСервереБезКонтекста +Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) + + Если КоллекцияДляПоиска = Ложь Тогда + Возврат Истина; + КонецЕсли; + + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции + +#КонецОбласти + //} //{ блок юнит-тестов - САМИ ТЕСТЫ @@ -1330,3 +1349,13 @@ Возврат СтрокаРезультат; КонецФункции + +&НаСервереБезКонтекста +Функция КонтекстЯдраНаСервере(Знач КонтекстЯдра = Неопределено) + + Если КонтекстЯдра = Неопределено Тогда + Возврат ВнешниеОбработки.Создать("xddTestRunner"); + КонецЕсли; + Возврат КонтекстЯдра; + +КонецФункции From ced1aec8be6d6960514d27632326229f0f93aec9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 24 Aug 2021 20:15:27 +0300 Subject: [PATCH 270/421] =?UTF-8?q?=D0=BE=D0=BF=D1=82=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BE=D0=B1=D1=80=D0=B0=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D0=BA=D0=BE=D0=BD=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D1=81=D1=82=D1=83=20=D1=8F=D0=B4=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 647b9ceff..6b0cb5960 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -231,6 +231,8 @@ ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки(); @@ -252,7 +254,7 @@ ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые"); + "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые", КонтекстЯдра); КонецЕсли; @@ -261,14 +263,14 @@ ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие"); + "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие", КонтекстЯдра); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки", КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -307,6 +309,8 @@ ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки(); @@ -328,7 +332,7 @@ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; ПроверяемоеПравоДоступа = "ИнтерактивноеДобавление"; ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); КонецЕсли; имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента"; @@ -337,7 +341,7 @@ ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; ПрефиксПредставленияТеста = "Списки"; @@ -345,7 +349,7 @@ ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста); + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -400,6 +404,8 @@ ИменаОсновныхФорм_Объекты_Сервер, ИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Списки(); @@ -421,7 +427,7 @@ ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые"); + "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые", КонтекстЯдра); КонецЕсли; @@ -430,14 +436,14 @@ ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие"); + "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие", КонтекстЯдра); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений_Списки, ИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки", КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -453,6 +459,7 @@ ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, НастройкаГруппировки) + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Счетчик = 0; Для Каждого МетаОбъект Из ОписаниеВидаМетаданного.Менеджер Цикл @@ -472,7 +479,7 @@ Добавили = ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, - ПрефиксПредставленияТеста); + ПрефиксПредставленияТеста, КонтекстЯдра); Если Не Добавили Тогда @@ -486,7 +493,7 @@ &НаСервере Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста) + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯДра) Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда Возврат Ложь; @@ -494,7 +501,7 @@ СписокИменМетаФорм = Новый СписокЗначений; Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм); + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра); ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста); @@ -519,7 +526,7 @@ &НаСервереБезКонтекста Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм) + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра) Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда Возврат Ложь; From 01a81e8d1901b5da602747cc1485c52d08470533 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 24 Aug 2021 20:15:47 +0300 Subject: [PATCH 271/421] =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=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 --- spec/fixtures/smoke.json | 72 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 spec/fixtures/smoke.json diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json new file mode 100644 index 000000000..2b70bd50e --- /dev/null +++ b/spec/fixtures/smoke.json @@ -0,0 +1,72 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "Документы": { + "Списки": [ + "Документ*" + ], + "Новые": [ + "Документ*" + ], + "Существующие": [ + "Документ*" + ], + "ПеренестиДату": [ + "Удалить*" + ] + }, + "Справочники": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + } + +} From c503c6e1ece5111081363cfe2283011987043d45 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 24 Aug 2021 20:18:10 +0300 Subject: [PATCH 272/421] =?UTF-8?q?=D0=95=D1=81=D1=82=D1=8C=D0=92=D0=98?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D0=B5=D0=BC=D0=BE=D0=B9?= =?UTF-8?q?=D0=9A=D0=BE=D0=BB=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=83=D1=87=D0=B8=D0=BB=D1=81=D1=8F=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D0=BD=D0=B8=D0=BC=D0=B0=D1=82=D1=8C=20=D1=81=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=BE=D0=BA=D0=97=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xddTestRunner/Ext/ObjectModule.bsl | 18 +++++++++++++++--- .../Ext/Form/Module.bsl" | 14 +++++++++++++- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index bff0ba1b2..55afb2e2a 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1,4 +1,4 @@ -Перем РегулярныеВыражения; +Перем РегулярныеВыражения; Перем КешРежимСовместимости; Перем КешВерсияРежимСовместимости; @@ -57,7 +57,7 @@ ИдентификаторПлагинаСПрефиксомПодсистемы = ДополнитьИдентификаторПрефиксомПодсистемы(Идентификатор); ИдентификаторПлагинаБезПрефиксаПодсистемы = ПолучитьИдентификаторБезПрефиксаПодсистемы(Идентификатор); - Плагин = Плагины[ИдентификаторПлагинаБезПрефиксаПодсистемы]; + Плагин = Плагины[ИдентификаторПлагинаБезПрефиксаПодсистемы]; Если ТипЗнч(Плагин) = Тип("Строка") Тогда Плагин = СоздатьОбъектПлагина(Плагин); КонецЕсли; @@ -873,7 +873,7 @@ // // Параметры: // ЧтоИщем - Строка - искомое значение -// КоллекцияДляПоиска - Массив - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками +// КоллекцияДляПоиска - Массив, СписокЗначений - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками // // Возвращаемое значение: // Булево - нашли или нет @@ -882,6 +882,18 @@ Перем СтрокаГдеИщем; + Если ТипЗнч(КоллекцияДляПоиска) = Тип("СписокЗначений") Тогда + Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда + Возврат Истина; + КонецЕсли; + + Массив = Новый Массив; + Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл + Массив.Добавить(ЭлементСписка.Значение); + КонецЦикла; + КоллекцияДляПоиска = Массив; + КонецЕсли; + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда Возврат Истина; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ea74a28cd..6ec0306e2 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2858,7 +2858,7 @@ // // Параметры: // ЧтоИщем - Строка - искомое значение -// КоллекцияДляПоиска - Массив - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками +// КоллекцияДляПоиска - Массив, СписокЗначений - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками // // Возвращаемое значение: // Булево - нашли или нет @@ -2868,6 +2868,18 @@ Перем СтрокаГдеИщем; + Если ТипЗнч(КоллекцияДляПоиска) = Тип("СписокЗначений") Тогда + Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда + Возврат Истина; + КонецЕсли; + + Массив = Новый Массив; + Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл + Массив.Добавить(ЭлементСписка.Значение); + КонецЦикла; + КоллекцияДляПоиска = Массив; + КонецЕсли; + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда Возврат Истина; From d5acc5391ff9e9436fe6ab07f39fd80bd2ff36c3 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 24 Aug 2021 20:18:54 +0300 Subject: [PATCH 273/421] =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20=D0=9F?= =?UTF-8?q?=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit при создании ядра на сервере из тонкого клиента --- epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 55afb2e2a..30659fb85 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1,4 +1,4 @@ -Перем РегулярныеВыражения; +Перем РегулярныеВыражения; Перем КешРежимСовместимости; Перем КешВерсияРежимСовместимости; @@ -57,7 +57,12 @@ ИдентификаторПлагинаСПрефиксомПодсистемы = ДополнитьИдентификаторПрефиксомПодсистемы(Идентификатор); ИдентификаторПлагинаБезПрефиксаПодсистемы = ПолучитьИдентификаторБезПрефиксаПодсистемы(Идентификатор); + + Если Плагины = Неопределено Тогда // в случае использования на сервере через ВнешниеОбработки.Создать("xddTestRunner") + Плагин = ИдентификаторПлагинаБезПрефиксаПодсистемы; + Иначе Плагин = Плагины[ИдентификаторПлагинаБезПрефиксаПодсистемы]; + КонецЕсли; Если ТипЗнч(Плагин) = Тип("Строка") Тогда Плагин = СоздатьОбъектПлагина(Плагин); КонецЕсли; From 15dad999e9c51020690c0222c29d2fa5f43360bf Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 31 Aug 2021 15:09:09 +0300 Subject: [PATCH 274/421] =?UTF-8?q?=D0=9E=D0=B1=D0=BB=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0-=D1=83=D1=82=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 30 +++++++++++++--- .../Ext/Form/Module.bsl" | 34 +++++++++++++------ 2 files changed, 48 insertions(+), 16 deletions(-) diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" index 57b83d373..996aaa33e 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -1,7 +1,26 @@ -Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу +#Область ОписаниеПеременных + +Перем ПутьКФайлуПолный Экспорт; // в эту переменную будет установлен правильный клиентский путь к текущему файлу + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#Область ВнешнийИнтерфейсПлагина + +Процедура Инициализация(КонтекстЯдра) Экспорт +КонецПроцедуры -// { Plugin interface Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт + Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); +КонецФункции + +#КонецОбласти + +#Область ВнутреннийИнтерфейсПлагина + +Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) Экспорт + Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); @@ -9,8 +28,9 @@ ВызватьИсключение "Необходимо указать представление"; Возврат Новый ФиксированнаяСтруктура(Результат); + КонецФункции -Процедура Инициализация(КонтекстЯдраПараметр) Экспорт -КонецПроцедуры -// } Plugin interface +#КонецОбласти + +#КонецОбласти diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ed56ec42c..a67ef48b9 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,12 @@ -&НаКлиенте +#Область ОписаниеПеременных + +&НаКлиенте Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу -// { Plugin interface +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + &НаКлиенте Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Возврат ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов); @@ -11,16 +16,23 @@ Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры -&НаСервере -Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); -КонецФункции -// } Plugin interface +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область ОбъектПлагина -// { Helpers &НаСервере -Функция ЭтотОбъектНаСервере() +Функция ОбъектПлагина() Возврат РеквизитФормыВЗначение("Объект"); КонецФункции -// } Helpers + +&НаСервере +Функция ОписаниеПлагинаНаСервере(Знач ВозможныеТипыПлагинов) + КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ОбъектПлагина().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); +КонецФункции + +#КонецОбласти + +#КонецОбласти From eb8f9440e193af7d03d24136f9c051a8cbedc4a2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 31 Aug 2021 15:11:35 +0300 Subject: [PATCH 275/421] =?UTF-8?q?=D0=9F=D1=80=D0=B5=D0=B4=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E=20=D0=B2?= =?UTF-8?q?=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B5=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0-=D1=83=D1=82=D0=B8=D0=BB=D0=B8?= =?UTF-8?q?=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" index 996aaa33e..e0fa39284 100644 --- "a/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/doc/PluginsTemplates/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/\320\250\320\260\320\261\320\273\320\276\320\275\320\243\321\202\320\270\320\273\320\270\321\202\321\213/Ext/ObjectModule.bsl" @@ -24,8 +24,8 @@ Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); - Результат.Вставить("Представление", ""); - ВызватьИсключение "Необходимо указать представление"; + Результат.Вставить("Представление", Метаданные().Представление()); + ВызватьИсключение "Необходимо задать представление или убрать вызов исключения"; Возврат Новый ФиксированнаяСтруктура(Результат); From 528d36a1fdd21ca01d19a6cc6ce63767296cd8a4 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 1 Sep 2021 19:35:29 +0300 Subject: [PATCH 276/421] =?UTF-8?q?=D0=A8=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D1=82=D0=B5=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D1=85=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #445 --- .../Ext/Form/Module.bsl" | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7004b90f2..1850ed890 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -200,6 +200,10 @@ Для Каждого ПараметрНастройки Из Объект.Настройки[ИмяНастройки] Цикл ИсключаемыеОперации.Добавить(ПрефиксШаблона + ПараметрНастройки); + + Если СтрНайти(ПараметрНастройки, "*") Тогда + ИсключаемыеОперации.Добавить(ПараметрНастройки); + КонецЕсли; КонецЦикла; КонецЕсли; @@ -214,7 +218,8 @@ КонецЕсли; КонецЦикла; - Возврат Ложь; + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ОписаниеНавигационнаяСсылка, ИсключаемыеОперации); + КонецФункции &НаКлиенте From aa36bf4261f7a97f30c95ed826967d49e6f7bb87 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 1 Sep 2021 19:40:02 +0300 Subject: [PATCH 277/421] =?UTF-8?q?=D1=80=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=B4=D0=BB=D1=8F=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B5=D0=B9=20=D0=BA=D0=BE=D0=BD=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20=D0=BC=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=B8=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6ec0306e2..d921ca566 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2868,24 +2868,29 @@ Перем СтрокаГдеИщем; - Если ТипЗнч(КоллекцияДляПоиска) = Тип("СписокЗначений") Тогда + ТипКоллекции = ТипЗнч(КоллекцияДляПоиска); + Если ТипКоллекции = Тип("СписокЗначений") Тогда Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда Возврат Истина; КонецЕсли; - Массив = Новый Массив; Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл - Массив.Добавить(ЭлементСписка.Значение); + Если СтрокаСоответствуетШаблону(ЧтоИщем, ЭлементСписка.Значение) Тогда + Возврат Истина; + КонецЕсли; КонецЦикла; - КоллекцияДляПоиска = Массив; + + ИначеЕсли ТипКоллекции = Тип("Массив") Тогда + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Иначе + ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции; КонецЕсли; - Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл - Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; КонецФункции From ddc043dd4aa765c42bb226a90b6242b65c8ba8d1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 1 Sep 2021 19:40:19 +0300 Subject: [PATCH 278/421] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=D1=82=D1=83?= =?UTF-8?q?=D1=80=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/fixtures/smoke.json | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json index 2b70bd50e..3d2923999 100644 --- a/spec/fixtures/smoke.json +++ b/spec/fixtures/smoke.json @@ -47,13 +47,13 @@ "Документы": { "Списки": [ - "Документ*" + "*умент1*" ], "Новые": [ - "Документ*" + "*умент1*" ], "Существующие": [ - "Документ*" + "*умент1*" ], "ПеренестиДату": [ "Удалить*" @@ -67,6 +67,28 @@ "Обработка не предназначена для непосредственного использования", "Самостоятельное использование формы не предусмотрено" ] - } + }, + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], + "ОбщиеКоманды":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы":[ + "ОбщаяФорма1" + ], + "Справочники": + [ + "*ростой*равочник*" + ], + "Документы": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ВнешниеИсточникиДанных": false + } } From 53029dacc3685c67421e7d3d70792f0851e2b62a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 1 Sep 2021 19:42:13 +0300 Subject: [PATCH 279/421] =?UTF-8?q?=D1=80=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=B4=D0=BB=D1=8F=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B5=D0=B9=20=D0=BA=D0=BE=D0=BD=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=82=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20=D0=BC=D0=B0?= =?UTF-8?q?=D1=81=D1=81=D0=B8=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xddTestRunner/Ext/ObjectModule.bsl | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 30659fb85..c2a2ac0a0 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -887,24 +887,29 @@ Перем СтрокаГдеИщем; - Если ТипЗнч(КоллекцияДляПоиска) = Тип("СписокЗначений") Тогда + ТипКоллекции = ТипЗнч(КоллекцияДляПоиска); + Если ТипКоллекции = Тип("СписокЗначений") Тогда Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда Возврат Истина; КонецЕсли; - Массив = Новый Массив; Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл - Массив.Добавить(ЭлементСписка.Значение); + Если СтрокаСоответствуетШаблону(ЧтоИщем, ЭлементСписка.Значение) Тогда + Возврат Истина; + КонецЕсли; КонецЦикла; - КоллекцияДляПоиска = Массив; + + ИначеЕсли ТипКоллекции = Тип("Массив") Тогда + Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл + Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда + Возврат Истина; + КонецЕсли; + КонецЦикла; + + Иначе + ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции; КонецЕсли; - Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл - Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; - Возврат Ложь; КонецФункции From c29a97a2440707bc9e5852183c4ffb5edb664ad2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 2 Sep 2021 08:57:53 +0300 Subject: [PATCH 280/421] =?UTF-8?q?=D0=B1=D0=B0=D0=B3=20=D0=A1=D0=B2=D0=BE?= =?UTF-8?q?=D0=B9=D1=81=D1=82=D0=B2=D0=BE=20"=D0=90=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D0=B2=D0=BD=D0=BE"=20=D1=83=20=D1=80=D0=B0=D1=81=D1=88=D0=B8?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=B5=D1=81=D1=82=D1=8C=20?= =?UTF-8?q?=D1=81=208.3.12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #873 #874 --- .../Ext/Form/Module.bsl" | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9b2ae19bf..17afb50bc 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -81,13 +81,20 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - КонтекстЯдраНаСервере = ВнешниеОбработки.Создать("xddTestRunner"); - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере, ВозможныеТипыПлагинов); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере(), ВозможныеТипыПлагинов); +КонецФункции + +&НаСервере +Функция КонтекстЯдраНаСервере() + Возврат ВнешниеОбработки.Создать("xddTestRunner"); КонецФункции // } Helpers &НаСервере Функция ТехническаяИнформацияСервер(Знач Данные) Экспорт + + КонтекстЯдра = КонтекстЯдраНаСервере(); + СисИнфо = Новый СистемнаяИнформация; Данные.Вставить("ВерсияПриложения", СисИнфо.ВерсияПриложения); @@ -112,7 +119,7 @@ Данные.Вставить("ОперационнаяСистема", ОперационнаяСистема); Данные.Вставить("ЕстьЗащитаОтОпасныхДействий", ФорматВключенВыключенСервер(ЕстьЗащитаОтОпасныхДействийТекущегоПользователя())); - Данные.Вставить("Расширения", ИнформацияОбАктивныхРасширенияхСервер()); + Данные.Вставить("Расширения", ИнформацияОбАктивныхРасширенияхСервер(КонтекстЯдра)); Результат = " @@ -204,11 +211,11 @@ КонецФункции &НаСервереБезКонтекста -Функция ИнформацияОбАктивныхРасширенияхСервер() +Функция ИнформацияОбАктивныхРасширенияхСервер(Знач КонтекстЯдра) Результат = "Активные расширения:"; - Для Каждого ЭлементСписка Из СписокРасширений() Цикл + Для Каждого ЭлементСписка Из СписокРасширений(КонтекстЯдра) Цикл Результат = Результат + СтрШаблон("%3 - - Расширение: %1 -- %2", ЭлементСписка.Значение, ЭлементСписка.Представление, Символы.ПС); КонецЦикла; @@ -217,21 +224,23 @@ КонецФункции &НаСервереБезКонтекста -Функция СписокРасширений() Экспорт +Функция СписокРасширений(Знач КонтекстЯдра) Экспорт - СписокРасширений = Новый СписокЗначений(); + Результат = Новый СписокЗначений(); + ПроверятьАктивностьРасширений = КонтекстЯдра.ПодходящийРежимСовместимостиПлатформы("8.3.12"); + Для Каждого РасширениеКонфигурации Из РасширенияКонфигурации.Получить() Цикл - Если Не РасширениеКонфигурации.Активно Тогда + Если ПроверятьАктивностьРасширений И Не РасширениеКонфигурации.Активно Тогда Продолжить; КонецЕсли; ПредставлениеРасширения = ПредставлениеРасширения(РасширениеКонфигурации); - СписокРасширений.Добавить(РасширениеКонфигурации.Имя, ПредставлениеРасширения); + Результат.Добавить(РасширениеКонфигурации.Имя, ПредставлениеРасширения); КонецЦикла; - Возврат СписокРасширений; + Возврат Результат; КонецФункции From abcef00cf694ef1cd736d1957d665b729cbbe641 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 15:28:35 +0300 Subject: [PATCH 281/421] =?UTF-8?q?=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D1=80=20=D0=BD=D0=B0=D1=83=D1=87=D0=B8=D0=BB?= =?UTF-8?q?=D1=81=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D0=B8=20=D0=B2=20xdd,=20=D0=B8=20bdd-=D1=80=D0=B5=D0=B6?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form.xml" | 15 +++++++++++ .../Ext/Form/Module.bsl" | 26 ++++++++++++++----- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 80c46ad73..adce99ffd 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -48,6 +48,21 @@ d5p1:TextDocument
+ + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя фреймворка ванессы</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + +
diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 17afb50bc..c9477247a 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -19,11 +19,14 @@ &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт Ванесса = КонтекстЯдраПараметр; + + ИмяФреймворкаВанессы = ИмяФреймворкаВанессы(); КонецПроцедуры // } Plugin interface &НаКлиенте Функция ТехническаяИнформация() Экспорт + Данные = Новый Структура; Данные.Вставить("ВерсияВанессаАДД", Ванесса.ПолучитьВерсиюОбработкиКлиент()); @@ -34,7 +37,7 @@ СисИнфо = Новый СистемнаяИнформация; Данные.Вставить("ВерсияОСКлиент", СисИнфо.ВерсияОС); Данные.Вставить("ТипПлатформыКлиент", "" + СисИнфо.ТипПлатформы); - + Возврат ТехническаяИнформацияСервер(Данные); КонецФункции @@ -81,19 +84,30 @@ &НаСервере Функция ОписаниеПлагинаНаСервере(ВозможныеТипыПлагинов) - Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере(), ВозможныеТипыПлагинов); + Возврат ЭтотОбъектНаСервере().ОписаниеПлагина(КонтекстЯдраНаСервере(ИмяФреймворкаВанессы), ВозможныеТипыПлагинов); КонецФункции -&НаСервере -Функция КонтекстЯдраНаСервере() - Возврат ВнешниеОбработки.Создать("xddTestRunner"); +&НаКлиенте +Функция ИмяФреймворкаВанессы() + + Если СтрНайти(Ванесса.ИмяФормы, "xddTestRunner") > 0 Тогда + Возврат "xddTestRunner"; + КонецЕсли; + + Возврат "bddRunner"; + +КонецФункции + +&НаСервереБезКонтекста +Функция КонтекстЯдраНаСервере(Знач ИмяФреймворкаВанессы) + Возврат ВнешниеОбработки.Создать(ИмяФреймворкаВанессы); КонецФункции // } Helpers &НаСервере Функция ТехническаяИнформацияСервер(Знач Данные) Экспорт - КонтекстЯдра = КонтекстЯдраНаСервере(); + КонтекстЯдра = КонтекстЯдраНаСервере(ИмяФреймворкаВанессы); СисИнфо = Новый СистемнаяИнформация; From 1668409543fc3118c0cb21a91678c3fa4cf394c1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 21:22:42 +0300 Subject: [PATCH 282/421] =?UTF-8?q?=D0=B2=D1=8B=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=9E=D0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epf/xddTestRunner/xddTestRunner.xml | 8 ++++---- .../Ext/Form.bin" | Bin 112364 -> 112364 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner.xml b/epf/xddTestRunner/xddTestRunner.xml index cca2a6e06..c1330fe9c 100644 --- a/epf/xddTestRunner/xddTestRunner.xml +++ b/epf/xddTestRunner/xddTestRunner.xml @@ -1,14 +1,14 @@  - + c3831ec8-d8d5-4f93-8a22-f9bfae07327f - 41f963f5-e019-4079-afcc-bb17fac477ea + 354a1948-bc41-4904-a5aa-85d178fbdd3b - 32af7d54-633b-41e7-bb3c-015248e565ef - ac4a14ee-0b94-4ac7-b165-5c2f40c95e97 + 83d047b2-db18-44e3-a2ce-6a4cd0ada9a3 + 8328d349-89fd-478b-b8bf-fdbbdfdbc0b6 diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.bin" index a47cca6bb9ad0bcd6e302a79df21fb2baceb5c3f..8f1498cdcc0fba85d5eb39de84fc05fe3a6a50ae 100644 GIT binary patch delta 1382 zcma)+&5KV_7{{GoA~M6&C>if=G|fCY@An);k`;-Klm_Rul#I71nj){Wb>(iz(0DBx zbMaeP@COKcWh)v=vJ~h3u(7(UyE)(IdA^_L``oE7Gp4@GnAqOxT6TQy$oI{yX`OGi zr!~4hlg`mR2oK(32AnDlntKj8=D`c)BEz!m8At1i5661TM^8{+d*U&AfhyS4J-?B< z+PCXDLaO*SzM*(^c|mn>_v_Uea|TC+BTyd$aKmq(_PGq2~cQdU|^bRX?x3nORKUq?v7? zD@JauDE9xFRj{#cEKjUDo=^XbBrzJK^KQU?afH!k|@J~2ASf?txLS?pgKcw^j2zx zYc6|=t)G|vcUC7qZ+_N3IF2aFu!(}|G+1<@KCZe9F)7EKNuG!+VMJYKXZ!7Kv;<{T zV`4>6=|KuC_Y8xM)^0;Rj#>*F7`K>rgJsrrZLo84tJx4<(&IT*aY)m;hiLW zdmr5yXu`Ck8C+4CxoAPzet?cNB3tKgar?kSbZusf;1W$DpDE@s&n->AN0LIu(;5wR T0i@y1W8>4cu=eOAa?^hUSc;b{ delta 1355 zcma)*%WIxR6vmwoskE5bLJCDK*7~A^GcmcbRpi-@7 z>!9yKu?>Qaic<4pKTuGY3WELxrK>_pT6H0~(@9Dzb24?0w=l48k^V*KhYdbDH zHJN$r*M;=w(aCMw`*3`+@@VIfqluBg7Lx!y28hBTsA3Zd%+eHFFJF12UV3e=|N2{Y z&-B7K><2c$k=ebY9uLnxbCLB&zG8>#&+qRWUOe{OL!A-HMPzm zC^|?|E5IZXeA2cZ6IsJ0NsQa1qEtrN;=p+H4QX4P3>rdok&N;w2)AYW@M)b)>iStZ zPR;V_!TQ{PJF7ak+>Oz46HV^M2pX1G4?o`VfYN31khE;lt!t?%6ro5#l!_p!^>F#h z3zG*FIV-s5ASHKzQnirj7(o<=&byS0t1oSw>~hdtXx9Q2gl^Qz7PSyTX@e3AlFFt2 zwefU+a+d9?Ph7q4mN7bY_2_rgH$P(^Pj0vnd?{YFVG7MTz>r#9B@^g|T*daIPj Date: Fri, 3 Sep 2021 22:27:57 +0300 Subject: [PATCH 283/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\321\202\320\265\321\200\320\270\320\2701.xml" | 14 ++++++++++++-- ...7\320\273\320\265\320\275\320\270\321\2172.xml" | 7 ++++++- ...61\320\276\321\200\320\276\321\202\321\213.xml" | 7 ++++++- ...01\321\202\320\260\321\202\320\272\320\270.xml" | 7 ++++++- ...0\320\276\321\206\320\265\321\201\321\2011.xml" | 14 ++++++++++++-- ...0\320\276\321\206\320\265\321\201\321\2012.xml" | 14 ++++++++++++-- ...0\321\201\321\207\320\265\321\202\320\2601.xml" | 14 ++++++++++++-- ...62\320\276\321\207\320\275\320\270\320\272.xml" | 7 ++++++- ...73\321\214\321\206\320\260\320\274\320\270.xml" | 7 ++++++- ...62\320\276\321\207\320\275\320\270\320\272.xml" | 7 ++++++- ...62\320\276\321\207\320\275\320\270\320\272.xml" | 7 ++++++- ...2\320\276\321\207\320\275\320\270\320\2722.xml" | 7 ++++++- ...2\320\276\321\207\320\275\320\270\320\2723.xml" | 7 ++++++- ...2\320\276\321\207\320\275\320\270\320\2721.xml" | 14 ++++++++++++-- ...2\320\276\321\207\320\275\320\270\320\2722.xml" | 14 ++++++++++++-- ...2\320\276\321\207\320\275\320\270\320\2723.xml" | 14 ++++++++++++-- ...74\320\265\320\275\321\202\320\276\320\262.xml" | 7 ++++++- ...70\320\267\320\270\321\202\320\276\320\274.xml" | 7 ++++++- ...47\320\260\321\201\321\202\321\214\321\216.xml" | 7 ++++++- ...63\320\276\320\241\320\265\320\261\321\217.xml" | 7 ++++++- ...65\321\211\320\265\320\275\320\270\321\217.xml" | 7 ++++++- ...1\321\207\320\265\321\202\320\276\320\2621.xml" | 14 ++++++++++++-- ...0\321\201\321\207\320\265\321\202\320\2601.xml" | 14 ++++++++++++-- ...1\320\272\320\276\320\275\321\202\320\2761.xml" | 7 ++++++- ...2\321\203\320\274\320\265\320\275\321\2021.xml" | 14 ++++++++++++-- ...2\321\203\320\274\320\265\320\275\321\2022.xml" | 14 ++++++++++++-- ...65\320\275\320\270\321\217\320\274\320\270.xml" | 7 ++++++- ...5\320\264\320\265\320\275\320\270\320\2711.xml" | 14 ++++++++++++-- ...7\320\260\320\264\320\260\321\207\320\2601.xml" | 14 ++++++++++++-- ...12\320\265\320\272\321\202\320\276\320\262.xml" | 8 ++++---- .../Ext/Form/Module.bsl" | 13 ++++--------- 31 files changed, 260 insertions(+), 55 deletions(-) diff --git "a/lib/CF/83xddNoSync/AccountingRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\2701.xml" "b/lib/CF/83xddNoSync/AccountingRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\2701.xml" index 8a9eff736..d1e95bac6 100644 --- "a/lib/CF/83xddNoSync/AccountingRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\2701.xml" +++ "b/lib/CF/83xddNoSync/AccountingRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\221\321\203\321\205\320\263\320\260\320\273\321\202\320\265\321\200\320\270\320\2701.xml" @@ -33,7 +33,12 @@
РегистрБухгалтерии1 - + + + ru + Регистр бухгалтерии 1 + + false false @@ -331,7 +336,12 @@ Managed true DontUse - + + + ru + Регистр бухгалтерии 1 + + diff --git "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\2172.xml" "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\2172.xml" index 6d6ba109c..7819993bc 100644 --- "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\2172.xml" +++ "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\2172.xml" @@ -44,7 +44,12 @@ Managed DontUse true - + + + ru + Регистр накопления2 + + diff --git "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\320\261\320\276\321\200\320\276\321\202\321\213.xml" "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\320\261\320\276\321\200\320\276\321\202\321\213.xml" index 418d09322..d9e54af79 100644 --- "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\320\261\320\276\321\200\320\276\321\202\321\213.xml" +++ "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\320\261\320\276\321\200\320\276\321\202\321\213.xml" @@ -146,7 +146,12 @@ Managed DontUse true - + + + ru + Регистр накопления обороты + + diff --git "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\321\201\321\202\320\260\321\202\320\272\320\270.xml" "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\321\201\321\202\320\260\321\202\320\272\320\270.xml" index 154bb545a..a28d153f4 100644 --- "a/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\321\201\321\202\320\260\321\202\320\272\320\270.xml" +++ "b/lib/CF/83xddNoSync/AccumulationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\235\320\260\320\272\320\276\320\277\320\273\320\265\320\275\320\270\321\217\320\236\321\201\321\202\320\260\321\202\320\272\320\270.xml" @@ -171,7 +171,12 @@ Managed DontUse true - + + + ru + Регистр накопления обороты + + diff --git "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" index 3ba6de248..1d1a0b4d8 100644 --- "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" +++ "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" @@ -29,7 +29,12 @@ БизнесПроцесс1 - + + + ru + Бизнес процесс1 + + false InDialog @@ -238,7 +243,12 @@ Managed false Use - + + + ru + Бизнес процесс1 + + diff --git "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" index f0f6c7910..66479d07c 100644 --- "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" +++ "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" @@ -29,7 +29,12 @@ БизнесПроцесс2 - + + + ru + Бизнес процесс2 + + false InDialog @@ -238,7 +243,12 @@ Managed false Use - + + + ru + Бизнес процесс2 + + diff --git "a/lib/CF/83xddNoSync/CalculationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" "b/lib/CF/83xddNoSync/CalculationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" index 12e926623..75720a157 100644 --- "a/lib/CF/83xddNoSync/CalculationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" +++ "b/lib/CF/83xddNoSync/CalculationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" @@ -33,7 +33,12 @@ РегистрРасчета1 - + + + ru + Регистр расчета 1 + + true @@ -325,7 +330,12 @@ Managed DontUse - + + + ru + Регистр расчета 1 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" index 2b3d29d79..f1d0570ac 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -302,7 +302,12 @@ Managed Use - + + + ru + Иерархический справочник + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\224\320\262\321\203\320\274\321\217\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\274\320\270.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\224\320\262\321\203\320\274\321\217\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\274\320\270.xml" index e1739c49f..dbfe5cde2 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\224\320\262\321\203\320\274\321\217\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\274\320\270.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\224\320\262\321\203\320\274\321\217\320\222\320\273\320\260\320\264\320\265\320\273\321\214\321\206\320\260\320\274\320\270.xml" @@ -78,7 +78,12 @@ Managed Use - + + + ru + Подчиненный с двумя владельцами + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" index fc6e1a834..fb906a1eb 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\321\213\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -304,7 +304,12 @@ Managed Use - + + + ru + Подчиненный справочник + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" index e1da65a10..651344643 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272.xml" @@ -302,7 +302,12 @@ Managed Use - + + + ru + Простой справочник + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" index 65b2a9fc0..5f9ae7ce1 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" @@ -302,7 +302,12 @@ Managed Use - + + + ru + Простой справочник2 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" index 8958d4767..f3ee2ca28 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\237\321\200\320\276\321\201\321\202\320\276\320\271\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" @@ -302,7 +302,12 @@ Managed Use - + + + ru + Простой справочник3 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.xml" index df12b86d8..316a3bb73 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2721.xml" @@ -25,7 +25,12 @@ Справочник1 - + + + ru + Справочник1 + + true HierarchyFoldersAndItems @@ -297,7 +302,12 @@ Managed Use - + + + ru + Справочник1 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" index ab4a73e38..093d1c492 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2722.xml" @@ -25,7 +25,12 @@ Справочник2 - + + + ru + Справочник2 + + true HierarchyFoldersAndItems @@ -297,7 +302,12 @@ Managed Use - + + + ru + Справочник2 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" index 5466e1ede..8271da798 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\2723.xml" @@ -25,7 +25,12 @@ Справочник3 - + + + ru + Справочник3 + + true HierarchyFoldersAndItems @@ -297,7 +302,12 @@ Managed Use - + + + ru + Справочник3 + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\217\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\217\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" index 7c04f4d7b..253aa5e6f 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\217\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\230\320\265\321\200\320\260\321\200\321\205\320\270\321\217\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -75,7 +75,12 @@ Managed Use - + + + ru + Справочник иерархия элементов + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\236\320\261\321\217\320\267\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\236\320\261\321\217\320\267\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274.xml" index 15f509ea4..2f6dcbb01 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\236\320\261\321\217\320\267\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\236\320\261\321\217\320\267\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\274\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\274.xml" @@ -75,7 +75,12 @@ Managed Use - + + + ru + Справочник с обязательным реквизитом + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\242\320\260\320\261\320\247\320\260\321\201\321\202\321\214\321\216.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\242\320\260\320\261\320\247\320\260\321\201\321\202\321\214\321\216.xml" index 07ac0c47a..c045fe8e1 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\242\320\260\320\261\320\247\320\260\321\201\321\202\321\214\321\216.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\242\320\260\320\261\320\247\320\260\321\201\321\202\321\214\321\216.xml" @@ -75,7 +75,12 @@ Managed Use - + + + ru + Справочник с таб частью + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.xml" index 4e2de1775..0bfd80485 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\276\320\241\321\201\321\213\320\273\320\272\320\276\320\271\320\235\320\260\320\241\320\260\320\274\320\276\320\263\320\276\320\241\320\265\320\261\321\217.xml" @@ -75,7 +75,12 @@ Managed Use - + + + ru + Справочник со ссылкой на самого себя + + diff --git "a/lib/CF/83xddNoSync/Catalogs/\320\264\321\202_\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\241\321\205\320\265\320\274\320\240\320\260\320\267\320\274\320\265\321\211\320\265\320\275\320\270\321\217.xml" "b/lib/CF/83xddNoSync/Catalogs/\320\264\321\202_\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\241\321\205\320\265\320\274\320\240\320\260\320\267\320\274\320\265\321\211\320\265\320\275\320\270\321\217.xml" index 91f7e6315..b41e04ae3 100644 --- "a/lib/CF/83xddNoSync/Catalogs/\320\264\321\202_\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\241\321\205\320\265\320\274\320\240\320\260\320\267\320\274\320\265\321\211\320\265\320\275\320\270\321\217.xml" +++ "b/lib/CF/83xddNoSync/Catalogs/\320\264\321\202_\320\255\320\273\320\265\320\274\320\265\320\275\321\202\321\213\320\241\321\205\320\265\320\274\320\240\320\260\320\267\320\274\320\265\321\211\320\265\320\275\320\270\321\217.xml" @@ -75,7 +75,12 @@ Managed Use - + + + ru + Дт элементы схем размещения + + diff --git "a/lib/CF/83xddNoSync/ChartsOfAccounts/\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\2621.xml" "b/lib/CF/83xddNoSync/ChartsOfAccounts/\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\2621.xml" index 7b7b97234..07cbe9553 100644 --- "a/lib/CF/83xddNoSync/ChartsOfAccounts/\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\2621.xml" +++ "b/lib/CF/83xddNoSync/ChartsOfAccounts/\320\237\320\273\320\260\320\275\320\241\321\207\320\265\321\202\320\276\320\2621.xml" @@ -33,7 +33,12 @@ ПланСчетов1 - + + + ru + План счетов1 + + true false @@ -71,7 +76,12 @@ Managed Use - + + + ru + План счетов1 + + diff --git "a/lib/CF/83xddNoSync/ChartsOfCalculationTypes/\320\237\320\273\320\260\320\275\320\222\320\270\320\264\320\276\320\262\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" "b/lib/CF/83xddNoSync/ChartsOfCalculationTypes/\320\237\320\273\320\260\320\275\320\222\320\270\320\264\320\276\320\262\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" index 797eea96b..a024e710e 100644 --- "a/lib/CF/83xddNoSync/ChartsOfCalculationTypes/\320\237\320\273\320\260\320\275\320\222\320\270\320\264\320\276\320\262\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" +++ "b/lib/CF/83xddNoSync/ChartsOfCalculationTypes/\320\237\320\273\320\260\320\275\320\222\320\270\320\264\320\276\320\262\320\240\320\260\321\201\321\207\320\265\321\202\320\2601.xml" @@ -49,7 +49,12 @@ ПланВидовРасчета1 - + + + ru + План видов расчета1 + + false 9 @@ -85,7 +90,12 @@ Managed Use - + + + ru + План видов расчета1 + + diff --git "a/lib/CF/83xddNoSync/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\241\321\203\320\261\320\272\320\276\320\275\321\202\320\2761.xml" "b/lib/CF/83xddNoSync/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\241\321\203\320\261\320\272\320\276\320\275\321\202\320\2761.xml" index 338d1a4ef..43d480f64 100644 --- "a/lib/CF/83xddNoSync/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\241\321\203\320\261\320\272\320\276\320\275\321\202\320\2761.xml" +++ "b/lib/CF/83xddNoSync/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\241\321\203\320\261\320\272\320\276\320\275\321\202\320\2761.xml" @@ -310,7 +310,12 @@ Managed Use - + + + ru + Виды субконто1 + + diff --git "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2021.xml" "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2021.xml" index ee33cc38d..c0d84a3f2 100644 --- "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2021.xml" +++ "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2021.xml" @@ -25,7 +25,12 @@ Документ1 - + + + ru + Документ1 + + true @@ -62,7 +67,12 @@ Managed Use - + + + ru + Документ1 + + diff --git "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2022.xml" "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2022.xml" index a0f582438..f679529a8 100644 --- "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2022.xml" +++ "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\2022.xml" @@ -25,7 +25,12 @@ Документ2 - + + + ru + Документ2 + + true @@ -193,7 +198,12 @@ Managed Use - + + + ru + Документ2 + + diff --git "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" index a02785cd2..418cf323d 100644 --- "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" +++ "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" @@ -200,7 +200,12 @@ Managed Use - + + + ru + Документ с движениями + + diff --git "a/lib/CF/83xddNoSync/InformationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\2711.xml" "b/lib/CF/83xddNoSync/InformationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\2711.xml" index 35cc5e0b5..4fe070dff 100644 --- "a/lib/CF/83xddNoSync/InformationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\2711.xml" +++ "b/lib/CF/83xddNoSync/InformationRegisters/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\241\320\262\320\265\320\264\320\265\320\275\320\270\320\2711.xml" @@ -33,7 +33,12 @@ РегистрСведений1 - + + + ru + Регистр сведений1 + + true InDialog @@ -49,7 +54,12 @@ DontUse false false - + + + ru + Регистр сведений1 + + diff --git "a/lib/CF/83xddNoSync/Tasks/\320\227\320\260\320\264\320\260\321\207\320\2601.xml" "b/lib/CF/83xddNoSync/Tasks/\320\227\320\260\320\264\320\260\321\207\320\2601.xml" index cf7371cff..30e4c6768 100644 --- "a/lib/CF/83xddNoSync/Tasks/\320\227\320\260\320\264\320\260\321\207\320\2601.xml" +++ "b/lib/CF/83xddNoSync/Tasks/\320\227\320\260\320\264\320\260\321\207\320\2601.xml" @@ -25,7 +25,12 @@ Задача1 - + + + ru + Задача1 + + false String @@ -263,7 +268,12 @@ Managed Use - + + + ru + Задача1 + + diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" index 3f64113e5..14be2a69b 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.xml" @@ -1,14 +1,14 @@  - + c3831ec8-d8d5-4f93-8a22-f9bfae07327f - 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + 48527876-9840-4919-b467-765ba234c0d2 - 374454b4-1df5-4b67-9e85-800ed93937ff - 95383c60-00b2-4dc5-af00-0832ae567804 + d3dd76ef-bf7d-4731-b174-3537fd276f45 + 7c8757fa-4107-4181-8a9e-6143f652d10d diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cdc14ce86..bb06c546e 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\320\271\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -136,26 +136,21 @@ Функция ПроверитьПользовательскиеПредставленияОбъектовСервер(ПолноеИмяМетаданных) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); - Результат = Ложь; СтроковыеУтилиты = СтроковыеУтилиты(); МассивСтрок = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); - Если МассивСтрок.Количество() = 0 Тогда - Возврат Результат; + Если Не ЗначениеЗаполнено(МассивСтрок) Тогда + Возврат Ложь; КонецЕсли; ЭтоРегистр = СтрНайти(ВРег(МассивСтрок[0]), ВРег("Регистр")) > 0; ПредставлениеОбъекта = ?(ЭтоРегистр, ОбъектМетаданных.ПредставлениеЗаписи, ОбъектМетаданных.ПредставлениеОбъекта); Если ЗначениеЗаполнено(ПредставлениеОбъекта) Тогда - Результат = Истина; + Возврат Истина; КонецЕсли; - Если ЗначениеЗаполнено(ОбъектМетаданных.ПредставлениеСписка) Тогда - Результат = Истина; - КонецЕсли; - - Возврат Результат; + Возврат ЗначениеЗаполнено(ОбъектМетаданных.ПредставлениеСписка); КонецФункции From e6106ab67500e03427ddf1d1e8f8780c78263beb Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 22:33:10 +0300 Subject: [PATCH 284/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B0=D0=B4=D0=B0=D1=8E?= =?UTF-8?q?=D1=89=D0=B8=D1=85=20=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Проверка включения объекта в командный интерфейс - Пометка удаления и пометка удаления помеченных --- .../Ext/Rights.xml" | 389 ++++++++++++++++++ lib/CF/83xddNoSync/Subsystems/xUnitFor1C.xml | 1 + .../xUnitFor1C/Subsystems/forTests.xml | 81 ++++ 3 files changed, 471 insertions(+) create mode 100644 lib/CF/83xddNoSync/Subsystems/xUnitFor1C/Subsystems/forTests.xml diff --git "a/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" "b/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" index 3e4330762..8b92a8324 100644 --- "a/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" +++ "b/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" @@ -3,4 +3,393 @@ true true false + + BusinessProcess.БизнесПроцесс2 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + ChartOfCalculationTypes.ПланВидовРасчета1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.ПодчиненныйСправочник + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.Справочник3 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.ПростойСправочник + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.ПростойСправочник3 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.СправочникСОбязательнымРеквизитом + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + BusinessProcess.БизнесПроцесс1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + ChartOfAccounts.ПланСчетов1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.ПодчиненныйСДвумяВладельцами + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.дт_ЭлементыСхемРазмещения + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Document.Документ2 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + Catalog.ПростойСправочник2 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.ИерархическийСправочник + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.СправочникИерархияЭлементов + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + ChartOfCharacteristicTypes.ВидыСубконто1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.СправочникСТабЧастью + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Document.ДокументСДвижениями + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + Task.Задача1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + Catalog.Справочник2 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Catalog.Справочник1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + + + Document.Документ1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + + Catalog.СправочникСоСсылкойНаСамогоСебя + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + + InteractiveDeletePredefinedData + false + + + InteractiveDeleteMarkedPredefinedData + false + + \ No newline at end of file diff --git a/lib/CF/83xddNoSync/Subsystems/xUnitFor1C.xml b/lib/CF/83xddNoSync/Subsystems/xUnitFor1C.xml index 0fa60dc54..cb4b0b97e 100644 --- a/lib/CF/83xddNoSync/Subsystems/xUnitFor1C.xml +++ b/lib/CF/83xddNoSync/Subsystems/xUnitFor1C.xml @@ -22,6 +22,7 @@ Plugins Utils Tests + forTests \ No newline at end of file diff --git a/lib/CF/83xddNoSync/Subsystems/xUnitFor1C/Subsystems/forTests.xml b/lib/CF/83xddNoSync/Subsystems/xUnitFor1C/Subsystems/forTests.xml new file mode 100644 index 000000000..6f23f4de0 --- /dev/null +++ b/lib/CF/83xddNoSync/Subsystems/xUnitFor1C/Subsystems/forTests.xml @@ -0,0 +1,81 @@ + + + + + forTests + + + ru + For tests + + + + true + false + + + + Catalog.Справочник1 + Catalog.Справочник2 + Catalog.ИерархическийСправочник + Catalog.СправочникСТабЧастью + Catalog.ПодчиненныйСправочник + Catalog.СправочникСоСсылкойНаСамогоСебя + Catalog.ПодчиненныйСДвумяВладельцами + Catalog.СправочникСОбязательнымРеквизитом + Catalog.ПростойСправочник3 + Catalog.СправочникИерархияЭлементов + Catalog.Справочник3 + Catalog.ПростойСправочник + Catalog.ПростойСправочник2 + Catalog.дт_ЭлементыСхемРазмещения + ExchangePlan.ПланОбмена1 + FunctionalOption.ФункциональнаяОпция1 + CommonForm.ФормаОтчета + CommonForm.ФормаНастроекОтчета + CommonForm.ФормаВариантаОтчета + CommonTemplate.МакетВложеннаяСхема + CommonAttribute.ОбщийРеквизит1 + Role.ПолныеПрава + Role.Роль1 + Role.ПраваНеобходимыеДляТестирования + CommonModule.xddКлиент + CommonModule.xddВызовСервера + CommonModule.ЗапускПриложенияКлиент + CommonModule.ЗапускПриложенияВызовСервера + Document.Документ1 + Document.Документ2 + Document.ДокументСДвижениями + Enum.Перечисление1 + Report.Отчет1 + Report.ТестовыйОтчетСКДДляСравнениеСЭталоном + Report.Тест_Отчет + Report.Отчет2 + Report.ОтчетСОбщейФормойПоУмолчанию + Report.ОтчетССобственнымиФормами + Report.ОтчетБезУказанияФорм + Report.дт_ЭлементыСхемРазмещения + Report.ВложенныеСхемыСКД + DataProcessor.Тест_Обработка + DataProcessor.ТестОбработка_Форма_ИсключениеПриОткрытии + DataProcessor.ТестПадающий_Обработка + DataProcessor.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов + ChartOfCharacteristicTypes.ВидыСубконто1 + ChartOfAccounts.ПланСчетов1 + ChartOfCalculationTypes.ПланВидовРасчета1 + InformationRegister.РегистрСведений1 + InformationRegister.РСПодчиненныйРегистратору + InformationRegister.РСПодчиненРегистраторуПериодический + AccumulationRegister.РегистрНакопленияОбороты + AccumulationRegister.РегистрНакопления2 + AccumulationRegister.РегистрНакопленияОстатки + AccountingRegister.РегистрБухгалтерии1 + CalculationRegister.РегистрРасчета1 + BusinessProcess.БизнесПроцесс1 + BusinessProcess.БизнесПроцесс2 + Task.Задача1 + + + + + \ No newline at end of file From c55dfa8c41e7c91786642bb057b601de028bb009 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 22:37:17 +0300 Subject: [PATCH 285/421] =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BD=D0=B5?= =?UTF-8?q?=D1=82=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B5,=20=D1=82=D0=BE=20=D1=82=D0=B5=D1=81=D1=82=20?= =?UTF-8?q?=D0=BD=D0=B5=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D1=8F=D0=B5?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 34 +++++++------------ 1 file changed, 12 insertions(+), 22 deletions(-) diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7d301d828..ce5c66ee4 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -161,32 +161,22 @@ СтроковыеУтилиты = СтроковыеУтилиты(); РеквизитКомментарий = Документ.Реквизиты.Найти("Комментарий"); - Если РеквизитКомментарий = Неопределено Тогда - ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Комментарий""'"); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) - Иначе - Если РеквизитКомментарий <> Неопределено И ЗначениеЗаполнено(ИмяТипаКомментарий) Тогда - ОпределяемыйТипКомментарий = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаКомментарий); - Если РеквизитКомментарий.Тип <> ОпределяемыйТипКомментарий.Тип Тогда - ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Комментарий"" не соответствует определяемому типу %2'"); - ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаКомментарий); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) - КонецЕсли; + Если РеквизитКомментарий <> Неопределено И ЗначениеЗаполнено(ИмяТипаКомментарий) Тогда + ОпределяемыйТипКомментарий = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаКомментарий); + Если РеквизитКомментарий.Тип <> ОпределяемыйТипКомментарий.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Комментарий"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаКомментарий); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) КонецЕсли; КонецЕсли; РеквизитОтветственный = Документ.Реквизиты.Найти("Ответственный"); - Если РеквизитОтветственный = Неопределено Тогда - ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Ответственный""'"); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) - Иначе - Если РеквизитОтветственный <> Неопределено И ЗначениеЗаполнено(ИмяТипаОтветственный) Тогда - ОпределяемыйТипОтветственный = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаОтветственный); - Если РеквизитОтветственный.Тип <> ОпределяемыйТипОтветственный.Тип Тогда - ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Ответственный"" не соответствует определяемому типу %2'"); - ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаОтветственный); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) - КонецЕсли; + Если РеквизитОтветственный <> Неопределено И ЗначениеЗаполнено(ИмяТипаОтветственный) Тогда + ОпределяемыйТипОтветственный = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаОтветственный); + Если РеквизитОтветственный.Тип <> ОпределяемыйТипОтветственный.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Ответственный"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаОтветственный); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) КонецЕсли; КонецЕсли; From cc6adc3f2f4d758c7b21a4097612935e3d038327 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 22:42:52 +0300 Subject: [PATCH 286/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B8=D0=BE=D0=B4?= =?UTF-8?q?=D0=B8=D1=87=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=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 --- ...320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" index 418cf323d..ef4fb5660 100644 --- "a/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" +++ "b/lib/CF/83xddNoSync/Documents/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\241\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\274\320\270.xml" @@ -37,7 +37,7 @@ String 9 Variable - Nonperiodical + Year true true From 393ead2ce97c76c83d0f7c0acc4a0cee38944f2d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 22:43:13 +0300 Subject: [PATCH 287/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D1=81=D1=83=D1=89=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B0=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit важно для старых платформ --- .../Ext/Form/Module.bsl" | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 86e00e6cd..7e3ed8b4e 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -226,7 +226,12 @@ ПраваДоступаДляПроверки = ПраваДоступаДляПроверки(); Для Каждого ПравоДоступаДляПроверки Из ПраваДоступаДляПроверки Цикл - Если ПравоДоступа(ПравоДоступаДляПроверки, Метаданные, Роль) Тогда + Попытка + ЕстьПраво = ПравоДоступа(ПравоДоступаДляПроверки, Метаданные, Роль); + Исключение + ЕстьПраво = Истина; // на старых конфигурациях части прав еще нет. например, в 8.3.10 нет МобильныйКлиент + КонецПопытки; + Если ЕстьПраво Тогда Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); Результат = Результат + Разделитель + ПравоДоступаДляПроверки; КонецЕсли; From 30a1288f5616ae9d300d4fb34c6bfec0fd090269 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 23:01:44 +0300 Subject: [PATCH 288/421] =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BD=D0=B5=20=D1=81=D1=83=D1=89=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D1=83=D1=8E=D1=82,=20=D0=BF=D0=BE=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B9=20=D0=BD=D0=B5=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=8E=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Тесты_ПроверкаСтандартныхРолей - примеры для БСП - настройка правил для теста --- lib/CF/83xddNoSync/Configuration.xml | 4 +- tests/smoke/smoke.bsp.json | 122 ++++++++++++++++-- .../Ext/Form/Module.bsl" | 7 +- tools/JSON/xUnitParams.json | 86 +++--------- 4 files changed, 135 insertions(+), 84 deletions(-) diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index 6bac21df1..9450e9b0a 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -43,7 +43,9 @@ PersonalComputer Russian - + + Role.ПолныеПрава + 6.7.0 diff --git a/tests/smoke/smoke.bsp.json b/tests/smoke/smoke.bsp.json index a2a5ab231..8b01f822f 100644 --- a/tests/smoke/smoke.bsp.json +++ b/tests/smoke/smoke.bsp.json @@ -629,26 +629,120 @@ ] } }, - "Тесты_ПроверкаСтандартныхРолей" : { - "ОсновныеРоли" : [ - "ИмяРоли" + "Тесты_ПроверкаСтандартныхРолей":{ + + "Используется": true, + "ВыводитьИсключения": true, + + "ОсновныеРоли":[ + "ПолныеПрава", + "АдминистраторСистемы" ], - "СтандартныеРоли" : { - "ИмяРоли" : [ - "Чтение", - "ЧтениеПросмотр" + + "СтандартныеРоли":{ + + "ПолныеПрава":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "МобильныйКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "РегистрацияИнформационнойБазыСистемыВзаимодействия", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов", + "Вывод" + ], + + "АдминистраторСистемы":[ + "Администрирование", + "АдминистрированиеДанных", + "ОбновлениеКонфигурацииБазыДанных", + "МонопольныйРежим", + "АктивныеПользователи", + "ЖурналРегистрации", + "ТонкийКлиент", + "ВебКлиент", + "ТолстыйКлиент", + "ВнешнееСоединение", + "Automation", + "РежимВсеФункции", + "СохранениеДанныхПользователя", + "АдминистрированиеРасширенийКонфигурации", + "Вывод" + ], + + "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок":[ + "ИнтерактивноеОткрытиеВнешнихОбработок", + "ИнтерактивноеОткрытиеВнешнихОтчетов" + ], + + "Администрирование":[ + "Администрирование", + "АдминистрированиеДанных", + "АктивныеПользователи" + ], + + "ВыводНаПринтерФайлБуферОбмена":[ + "Вывод" + ], + + "ЗапускAutomation":[ + "Automation" + ], + + "ЗапускВебКлиента":[ + "ВебКлиент" + ], + + "ЗапускВнешнегоСоединения":[ + "ВнешнееСоединение" + ], + + "ЗапускТолстогоКлиента":[ + "ТолстыйКлиент" + ], + + "ЗапускТонкогоКлиента":[ + "ТонкийКлиент" + ], + + "ОбновлениеКонфигурацииБазыДанных":[ + "ОбновлениеКонфигурацииБазыДанных" + ], + + "ПросмотрЖурналаРегистрации":[ + "ЖурналРегистрации" + ], + + "РежимВсеФункции":[ + "РежимВсеФункции" + ], + + "СохранениеДанныхПользователя":[ + "СохранениеДанныхПользователя" ] + }, - "ИсключенияИзПроверок" : { - "Справочник" : [ - "ИмяСправочника" - ], - "Документ" : [ - "ИмяДокумента" + + "ИсключенияИзПроверок":{ + + "Роль":[ + "МояРоль" ] } + }, - "Тесты_ПроверкаУстаревшихТиповДанных" : { + "Тесты_ПроверкаУстаревшихТиповДанных" : { "ОтборПоПрефиксу" : false, "НеПроверятьДополнительныеРеквизиты" : false, "ИсключенияИзПроверок" : { diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7e3ed8b4e..51669e566 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\276\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -193,7 +193,12 @@ Роль = Метаданные.Роли.Найти(ИмяРоли); Для Каждого ПравоДоступаРоли Из ПраваДоступаРоли Цикл - Если Не ПравоДоступа(ПравоДоступаРоли, Метаданные, Роль) Тогда + Попытка + ЕстьПраво = ПравоДоступа(ПравоДоступаРоли, Метаданные, Роль); + Исключение + ЕстьПраво = Истина; // на старых конфигурациях части прав еще нет. например, в 8.3.10 нет МобильныйКлиент + КонецПопытки; + Если Не ЕстьПраво Тогда Разделитель = ?(ЗначениеЗаполнено(Результат), ", ", ""); Результат = Результат + Разделитель + ПравоДоступаРоли; КонецЕсли; diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 1b1afa9f9..6979db7ad 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -380,8 +380,7 @@ "ВыводитьИсключения": true, "ОсновныеРоли":[ - "ПолныеПрава", - "АдминистраторСистемы" + "ПолныеПрава" ], "СтандартныеРоли":{ @@ -407,82 +406,33 @@ "ИнтерактивноеОткрытиеВнешнихОтчетов", "Вывод" ], - - "АдминистраторСистемы":[ + "ПраваНеобходимыеДляТестирования":[ "Администрирование", "АдминистрированиеДанных", - "ОбновлениеКонфигурацииБазыДанных", - "МонопольныйРежим", - "АктивныеПользователи", - "ЖурналРегистрации", - "ТонкийКлиент", - "ВебКлиент", - "ТолстыйКлиент", - "ВнешнееСоединение", - "Automation", - "РежимВсеФункции", - "СохранениеДанныхПользователя", - "АдминистрированиеРасширенийКонфигурации", - "Вывод" - ], - - "ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок":[ + // "ОбновлениеКонфигурацииБазыДанных", + // "МонопольныйРежим", + // "АктивныеПользователи", + // "ЖурналРегистрации", + // "ТонкийКлиент", + // "ВебКлиент", + "МобильныйКлиент", + // "ТолстыйКлиент", + // "ВнешнееСоединение", + // "Automation", + // "РежимВсеФункции", + // "РегистрацияИнформационнойБазыСистемыВзаимодействия", + // "СохранениеДанныхПользователя", + // "АдминистрированиеРасширенийКонфигурации", "ИнтерактивноеОткрытиеВнешнихОбработок", - "ИнтерактивноеОткрытиеВнешнихОтчетов" - ], - - "Администрирование":[ - "Администрирование", - "АдминистрированиеДанных", - "АктивныеПользователи" - ], - - "ВыводНаПринтерФайлБуферОбмена":[ + // "ИнтерактивноеОткрытиеВнешнихОтчетов", "Вывод" - ], - - "ЗапускAutomation":[ - "Automation" - ], - - "ЗапускВебКлиента":[ - "ВебКлиент" - ], - - "ЗапускВнешнегоСоединения":[ - "ВнешнееСоединение" - ], - - "ЗапускТолстогоКлиента":[ - "ТолстыйКлиент" - ], - - "ЗапускТонкогоКлиента":[ - "ТонкийКлиент" - ], - - "ОбновлениеКонфигурацииБазыДанных":[ - "ОбновлениеКонфигурацииБазыДанных" - ], - - "ПросмотрЖурналаРегистрации":[ - "ЖурналРегистрации" - ], - - "РежимВсеФункции":[ - "РежимВсеФункции" - ], - - "СохранениеДанныхПользователя":[ - "СохранениеДанныхПользователя" ] - }, "ИсключенияИзПроверок":{ "Роль":[ - "МояРоль" + "Роль1" ] } From 32508f4322c25d79ce75e78ac755458312f7e50b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 23:10:27 +0300 Subject: [PATCH 289/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=A2?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D1=8B=5F=D0=9F=D0=B5=D1=80=D0=B5=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D0=9D=D0=B0=D0=A3=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=D1=8B=D0=B5=D0=A4=D0=BE=D1=80=D0=BC=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 6979db7ad..ff0d9181e 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -273,7 +273,16 @@ ], "Справочник" : [ - "Справочник1.Форма.ФормаСписка" + "Справочник1.Форма.ФормаСписка", + "ПодчиненныйСправочник.Форма.ФормаСписка", + "ПодчиненныйСправочник.Форма.ФормаЭлемента", + "ПростойСправочник2.Форма.ФормаЭлемента", + "ПростойСправочник2.Форма.ФормаСписка", + "ПодчиненныйСДвумяВладельцами.Форма.ФормаЭлемента", + "ПростойСправочник.Форма.ФормаЭлемента", + "СправочникСОбязательнымРеквизитом.Форма.ФормаЭлемента", + "Справочник2.Форма.ФормаЭлемента", + "Справочник2.Форма.ФормаСписка" ], "РегистрНакопления" : [ @@ -281,10 +290,12 @@ ], "Обработка" : [ - "Обработка1.Форма.Форма" + "Обработка1.Форма.Форма", + "ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.ОбычнаяФорма" ], "Отчет" : [ + "Отчет1.Форма.ФормаОтчета", "*" ], From dffe4070ab0f1b9268a94833037a3790e4d39813 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 23:13:28 +0300 Subject: [PATCH 290/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=81=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D0=BD=D1=8B=D0=B5?= =?UTF-8?q?=20=D1=82=D0=B8=D0=BF=D1=8B=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index ff0d9181e..7badddfa9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -723,7 +723,8 @@ "ИсключенияИзПроверок":{ "Документ":[ - "МойДокумент.ТабличнаяЧасть.МояТабличнаяЧасть.Реквизит.МойРеквизит" + "МойДокумент.ТабличнаяЧасть.МояТабличнаяЧасть.Реквизит.МойРеквизит", + "Документ2.ТабличнаяЧасть.Состав2.Реквизит.ЛюбаяСсылка" ], "ОпределяемыйТип":[ @@ -735,7 +736,10 @@ ], "Справочник":[ - "Справочник1.Реквизит.Реквизит1" + "Справочник1.Реквизит.Реквизит1", + "СправочникСТабЧастью.Реквизит.РеквизитСоставногоТипа2", + "ПростойСправочник3.Реквизит.ТочкаМаршрутаБП1", + "ПростойСправочник3.Реквизит.ТочкаМаршрутаБП2" ], "Константа":[ From c1a1cb839462d06e3a1eaea56e4aba21f4fb2e06 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 23:30:32 +0300 Subject: [PATCH 291/421] =?UTF-8?q?=D0=B5=D1=81=D0=BB=D0=B8=20=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BD=D0=B5=20=D1=81=D1=83=D1=89=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D1=83=D1=8E=D1=82,=20=D0=BF=D0=BE=20=D0=BD=D0=B5?= =?UTF-8?q?=D0=B9=20=D0=BD=D0=B5=20=D0=B2=D1=8B=D0=B4=D0=B0=D1=8E=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов --- .../Ext/Rights.xml" | 11 +++++++++++ .../Ext/Form/Module.bsl" | 8 ++++++-- tools/JSON/xUnitParams.json | 15 ++++++++------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git "a/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" "b/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" index 8b92a8324..68f9af4ee 100644 --- "a/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" +++ "b/lib/CF/83xddNoSync/Roles/\320\237\320\276\320\273\320\275\321\213\320\265\320\237\321\200\320\260\320\262\320\260/Ext/Rights.xml" @@ -362,6 +362,17 @@ false
+ + ExchangePlan.ПланОбмена1 + + InteractiveDelete + false + + + InteractiveDeleteMarked + false + + Document.Документ1 diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 84cd69061..818d7a523 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\260\320\262\320\235\320\260\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -119,7 +119,11 @@ КонецЕсли; Для Каждого Право Из СписокПрав Цикл - ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + Попытка + ЕстьПраво = ПравоДоступа(Право, ОбъектМетаданных, Роль); + Исключение + ЕстьПраво = Ложь; + КонецПопытки; Если ЕстьПраво Тогда Результат = Результат + Символы.ПС + Роль.Имя + " право: " + Право; КонецЕсли; @@ -210,4 +214,4 @@ КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 7badddfa9..69bdb63b9 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -707,7 +707,7 @@ "Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов": { "Используется": true, - "ПроверятьОсновныеРоли": true + "ПроверятьОсновныеРоли": false }, @@ -1028,18 +1028,19 @@ "ОбъектыМетаданных":{ "РегистрНакопления": [ - "РегистрНаколпения1" - ], - - "Справочник": [ - "*" + // "РегистрНакопления1" ] + //, + + // "Справочник": [ + // "*" + // ] }, "ИсключенияИзПроверок":{ "РегистрНакопления": [ - "РегистрНаколпения1" + // "РегистрНакопления1" ], "Справочник":[ From 5ac6936efdfc930a84632098a8ea33e4fc7b93c1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 3 Sep 2021 23:42:58 +0300 Subject: [PATCH 292/421] =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE?= =?UTF-8?q?=D0=B9=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=85=D0=BE=D0=B6=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D1=8B?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\276\321\206\320\265\321\201\321\2011.xml" | 2 +- ...\276\321\206\320\265\321\201\321\2012.xml" | 2 +- ...\261\320\274\320\265\320\275\320\2601.xml" | 14 +- .../Ext/Rights.xml" | 164 ++++++++++++++++++ 4 files changed, 178 insertions(+), 4 deletions(-) diff --git "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" index 1d1a0b4d8..46c79b301 100644 --- "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" +++ "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2011.xml" @@ -238,7 +238,7 @@ Nonperiodical Task.Задача1 - false + true Managed false diff --git "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" index 66479d07c..e73abd6cd 100644 --- "a/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" +++ "b/lib/CF/83xddNoSync/BusinessProcesses/\320\221\320\270\320\267\320\275\320\265\321\201\320\237\321\200\320\276\321\206\320\265\321\201\321\2012.xml" @@ -238,7 +238,7 @@ Nonperiodical Task.Задача1 - false + true Managed false diff --git "a/lib/CF/83xddNoSync/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\2601.xml" "b/lib/CF/83xddNoSync/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\2601.xml" index 64f0161e0..755d11145 100644 --- "a/lib/CF/83xddNoSync/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\2601.xml" +++ "b/lib/CF/83xddNoSync/ExchangePlans/\320\237\320\273\320\260\320\275\320\236\320\261\320\274\320\265\320\275\320\2601.xml" @@ -26,7 +26,12 @@ ПланОбмена1 - + + + ru + План обмена 1 + + false 9 @@ -235,7 +240,12 @@ Managed Use - + + + ru + План обмена 1 + + diff --git "a/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" "b/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" index 78a71e0f5..1860617d5 100644 --- "a/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" +++ "b/lib/CF/83xddNoSync/Roles/\320\240\320\276\320\273\321\2141/Ext/Rights.xml" @@ -47,6 +47,17 @@ false + + Report.ОтчетБезУказанияФорм + + Use + true + + + View + true + + InformationRegister.РСПодчиненРегистраторуПериодический @@ -254,6 +265,17 @@ false + + DataProcessor.Тест_Обработка + + Use + true + + + View + true + + AccountingRegister.РегистрБухгалтерии1 @@ -294,6 +316,28 @@ false + + Report.ТестовыйОтчетСКДДляСравнениеСЭталоном + + Use + true + + + View + true + + + + Report.ОтчетССобственнымиФормами + + Use + true + + + View + true + + Document.Документ2.Attribute.ПростойСправочник @@ -349,6 +393,17 @@ false + + Report.Отчет1 + + Use + true + + + View + true + + Document.Документ2.TabularSection.Состав2.Attribute.ЛюбаяСсылка @@ -572,6 +627,42 @@ false + + CommonForm.ФормаОтчета + + View + true + + + + CommonForm.ФормаВариантаОтчета + + View + true + + + + DataProcessor.ТестПадающий_Обработка + + Use + true + + + View + true + + + + Report.ВложенныеСхемыСКД + + Use + true + + + View + true + + Catalog.СправочникСОбязательнымРеквизитом @@ -689,6 +780,17 @@ false + + Report.ОтчетСОбщейФормойПоУмолчанию + + Use + true + + + View + true + + BusinessProcess.БизнесПроцесс1 @@ -696,6 +798,13 @@ true + + CommonForm.ФормаНастроекОтчета + + View + true + + AccumulationRegister.РегистрНакопленияОстатки @@ -1115,6 +1224,17 @@ true + + Report.Тест_Отчет + + Use + true + + + View + true + + Document.Документ2.TabularSection.Состав.Attribute.ПростойСправочник2 @@ -1195,6 +1315,17 @@ false + + Report.дт_ЭлементыСхемРазмещения + + Use + true + + + View + true + + AccumulationRegister.РегистрНакопления2.Dimension.ПростойСправочник2 @@ -1392,6 +1523,28 @@ false + + DataProcessor.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов + + Use + true + + + View + true + + + + Report.Отчет2 + + Use + true + + + View + true + + Catalog.ИерархическийСправочник.TabularSection.ТабличнаяЧастьДляГруппы.Attribute.ПростойСправочник @@ -1486,6 +1639,17 @@ true + + DataProcessor.ТестОбработка_Форма_ИсключениеПриОткрытии + + Use + true + + + View + true + + Catalog.СправочникСТабЧастью.TabularSection.Состав From c9bc3218725c1c2417d967b5997c1cdf55c1e528 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 4 Sep 2021 13:59:14 +0300 Subject: [PATCH 293/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 + .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 3 ++ .../Ext/Form/Module.bsl" | 7 ++- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 36 +++++-------- .../Ext/Form/Module.bsl" | 1 - .../Ext/Form/Module.bsl" | 1 - .../Ext/Form/Module.bsl" | 3 ++ .../Ext/Form/Module.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 10 ++-- .../Ext/Form/Module.bsl" | 4 +- .../Ext/ObjectModule.bsl" | 33 ++++++------ .../Ext/Form/Module.bsl" | 52 ++++++------------- .../Ext/Form/Module.bsl" | 7 +-- .../Ext/ObjectModule.bsl | 6 +-- .../Forms/Form/Ext/Form/Module.bsl | 6 +-- .../Ext/Form/Module.bsl" | 10 ++-- .../Ext/Form/Module.bsl" | 4 +- 19 files changed, 87 insertions(+), 104 deletions(-) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\230\321\201\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\244\320\276\321\200\320\274\321\213/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\230\321\201\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\244\320\276\321\200\320\274\321\213/Ext/Form/Module.bsl" index 57cbb14a8..73ee891e8 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\230\321\201\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\244\320\276\321\200\320\274\321\213/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\230\321\201\321\201\320\273\320\265\320\264\320\276\320\262\320\260\321\202\320\265\320\273\321\214\320\244\320\276\321\200\320\274\321\213/Ext/Form/Module.bsl" @@ -283,6 +283,8 @@ ТекРодитель = ТекРодитель.ПолучитьРодителя(); КонецЦикла; + + Возврат Неопределено; КонецФункции &НаКлиенте diff --git "a/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index e35e6e907..ef1b0a16c 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -336,7 +336,7 @@ КонецПроцедуры &НаКлиенте -Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение) Экспорт +Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение = Неопределено) Экспорт #Если ВебКлиент Тогда diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 046917324..2ac53053d 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2341,7 +2341,10 @@ ИначеЕсли Тип = Тип("ТестируемаяТаблицаФормы") Тогда ТабДок = ПолучитьЗначениеТестируемаяТаблицаФормы(ПолеРеквизит); Возврат ТабДок; + Иначе + Возврат ""; КонецЕсли; + КонецФункции &НаКлиенте diff --git "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ad2d650f6..3809e21e8 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -819,6 +819,7 @@ // TODO почему пустое тело метода ?? ПолучитьТелоМодуляВМассивСервер(Стр) Функция ПолучитьТелоМодуляВМассивСервер(Стр) + Возврат Неопределено; КонецФункции // TODO Дубль кода в методах "УбратьСпецсимволыИзИмениОбработки" из УФ bddRunner, ОФ bddRunner и модуля объекта из vbFeatureReader @@ -1054,6 +1055,7 @@ // TODO почему пустое тело метода ?? НайтиФайлВМассивеФайлов(МассивФайлов,ИмяФайлаEpf) Функция НайтиФайлВМассивеФайлов(МассивФайлов,ИмяФайлаEpf) + Возврат Неопределено; КонецФункции Функция РаспаковатьEPF(СтруктураОписанияEpf) @@ -1115,12 +1117,15 @@ ОчиститьСодержимоеКаталога(ВременныйКаталогБазы); + Возврат СтруктураОписанияEpf.ВременноеИмяМодуля; + Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); СделатьСообщение("Не смог распаковать " + ИмяФайла); СделатьСообщение(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); - Возврат Неопределено; КонецПопытки; + + Возврат Неопределено; КонецФункции Функция СоздатьСтруктураОписанияEpf(ОтносительныйКаталогФичи,ИмяТекущейФичи,GenerateEpf,ДвДанныеvbFeatureReader,ДополнительныеПараметры) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index 7cf723ec0..dab587c88 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -339,7 +339,7 @@ КонецПроцедуры &НаКлиенте -Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение) Экспорт +Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение = Неопределено) Экспорт #Если ВебКлиент Тогда diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d921ca566..2cdf147d2 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -77,17 +77,6 @@ ГлобальныйКонтекстИнициализировать(); - //КэшироватьПеречисленияПлагинов(); - //СброситьПодключенныеВнешниеОбработки(); - // - //КаталогПроекта = КаталогВременныхФайлов(); - - //ЭтоПакетныйЗапуск = ЗначениеЗаполнено(ПараметрЗапуска); - //Если ЭтоПакетныйЗапуск Тогда - // ВыполнитьПакетныйЗапуск(ПараметрЗапуска); - //Иначе - // ПерезагрузитьПоследниеТестыПоИстории(); - //КонецЕсли; КонецПроцедуры &НаКлиенте @@ -95,7 +84,7 @@ КэшироватьПеречисленияПлагинов(); СброситьПодключенныеВнешниеОбработки(); - КаталогПроекта = ПолучитьКаталогВременныхФайлов(); + //КаталогПроекта = ПолучитьНовыйКаталогВременныхФайлов(); // TODO бесполезный код, т.к. Объект.КаталогПроекта ЭтоПакетныйЗапуск = Найти(ПараметрЗапуска, "xdd") > 0; Если ЭтоПакетныйЗапуск Тогда @@ -974,7 +963,10 @@ Попытка - РезультатТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов, МассивСообщений); + ОписаниеРезультатаТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов); + + РезультатТестирования = ОписаниеРезультатаТестирования.РезультатТестирования; + МассивСообщений = ОписаниеРезультатаТестирования.МассивСообщений; Если ТестУпалИлиНеРеализован(РезультатТестирования.Состояние) Тогда ВывестиНакопленныеСообщенияОтСервера(МассивСообщений); @@ -1022,7 +1014,10 @@ КонецПроцедуры &НаСервере -Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов, МассивСообщений) +Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов) + + Результат = Новый Структура("РезультатТестирования, МассивСообщений", Неопределено, Новый Массив); + ОбъектНаСервере = ЭтотОбъектНаСервере(); Если ОписаниеКонтекста.ЭтоОбщийМодуль Тогда @@ -1049,11 +1044,11 @@ КонецЕсли; - РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); + Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); - МассивСообщений = ПолучитьСообщенияПользователю(Истина); + Результат.МассивСообщений = ПолучитьСообщенияПользователю(Истина); - Возврат РезультатТестирования; + Возврат Результат; КонецФункции &НаКлиенте @@ -2826,13 +2821,6 @@ Возврат Версия1БольшеИлиРавно; КонецФункции -&НаКлиентеНаСервереБезКонтекста -Функция ПолучитьКаталогВременныхФайлов() - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("123"); - ВременныйФайл = Новый Файл(ИмяВременногоФайла); - Возврат ВременныйФайл.Путь; -КонецФункции - // Универсальная функция для проверки наличия свойств у значения любого типа данных // // Параметры: diff --git "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f586a090c..bbe4470c8 100644 --- "a/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/examples/features/Buh30/step_definitions/Avance/Avance/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -125,7 +125,6 @@ ФайлПроверкаСуществования = Новый Файл(ПутьК1С); Если НЕ ФайлПроверкаСуществования.Существует() Тогда ВызватьИсключение "Не нашел путь к 1cv8c.exe: " + ПутьК1С; - Возврат; КонецЕсли; КаталогБазы = СтрокаСоединенияИнформационнойБазы(); diff --git "a/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a51eddefd..0cbc4029d 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -106,7 +106,6 @@ Если НЕ Ванесса.ФайлСуществуетКомандаСистемы(ПутьК1С) Тогда ВызватьИсключение Ванесса.СтрШаблон_("Не нашел путь к %1: %2", ИмяФайлаПриложения1С, ПутьК1С); - Возврат; КонецЕсли; КаталогБазы = СтрокаСоединенияИнформационнойБазы(); diff --git "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index cb13f5f8a..53e9b1e73 100644 --- "a/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\224\320\260\320\275\320\275\321\213\320\265/step_definitions/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265_\320\267\320\260\320\264\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -350,7 +350,10 @@ ВызватьИсключение "Фоновое задание завершено аварийно. " + РасшифровкаОшибки; ИначеЕсли ФЗ.Состояние = СостояниеФоновогоЗадания.Отменено Тогда ВызватьИсключение "Фоновое задание завершено отменено. " + РасшифровкаОшибки; + Иначе + ВызватьИсключение "Попали в ветку в ФоновоеЗаданиеЗавершено, в которую не должны были попасть. " + РасшифровкаОшибки; КонецЕсли; + КонецФункции &НаСервереБезКонтекста diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index ea6782247..c6859b7b1 100644 --- "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/DataProcessors/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\222\320\275\320\265\321\210\320\275\320\270\320\271\320\244\320\260\320\271\320\273/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -341,7 +341,7 @@ КонецПроцедуры &НаКлиенте -Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение) Экспорт +Процедура смв_ПоказатьЗначение(ОписаниеОповещенияОЗавершении = Неопределено, Значение = Неопределено) Экспорт #Если ВебКлиент Тогда diff --git "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" index 96a794f42..10b4acdaf 100644 --- "a/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" +++ "b/plugins/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/\320\224\320\262\320\270\320\266\320\265\320\275\320\270\321\217\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Ext/ObjectModule.bsl" @@ -367,8 +367,8 @@ // Параметры: // <Таблица0> - <ТаблицаЗначений> - первая сравниваемая таблица значений. // <Таблица1> - <ТаблицаЗначений> - вторая сравниваемая таблица значений. -// <ИмяРегистра> – Строка - -// <Измерения> – Список измерений, по которым необходимо отсортировать ТЗ на выходе +// <ИмяРегистра> - Строка - +// <Измерения> - Список измерений, по которым необходимо отсортировать ТЗ на выходе // // Возвращаемое значение: // <ТаблицаЗначений> - содержит результат сравнения. @@ -376,8 +376,8 @@ // что и сравниваемые таблицы. // «Разница» содержит отличающиеся строки двух таблиц (удаленные, добавленные, измененные). // При этом в дополнительном столбце «Знак» должна стоять отметка: -// 0 – если строка имеется в Таблице0 и 1 – если строка имеется в Таблице1. -// Это можно интерпретировать как 0 – строка удалена, 1 – добавлена, или 0 – строка до изменения, 1 – после. +// 0 - если строка имеется в Таблице0 и 1 - если строка имеется в Таблице1. +// Это можно интерпретировать как 0 - строка удалена, 1 - добавлена, или 0 - строка до изменения, 1 - после. // Кроме того (внимание!), строки с одинаковыми значениями измерений должны быть расположены друг под другом, // что реализует удобный для визуального контроля способ «связывания» строк до и после изменения. // @@ -438,7 +438,7 @@ Ответ.Колонки.Вставить(0,"Действие"); Для Каждого СтрОтвет Из Ответ Цикл - //Это можно интерпретировать как 0 – строка удалена, 1 – добавлена, или 0 – строка до изменения, 1 – после. + //Это можно интерпретировать как 0 - строка удалена, 1 - добавлена, или 0 - строка до изменения, 1 - после. Если СтрОтвет.Знак = 1 Тогда СтрОтвет.Действие = СтруктураДействий.Добавлена; Иначе diff --git "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c9477247a..fdac9dfa5 100644 --- "a/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\202\320\276\321\200/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -42,9 +42,9 @@ КонецФункции &НаКлиенте -Функция СообщитьТехническуюИнформацию() Экспорт +Процедура СообщитьТехническуюИнформацию() Экспорт Сообщить(ТехническаяИнформация()); -КонецФункции +КонецПроцедуры &НаКлиенте Функция УзнатьРежимСовместимостиКлиент(ЗначениеПоУмолчанию) Экспорт diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index 08d199159..efd3edb50 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -1521,7 +1521,6 @@ ИначеЕсли ПротоОбъект.Режимы.Группа Тогда Попытка ВызватьИсключение "Недопустимый режим ""Группа"" для ПланаВидовРасчета"; - Объект = СпрМенеджер.СоздатьГруппу(); Исключение Ошибка = ОписаниеОшибки(); ВызватьИсключение "ПланВидовРасчета."+ПротоОбъект.Вид+" не удалось создать новую группу."+Символы.ПС+Ошибка; @@ -3641,11 +3640,11 @@ // Для описания типов берется первый тип массива типов. // // Параметры: -// пОбъект – Произвольный – для чего получаем метаданные; +// пОбъект - Произвольный - для чего получаем метаданные; // *пЛиТолькоДляКорневого - Булево, *Ложь - возвращать только для объекта корневого типа. // // Возвращаемое значение: -// - Строка – имя типа корневого объекта метаданных; +// - Строка - имя типа корневого объекта метаданных; // Неопределено - не удалось получить имя типа. // Функция ПолучитьКорневойТипКонфигурации_ирЛкс(пОбъект, пЛиТолькоДляКорневого = Ложь) Экспорт @@ -3678,11 +3677,11 @@ // Проверяет, является ли значение ссылкой на объект БД. На базе ЛксЛиСсылкаНаОбъектБД // // Параметры: -// пЗначение – ОбъектМетаданных, Произвольный – проверяемое значение. +// пЗначение - ОбъектМетаданных, Произвольный - проверяемое значение. // // Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. +// Истина - значение является ссылкой на объект БД; +// Ложь - значение не является ссылкой на объект БД. // Функция ЛиСсылкаНаОбъектБД_ирЛкс(пЗначение) Экспорт @@ -3693,11 +3692,11 @@ // Проверяет, является ли значение ссылкой на значение перечисления. // // Параметры: -// пЗначение – Произвольный – проверяемое значение. +// пЗначение - Произвольный - проверяемое значение. // // Возвращаемое значение: -// Истина – значение является ссылкой на объект БД; -// Ложь – значение не является ссылкой на объект БД. +// Истина - значение является ссылкой на объект БД; +// Ложь - значение не является ссылкой на объект БД. // Функция ЛиСсылкаНаПеречисление_ирЛкс(пЗначение) Экспорт @@ -3711,8 +3710,8 @@ // пИмяКорневогоТипа - Строка, Неопределено - имя корневого типа. // // Возвращаемое значение: -// Истина – тип является корневым типом объекта БД; -// Ложь – иначе. +// Истина - тип является корневым типом объекта БД; +// Ложь - иначе. // Функция ЛиКорневойТипОбъектаБД_ирЛкс(КорневойТип) Экспорт @@ -3737,10 +3736,10 @@ // Для описания типов берется первый тип массива типов. // // Параметры: -// пОбъект – Произвольный – для чего получаем менеджер. +// пОбъект - Произвольный - для чего получаем менеджер. // // Возвращаемое значение: -// – МенеджерОбъекта - для ссылки или ссылочного типа; +// - МенеджерОбъекта - для ссылки или ссылочного типа; // Неопределено - не удалось получить. // Функция ПолучитьМенеджерОбъекта_ирЛкс(пОбъект) Экспорт @@ -3787,10 +3786,10 @@ // Для описания типов берется первый тип массива типов. // // Параметры: -// пОбъект – Произвольный – для чего получаем метаданные. +// пОбъект - Произвольный - для чего получаем метаданные. // // Возвращаемое значение: -// – Метаданные - полученные; +// - Метаданные - полученные; // Неопределено - не удалось получить метаданные. // Функция ПолучитьМетаданные_ирЛкс(пОбъект) Экспорт @@ -3819,7 +3818,7 @@ // Получает тип из описания типов, типа или значения. На базе ЛксПолучитьТипОбъекта // // Параметры: -// пОбъект – Тип, ОписаниеТипов, Произвольный – проверяемое значение. +// пОбъект - Тип, ОписаниеТипов, Произвольный - проверяемое значение. // // Возвращаемое значение: // Тип - найденный тип. @@ -3931,7 +3930,7 @@ // "3-я Дебиторка По контрагентам с интервалами СНГ (для Руководства)" => "_3_яДебиторкаПоКонтрагентамСИнтерваламиСНГ_дляРуководства_". // // Параметры: -// Представление – Строка. +// Представление - Строка. // // Возвращаемое значение: // Строка. diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ecc64fbd0..f4a9c1a2b 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -179,7 +179,6 @@ КонецПроцедуры - &НаКлиенте Процедура ОчиститьТаблицуДанных(Команда) Объект.ТаблицаДанных.Очистить(); @@ -758,17 +757,14 @@ &НаКлиенте Процедура ТолькоВыбранные(Команда) - - + ТолькоВыбранныеНаСервере(); - - + КонецПроцедуры &НаСервере Процедура ТолькоВыбранныеНаСервере() - - + //УсловноеОформление.Элементы.Очистить(); // @@ -784,8 +780,7 @@ Элементы.ДеревоМетаданных_ТолькоВыбранные.Пометка = НЕ Элементы.ДеревоМетаданных_ТолькоВыбранные.Пометка; УстановитьИспользованиеЭлементаОформления("Скрыть невыбранные строки",Элементы.ДеревоМетаданных_ТолькоВыбранные.Пометка); - - + КонецПроцедуры &НаСервере @@ -808,8 +803,7 @@ Возврат; КонецЕсли; КонецЦикла; - - + Элемент = УсловноеОформление.Элементы.Добавить(); Элемент.Представление = ПредставлениеОформления; @@ -863,8 +857,6 @@ КонецПроцедуры -&НаКлиенте - #КонецОбласти #Область ПроставимПодчиненныеРегистры @@ -895,8 +887,7 @@ Возврат; КонецЕсли; - - + Форма = ПолучитьФорму("ВнешняяОбработка.СериализаторMXL.Форма.ФормаУстановкиПодчиненныхРегистраторовПоДереву",мПараметры); Форма.Открыть(); @@ -923,13 +914,11 @@ // 1. Получим результаты отбора МассивСсылок = новый Массив; МассивСсылок = ПолучитьРезультатСсылкамиОтбораНаСервере(УзелДокумента.НастройкиКомпоновщика,Параметр.Документ_ПолноеИмяМетаданных,"Документ"); - - + // 2. Пройдем по списку регистров и проставим // очищаем все что выбрано ранее МассивВыбранныхДанных = Параметр.МассивВыбранныхДанных; - - + Для каждого стр из МассивВыбранныхДанных Цикл УзелДерева = СоответсвиеПолногоИмениЭлементамДерева.Получить(стр.ИмяВидаРегистра+"."+стр.ПолноеИмяМетаданных); Если УзелДерева=Неопределено Тогда @@ -954,8 +943,7 @@ стр.Выгружать=2; КонецЦикла; КонецЕсли; - - + КонецЕсли; ИначеЕсли ИмяСобытия="ВыборВыгрузкиПоСтруктуреПодчиненности" Тогда @@ -988,9 +976,7 @@ УзелДерева.ИспользоватьОтбор = Истина; УзелДерева.Выгружать = 1; УзелДерева.НастройкиКомпоновщика = СформироватьОтборНаСервере(УзелДерева.НастройкиКомпоновщика,"Ссылка",МассивСсылок,Истина); - - - + КонецЦикла; // добавим еще корень дерева @@ -1000,8 +986,7 @@ стр.Выгружать=2; КонецЦикла; КонецЕсли; - - + КонецЕсли; ИначеЕсли ИмяСобытия="ВыборВыгрузкиПоСтруктуреСсылокОбъекта" Тогда @@ -1054,8 +1039,7 @@ стр.Выгружать=2; КонецЦикла; КонецЕсли; - - + КонецЕсли; КонецЕсли; @@ -1109,8 +1093,7 @@ ВыбранноеПолеСсылка = НастройкиСКД.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных")); ВыбранноеПолеСсылка.Поле = Новый ПолеКомпоновкиДанных("Ссылка"); ВыбранноеПолеСсылка.Заголовок = "Ссылка"; - - + ДетальноеПолеГруппировки = НастройкиСКД.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ДетальноеПолеГруппировки.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных")); ДетальноеПолеГруппировки.Использование = Истина; @@ -1172,8 +1155,7 @@ Процедура СформироватьСоответствиеПолногоИмениЭлементамДерева(ДеревоМетаданных,СоответсвиеПолногоИмениЭлементамДерева,Знач Уровень=0 ) УзлыДерева = ДеревоМетаданных.ПолучитьЭлементы(); - - + Для каждого Узел из УзлыДерева Цикл Если Уровень > 0 Тогда @@ -1225,8 +1207,7 @@ мПараметры.ИмяТипаМетаданных = "Справочник"; мПараметры.ПолноеИмяМетаданных = ТекущиеДанные.ПолноеИмяМетаданных; КонецЕсли; - - + // определим данные, первую ссылку Если ЗначениеЗаполнено(мПараметры.ПолноеИмяМетаданных) Тогда Если НЕ ПроверитьОтборПустой(ТекущиеДанные)=Истина Тогда @@ -1268,8 +1249,7 @@ мПараметры.ИмяТипаМетаданных = "Справочник"; мПараметры.ПолноеИмяМетаданных = ТекущиеДанные.ПолноеИмяМетаданных; КонецЕсли; - - + // определим данные, первую ссылку Если ЗначениеЗаполнено(мПараметры.ПолноеИмяМетаданных) Тогда Если НЕ ПроверитьОтборПустой(ТекущиеДанные)=Истина Тогда diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\321\202\321\200\321\203\320\272\321\202\321\203\321\200\321\213\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\321\202\321\200\321\203\320\272\321\202\321\203\321\200\321\213\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/Form/Module.bsl" index b2a59ca1b..fbd19f51c 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\321\202\321\200\321\203\320\272\321\202\321\203\321\200\321\213\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\321\202\321\200\321\203\320\272\321\202\321\203\321\200\321\213\320\237\320\276\320\264\321\207\320\270\320\275\320\265\320\275\320\275\320\276\321\201\321\202\320\270/Ext/Form/Module.bsl" @@ -193,10 +193,9 @@ | Таб.Ссылка = &ТекущийДокумент |"); Запрос.УстановитьПараметр("ТекущийДокумент", ДокументСсылка); + Возврат Не Запрос.Выполнить().Пустой(); - Возврат Истина; - КонецФункции &НаСервере @@ -562,6 +561,8 @@ Возврат ?(ИмяРеквизитаДокумента = Неопределено,"СуммаДокумента",ИмяРеквизитаДокумента); ИначеЕсли Реквизит = "Валюта" Тогда Возврат ?(ИмяРеквизитаДокумента = Неопределено,"Валюта",ИмяРеквизитаДокумента); + Иначе + Возврат Неопределено; //TODO что нужно возвращать? КонецЕсли; КонецФункции @@ -1208,4 +1209,4 @@ КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl index c06e2f5eb..0d08b6569 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Ext/ObjectModule.bsl @@ -483,13 +483,13 @@ EndFunction // _StrSplit() // Inserts parameters into string by number. // // Parameters: -// Template – String – a string containing the substitution markers of type: +// Template - String - a string containing the substitution markers of type: // "%1..%N". The markers are numbered starting with 0. // Value<1-10> - String - parameters containing arbitrary values possessing // string presentations which should be presented in a // template. // Returns: -// String – template string with filled parameters. +// String - template string with filled parameters. // Function _StrTemplate(Val Template, Val Value1, Val Value2 = Undefined, Val Value3 = Undefined, Val Value4 = Undefined, Val Value5 = Undefined, @@ -922,4 +922,4 @@ Procedure RecursivelyLoadSmokeCommonModuleTestsFromSubsystem(TestsSet, EndProcedure // RecursivelyLoadSmokeCommonModuleTestsFromSubsystem() -#EndRegion // ServiceProceduresAndFunctions \ No newline at end of file +#EndRegion // ServiceProceduresAndFunctions diff --git a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl index 040db4626..546ba387f 100644 --- a/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl +++ b/tests/smoke/Tests_SmokeCommonModules/Tests_SmokeCommonModules/Forms/Form/Ext/Form/Module.bsl @@ -820,13 +820,13 @@ EndFunction // _StrSplit() // Inserts parameters into string by number. // // Parameters: -// Template – String – a string containing the substitution markers of type: +// Template - String - a string containing the substitution markers of type: // "%1..%N". The markers are numbered starting with 0. // Value<1-10> - String - parameters containing arbitrary values possessing // string presentations which should be presented in a // template. // Returns: -// String – template string with filled parameters. +// String - template string with filled parameters. // Function _StrTemplate(Val Template, Val Value1, Val Value2 = Undefined, Val Value3 = Undefined, Val Value4 = Undefined, Val Value5 = Undefined, @@ -891,4 +891,4 @@ Function Object() Return FormAttributeToValue("Object"); EndFunction -#EndRegion // ServiceProceduresAndFunctions \ No newline at end of file +#EndRegion // ServiceProceduresAndFunctions diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e1a81cac0..e9222a403 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\237\321\200\320\265\321\204\320\270\320\272\321\201\320\260\320\222\320\235\320\276\320\262\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\260\321\205\320\230\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\260\321\205/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -423,7 +423,8 @@ &НаКлиенте Функция ОбработатьФайлКонфигурацииПоставщика(ИмяФайла) - #Если Не ВебКлиент Тогда +#Если Не ВебКлиент Тогда + ИмяКонфигурации = ""; СтрокаКонфигурацииПоставщика = Новый Массив; СтруктураОбъектовМетаданных = Новый Структура; @@ -473,7 +474,10 @@ ЗаписатьJSON(ЗаписьJSON, СтруктураКонфигурацииПоставщика); Возврат ЗаписьJSON.Закрыть(); - #КонецЕсли + +#Иначе + Возврат ""; +#КонецЕсли КонецФункции @@ -610,4 +614,4 @@ КонецФункции -#КонецОбласти \ No newline at end of file +#КонецОбласти diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1850ed890..2fa4becb2 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -613,7 +613,7 @@ КонецФункции &НаКлиенте -Функция РазвернутьВетвьДерева(ТаблицаФормы) +Процедура РазвернутьВетвьДерева(ТаблицаФормы) ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); @@ -645,7 +645,7 @@ КонецЦикла; -КонецФункции +КонецПроцедуры &НаКлиенте Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) From 661e07052ef9c228f7cc2654ba47566896068280 Mon Sep 17 00:00:00 2001 From: Tymko Oleg Date: Mon, 6 Sep 2021 10:46:30 +0700 Subject: [PATCH 294/421] =?UTF-8?q?devops:#894=20=D0=90=D0=BA=D1=82=D1=83?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=81=D0=BE=D0=BD=D0=B0=D1=80=D0=B0,=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B4=D0=B6=D0=BE=D0=B1=D1=83=20?= =?UTF-8?q?=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=20=D0=B2=20sonarqube?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/qa.yml | 56 ++++++++++++++++++++++++++++++++++++++++ sonar-project.properties | 40 ++++++++++------------------ 2 files changed, 70 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/qa.yml diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml new file mode 100644 index 000000000..51beef603 --- /dev/null +++ b/.github/workflows/qa.yml @@ -0,0 +1,56 @@ +# MIT License +# Copyright (C) 2020 Tymko Oleg and contributors +# All rights reserved. + +name: Контроль качества +# Любой пуш и pr в проекте но с фильтром по основному проекту +on: [push, pull_request] +jobs: + task: + if: github.repository == 'vanessa-opensource/add' + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + + steps: + # Загрузка проекта + - name: Актуализация + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions + - name: Извлечение имени текущей ветки + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Извлечение версии пакета + shell: bash + run: echo "##[set-output name=version;]`cat packagedef | grep "ВерсияПакета = " | sed 's|[^"]*"||' | sed -r 's/".+//'`" + id: extract_version + + - name: Установка Sonar-scanner + uses: warchant/setup-sonar-scanner@v1 + + # Анализ проекта в SonarQube (ветка) + - name: Анализ в SonarQube (branch) + if: github.event_name == 'push' + run: sonar-scanner + -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} + -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} + -Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }} + -Dsonar.projectVersion=${{ steps.extract_version.outputs.version }} + + # Анализ проекта в SonarQube (PR) + # https://docs.sonarqube.org/latest/analysis/pull-request/ + - name: Анализ в SonarQube (pull-request) + if: github.event_name == 'pull_request' + run: sonar-scanner + -Dsonar.login=${{ secrets.SONARQUBE_TOKEN }} + -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} + -Dsonar.branch.name=${{ steps.extract_branch.outputs.branch }} + -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} + -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} + -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} + -Dsonar.scm.revision=${{ github.event.pull_request.head.sha }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties index bb721519c..538d8941d 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -1,35 +1,23 @@ -## Настройки проекта для SonarQube - платформы проверки качества 1С решений +# Ключ проекта +sonar.projectKey=vanessa-opensource_add -# must be unique in a given SonarQube instance -sonar.projectKey=vanessa-add -# this is the name displayed in the SonarQube UI +# Имя проекта sonar.projectName=Vanessa-ADD (Vanessa Automation Driven Development) -# sonar.projectVersion=6.0.0 -# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -# Since SonarQube 4.2, this property is optional if sonar.modules is set. -# If not set, SonarQube starts looking for source code from the directory containing -# the sonar-project.properties file. +# Версия проекта +# sonar.projectVersion= // устанавливать из CI таски +# Базовый рабочий каталог sonar.projectBaseDir=. -#sonar.sources=. -sonar.inclusions=**/*.bsl, **/*.os -# sonar.inclusions=**/*.bsl,**/*.os,**/*.xml -sonar.exclusions=build/**,**/*.xml,**/*.json,tools/Sikuli/**/*.html,tools/**,lib/CF/** -#sonar.exclusions=**/*.xml,**/*.html -sonar.lang.patterns.xml=**/*.xsd,**/*.xsl - -sonar.bsl.skipVendorSupportedObjects=true +# Что анализируется +sonar.inclusions=**/*.bsl, **/*.os,**/*.xml -# sonar.externalIssuesReportPaths=../../edt-validate-ext-rules.json -# sonar.bsl.acc.resultsPath=../../acc.xml +# Что исключается +sonar.exclusions=build/**,**/*.json,tools/Sikuli/**/*.html,tools/**,lib/CF/** -# Encoding of the source code. Default is default system encoding -sonar.sourceEncoding=UTF-8 -sonar.java.source=8 -# sonar.branch.target=master +# Заглушка для анализа xml-файлов +sonar.lang.patterns.xml=**/*.xsd,**/*.xsl -# sonar.login=admin -# sonar.password=admin -# sonar.host.url=http://localhost:9000 \ No newline at end of file +# Кодировка файлов +sonar.sourceEncoding=UTF-8 \ No newline at end of file From 064239f89d71067098cce1f1ac6d883985cbb80e Mon Sep 17 00:00:00 2001 From: Tymko Oleg Date: Mon, 6 Sep 2021 11:20:51 +0700 Subject: [PATCH 295/421] =?UTF-8?q?devops:#894=20=D0=92=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=80=D0=B0=D0=BD=D1=82=D0=B0=D0=B9=D0=BC=D0=B0?= =?UTF-8?q?=201=D0=A1=20=D0=B4=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/qa.yml | 2 +- sonar-project.properties | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 51beef603..e8bbbf7a9 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -31,7 +31,7 @@ jobs: id: extract_version - name: Установка Sonar-scanner - uses: warchant/setup-sonar-scanner@v1 + uses: warchant/setup-sonar-scanner@v3 # Анализ проекта в SonarQube (ветка) - name: Анализ в SonarQube (branch) diff --git a/sonar-project.properties b/sonar-project.properties index 538d8941d..9f51da9b7 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -20,4 +20,9 @@ sonar.exclusions=build/**,**/*.json,tools/Sikuli/**/*.html,tools/**,lib/CF/** sonar.lang.patterns.xml=**/*.xsd,**/*.xsl # Кодировка файлов -sonar.sourceEncoding=UTF-8 \ No newline at end of file +sonar.sourceEncoding=UTF-8 + +# Специализированные настройки под плагин + +# Нижняя версия рантайма 1С +sonar.bsl.platformEdition=VERSION_8_3_9 From e4b6686edeeb5d33255dfac7f96c07384734bbac Mon Sep 17 00:00:00 2001 From: Vladimir Ochakovskiy Date: Sat, 11 Sep 2021 15:33:37 +0700 Subject: [PATCH 296/421] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=BD=D1=81=D1=82=D1=80=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20"=D0=A3=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D1=8B=D0=BC=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=BC=D0=B8=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=D0=BC?= =?UTF-8?q?=D0=B8"=20(#892)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Кнопка ИсключитьОбъектыНеРасширение * Подготовительные изменения для добавления новых настроек, реализация настроек открытия форм * Добавлена настройка ЗакрыватьМодальныеОкна * Добавлена настройка командного интерфейса * Добавлена настройка макетов скд * Доавлены настройки для тестов проведения и печатных форм * УправлениеДымовымиТестами формат 8_3_10 --- .../Ext/Form.xml" | 1025 ++++++++++++++--- .../Ext/Form/Module.bsl" | 716 ++++++++++-- 2 files changed, 1466 insertions(+), 275 deletions(-) diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 259544107..231a75332 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -23,193 +23,579 @@ + ПриОткрытии - - Horizontal - None - false - - - - Tree - false - false - true - true - true - ДеревоМетаданных - - Copy - Delete - Add - - - - - - - ДеревоМетаданных - SearchStringRepresentation - - - - - - - ДеревоМетаданных - ViewStatusRepresentation - - - - - - - ДеревоМетаданных - SearchControl - - - - - - ДеревоМетаданныхПриАктивизацииСтроки - + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Страницы тестов</v8:content> + </v8:item> + + + + ru + Страницы тестов + + + - - ДеревоМетаданных.Исключено + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Исключено из проверки</v8:content> + <v8:content>Открытие форм</v8:content> </v8:item> - EnterOnInput - Auto - - - - ДеревоМетаданныхВыборПриИзменении - - - + + + ru + Страница открытие форм + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Настройки открытие форм</v8:content> + </v8:item> + + + + ru + Настройки открытие форм + + + None + false + + + + ТестироватьОткрытиеФорм + Auto + + + + + ОткрываемФормыНаКлиентеТестирования + Auto + + + + + +
+ Tree + false + false + true + Use + true + true + ДеревоМетаданных + + Copy + Delete + Add + + CommandBar + None + + + + + + ДеревоМетаданных + SearchStringRepresentation + + + + + + + ДеревоМетаданных + ViewStatusRepresentation + + + + + + + ДеревоМетаданных + SearchControl + + + + + + ДеревоМетаданныхПриАктивизацииСтроки + + + + ДеревоМетаданных.Исключено + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключено из проверки</v8:content> + </v8:item> + + EnterOnInput + Auto + + + + ДеревоМетаданныхВыборПриИзменении + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключаемые из проверки формы</v8:content> + </v8:item> + + InCell + + + + ДеревоМетаданных.ВидМетаданных + true + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключаемые из проверки формы</v8:content> + </v8:item> + + EnterOnInput + + + + + ДеревоМетаданных.ВидПроверки + true + None + EnterOnInput + + + + + ДеревоМетаданных.ИмяМетаданного + true + None + EnterOnInput + + + + + + +
+ + List + true + true + true + ЗначенияРеквизитовНовых + + + + + + + ЗначенияРеквизитовНовых + SearchStringRepresentation + + + + + + + ЗначенияРеквизитовНовых + ViewStatusRepresentation + + + + + + + ЗначенияРеквизитовНовых + SearchControl + + + + + + ЗначенияРеквизитовНовыхПередНачаломДобавления + ЗначенияРеквизитовНовыхПриНачалеРедактирования + + + + ЗначенияРеквизитовНовых.ВидМетаданных + EnterOnInput + + + + + ЗначенияРеквизитовНовых.ИмяМетаданного + EnterOnInput + + + + + ЗначенияРеквизитовНовых.Реквизит + EnterOnInput + true + + + + ЗначенияРеквизитовНовыхРеквизитПриИзменении + + + + ЗначенияРеквизитовНовых.ЗначениеРеквизита + EnterOnInput + + + + ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзменении + + + +
+
+ + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Исключаемые из проверки формы</v8:content> + <v8:content>Проведение печатные формы</v8:content> </v8:item> - InCell - + + + ru + Страница проведение печатные формы + + + - - ДеревоМетаданных.ВидМетаданных - true + <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Исключаемые из проверки формы</v8:content> + <v8:content>Настройки проверок</v8:content> </v8:item> - EnterOnInput - - - - - ДеревоМетаданных.ВидПроверки - true - None - EnterOnInput - - - - - ДеревоМетаданных.ИмяМетаданного - true - None - EnterOnInput - - - + + + ru + Настройки проведение печатные формы + + + + + + ТестироватьПроведение + Auto + + + + + КоличествоДокументовПроведение + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Проводить документов</v8:content> + </v8:item> + + + + + + ТестироватьПечатныеФормы + Auto + + + + + КоличествоДокументовПечатныеФормы + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Открывать печатные формы документов</v8:content> + </v8:item> + + + + + + + + List + true + Use + true + true + ТаблицаДокументы + CommandBar + CommandBar + + + + false + + + + + ТаблицаДокументы + SearchStringRepresentation + + + + + + + ТаблицаДокументы + ViewStatusRepresentation + + + + + + + ТаблицаДокументы + SearchControl + + + + + + ТаблицаДокументыПриАктивизацииСтроки + + + + ТаблицаДокументы.ИмяМетаданного + true + EnterOnInput + + + + + ТаблицаДокументы.ИсключеноПроведение + EnterOnInput + Auto + + + + + ТаблицаДокументы.ИсключеноПечатныеФормы + EnterOnInput + Auto + + + + +
+ + List + true + Use + true + true + ТаблицаПечатныеФормы + CommandBar + CommandBar + + + + false + + + + + ТаблицаПечатныеФормы + SearchStringRepresentation + + + + + + + ТаблицаПечатныеФормы + ViewStatusRepresentation + + + + + + + ТаблицаПечатныеФормы + SearchControl + + + + + + + ТаблицаПечатныеФормы.Исключено + EnterOnInput + Auto + + + + + ТаблицаПечатныеФормы.Идентификатор + true + EnterOnInput + + + + +
- - - - - List - true - true - true - ЗначенияРеквизитовНовых - - - - - - - ЗначенияРеквизитовНовых - SearchStringRepresentation - - - - - - - ЗначенияРеквизитовНовых - ViewStatusRepresentation - - - - - - - ЗначенияРеквизитовНовых - SearchControl - - - - - - ЗначенияРеквизитовНовыхПередНачаломДобавления - ЗначенияРеквизитовНовыхПриНачалеРедактирования - - - - ЗначенияРеквизитовНовых.ВидМетаданных - EnterOnInput - - - - - ЗначенияРеквизитовНовых.ИмяМетаданного - EnterOnInput - - - - - ЗначенияРеквизитовНовых.Реквизит - EnterOnInput - true - - - - ЗначенияРеквизитовНовыхРеквизитПриИзменении - - - - ЗначенияРеквизитовНовых.ЗначениеРеквизита - EnterOnInput - - - - ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзменении - - + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Макеты СКД</v8:content> + </v8:item> + + + + ru + Страница макеты СКД + + + + + + ТестироватьМакетыСКД + Auto + + + +
+ List + true + Use + true + true + ТаблицаМакетыСКД + CommandBar + CommandBar + + + + false + + + + + ТаблицаМакетыСКД + SearchStringRepresentation + + + + + + + ТаблицаМакетыСКД + ViewStatusRepresentation + + + + + + + ТаблицаМакетыСКД + SearchControl + + + + + + + ТаблицаМакетыСКД.ИмяМетаданного + true + EnterOnInput + + + + + ТаблицаМакетыСКД.Объект + true + EnterOnInput + + + + + ТаблицаМакетыСКД.Исключено + EnterOnInput + Auto + + + + +
+ +
+ + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Доп. настройки</v8:content> + </v8:item> + + + + ru + Страница доп настройки + + + + + + ЗакрыватьМодальныеОкна + + + ru + В файл добавляется настройка из примера официальной документации https://github.com/vanessa-opensource/add/blob/develop/tests/smoke/smoke.bsp.json + + + Button + Auto + + + + + ТестироватьКомандныйИнтерфейс + + + ru + Включить использование тестов командного интерфейса. В исключения по объектам попадают объекты, указанные на вкладке Открытие форм в группах Существующие + + + Button + Auto + + + + + - + @@ -315,6 +701,17 @@ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Есть изменения расширениями</v8:content> + </v8:item> + + + xs:boolean + + @@ -448,6 +845,295 @@ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тестировать открытие форм</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Открываем формы на клиенте тестирования</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Закрывать модальные окна</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тестировать командный интерфейс</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тестировать макеты СКД</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица макеты скд</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя метаданного</v8:content> + </v8:item> + + + xs:string + + 200 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Есть изменения расширениями</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключено</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Объект</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Количество документов печатные формы</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Nonnegative + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Количество документов проведение</v8:content> + </v8:item> + + + xs:decimal + + 10 + 0 + Nonnegative + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тестировать проведение</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тестировать печатные формы</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица печатные формы</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя метаданного</v8:content> + </v8:item> + + + xs:string + + 200 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключено</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Идентификатор</v8:content> + </v8:item> + + + xs:string + + 200 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица документы</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя метаданного</v8:content> + </v8:item> + + + xs:string + + 200 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Есть изменения расширениями</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключено для проведения</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключено для проверки печатных форм</v8:content> + </v8:item> + + + xs:boolean + + + + @@ -495,5 +1181,20 @@ ЗагрузитьФайлНастроек + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Исключить объекты не используемые в расширение</v8:content> + </v8:item> + + + + ru + Исключить объекты не расширение + + + ИсключитьОбъектыНеРасширение + \ No newline at end of file diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 974125820..f40cc48b6 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,7 +1,29 @@  &НаКлиенте Процедура ПриОткрытии(Отказ) + ЗаполнитьДеревоМетаданных(Неопределено); + НастройкиПоУмолчанию(); + +КонецПроцедуры + +&НаКлиенте +Процедура НастройкиПоУмолчанию() + + ТестироватьОткрытиеФорм = Истина; + ОткрываемФормыНаКлиентеТестирования = Истина; + + ТестироватьПроведение = Истина; + КоличествоДокументовПроведение = 2; + + ТестироватьПечатныеФормы = Истина; + КоличествоДокументовПечатныеФормы = 2; + + ТестироватьМакетыСКД = Истина; + + ЗакрыватьМодальныеОкна = Истина; + ТестироватьКомандныйИнтерфейс = Ложь; + КонецПроцедуры &НаКлиенте @@ -11,7 +33,7 @@ &НаСервере Процедура ЗаполнитьДеревоМетаданныхНаСервере() - + ДЗ = РеквизитФормыВЗначение("ДеревоМетаданных"); ДЗ.Строки.Очистить(); @@ -33,8 +55,14 @@ //добавляем обработки ДобавитьМетаданныеВДерево(Новый Массив,ДЗ,"Обработки"); + //добавляем бизнес процессы + ДобавитьМетаданныеВДерево(Новый Массив,ДЗ,"БизнесПроцессы"); + ЗначениеВРеквизитФормы(ДЗ,"ДеревоМетаданных"); + ДобавитьМетаданныеВТаблицуДокументов(); + ДобавитьМетаданныеВТаблицуМакетовСКД(); + КонецПроцедуры &НаСервере @@ -59,14 +87,19 @@ СтрокаОбъекта.ВидМетаданныхДляПоиска = ВидМетаданных; СтрокаОбъекта.ВидПроверкиДляПоиска = ВидПроверки; + УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, Метаданное); КонецЦикла; КонецЦикла; Иначе Для каждого Метаданное из Метаданные[ВидМетаданных] Цикл + СтрокаОбъекта = СтрокаМетаданных.Строки.Добавить(); СтрокаОбъекта.ВидМетаданныхДляПоиска = ВидМетаданных; - СтрокаОбъекта.ИмяМетаданного = Метаданное.Имя; + СтрокаОбъекта.ИмяМетаданного = Метаданное.Имя; + + УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, Метаданное); + КонецЦикла; КонецЕсли; @@ -108,35 +141,10 @@ ВремСтрокаJSON = ЗаписьJSON.Закрыть(); НастроенноеСоответствие = ПрочитатьСоответствиеИзСтрокиJSON(ВремСтрокаJSON); - - СоответствиеИсх = ПрочитатьСоответствиеИзСтрокиJSON(СтрокаJSON); - ДымовоеСоответствиеИсх = СоответствиеИсх[КлючНастройки()]; - ДымовоеСоответствие = НастроенноеСоответствие[КлючНастройки()]; - Если ЗначениеЗаполнено(ДымовоеСоответствие) Тогда - Если Не ЗначениеЗаполнено(ДымовоеСоответствиеИсх) Тогда - СоответствиеИсх.Вставить(КлючНастройки(), ДымовоеСоответствие); - Иначе - МассивВидов = Новый Массив; - МассивВидов.Добавить("Справочники"); - МассивВидов.Добавить("Документы"); - МассивВидов.Добавить("Отчеты"); - МассивВидов.Добавить("Обработки"); - Для каждого Вид Из МассивВидов Цикл - ВремСоответствие = ДымовоеСоответствие[Вид]; - Если ВремСоответствие = Неопределено Тогда - ДымовоеСоответствиеИсх.Удалить(Вид); - Иначе - ДымовоеСоответствиеИсх.Вставить(Вид, ВремСоответствие); - КонецЕсли; - КонецЦикла; - КонецЕсли; - - КонецЕсли; - ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.ОткрытьФайл(ИмяФайла,,,ПараметрыЗаписи); - ЗаписатьJSON(ЗаписьJSON, СоответствиеИсх); + ЗаписатьJSON(ЗаписьJSON, НастроенноеСоответствие); ЗаписьJSON.Закрыть(); КонецЕсли; @@ -147,7 +155,7 @@ &НаКлиенте Процедура ЗаполнитьJSONНастроек(ЗаписьJSON) - Настройки = Новый Соответствие; + НастройкиОткрытияФорм = Новый Соответствие; Для каждого СтрокаМетаданного из ДеревоМетаданных.ПолучитьЭлементы() Цикл @@ -215,93 +223,28 @@ Если ДобавлятьМетаданное Тогда Если ВидыПроверки.Количество() Тогда - Настройки.Вставить(СтрокаМетаданного.ВидМетаданных, ВидыПроверки); + НастройкиОткрытияФорм.Вставить(СтрокаМетаданного.ВидМетаданных, ВидыПроверки); КонецЕсли; Иначе - Настройки.Вставить(СтрокаМетаданного.ВидМетаданных, Ложь); + НастройкиОткрытияФорм.Вставить(СтрокаМетаданного.ВидМетаданных, Ложь); КонецЕсли; КонецЦикла; - ЗаписьJSON.ЗаписатьНачалоОбъекта(); - ЗаписьJSON.ЗаписатьИмяСвойства(КлючНастройки()); - ЗаписьJSON.ЗаписатьНачалоОбъекта(); + НастройкиОткрытияФорм.Вставить("Используется" , ТестироватьОткрытиеФорм); + НастройкиОткрытияФорм.Вставить("ОткрываемФормыНаКлиентеТестирования" , ОткрываемФормыНаКлиентеТестирования); - Если Настройки.Количество() Тогда - Для каждого ЭлементВидаМетаданных из Настройки Цикл - - ЗаписьJSON.ЗаписатьИмяСвойства(ЭлементВидаМетаданных.Ключ); - - Если ТипЗнч(ЭлементВидаМетаданных.Значение) = Тип("Булево") Тогда - ЗаписьJSON.ЗаписатьЗначение(Ложь); - Продолжить; - ИначеЕсли ТипЗнч(ЭлементВидаМетаданных.Значение) = Тип("Структура") Тогда - - ЗаписьJSON.ЗаписатьНачалоОбъекта(); - - Для каждого ЭлементПроверки из ЭлементВидаМетаданных.Значение Цикл - - ЗаписьJSON.ЗаписатьИмяСвойства(ЭлементПроверки.Ключ); - - - Если ЭлементПроверки.Ключ = "ЗначенияРеквизитовНовых" Тогда - - ЗаписьJSON.ЗаписатьНачалоОбъекта(); - - Для каждого ОбъектМетаданных из ЭлементПроверки.Значение Цикл - - ЗаписьJSON.ЗаписатьИмяСвойства(ОбъектМетаданных.Ключ); - - ЗаписьJSON.ЗаписатьНачалоОбъекта(); - - Для каждого Реквизит из ОбъектМетаданных.Значение Цикл - ЗаписьJSON.ЗаписатьИмяСвойства(Реквизит.Ключ); - ЗаписьJSON.ЗаписатьЗначение(Реквизит.Значение); - КонецЦикла; - ЗаписьJSON.ЗаписатьКонецОбъекта(); - КонецЦикла; - ЗаписьJSON.ЗаписатьКонецОбъекта(); - Иначе - Если ТипЗнч(ЭлементПроверки.Значение) = Тип("Булево") Тогда - ЗаписьJSON.ЗаписатьЗначение(Ложь); - Продолжить; - Иначе - - ЗаписьJSON.ЗаписатьНачалоМассива(); - - Для каждого ОбъектМетаданных из ЭлементПроверки.Значение Цикл - - ЗаписьJSON.ЗаписатьЗначение(ОбъектМетаданных); - - КонецЦикла; - - ЗаписьJSON.ЗаписатьКонецМассива(); - КонецЕсли; - - КонецЕсли; - КонецЦикла; - - ЗаписьJSON.ЗаписатьКонецОбъекта(); - - Иначе - - ЗаписьJSON.ЗаписатьНачалоМассива(); - - Для каждого ОбъектМетаданных из ЭлементВидаМетаданных.Значение Цикл - ЗаписьJSON.ЗаписатьЗначение(ОбъектМетаданных); - КонецЦикла; - - ЗаписьJSON.ЗаписатьКонецМассива(); - КонецЕсли; - - КонецЦИкла; - - ЗаписьJSON.ЗаписатьКонецОбъекта(); - - КонецЕсли; + СоответсвтиеНастроек = Новый Соответствие; + СоответсвтиеНастроек.Вставить(КлючНастройкиОткрытиеФорм(), НастройкиОткрытияФорм); - ЗаписьJSON.ЗаписатьКонецОбъекта(); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМодальныеОкна(), СоответсвтиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиКомандныйИнтерфейс(), СоответсвтиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМакетыСКД(), СоответсвтиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиПроведениеДокументов(), СоответсвтиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиФормированиеПечатныхФорм(), СоответсвтиеНастроек); + ЗаписатьJSON(ЗаписьJSON, СоответсвтиеНастроек); + КонецПроцедуры &НаСервере @@ -455,22 +398,38 @@ &НаСервере Процедура ЗагрузитьФайлНастроекНаСервере(Результат) - + ЗначенияРеквизитовНовых.Очистить(); ЗаполнитьДеревоМетаданныхНаСервере(); ДЗ = РеквизитФормыВЗначение("ДеревоМетаданных"); Попытка - Настройки = Результат[КлючНастройки()]; + Настройки = Результат[КлючНастройкиОткрытиеФорм()]; Для каждого Элемент из Настройки Цикл ЗагрузитьНастройкиВДерево(ДЗ,Элемент); КонецЦикла; Исключение - СообщитьПользователю("Ошибка при загрузке настроек из файла: "+ОписаниеОшибки()); + СообщитьПользователю("Ошибка при загрузке настроек открытия форм из файла: "+ОписаниеОшибки()); КонецПопытки; ЗначениеВРеквизитФормы(ДЗ,"ДеревоМетаданных"); + ТестироватьОткрытиеФорм = НастройкаИспользуется(Результат, КлючНастройкиОткрытиеФорм()); + ОткрываемФормыНаКлиентеТестирования = НастройкаИспользуется(Результат, КлючНастройкиОткрытиеФорм(), + "ОткрываемФормыНаКлиентеТестирования"); + + ТестироватьПечатныеФормы = НастройкаИспользуется(Результат, КлючНастройкиФормированиеПечатныхФорм()); + ТестироватьПроведение = НастройкаИспользуется(Результат, КлючНастройкиПроведениеДокументов()); + + ТестироватьМакетыСКД = НастройкаИспользуется(Результат, КлючНастройкиМакетыСКД()); + + ЗакрыватьМодальныеОкна = Результат.Свойство(КлючНастройкиМодальныеОкна()); + ТестироватьКомандныйИнтерфейс = НастройкаИспользуется(Результат, КлючНастройкиКомандныйИнтерфейс()); + + ЗагрузитьНастройкиВТаблицу(Результат, КлючНастройкиПроведениеДокументов()); + ЗагрузитьНастройкиВТаблицу(Результат, КлючНастройкиФормированиеПечатныхФорм()); + ЗагрузитьНастройкиВТаблицу(Результат, КлючНастройкиМакетыСКД()); + КонецПроцедуры &НаСервере @@ -1048,12 +1007,543 @@ Возврат НастроенноеСоответствие; КонецФункции - + +#Область КлючиНастроек + // &НаКлиентеНаСервереБезКонтекста -Функция КлючНастройки() +Функция КлючНастройкиОткрытиеФорм() Возврат "smoke"; КонецФункции - \ No newline at end of file + +&НаКлиентеНаСервереБезКонтекста +Функция КлючНастройкиМодальныеОкна() + + Возврат "МодальныеОкна"; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция КлючНастройкиКомандныйИнтерфейс() + + Возврат "CommandInterface"; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция КлючНастройкиМакетыСКД() + + Возврат "МакетыСКД"; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция КлючНастройкиПроведениеДокументов() + + Возврат "ПроведениеДокументов"; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция КлючНастройкиФормированиеПечатныхФорм() + + Возврат "ФормированиеПечатныхФорм"; + +КонецФункции + +#КонецОбласти + +#Область ИсключениеОбъектов + +&НаКлиенте +Процедура ИсключитьОбъектыНеРасширение(Команда) + ИсключитьОбъектыНеРасширениеНаСервере(); +КонецПроцедуры + +&НаСервере +Процедура ИсключитьОбъектыНеРасширениеНаСервере() + + ДеревоПроверкаФорм = РеквизитФормыВЗначение("ДеревоМетаданных"); + ОбойтиУровеньДерева(ДеревоПроверкаФорм.Строки); + ЗначениеВРеквизитФормы(ДеревоПроверкаФорм, "ДеревоМетаданных"); + + Для Каждого Строка Из ТаблицаДокументы Цикл + Строка.ИсключеноПроведение = НЕ Строка.ЕстьИзмененияРасширениями; + Строка.ИсключеноПечатныеФормы = НЕ Строка.ЕстьИзмененияРасширениями; + КонецЦикла; + + Для Каждого Строка Из ТаблицаМакетыСКД Цикл + Строка.Исключено = НЕ Строка.ЕстьИзмененияРасширениями; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ОбойтиУровеньДерева(Строки) + + Для Каждого СтрокаДерева Из Строки Цикл + + Если НЕ СтрокаДерева.ИмяМетаданного = "" Тогда + СтрокаДерева.Исключено = НЕ СтрокаДерева.ЕстьИзмененияРасширениями; + КонецЕсли; + + ОбойтиУровеньДерева(СтрокаДерева.Строки); + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, Метаданное) + + СтрокаОбъекта.ЕстьИзмененияРасширениями = Метаданное.ЕстьИзмененияРасширениямиКонфигурации() + ИЛИ Метаданное.РасширениеКонфигурации() <> Неопределено; + +КонецПроцедуры + +#КонецОбласти + +#Область ДобавлениеМетаданных + +&НаСервере +Процедура ДобавитьМетаданныеВТаблицуДокументов() + + ТаблицаДокументы.Очистить(); + ТаблицаПечатныеФормы.Очистить(); + + Для каждого Метаданное Из Метаданные.Документы Цикл + + СтрокаОбъекта = ТаблицаДокументы.Добавить(); + СтрокаОбъекта.ИмяМетаданного = Метаданное.Имя; + + УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, Метаданное); + + КомандыПечати = Неопределено; + Попытка + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); + КомандыПечати = МодульУправлениеПечатью.КомандыПечатиОбъекта(Метаданное); + Исключение + Продолжить; + КонецПопытки; + + Если КомандыПечати.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + Для Каждого ТекущаяКомандаПечати Из КомандыПечати Цикл + + Если ТекущаяКомандаПечати.МенеджерПечати = "" Тогда + Продолжить; + КонецЕсли; + + НоваяПФ = ТаблицаПечатныеФормы.Добавить(); + НоваяПФ.ИмяМетаданного = Метаданное.Имя; + НоваяПФ.Идентификатор = ТекущаяКомандаПечати.Идентификатор; + НоваяПФ.Исключено = СтрокаОбъекта.ИсключеноПечатныеФормы; + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ДобавитьМетаданныеВТаблицуМакетовСКД() + + ТаблицаМакетыСКД.Очистить(); + + Для Каждого ОбщийМакет Из Метаданные.ОбщиеМакеты Цикл + + Если ОбщийМакет.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда + Продолжить; + КонецЕсли; + + СтрокаОбъекта = ТаблицаМакетыСКД.Добавить(); + СтрокаОбъекта.Объект = ОбщиеМакеты(); + СтрокаОбъекта.ИмяМетаданного = ОбщийМакет.Имя; + + УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, ОбщийМакет); + + КонецЦикла; + + ПроверяемыеОбъекты = ПроверяемыеМетаданныеМакетыСКД(); + + Для Каждого ПроверяемыйОбъект Из ПроверяемыеОбъекты Цикл + + Для Каждого ТекОбъект Из Метаданные[ПроверяемыйОбъект] Цикл + + Для Каждого ТекДанныеМакета Из ТекОбъект.Макеты Цикл + + Если ТекДанныеМакета.ТипМакета <> Метаданные.СвойстваОбъектов.ТипМакета.СхемаКомпоновкиДанных Тогда + Продолжить; + КонецЕсли; + + СтрокаОбъекта = ТаблицаМакетыСКД.Добавить(); + СтрокаОбъекта.Объект = ТекОбъект.Имя; + СтрокаОбъекта.ИмяМетаданного = МакетыОбъекта(); + + УстановитьПризнакИзмененияРасширениями(СтрокаОбъекта, ТекДанныеМакета); + + КонецЦикла; + + КонецЦикла; + + КонецЦикла; + + ТЗ = РеквизитФормыВЗначение("ТаблицаМакетыСКД"); + ТЗ.Свернуть("ИмяМетаданного, ЕстьИзмененияРасширениями, Исключено, Объект"); + ЗначениеВРеквизитФормы(ТЗ, "ТаблицаМакетыСКД"); + +КонецПроцедуры + +#КонецОбласти + +#Область ЗаписьНастроекПоКлючам + +&НаСервере +Процедура ЗаписатьНастройкуПоКлючу(Ключ, СоответствиеНастроек) + + СоответствиеНастроек.Удалить(Ключ); + Если Ключ = КлючНастройкиМодальныеОкна() Тогда + ЗаписатьНастройкуМодальныеОкна(СоответствиеНастроек); + ИначеЕсли Ключ = КлючНастройкиКомандныйИнтерфейс() Тогда + ЗаписатьНастройкуКомандныйИнтерфейс(СоответствиеНастроек); + ИначеЕсли Ключ = КлючНастройкиМакетыСКД() Тогда + ЗаписатьНастройкуМакетыСКД(СоответствиеНастроек); + ИначеЕсли Ключ = КлючНастройкиПроведениеДокументов() Тогда + ЗаписатьНастройкуПроведениеДокументов(СоответствиеНастроек); + ИначеЕсли Ключ = КлючНастройкиФормированиеПечатныхФорм() Тогда + ЗаписатьНастройкуФормированиеПечатныхФорм(СоответствиеНастроек); + Иначе + Возврат; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьНастройкуМодальныеОкна(СоответствиеНастроек) + + Если НЕ ЗакрыватьМодальныеОкна Тогда + Возврат; + КонецЕсли; + + Поля = Новый Массив; + Поля.Добавить("*Закрыть *?"); + + Заголовки = Новый Массив; + Заголовки.Добавить("* Шаблон *"); + + ШаблонПомощника = Новый Соответствие; + ШаблонПомощника.Вставить("Поля", Поля); + ШаблонПомощника.Вставить("Заголовки", Заголовки); + ШаблонПомощника.Вставить("Кнопка", 0); + + НастройкиМодальныеОкна = Новый Соответствие; + НастройкиМодальныеОкна.Вставить("ШаблонПомощника", ШаблонПомощника); + + СоответствиеНастроек.Вставить(КлючНастройкиМодальныеОкна(), НастройкиМодальныеОкна); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьНастройкуКомандныйИнтерфейс(СоответствиеНастроек) + + НастройкиОткрытиеФорм = СоответствиеНастроек.Получить(КлючНастройкиОткрытиеФорм()); + + НастройкаКомандныйИнтерфейс = Новый Соответствие; + НастройкаКомандныйИнтерфейс.Вставить("Используется" , ТестироватьКомандныйИнтерфейс); + НастройкаКомандныйИнтерфейс.Вставить("СтрогийПорядокВыполнения" , Истина); + + Для Каждого ЭлементНастройки Из НастройкиОткрытиеФорм Цикл + + ТипМетаданных = ЭлементНастройки.Ключ; + ЗначениеИсключений = ЭлементНастройки.Значение; + + Если ТипЗнч(ЗначениеИсключений) = Тип("Массив") Тогда + НастройкаКомандныйИнтерфейс.Вставить(ТипМетаданных, ЗначениеИсключений); + ИначеЕсли ТипЗнч(ЗначениеИсключений) = Тип("Структура") + И ЗначениеИсключений.Свойство("Существующие") + Тогда + НастройкаКомандныйИнтерфейс.Вставить(ТипМетаданных, ЗначениеИсключений.Существующие); + Иначе + Продолжить; + КонецЕсли; + + КонецЦикла; + + ИсключенияОбщиеКоманды = Новый Массив; + ИсключенияОбщиеКоманды.Добавить("Удалить*"); + ИсключенияОбщиеКоманды.Добавить("ЗагрузитьДанныеИзФайла"); + ИсключенияОбщиеКоманды.Добавить("СверткаИнформационнойБазы"); + ИсключенияОбщиеКоманды.Добавить("УдалениеПомеченныхОбъектов"); + + ИсключенияРазделы = Новый Массив; + ИсключенияРазделы.Добавить("Настройки и администрирование"); + + НастройкаКомандныйИнтерфейс.Вставить("ОбщиеКоманды", ИсключенияОбщиеКоманды); + НастройкаКомандныйИнтерфейс.Вставить("Разделы", ИсключенияРазделы); + + СоответствиеНастроек.Вставить(КлючНастройкиКомандныйИнтерфейс(), НастройкаКомандныйИнтерфейс); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьНастройкуМакетыСКД(СоответствиеНастроек) + + СтрокиИсключения = ТаблицаМакетыСКД.НайтиСтроки(Новый Структура("Исключено", Истина)); + + МассивИсключенийОбщиеМакеты = Новый Массив; + МассивИсключенийМетаданных = Новый Массив; + + Для Каждого СтрокаИсключение Из СтрокиИсключения Цикл + + Если СтрокаИсключение.Объект = ОбщиеМакеты() Тогда + МассивИсключенийОбщиеМакеты.Добавить(СтрокаИсключение.ИмяМетаданного); + Иначе + МассивИсключенийМетаданных.Добавить(СтрокаИсключение.Объект); + КонецЕсли; + + КонецЦикла; + + НастройкаМакетыСКД = Новый Соответствие; + НастройкаМакетыСКД.Вставить("Используется", ТестироватьМакетыСКД); + НастройкаМакетыСКД.Вставить("ИсключенияОбщихМакетов", МассивИсключенийОбщиеМакеты); + НастройкаМакетыСКД.Вставить("ИсключенияПоИмениМетаданных", МассивИсключенийМетаданных); + + СоответствиеНастроек.Вставить(КлючНастройкиМакетыСКД(), НастройкаМакетыСКД); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьНастройкуПроведениеДокументов(СоответствиеНастроек) + + СтрокиИсключения = ТаблицаДокументы.НайтиСтроки(Новый Структура("ИсключеноПроведение", Истина)); + + МассивИсключений = Новый Массив; + Для Каждого СтрокаИсключение Из СтрокиИсключения Цикл + МассивИсключений.Добавить(СтрокаИсключение.ИмяМетаданного); + КонецЦикла; + + НастройкаПроведениеДокументов = Новый Соответствие; + НастройкаПроведениеДокументов.Вставить("Используется", ТестироватьПроведение); + НастройкаПроведениеДокументов.Вставить("КоличествоДокументов", КоличествоДокументовПроведение); + НастройкаПроведениеДокументов.Вставить("Исключения", МассивИсключений); + + СоответствиеНастроек.Вставить(КлючНастройкиПроведениеДокументов(), НастройкаПроведениеДокументов); + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьНастройкуФормированиеПечатныхФорм(СоответствиеНастроек) + + СтрокиИсключения = ТаблицаДокументы.НайтиСтроки(Новый Структура("ИсключеноПечатныеФормы", Истина)); + + ИсключенияПоОбъекту = Новый Массив; + Для Каждого СтрокаИсключение Из СтрокиИсключения Цикл + ИсключенияПоОбъекту.Добавить(СтрокаИсключение.ИмяМетаданного); + КонецЦикла; + + ИсключенияПоИдентификатору = Новый Массив; + ИсключенияПоИдентификатору.Добавить("Комплект*"); + + СтрокиИсключенныеМакеты = ТаблицаПечатныеФормы.НайтиСтроки(Новый Структура("Исключено", Истина)); + Для Каждого СтрокаИсключение Из СтрокиИсключенныеМакеты Цикл + ИсключенияПоИдентификатору.Добавить(СтрокаИсключение.Идентификатор); + КонецЦикла; + + НастройкаФормированиеПечатныхФорм = Новый Соответствие; + НастройкаФормированиеПечатныхФорм.Вставить("Используется", ТестироватьПечатныеФормы); + НастройкаФормированиеПечатныхФорм.Вставить("КоличествоДокументов", КоличествоДокументовПечатныеФормы); + НастройкаФормированиеПечатныхФорм.Вставить("ИсключенияПоОбъекту", ИсключенияПоОбъекту); + НастройкаФормированиеПечатныхФорм.Вставить("ИсключенияПоИдентификатору", ИсключенияПоИдентификатору); + + СоответствиеНастроек.Вставить(КлючНастройкиФормированиеПечатныхФорм(), НастройкаФормированиеПечатныхФорм); + +КонецПроцедуры + +#КонецОбласти + +#Область ЗагрузкаНастроекПоКлючам + +Процедура ЗагрузитьНастройкиВТаблицу(Результат, Ключ) + + Если НЕ Результат.Свойство(Ключ) Тогда + Возврат; + КонецЕсли; + + Попытка + Настройки = Результат[Ключ]; + Если Ключ = КлючНастройкиМакетыСКД() Тогда + + ИсключенияОбщихМакетов = Новый Массив; + ИсключенияПоИмениМетаданных = Новый Массив; + + Настройки.Свойство("ИсключенияОбщихМакетов", ИсключенияОбщихМакетов); + Настройки.Свойство("ИсключенияПоИмениМетаданных", ИсключенияПоИмениМетаданных); + + УстановитьПризнакИсключенияМакетаСКД(ИсключенияОбщихМакетов, ИсключенияПоИмениМетаданных); + + ИначеЕсли Ключ = КлючНастройкиПроведениеДокументов() Тогда + + Исключения = Новый Массив; + + Настройки.Свойство("Исключения", Исключения); + Настройки.Свойство("КоличествоДокументов", КоличествоДокументовПроведение); + + УстановитьПризнакИсключенияДокумента(Исключения, "ИсключеноПроведение"); + + ИначеЕсли Ключ = КлючНастройкиФормированиеПечатныхФорм() Тогда + + ИсключенияПоОбъекту = Новый Массив; + ИсключенияПоИдентификатору = Новый Массив; + + Настройки.Свойство("КоличествоДокументов", КоличествоДокументовПечатныеФормы); + Настройки.Свойство("ИсключенияПоОбъекту", ИсключенияПоОбъекту); + Настройки.Свойство("ИсключенияПоИдентификатору", ИсключенияПоИдентификатору); + + УстановитьПризнакИсключенияПечатныеФормы(ИсключенияПоИдентификатору); + УстановитьПризнакИсключенияДокумента(ИсключенияПоОбъекту, "ИсключеноПечатныеФормы"); + + Иначе + Возврат; + КонецЕсли; + Исключение + ТекстОшибки = ПодставитьПараметрыВСтроку("Ошибка при загрузке настроек по ключу %1 из файла: %2", Ключ, ОписаниеОшибки()); + СообщитьПользователю(ТекстОшибки); + КонецПопытки; + +КонецПроцедуры + +Процедура УстановитьПризнакИсключенияМакетаСКД(ИсключенияОбщихМакетов, ИсключенияПоИмениМетаданных) + + Для Каждого СтрокаИсключение Из ИсключенияОбщихМакетов Цикл + + СтрокиОбъекта = ТаблицаМакетыСКД.НайтиСтроки(Новый Структура("Объект, ИмяМетаданного", + ОбщиеМакеты(), СтрокаИсключение)); + + Если СтрокиОбъекта.Количество() > 0 Тогда + СтрокиОбъекта[0].Исключено = Истина; + Иначе + НоваяСтрока = ТаблицаМакетыСКД.Добавить(); + НоваяСтрока.ИмяМетаданного = СтрокаИсключение; + НоваяСтрока.Объект = ОбщиеМакеты(); + НоваяСтрока.Исключено = Истина; + КонецЕсли; + + КонецЦикла; + + Для Каждого СтрокаИсключение Из ИсключенияПоИмениМетаданных Цикл + + СтрокиОбъекта = ТаблицаМакетыСКД.НайтиСтроки(Новый Структура("Объект, ИмяМетаданного", + СтрокаИсключение, МакетыОбъекта())); + + Если СтрокиОбъекта.Количество() > 0 Тогда + СтрокиОбъекта[0].Исключено = Истина; + Иначе + НоваяСтрока = ТаблицаМакетыСКД.Добавить(); + НоваяСтрока.ИмяМетаданного = МакетыОбъекта(); + НоваяСтрока.Объект = СтрокаИсключение; + НоваяСтрока.Исключено = Истина; + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Процедура УстановитьПризнакИсключенияДокумента(Исключения, ИмяПризнака) + + Для Каждого СтрокаИсключение Из Исключения Цикл + + СтрокиДокумента = ТаблицаДокументы.НайтиСтроки(Новый Структура("ИмяМетаданного", СтрокаИсключение)); + Если СтрокиДокумента.Количество() > 0 Тогда + СтрокиДокумента[0][ИмяПризнака] = Истина; + Иначе + НоваяСтрока = ТаблицаДокументы.Добавить(); + НоваяСтрока.ИмяМетаданного = СтрокаИсключение; + НоваяСтрока[ИмяПризнака] = Истина; + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +Процедура УстановитьПризнакИсключенияПечатныеФормы(Исключения) + + Для Каждого СтрокаИсключение Из Исключения Цикл + + СтрокиДокумента = ТаблицаПечатныеФормы.НайтиСтроки(Новый Структура("Идентификатор", СтрокаИсключение)); + Для Каждого СтрокаДокумент Из СтрокиДокумента Цикл + СтрокаДокумент.Исключено = Истина; + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область ТаблицаДокументы + +&НаКлиенте +Процедура ТаблицаДокументыПриАктивизацииСтроки(Элемент) + + ТекущиеДанные = Элементы.ТаблицаДокументы.ТекущиеДанные; + + Если ТекущиеДанные <> Неопределено Тогда + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", ТекущиеДанные.ИмяМетаданного)); + Иначе + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", "")); + КонецЕсли; + + Элементы.ТаблицаПечатныеФормы.ОтборСтрок = Отбор; + +КонецПроцедуры + +#КонецОбласти + +#Область Служебные + +&НаСервере +Функция НастройкаИспользуется(СтруктураНастроек, КлючТеста, КлючНастройки = "Используется") + + Возврат СтруктураНастроек.Свойство(КлючТеста) + И СтруктураНастроек[КлючТеста].Свойство(КлючНастройки) + И СтруктураНастроек[КлючТеста][КлючНастройки]; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ОбщиеМакеты() + Возврат "ОбщиеМакеты"; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция МакетыОбъекта() + Возврат "МакетыОбъекта"; +КонецФункции + +&НаСервере +Функция ПроверяемыеМетаданныеМакетыСКД() + + ПроверяемыеОбъекты = Новый Массив(); + ПроверяемыеОбъекты.Добавить("Справочники"); + ПроверяемыеОбъекты.Добавить("Документы"); + ПроверяемыеОбъекты.Добавить("Обработки"); + ПроверяемыеОбъекты.Добавить("Отчеты"); + ПроверяемыеОбъекты.Добавить("Перечисления"); + ПроверяемыеОбъекты.Добавить("ПланыВидовХарактеристик"); + ПроверяемыеОбъекты.Добавить("ПланыСчетов"); + ПроверяемыеОбъекты.Добавить("ПланыВидовРасчета"); + ПроверяемыеОбъекты.Добавить("РегистрыСведений"); + ПроверяемыеОбъекты.Добавить("РегистрыНакопления"); + ПроверяемыеОбъекты.Добавить("РегистрыБухгалтерии"); + ПроверяемыеОбъекты.Добавить("РегистрыРасчета"); + ПроверяемыеОбъекты.Добавить("БизнесПроцессы"); + ПроверяемыеОбъекты.Добавить("Задачи"); + + Возврат ПроверяемыеОбъекты; + +КонецФункции + +#КонецОбласти From a6931009906c0c94c3ac13d25a2290dad8641879 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 11:36:35 +0300 Subject: [PATCH 297/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=A1?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- tasks/init.os | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2cdf147d2..2ddda8827 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -587,7 +587,7 @@ Функция ПредставлениеТеста(Знач ПредставлениеТеста) Если Объект.Настройки.Свойство("ДобавлятьИмяПользователяВПредставлениеТеста") И - Объект.Настройки.ДобавлятьИмяПользователяВПредставлениеТеста Тогда + Объект.Настройки.ДобавлятьИмяПользователяВПредставлениеТеста Тогда ПредставлениеТеста = СтрШаблон_("%1 - <%2>", ПредставлениеТеста, ИмяПользователя()); КонецЕсли; diff --git a/tasks/init.os b/tasks/init.os index dca8ad010..f6c6cb939 100644 --- a/tasks/init.os +++ b/tasks/init.os @@ -45,7 +45,7 @@ Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--schjobdn", "Запретить выполнение регламентных созданий (Y/N). Значение по умолчанию - Y"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--susr", "имя администратора кластера"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--spwd", "пароль администратора кластера"); - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--licdstr", "разрешить получение клиентских лицензий через сервер Y|N, default Y"); + Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--licdstr", "разрешить получение клиентских лицензий через сервер Y|N, default - Y"); //LicDstr //Zn Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды1, "--zn", "Разделители. "); From f235a30b527f89dfe3131de4cedd9b065be46830 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 11:50:10 +0300 Subject: [PATCH 298/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=BA=D0=BE=D0=B4=20=D0=BF=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BB=D0=B0=D1=81=D1=82=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #883 --- .../Ext/Form/Module.bsl" | 257 ++++++++++-------- 1 file changed, 142 insertions(+), 115 deletions(-) diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f40cc48b6..a35235cc5 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,4 +1,5 @@ - +#Область ОбработчикиСобытийФормы + &НаКлиенте Процедура ПриОткрытии(Отказ) @@ -7,6 +8,144 @@ КонецПроцедуры +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + // Вставить содержимое обработчика. +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовШапкиФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыДеревоМетаданных + +&НаКлиенте +Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) + + СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; + + Если СтрокаДЗ<>Неопределено Тогда + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ВидМетаданных,ИмяМетаданного",СтрокаДЗ.ВидМетаданныхДляПоиска,СтрокаДЗ.ИмяМетаданного)); + Элементы.ЗначенияРеквизитовНовых.ОтборСтрок = Отбор; + Иначе + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ВидМетаданных,ИмяМетаданного","","")); + Элементы.ЗначенияРеквизитовНовых.ОтборСтрок = Отбор; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ДеревоМетаданныхВыборПриИзменении(Элемент) + + ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; + ЗначениеФлажка = ТекущаяСтрока.Исключено; + ПодчиненныеСтроки = ТекущаяСтрока.ПолучитьЭлементы(); + УстановитьЗначениеВыбораВПодчиненных(ПодчиненныеСтроки,ЗначениеФлажка); + +КонецПроцедуры + +#КонецОбласти + +#Область ТаблицаДокументы + +&НаКлиенте +Процедура ТаблицаДокументыПриАктивизацииСтроки(Элемент) + + ТекущиеДанные = Элементы.ТаблицаДокументы.ТекущиеДанные; + + Если ТекущиеДанные <> Неопределено Тогда + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", ТекущиеДанные.ИмяМетаданного)); + Иначе + Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", "")); + КонецЕсли; + + Элементы.ТаблицаПечатныеФормы.ОтборСтрок = Отбор; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовТаблицыФормыЗначенияРеквизитовНовых + +&НаКлиенте +Процедура ЗначенияРеквизитовНовыхПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) + СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; + Если Не ЗначениеЗаполнено(СтрокаДЗ.ИмяМетаданного) ТОгда + СообщитьПользователю("Выберите объект метаданных, для добавления значений реквизитов", Отказ); + ИначеЕсли СтрокаДЗ.ВидМетаданныхДляПоиска<>"Справочники" И СтрокаДЗ.ВидМетаданныхДляПоиска<>"Документы" Тогда + СообщитьПользователю("Данная настройка доступна только для справочников или документов", Отказ); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ЗначенияРеквизитовНовыхРеквизитПриИзменении(Элемент) + + ТекущаяСтрока = Элементы.ЗначенияРеквизитовНовых.ТекущиеДанные; + + УстановитьТипПоляВСтроке(ТекущаяСтрока); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗначенияРеквизитовНовыхПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) + + СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; + ТекущаяСтрока = Элементы.ЗначенияРеквизитовНовых.ТекущиеДанные; + ТекущаяСтрока.ВидМетаданных = СтрокаДЗ.ВидМетаданныхДляПоиска; + ТекущаяСтрока.ИмяМетаданного = СтрокаДЗ.ИмяМетаданного; + + ЗаполнитьСписокРеквизитов(ТекущаяСтрока); +КонецПроцедуры + +&НаКлиенте +Процедура ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзменении(Элемент) + ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзмененииНаСервере(); +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ЗаполнитьДеревоМетаданных(Команда) + ЗаполнитьДеревоМетаданныхНаСервере(); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьФайлНастроек(Команда) + + ОбработчикОповещения = Новый ОписаниеОповещения("ЗагрузитьНастройкуПослеВыбораФайла",ЭтаФорма); + + ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + + ВыборФайла.Показать(ОбработчикОповещения); + ВыборФайла.Фильтр = "Файлы JSON (*.json)|*.json"; + +КонецПроцедуры + +&НаКлиенте +Процедура СоздатьФайлНастроек(Команда) + + ОбработчикОповещения = Новый ОписаниеОповещения("ЗаписатьНастройкуПослеВыбораФайла",ЭтаФорма); + + ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); + + ВыборФайла.Показать(ОбработчикОповещения); + ВыборФайла.Фильтр = "Файлы JSON (*.json)|*.json"; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключитьОбъектыНеРасширение(Команда) + ИсключитьОбъектыНеРасширениеНаСервере(); +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + &НаКлиенте Процедура НастройкиПоУмолчанию() @@ -26,11 +165,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ЗаполнитьДеревоМетаданных(Команда) - ЗаполнитьДеревоМетаданныхНаСервере(); -КонецПроцедуры - &НаСервере Процедура ЗаполнитьДеревоМетаданныхНаСервере() @@ -105,18 +239,6 @@ КонецПроцедуры -&НаКлиенте -Процедура СоздатьФайлНастроек(Команда) - - ОбработчикОповещения = Новый ОписаниеОповещения("ЗаписатьНастройкуПослеВыбораФайла",ЭтаФорма); - - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); - - ВыборФайла.Показать(ОбработчикОповещения); - ВыборФайла.Фильтр = "Файлы JSON (*.json)|*.json"; - -КонецПроцедуры - &НаКлиенте Процедура ЗаписатьНастройкуПослеВыбораФайла(Результат,ДопПараметры) Экспорт @@ -277,16 +399,6 @@ КонецФункции -&НаКлиенте -Процедура ДеревоМетаданныхВыборПриИзменении(Элемент) - - ТекущаяСтрока = Элементы.ДеревоМетаданных.ТекущиеДанные; - ЗначениеФлажка = ТекущаяСтрока.Исключено; - ПодчиненныеСтроки = ТекущаяСтрока.ПолучитьЭлементы(); - УстановитьЗначениеВыбораВПодчиненных(ПодчиненныеСтроки,ЗначениеФлажка); - -КонецПроцедуры - &НаКлиенте Процедура УстановитьЗначениеВыбораВПодчиненных(ПодчиненныеСтроки,ЗначениеФлажка) @@ -297,17 +409,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ЗначенияРеквизитовНовыхПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) - - СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; - ТекущаяСтрока = Элементы.ЗначенияРеквизитовНовых.ТекущиеДанные; - ТекущаяСтрока.ВидМетаданных = СтрокаДЗ.ВидМетаданныхДляПоиска; - ТекущаяСтрока.ИмяМетаданного = СтрокаДЗ.ИмяМетаданного; - - ЗаполнитьСписокРеквизитов(ТекущаяСтрока); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьСписокРеквизитов(ТекущаяСтрока) @@ -335,18 +436,6 @@ КонецФункции -&НаКлиенте -Процедура ЗагрузитьФайлНастроек(Команда) - - ОбработчикОповещения = Новый ОписаниеОповещения("ЗагрузитьНастройкуПослеВыбораФайла",ЭтаФорма); - - ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); - - ВыборФайла.Показать(ОбработчикОповещения); - ВыборФайла.Фильтр = "Файлы JSON (*.json)|*.json"; - -КонецПроцедуры - &НаКлиенте Процедура ЗагрузитьНастройкуПослеВыбораФайла(Результат,ДопПараметры) Экспорт @@ -568,40 +657,6 @@ Или Тип = Тип("Дата") Или Тип = Тип("Булево"); КонецФункции -&НаКлиенте -Процедура ДеревоМетаданныхПриАктивизацииСтроки(Элемент) - - СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; - - Если СтрокаДЗ<>Неопределено Тогда - Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ВидМетаданных,ИмяМетаданного",СтрокаДЗ.ВидМетаданныхДляПоиска,СтрокаДЗ.ИмяМетаданного)); - Элементы.ЗначенияРеквизитовНовых.ОтборСтрок = Отбор; - Иначе - Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ВидМетаданных,ИмяМетаданного","","")); - Элементы.ЗначенияРеквизитовНовых.ОтборСтрок = Отбор; - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ЗначенияРеквизитовНовыхПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа, Параметр) - СтрокаДЗ = Элементы.ДеревоМетаданных.ТекущиеДанные; - Если Не ЗначениеЗаполнено(СтрокаДЗ.ИмяМетаданного) ТОгда - СообщитьПользователю("Выберите объект метаданных, для добавления значений реквизитов", Отказ); - ИначеЕсли СтрокаДЗ.ВидМетаданныхДляПоиска<>"Справочники" И СтрокаДЗ.ВидМетаданныхДляПоиска<>"Документы" Тогда - СообщитьПользователю("Данная настройка доступна только для справочников или документов", Отказ); - КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Процедура ЗначенияРеквизитовНовыхРеквизитПриИзменении(Элемент) - - ТекущаяСтрока = Элементы.ЗначенияРеквизитовНовых.ТекущиеДанные; - - УстановитьТипПоляВСтроке(ТекущаяСтрока); - -КонецПроцедуры - &НаКлиенте Процедура УстановитьТипПоляВСтроке(ТекущаяСтрока) @@ -624,7 +679,6 @@ КонецФункции - &НаСервере Процедура ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзмененииНаСервере() @@ -651,11 +705,6 @@ КонецПроцедуры -&НаКлиенте -Процедура ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзменении(Элемент) - ЗначенияРеквизитовНовыхЗначениеРеквизитаПриИзмененииНаСервере(); -КонецПроцедуры - &НаКлиентеНаСервереБезКонтекста Процедура СообщитьПользователю(Знач Сообщение, Отказ = Ложь) Сообщить(Сообщение); @@ -1057,11 +1106,6 @@ #Область ИсключениеОбъектов -&НаКлиенте -Процедура ИсключитьОбъектыНеРасширение(Команда) - ИсключитьОбъектыНеРасширениеНаСервере(); -КонецПроцедуры - &НаСервере Процедура ИсключитьОбъектыНеРасширениеНаСервере() @@ -1483,25 +1527,6 @@ #КонецОбласти -#Область ТаблицаДокументы - -&НаКлиенте -Процедура ТаблицаДокументыПриАктивизацииСтроки(Элемент) - - ТекущиеДанные = Элементы.ТаблицаДокументы.ТекущиеДанные; - - Если ТекущиеДанные <> Неопределено Тогда - Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", ТекущиеДанные.ИмяМетаданного)); - Иначе - Отбор = Новый ФиксированнаяСтруктура(Новый Структура("ИмяМетаданного", "")); - КонецЕсли; - - Элементы.ТаблицаПечатныеФормы.ОтборСтрок = Отбор; - -КонецПроцедуры - -#КонецОбласти - #Область Служебные &НаСервере @@ -1547,3 +1572,5 @@ КонецФункции #КонецОбласти + +#КонецОбласти From 1a72a8c8da2d445fe2bf0c63b8264d8c395b7c4b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 11:58:02 +0300 Subject: [PATCH 299/421] =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B7=D0=BE=D0=B2=D1=8B=20=D0=BF=D1=80=D0=B8=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 13 ++++--------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 231a75332..1bcd92e60 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -31,7 +31,7 @@ - ПриОткрытии + ПриСозданииНаСервере diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a35235cc5..898c400cc 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,18 +1,13 @@ #Область ОбработчикиСобытийФормы -&НаКлиенте -Процедура ПриОткрытии(Отказ) +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - ЗаполнитьДеревоМетаданных(Неопределено); + ЗаполнитьДеревоМетаданныхНаСервере(); НастройкиПоУмолчанию(); КонецПроцедуры -&НаСервере -Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) - // Вставить содержимое обработчика. -КонецПроцедуры - #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы @@ -146,7 +141,7 @@ #Область СлужебныеПроцедурыИФункции -&НаКлиенте +&НаСервере Процедура НастройкиПоУмолчанию() ТестироватьОткрытиеФорм = Истина; From 896d56d9c5cf528b5a4ebe4cc0103fb1348bf927 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 12:18:46 +0300 Subject: [PATCH 300/421] =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B8?= =?UTF-8?q?=D0=B7=20tools=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F?= =?UTF-8?q?=D1=8E=D1=82=D1=81=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=BE?= =?UTF-8?q?=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 9f51da9b7..7af6cc3ea 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -14,7 +14,7 @@ sonar.projectBaseDir=. sonar.inclusions=**/*.bsl, **/*.os,**/*.xml # Что исключается -sonar.exclusions=build/**,**/*.json,tools/Sikuli/**/*.html,tools/**,lib/CF/** +sonar.exclusions=build/**,**/*.json,tools/Sikuli/**/*.html,lib/CF/** # Заглушка для анализа xml-файлов sonar.lang.patterns.xml=**/*.xsd,**/*.xsl From fbcb08f4642e512858ab12481f9343e523d8b0d5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 12:26:30 +0300 Subject: [PATCH 301/421] =?UTF-8?q?=D0=BE=D0=BF=D0=B5=D1=87=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20+=20=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=B8?= =?UTF-8?q?=D0=B2=D1=8B=20=D0=BF=D1=80=D0=B5=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit проверка на наличие модуля печати --- .../Ext/Form.xml" | 2 +- .../Ext/Form/Module.bsl" | 34 ++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 1bcd92e60..beed25050 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -1185,7 +1185,7 @@ <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Исключить объекты не используемые в расширение</v8:content> + <v8:content>Исключить объекты, не используемые в расширениях</v8:content> </v8:item> diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 898c400cc..e97ec16c1 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -284,7 +284,7 @@ Если СтрокаМетаданного.Исключено Тогда ДобавлятьМетаданное = Ложь; Иначе - НастройкаЗаполненияРеквизитов = ПолучитьНастройкуЗаполненияРеквизтов(СтрокаМетаданного.ВидМетаданных); + НастройкаЗаполненияРеквизитов = ПолучитьНастройкуЗаполненияРеквизитов(СтрокаМетаданного.ВидМетаданных); Если НастройкаЗаполненияРеквизитов.Количество() Тогда ВидыПроверки.Вставить("ЗначенияРеквизитовНовых",НастройкаЗаполненияРеквизитов); @@ -351,21 +351,21 @@ НастройкиОткрытияФорм.Вставить("Используется" , ТестироватьОткрытиеФорм); НастройкиОткрытияФорм.Вставить("ОткрываемФормыНаКлиентеТестирования" , ОткрываемФормыНаКлиентеТестирования); - СоответсвтиеНастроек = Новый Соответствие; - СоответсвтиеНастроек.Вставить(КлючНастройкиОткрытиеФорм(), НастройкиОткрытияФорм); + СоответствиеНастроек = Новый Соответствие; + СоответствиеНастроек.Вставить(КлючНастройкиОткрытиеФорм(), НастройкиОткрытияФорм); - ЗаписатьНастройкуПоКлючу(КлючНастройкиМодальныеОкна(), СоответсвтиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиКомандныйИнтерфейс(), СоответсвтиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиМакетыСКД(), СоответсвтиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиПроведениеДокументов(), СоответсвтиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиФормированиеПечатныхФорм(), СоответсвтиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМодальныеОкна(), СоответствиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиКомандныйИнтерфейс(), СоответствиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМакетыСКД(), СоответствиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиПроведениеДокументов(), СоответствиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиФормированиеПечатныхФорм(), СоответствиеНастроек); - ЗаписатьJSON(ЗаписьJSON, СоответсвтиеНастроек); + ЗаписатьJSON(ЗаписьJSON, СоответствиеНастроек); КонецПроцедуры &НаСервере -Функция ПолучитьНастройкуЗаполненияРеквизтов(ВидМетаданных) +Функция ПолучитьНастройкуЗаполненияРеквизитов(ВидМетаданных) НастройкаЗаполненияРеквизитов = Новый Структура; @@ -1151,6 +1151,13 @@ ТаблицаДокументы.Очистить(); ТаблицаПечатныеФормы.Очистить(); + + Попытка + МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); //todo + Исключение + Сообщить("Не найден модуль ""УправлениеПечатью"". Анализ печатных форм не выполнен!"); + Возврат; + КонецПопытки; Для каждого Метаданное Из Метаданные.Документы Цикл @@ -1161,13 +1168,12 @@ КомандыПечати = Неопределено; Попытка - МодульУправлениеПечатью = Вычислить("УправлениеПечатью"); КомандыПечати = МодульУправлениеПечатью.КомандыПечатиОбъекта(Метаданное); Исключение Продолжить; КонецПопытки; - Если КомандыПечати.Количество() = 0 Тогда + Если Не ЗначениеЗаполнено(КомандыПечати) Тогда Продолжить; КонецЕсли; @@ -1405,6 +1411,7 @@ #Область ЗагрузкаНастроекПоКлючам +&НаСервере Процедура ЗагрузитьНастройкиВТаблицу(Результат, Ключ) Если НЕ Результат.Свойство(Ключ) Тогда @@ -1454,6 +1461,7 @@ КонецПроцедуры +&НаСервере Процедура УстановитьПризнакИсключенияМакетаСКД(ИсключенияОбщихМакетов, ИсключенияПоИмениМетаданных) Для Каждого СтрокаИсключение Из ИсключенияОбщихМакетов Цикл @@ -1490,6 +1498,7 @@ КонецПроцедуры +&НаСервере Процедура УстановитьПризнакИсключенияДокумента(Исключения, ИмяПризнака) Для Каждого СтрокаИсключение Из Исключения Цикл @@ -1507,6 +1516,7 @@ КонецПроцедуры +&НаСервере Процедура УстановитьПризнакИсключенияПечатныеФормы(Исключения) Для Каждого СтрокаИсключение Из Исключения Цикл From f175792f187bd82e64e2f9370d270eb74615bcef Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sat, 11 Sep 2021 12:43:26 +0300 Subject: [PATCH 302/421] =?UTF-8?q?=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B5=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B7=D0=BE=D0=B2=D1=8B=20=D0=BF=D1=80=D0=B8=20=D1=81?= =?UTF-8?q?=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #883 --- .../Ext/Form/Module.bsl" | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e97ec16c1..ce77a9b40 100644 --- "a/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tools/epf/utils/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\224\321\213\320\274\320\276\320\262\321\213\320\274\320\270\320\242\320\265\321\201\321\202\320\260\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -237,13 +237,13 @@ &НаКлиенте Процедура ЗаписатьНастройкуПослеВыбораФайла(Результат,ДопПараметры) Экспорт - Если Результат<>Неопределено Тогда + Если Результат <> Неопределено Тогда ИмяФайла = Результат[0]; Файл = Новый Файл(ИмяФайла); - ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(,Символы.Таб); + ПараметрыЗаписи = Новый ПараметрыЗаписиJSON( , Символы.Таб); ЗаписьJSON = Новый ЗаписьJSON; Если ЗначениеЗаполнено(СтрокаJSON) Тогда @@ -252,7 +252,7 @@ ЗаписьJSON.ОткрытьФайл(ИмяФайла); КонецЕсли; - ЗаполнитьJSONНастроек(ЗаписьJSON); + ЗаписатьJSON(ЗаписьJSON, СоответствиеНастроек()); Если ЗначениеЗаполнено(СтрокаJSON) Тогда ВремСтрокаJSON = ЗаписьJSON.Закрыть(); @@ -260,7 +260,7 @@ НастроенноеСоответствие = ПрочитатьСоответствиеИзСтрокиJSON(ВремСтрокаJSON); ЗаписьJSON = Новый ЗаписьJSON; - ЗаписьJSON.ОткрытьФайл(ИмяФайла,,,ПараметрыЗаписи); + ЗаписьJSON.ОткрытьФайл(ИмяФайла, , , ПараметрыЗаписи); ЗаписатьJSON(ЗаписьJSON, НастроенноеСоответствие); ЗаписьJSON.Закрыть(); КонецЕсли; @@ -269,8 +269,8 @@ КонецПроцедуры -&НаКлиенте -Процедура ЗаполнитьJSONНастроек(ЗаписьJSON) +&НаСервере +Функция СоответствиеНастроек() НастройкиОткрытияФорм = Новый Соответствие; @@ -351,18 +351,18 @@ НастройкиОткрытияФорм.Вставить("Используется" , ТестироватьОткрытиеФорм); НастройкиОткрытияФорм.Вставить("ОткрываемФормыНаКлиентеТестирования" , ОткрываемФормыНаКлиентеТестирования); - СоответствиеНастроек = Новый Соответствие; - СоответствиеНастроек.Вставить(КлючНастройкиОткрытиеФорм(), НастройкиОткрытияФорм); + Результат = Новый Соответствие; + Результат.Вставить(КлючНастройкиОткрытиеФорм(), НастройкиОткрытияФорм); - ЗаписатьНастройкуПоКлючу(КлючНастройкиМодальныеОкна(), СоответствиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиКомандныйИнтерфейс(), СоответствиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиМакетыСКД(), СоответствиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиПроведениеДокументов(), СоответствиеНастроек); - ЗаписатьНастройкуПоКлючу(КлючНастройкиФормированиеПечатныхФорм(), СоответствиеНастроек); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМодальныеОкна(), Результат); + ЗаписатьНастройкуПоКлючу(КлючНастройкиКомандныйИнтерфейс(), Результат); + ЗаписатьНастройкуПоКлючу(КлючНастройкиМакетыСКД(), Результат); + ЗаписатьНастройкуПоКлючу(КлючНастройкиПроведениеДокументов(), Результат); + ЗаписатьНастройкуПоКлючу(КлючНастройкиФормированиеПечатныхФорм(), Результат); - ЗаписатьJSON(ЗаписьJSON, СоответствиеНастроек); + Возврат Результат; -КонецПроцедуры +КонецФункции &НаСервере Функция ПолучитьНастройкуЗаполненияРеквизитов(ВидМетаданных) From bb0947ba1d9a30e0d0aaa26a18d1004ed041d1be Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:18:47 +0300 Subject: [PATCH 303/421] =?UTF-8?q?add=20=D0=9E=D0=BF=D0=B8=D1=81=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=BE=D0=B2=D1=8B=D1=85=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2=20=D0=B8=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D1=80=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D1=81=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B5=D0=B9=20=D0=BF=D0=BE=D1=81=D1=82=D0=B0=D0=B2=D1=89?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 1 + tests/smoke/smoke_tests_for_v8std.md | 638 ++++++++++++++++++++++++++ tools/JSON/providerConfiguration.json | 424 +++++++++++++++++ 3 files changed, 1063 insertions(+) create mode 100644 tests/smoke/smoke_tests_for_v8std.md create mode 100644 tools/JSON/providerConfiguration.json diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index fd1b6dcc4..a6d8458fb 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -34,6 +34,7 @@ - [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-бсп-конфигураций) - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) +- [Тесты для проверки объектов метаданных на соответствие внутренним стандартам и [стандартам 1С](https://its.1c.ru/db/v8std)](./tests/smoke/smoke_tests_for_v8std.md) Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md new file mode 100644 index 000000000..976fb2d14 --- /dev/null +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -0,0 +1,638 @@ +# Версия 1.5.17 + + + +# Дымовые тесты 1С + +- [Тесты](#тесты) + - [Ссылки на каталоги](#каталоги) + - [Введение](#введение) + - [Описание тестов](#описание) + - [Тесты для проверки объектов метаданных на соответствие стандартам 1C](#тесты_стандарты1с) + - [Тесты для проверки объектов метаданных на соответствие внутренним стандартам](#тесты_внутренние_стандарты) + - [Настройка тестов](#настройка) + + + +## Ссылки на каталоги + +* [Исходники тестов](./tests/smoke) +* [Файлы настроек тестов](./tools/JSON) + + + +## Введение + ++ Тесты проверяют метаданные на соответствие внутренним стандартам и [стандартам 1С](https://its.1c.ru/db/v8std). ++ Тесты запускаются с помощью обработки [xddTestRunner](https://github.com/vanessa-opensource/add/tree/master/epf/xddTestRunner) проекта [Vanessa-ADD (Vanessa Automation Driven Development)](https://github.com/vanessa-opensource/add). + + + +## Описание тестов + + + +### 1. Тесты для проверки объектов метаданных на соответствие [стандартам 1С](https://its.1c.ru/db/v8std) + + ++ **1.1. Проверка [стандартных ролей](https://its.1c.ru/db/v8std#content:488:hdoc)** +([Тесты_ПроверкаСтандартныхРолей](./SmokeTests/Тесты_ПроверкаСтандартныхРолей)) + + + Тест проверяет состав основных ролей конфигурации, типовые роли и права на корень конфигурации, остальные роли и права на корень конфигурации. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Основные роли](#Настройки_ОсновныеРоли) + - [Стандартные роли](#Настройки_СтандартныеРоли) + + ++ **1.2. Проверка [общих реквизитов](https://its.1c.ru/db/v8std#content:677:hdoc)** +([Тесты_ПроверкаОбщихРеквизитов](./SmokeTests/Тесты_ПроверкаОбщихРеквизитов)) + + + Тест проверяет, что у общих реквизитов включено использование разделения данных. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.3. Проверка [права интерактивно удаления](https://its.1c.ru/db/v8std#content:689:hdoc)** +([Тесты_ПроверкаПраваИнтерактивногоУдаления](./SmokeTests/Тесты_ПроверкаПраваИнтерактивногоУдаления)) + + + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление объектов базы данных. + + Настройки: + - [Используется](#Настройки_Используется) + - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) + + ++ **1.4. Проверка [права интерактивно удаления помеченных](https://its.1c.ru/db/v8std#content:488:hdoc)** +([Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](./SmokeTests/Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)) + + + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление помеченных объектов базы данных. + + Настройки: + - [Используется](#Настройки_Используется) + - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) + + ++ **1.5. Проверка [прав на предопределенные данные объектов](https://its.1c.ru/db/v8std#content:488:hdoc)** +([Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](./SmokeTests/Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)) + + + Тест проверяет, что у ролей кроме основных нет следующих прав на предопределенные данные объектов: + * Интерактивное удаление предопределенных данных + * Интерактивная пометка удаления предопределенных данных + * Интерактивное снятие пометки удаления предопределенных данных + * Интерактивное удаление помеченных предопределенных данных + + Настройки: + - [Используется](#Настройки_Используется) + - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) + + ++ **1.6. Проверка [привилегированного режима объектов](https://its.1c.ru/db/v8std#content:485:hdoc)** +([Тесты_ПроверкаПривилегированногоРежимаОбъектов](./SmokeTests/Тесты_ПроверкаПривилегированногоРежимаОбъектов)) + + + Тест проверяет, что у объектов метаданных установлен привилегированный режим. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.7. Проверка [регламентных заданий](https://its.1c.ru/db/v8std#content:540:hdoc)** +([Тесты_ПроверкаРегламентныхЗаданий](./SmokeTests/Тесты_ПроверкаРегламентныхЗаданий)) + + + Тест проверяет, что у регламентного задания не установлен признак "Использование". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.8. Проверка [составных типов данных](https://its.1c.ru/db/v8std#content:728:hdoc)** +([Тесты_ПроверкаСоставныхТиповДанных](./SmokeTests/Тесты_ПроверкаСоставныхТиповДанных)) + + + Тест проверяет, что реквизиты и свойства объектов метаданных: + * Не используют составной тип данных "ЛюбаяСсылка", "ДокументСсылка" и т.д. + * Не содержат примитивных и ссылочных типов. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Проверять дополнительные реквизиты](#Настройки_ПроверятьДополнительныеРеквизиты) + - [Пропускать объекты с префиксом удалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + + ++ **1.9. Проверка [синонима устаревших объектов метаданных](https://its.1c.ru/db/v8std#content:534:hdoc)** +([Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](./SmokeTests/Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)) + + + Тест проверяет, что у устаревших (с префиксом "Удалить") объектов и свойств метаданных синоним содержит префикс "(не используется)". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.10. Проверка [прав к устаревшим объектам](https://its.1c.ru/db/v8std#content:689:hdoc)** +([Тесты_ПроверкаПравКУстаревшимОбъектам](./SmokeTests/Тесты_ПроверкаПравКУстаревшимОбъектам)) + + + Тест проверяет, что у неосновных ролей нет прав на объекты метаданных с префиксом "Удалить". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.11. Проверка прав на чтение объектов** +([Тесты_ПроверкаПравНаЧтениеОбъектов](./SmokeTests/Тесты_ПроверкаПравНаЧтениеОбъектов)) + + + Тест проверяет, что у неосновных ролей есть право чтение объектов метаданных. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + - РольБазовыеПрава - Имя роли с минимальными правами для первоначального поиска по этой роли. + + ++ **1.12. Проверка [пользовательских представлений новых объектов](https://its.1c.ru/db/v8std#content:468:hdoc)** +([Тесты_ПроверкаПользовательскихПредставленийОбъектов](./SmokeTests/Тесты_ПроверкаПользовательскихПредставленийОбъектов)) + + + Тест проверяет, что у нового объекта метаданных задано одно из следующих свойств: "Представление объекта", "Представление записи", "Представление списка". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **1.13. Проверка [реквизитов документов: комментарий, ответственный](https://its.1c.ru/db/v8std#content:719:hdoc)** +([Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](./SmokeTests/Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)) + + + Тест проверяет, что у документов есть реквизиты: "Комментарий", "Ответственный". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + - ОпределяемыйТипКомментарий - Имя определяемого типа "Комментарий" для проверки типа реквизита "Комментарий" документов. Настройка задается свойством "ОпределяемыйТипКомментарий": "ИмяОпределяемогоТипаКомментарий". + - ОпределяемыйТипОтветственный - Имя определяемого типа "Ответственный" для проверки типа реквизита "Ответственный" документов. Настройка задается свойством "ОпределяемыйТипОтветственный": "ИмяОпределяемогоТипаОтветственный". + + ++ **1.14. Проверка включения объектов в [командный интерфейс](https://its.1c.ru/db/v8std#content:543:hdoc)** +([Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](./SmokeTests/Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)) + + + Тест проверяет, что объекты конфигурации включены в командный интерфейс или в служебные подсистемы. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + + +### 2. Тесты для проверки объектов метаданных на соответствие внутренним стандартам + ++ **2.1. Проверка префикса в новых объектах и реквизитах** +([Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./SmokeTests/Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)) + + + Тест проверяет, что у нового объекта метаданных или реквизита установлен префикс. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Конфигурация поставщика](#Настройки_КонфигурацияПоставщика) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.2. Проверка включения новых объектов с префиксом в подсистему** +([Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](./SmokeTests/Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)) + + + Тест проверяет, что новый объект метаданных с префиксом включен в подсистему. + + Настройки: + - [Используется](#Настройки_Используется) + - [Префикс](#Настройки_Префикс) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Подсистема](#Настройки_Подсистема) + + ++ **2.3. Проверка синонима новых объектов и реквизитов** +([Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](./SmokeTests/Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)) + + + Тест проверяет, что у новых объектов и свойств метаданных синоним не содержит префикса. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.4. Проверка префикса свойств новых объектов** +([Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](./SmokeTests/Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)) + + + Тест проверяет, что у новых с (префиксом) объектов метаданных табличные части и свойства не содержат префикса. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.5. Проверка основных форм отчетов** +([Тесты_ПроверкаОсновныхФормОтчетов](./SmokeTests/Тесты_ПроверкаОсновныхФормОтчетов)) + + + Тест проверяет, что у отчетов или конфигурации установлены основные формы: "ОсновнаяФорма/ОсновнаяФормаОтчета", "ОсновнаяФормаНастроек/ОсновнаяФормаНастроекОтчета", "ОсновнаяФормаВарианта/ОсновнаяФормаВариантаОтчета". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Каталоги внешних отчетов](#Настройки_КаталогиВнешнихОтчетов) + - [Форма отчета](#Настройки_ФормаОтчета) + - [Форма настроек](#Настройки_ФормаНастроекОтчета) + - [Форма варианта](#Настройки_ФормаВариантаОтчета) + + ++ **2.6. Проверка хранилища вариантов отчетов** +([Тесты_ПроверкаХранилищаВариантовОтчетов](./SmokeTests/Тесты_ПроверкаХранилищаВариантовОтчетов)) + + + Тест проверяет, что у отчетов или конфигурации установлено хранилище вариантов отчетов. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Каталоги внешних отчетов](#Настройки_КаталогиВнешнихОтчетов) + - [Хранилище вариантов отчетов](#Настройки_ХранилищеВариантовОтчетов) + + ++ **2.7. Проверка прав на чтение объектов с RLS** +([Тесты_ПроверкаПравНаЧтениеОбъектовRLS](./SmokeTests/Тесты_ПроверкаПравНаЧтениеОбъектовRLS)) + + + Тест проверяет, что у неосновных ролей нет права чтение объектов метаданных без RLS. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Объекты метаданных](#Настройки_ОбъектыМетаданных) + + ++ **2.8. Проверка макетов СКД внешних отчетов и обработок** +([Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](./SmokeTests/Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)) + + + Тест проверяет макет СКД у внешних отчетов и обработок. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [Каталоги внешних отчетов](#Настройки_КаталогиВнешнихОтчетов) + - [Каталоги внешних обработок](#Настройки_КаталогиВнешнихОбработок) + + ++ **2.9. Проверка объектов метаданных конфигурации поставщика** +([Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](./SmokeTests/Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)) + + + Тест проверяет, что объекты метаданных конфигурации поставщика не были удалены из конфигурации. + + Настройки: + - [Используется](#Настройки_Используется) + - [Конфигурация поставщика](#Настройки_КонфигурацияПоставщика) + + ++ **2.10. Проверка каноничности префикса новых объектов и реквизитов** +([Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](./SmokeTests/Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)) + + + Тест проверяет, что префикс новых объектов метаданных соответствует каноничному написанию. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.11. Проверка индексирования устаревших объектов метаданных** +([Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](./SmokeTests/Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)) + + + Тест проверяет, что у устаревших объектов метаданных отключено индексирование свойств. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.12. Проверка устаревших типов данных** +([Тесты_ПроверкаУстаревшихТиповДанных](./SmokeTests/Тесты_ПроверкаУстаревшихТиповДанных)) + + + Тест проверяет, что у реквизитов и свойств объектов метаданных с устаревшим типом данных установлен префикс имени "Удалить" и префикс синонима "(не используется)". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.13. Проверка авторегистрации планов обмена** +([Тесты_ПроверкаАвтоРегистрацииПлановОбмена](./SmokeTests/Тесты_ПроверкаАвтоРегистрацииПлановОбмена)) + + + Тест проверяет, что у объектов метаданных входящих в состав планов обмена отключена авторегистрация. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + + ++ **2.14. Переход на управляемые формы** +([Тесты_ПереходНаУправляемыеФормы](./SmokeTests/Тесты_ПереходНаУправляемыеФормы)) + + + Тест проверяет, что все формы конфигурации управляемые. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + + ++ **2.15. Проверка периодичности нумерации документов** +([Тесты_ПроверкаПериодичностиНумерацииДокументов](./SmokeTests/Тесты_ПроверкаПериодичностиНумерацииДокументов)) + + + Тест проверяет, что у всех документов в конфигурации установлена периодическая нумерация. + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + + ++ **2.16. Проверка регистров для отчета ["Движения документа"](https://its.1c.ru/db/bsp246doc#content:50:1)** +([Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](./SmokeTests/Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)) + + + Тест проверяет, что у регистров подчиненных регистратору: + * Выключено использование стандартных команд. + * Указана основная форма списка. + * Основная форма списка - управляемая. + * В форме списка есть колонка "Регистратор". + + Настройки: + - [Используется](#Настройки_Используется) + - [Выводить исключения](#Настройки_ВыводитьИсключения) + - [Префикс](#Настройки_Префикс) + - [Отбор по префиксу](#Настройки_ОтборПоПрефиксу) + - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) + - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) + + + + +## Настройка тестов + +Настройки тестов задаются в файле xUnitparams.json ([пример](./tools/JSON/xUnitParams.json)). + + ++ **"Используется"** - Включает/отключает использование теста. Настройка задается свойством "Используется": true/false. Настройка доступна для тестов: + + - **[Тесты_ПроверкаАвтоРегистрацииПлановОбмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена)** + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаСтандартныхРолей](#Тесты_ПроверкаСтандартныхРолей)** + - **[Тесты_ПроверкаОбщихРеквизитов](#Тесты_ПроверкаОбщихРеквизитов)** + - **[Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)** + - **[Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаПраваИнтерактивногоУдаления](#Тесты_ПроверкаПраваИнтерактивногоУдаления)** + - **[Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](#Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)** + - **[Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](#Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаРегламентныхЗаданий](#Тесты_ПроверкаРегламентныхЗаданий)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаПользовательскихПредставленийОбъектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов)** + - **[Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](#Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаПривилегированногоРежимаОбъектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов)** + - **[Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](#Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)** + - **[Тесты_ПроверкаПравКУстаревшимОбъектам](#Тесты_ПроверкаПравКУстаревшимОбъектам)** + - **[Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектовRLS](#Тесты_ПроверкаПравНаЧтениеОбъектовRLS)** + - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** + - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** + - **[Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](#Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)** + - **[Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](#Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)** + - **[Тесты_ПроверкаУстаревшихТиповДанных](#Тесты_ПроверкаУстаревшихТиповДанных)** + + ++ **"ВыводитьИсключения"** - Включает/отключает вывод исключений для теста. Настройка задается свойством "ВыводитьИсключения": true/false. Настройка доступна для тестов: + + - **[Тесты_ПроверкаАвтоРегистрацииПлановОбмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена)** + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаСтандартныхРолей](#Тесты_ПроверкаСтандартныхРолей)** + - **[Тесты_ПроверкаОбщихРеквизитов](#Тесты_ПроверкаОбщихРеквизитов)** + - **[Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)** + - **[Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаРегламентныхЗаданий](#Тесты_ПроверкаРегламентныхЗаданий)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаПользовательскихПредставленийОбъектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов)** + - **[Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](#Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаПривилегированногоРежимаОбъектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов)** + - **[Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](#Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)** + - **[Тесты_ПроверкаПравКУстаревшимОбъектам](#Тесты_ПроверкаПравКУстаревшимОбъектам)** + - **[Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектовRLS](#Тесты_ПроверкаПравНаЧтениеОбъектовRLS)** + - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** + - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** + - **[Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](#Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)** + - **[Тесты_ПроверкаУстаревшихТиповДанных](#Тесты_ПроверкаУстаревшихТиповДанных)** + + ++ **"Префикс"** - Префикс для новых объектов и свойств метаданных. Настройка задается свойством "Префикс": "МойПрефикс". Настройка доступна для тестов: + + - **[Тесты_ПроверкаАвтоРегистрацииПлановОбмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена)** + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаОбщихРеквизитов](#Тесты_ПроверкаОбщихРеквизитов)** + - **[Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)** + - **[Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаРегламентныхЗаданий](#Тесты_ПроверкаРегламентныхЗаданий)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаПользовательскихПредставленийОбъектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов)** + - **[Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](#Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаПривилегированногоРежимаОбъектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов)** + - **[Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](#Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)** + - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** + - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** + - **[Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](#Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)** + - **[Тесты_ПроверкаУстаревшихТиповДанных](#Тесты_ПроверкаУстаревшихТиповДанных)** + + ++ **"ПропускатьОбъектыСПрефиксомУдалить"** - Признак того, что тест будет пропускать объекты с префиксом "Удалить". Настройка задается свойством "ПропускатьОбъектыСПрефиксомУдалить": true/false. Настройка доступна для тестов: + + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + + ++ **"ИсключенияИзПроверок"** - Исключения из проверок с типом структура. Задается как список свойств структуры, где ключ - это имя объекта метаданных в единственном числе ("Документ", "Справочник"), а значение - это массив имен подчиненных объектов ("Справочник1", "Документ1", "Справочник1.ТабличнаяЧасть.Товары", "Документ1.Форма.ФормаДокумента" и т.д.). Настройка доступна для тестов: + + - **[Тесты_ПроверкаПользовательскихПредставленийОбъектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаСтандартныхРолей](#Тесты_ПроверкаСтандартныхРолей)** + - **[Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаПривилегированногоРежимаОбъектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов)** + - **[Тесты_ПроверкаОбщихРеквизитов](#Тесты_ПроверкаОбщихРеквизитов)** + - **[Тесты_ПроверкаРегламентныхЗаданий](#Тесты_ПроверкаРегламентныхЗаданий)** + - **[Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](#Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)** + - **[Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](#Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаПравНаЧтениеОбъектовRLS](#Тесты_ПроверкаПравНаЧтениеОбъектовRLS)** + - **[Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](#Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)** + - **[Тесты_ПроверкаПравКУстаревшимОбъектам](#Тесты_ПроверкаПравКУстаревшимОбъектам)** + - **[Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаУстаревшихТиповДанных](#Тесты_ПроверкаУстаревшихТиповДанных)** + - **[Тесты_ПроверкаАвтоРегистрацииПлановОбмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена)** + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)** + - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** + + ++ **ОсновныеРоли** - Описание основных ролей конфигурации. Задается как массив имен ролей, которые входят в список свойства конфигурации **"Основные роли конфигурации"**. Настройка доступна для тестов: + + - **[Тесты_ПроверкаСтандартныхРолей](#Тесты_ПроверкаСтандартныхРолей)** + + ++ **СтандартныеРоли** - Описание стандартных ролей конфигурации. Задается как список свойств структуры, где ключ - это имя стандартной роли, значение - это массив строк с именем прав на корень конфигурации. Настройка доступна для тестов: + + - **[Тесты_ПроверкаСтандартныхРолей](#Тесты_ПроверкаСтандартныхРолей)** + + ++ **ПроверятьДополнительныеРеквизиты** - Признак, что будут проверяться дополнительные реквизиты и сведения. Настройка задается в разделе "ИмяТеста" свойством "ПроверятьДополнительныеРеквизиты": true/false. Настройка доступна для тестов: + + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + + ++ **ОтборПоПрефиксу** - Признак, что будут проверяться только объекты с префиксом, указанным в параметре **"Префикс"**. Настройка задается в разделе "ИмяТеста" свойством "ОтборПоПрефиксу": true/false. Настройка доступна для тестов: + + - **[Тесты_ПроверкаПравНаЧтениеОбъектов](#Тесты_ПроверкаПравНаЧтениеОбъектов)** + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)** + - **[Тесты_ПроверкаРегламентныхЗаданий](#Тесты_ПроверкаРегламентныхЗаданий)** + - **[Тесты_ПроверкаСоставныхТиповДанных](#Тесты_ПроверкаСоставныхТиповДанных)** + - **[Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)** + - **[Тесты_ПроверкаУстаревшихТиповДанных](#Тесты_ПроверкаУстаревшихТиповДанных)** + - **[Тесты_ПроверкаАвтоРегистрацииПлановОбмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена)** + - **[Тесты_ПереходНаУправляемыеФормы](#Тесты_ПереходНаУправляемыеФормы)** + - **[Тесты_ПроверкаПериодичностиНумерацииДокументов](#Тесты_ПроверкаПериодичностиНумерацииДокументов)** + - **[Тесты_ПроверкаОбщихРеквизитов](#Тесты_ПроверкаОбщихРеквизитов)** + - **[Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)** + - **[Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)** + - **[Тесты_ПроверкаПользовательскихПредставленийОбъектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов)** + - **[Тесты_ПроверкаПривилегированногоРежимаОбъектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов)** + + ++ **ХранилищеВариантовОтчетов** - Имя хранилища вариантов отчетов. Настройка задается в разделе теста свойством "ХранилищеВариантовОтчетов": "Имя хранилища вариантов отчетов". Настройка доступна для тестов: + + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + + ++ **ФормаОтчета** - Имя общей формы отчета. Настройка задается в разделе теста свойством "ФормаОтчета": "Имя формы отчета". Настройка доступна для тестов: + + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + + ++ **ФормаНастроек** - Имя общей формы настроек отчета. Настройка задается в разделе теста свойством "ФормаНастроек": "Имя формы настроек отчета". Настройка доступна для тестов: + + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + + ++ **ФормаВарианта** - Имя общей формы вариантов отчета. Настройка задается в разделе теста свойством "ФормаВарианта": "Имя формы вариантов отчета". Настройка доступна для тестов: + + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + + ++ **ОбъектыМетаданных** - Список объектов метаданных для проверки. Настройка задается в разделе "Тесты_ПроверкаПравНаЧтениеОбъектовRLS" как список свойств структуры, где ключ - это имя объекта метаданных в единственном числе ("Документ", "Справочник"), а значение - это массив имен подчиненных объектов ("Справочник1", "Документ1" и т.д.) или строка с одним символом **"*"** (будут выбраны все объекты коллекции: все справочники, все документы и т.д.). Настройка доступна для тестов: + + - **[Тесты_ПроверкаПравНаЧтениеОбъектовRLS](#Тесты_ПроверкаПравНаЧтениеОбъектовRLS)** + + ++ **КаталогиВнешнихОтчетов** - Список каталогов с внешними отчетами. Настройка задается в разделе "ИмяТеста" как массив строк с именами каталогов (можно указывать как относительный путь). Настройка доступна для тестов: + + - **[Тесты_ПроверкаОсновныхФормОтчетов](#Тесты_ПроверкаОсновныхФормОтчетов)** + - **[Тесты_ПроверкаХранилищаВариантовОтчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов)** + - **[Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)** + + ++ **КаталогиВнешнихОбработок** - Список каталогов с внешними обработкаим. Настройка задается в разделе "Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок" как массив строк с именами каталогов (можно указывать как относительный путь). Настройка доступна для тестов: + + - **[Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)** + + ++ **ПроверятьОсновныеРоли** - Признак того, что тест будет проверять основные роли конфигурации. Настройка задается свойством "ПроверятьОсновныеРоли": true/false. Настройка доступна для тестов: + + - **[Тесты_ПроверкаПраваИнтерактивногоУдаления](#Тесты_ПроверкаПраваИнтерактивногоУдаления)** + - **[Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](#Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)** + - **[Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](#Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)** + + ++ **"Подсистема"** - Подсистема, в которую добавляются новые объекты метаданных. Настройка задается свойством "Подсистема": "ИмяПодсистемы". Настройка доступна для тестов: + + - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** + + ++ **"КонфигурацияПоставщика"** - Путь к файлу со структурой конфигурации поставщика. Настройка задается свойством "КонфигурацияПоставщика": "ПолноеИмяФайла.json" (можно указывать как относительный путь к файлу). Файл конфигурации поставщика можно получить путем интерактивного запуска обработки **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./SmokeTests/Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)**, и с помощью команды "Выбор файла" открыть файл отчета конфигурации поставщика в текстовом формате. Файл "ОтчетПоКонфигурации.txt" можно получить в конфигураторе: открыть конфигурацию поставщика, выполнить команду Конфигурация/Отчет по конфигурации/Выводить в текстовый документ. Настройка доступна для тестов: + + - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** + - **[Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](#Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)** diff --git a/tools/JSON/providerConfiguration.json b/tools/JSON/providerConfiguration.json new file mode 100644 index 000000000..a7925a65d --- /dev/null +++ b/tools/JSON/providerConfiguration.json @@ -0,0 +1,424 @@ +{ + "КонфигурацияПоставщика1": { + "Подсистемы": [ + "Подсистема1" + ], + "ОбщиеМодули": [ + "ОбщийМодуль1" + ], + "ПараметрыСеанса": [ + "ПараметрСеанса1" + ], + "Роли": [ + "Роль1" + ], + "ОбщиеРеквизиты": [ + "ОбщийРеквизит1" + ], + "ПланыОбмена": [ + "ПланОбмена1", + "ПланОбмена1.Реквизиты.Реквизит1", + "ПланОбмена1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланОбмена1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланОбмена1.Формы.ФормаУзла", + "ПланОбмена1.Команды.Команда1" + ], + "КритерииОтбора": [ + "КритерийОтбора1", + "КритерийОтбора1.Формы.ФормаСписка", + "КритерийОтбора1.Команды.Команда1" + ], + "ПодпискиНаСобытия": [ + "ПодпискаНаСобытие1" + ], + "РегламентныеЗадания": [ + "РегламентноеЗадание1" + ], + "ФункциональныеОпции": [ + "ФункциональнаяОпция1" + ], + "ПараметрыФункциональныхОпций": [ + "ПараметрФункциональныхОпций1" + ], + "ОпределяемыеТипы": [ + "ОпределяемыйТип1" + ], + "ХранилищаНастроек": [ + "ХранилищеНастроек1", + "ХранилищеНастроек1.Формы.ФормаСохранения", + "ХранилищеНастроек1.Макеты.Макет" + ], + "ОбщиеФормы": [ + "Форма" + ], + "ОбщиеКоманды": [ + "ОбщаяКоманда1" + ], + "ГруппыКоманд": [ + "ГруппаКоманд1" + ], + "Интерфейсы": [], + "ОбщиеМакеты": [ + "Макет" + ], + "ОбщиеКартинки": [ + "ОбщаяКартинка1" + ], + "ПакетыXDTO": [ + "ПакетXDTO1" + ], + "WebСервисы": [ + "WebСервис1" + ], + "HTTPСервисы": [ + "HTTPСервис1" + ], + "WSСсылки": [], + "ЭлементыСтиля": [ + "ЭлементСтиля1" + ], + "Стили": [ + "Стиль1" + ], + "Языки": [ + "Русский" + ], + "Константы": [ + "Константа1" + ], + "Справочники": [ + "Справочник1", + "Справочник1.Реквизиты.Реквизит1", + "Справочник1.ТабличныеЧасти.ТабличнаяЧасть1", + "Справочник1.Формы.ФормаЭлемента", + "Справочник1.Макеты.Макет", + "Справочник1.Команды.Команда1" + ], + "Документы": [ + "Документ1", + "Документ1.Реквизиты.Реквизит1", + "Документ1.Формы.ФормаДокумента", + "Документ1.ТабличныеЧасти.ТабличнаяЧасть1", + "Документ1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1" + ], + "ЖурналыДокументов": [ + "ЖурналДокументов1", + "ЖурналДокументов1.Графы.Графа1", + "ЖурналДокументов1.Формы.ФормаСписка" + ], + "Перечисления": [ + "Перечисление1", + "Перечисление1.ЗначенияПеречисления.ЗначениеПеречисления1", + "Перечисление1.ЗначенияПеречисления.ЗначениеПеречисления2", + "Перечисление1.Формы.ФормаСписка", + "Перечисление1.Макеты.Макет" + ], + "Отчеты": [ + "Отчет1", + "Отчет1.Реквизиты.Реквизит1", + "Отчет1.ТабличныеЧасти.ТабличнаяЧасть1", + "Отчет1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Отчет1.Формы.ФормаОтчета", + "Отчет1.Макеты.ОсновнаяСхемаКомпоновкиДанных", + "Отчет1.Команды.Команда1" + ], + "Обработки": [ + "Обработка1", + "Обработка1.Реквизиты.Реквизит1", + "Обработка1.ТабличныеЧасти.ТабличнаяЧасть1", + "Обработка1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Обработка1.Формы.Форма", + "Обработка1.Макеты.Макет", + "Обработка1.Команды.Команда1" + ], + "ПланыВидовХарактеристик": [ + "ПланВидовХарактеристик1", + "ПланВидовХарактеристик1.Реквизиты.Реквизит1", + "ПланВидовХарактеристик1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланВидовХарактеристик1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланВидовХарактеристик1.Формы.ФормаЭлемента" + ], + "ПланыСчетов": [ + "ПланСчетов1", + "ПланСчетов1.Реквизиты.Реквизит1", + "ПланСчетов1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланСчетов1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланСчетов1.ПризнакиУчета.ПризнакУчета1", + "ПланСчетов1.ПризнакиУчетаСубконто.ПризнакУчетаСубконто1", + "ПланСчетов1.Формы.ФормаСчета" + ], + "ПланыВидовРасчета": [ + "ПланВидовРасчета1", + "ПланВидовРасчета1.Реквизиты.Реквизит1", + "ПланВидовРасчета1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланВидовРасчета1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланВидовРасчета1.Формы.ФормаВидаРасчета" + ], + "РегистрыСведений": [ + "РегистрСведений1", + "РегистрСведений1.Ресурсы.Ресурс1", + "РегистрСведений1.Реквизиты.Реквизит1", + "РегистрСведений1.Измерения.Измерение1", + "РегистрСведений1.Формы.ФормаЗаписи", + "РегистрСведений1.Команды.Команда1" + ], + "РегистрыНакопления": [ + "РегистрНакопления1", + "РегистрНакопления1.Ресурсы.Ресурс1", + "РегистрНакопления1.Реквизиты.Реквизит1", + "РегистрНакопления1.Измерения.Измерение1", + "РегистрНакопления1.Формы.ФормаСписка" + ], + "РегистрыБухгалтерии": [ + "РегистрБухгалтерии1", + "РегистрБухгалтерии1.Измерения.Измерение1", + "РегистрБухгалтерии1.Ресурсы.Ресурс1", + "РегистрБухгалтерии1.Реквизиты.Реквизит1", + "РегистрБухгалтерии1.Формы.ФормаСписка" + ], + "РегистрыРасчета": [ + "РегистрРасчета1", + "РегистрРасчета1.Ресурсы.Ресурс1", + "РегистрРасчета1.Реквизиты.Реквизит1", + "РегистрРасчета1.Измерения.Измерение1", + "РегистрРасчета1.Перерасчеты.Перерасчет1", + "РегистрРасчета1.Формы.ФормаСписка" + ], + "БизнесПроцессы": [ + "БизнесПроцесс1", + "БизнесПроцесс1.Реквизиты.Реквизит1", + "БизнесПроцесс1.ТабличныеЧасти.ТабличнаяЧасть1", + "БизнесПроцесс1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "БизнесПроцесс1.Формы.ФормаБизнесПроцесса", + "БизнесПроцесс1.Макеты.Макет", + "БизнесПроцесс1.Команды.Команда1" + ], + "Задачи": [ + "Задача1", + "Задача1.Реквизиты.Реквизит1", + "Задача1.ТабличныеЧасти.ТабличнаяЧасть1", + "Задача1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Задача1.Формы.ФормаЗадачи", + "Задача1.РеквизитыАдресации.РеквизитАдресации1", + "Задача1.Команды.Команда1" + ], + "ВнешниеИсточникиДанных": [ + "ВнешнийИсточникДанных1", + "ВнешнийИсточникДанных1.Таблицы.Таблица1", + "ВнешнийИсточникДанных1.Таблицы.Таблица1.Поля.Поле1", + "ВнешнийИсточникДанных1.Кубы.Куб1", + "ВнешнийИсточникДанных1.Функции.Функция1" + ] + }, + "КонфигурацияПоставщика2": { + "Подсистемы": [ + "Подсистема1" + ], + "ОбщиеМодули": [ + "ОбщийМодуль1" + ], + "ПараметрыСеанса": [ + "ПараметрСеанса1" + ], + "Роли": [ + "Роль1" + ], + "ОбщиеРеквизиты": [ + "ОбщийРеквизит1" + ], + "ПланыОбмена": [ + "ПланОбмена1", + "ПланОбмена1.Реквизиты.Реквизит1", + "ПланОбмена1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланОбмена1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланОбмена1.Формы.ФормаУзла", + "ПланОбмена1.Команды.Команда1" + ], + "КритерииОтбора": [ + "КритерийОтбора1", + "КритерийОтбора1.Формы.ФормаСписка", + "КритерийОтбора1.Команды.Команда1" + ], + "ПодпискиНаСобытия": [ + "ПодпискаНаСобытие1" + ], + "РегламентныеЗадания": [ + "РегламентноеЗадание1" + ], + "ФункциональныеОпции": [ + "ФункциональнаяОпция1" + ], + "ПараметрыФункциональныхОпций": [ + "ПараметрФункциональныхОпций1" + ], + "ОпределяемыеТипы": [ + "ОпределяемыйТип1" + ], + "ХранилищаНастроек": [ + "ХранилищеНастроек1", + "ХранилищеНастроек1.Формы.ФормаСохранения", + "ХранилищеНастроек1.Макеты.Макет" + ], + "ОбщиеФормы": [ + "Форма" + ], + "ОбщиеКоманды": [ + "ОбщаяКоманда1" + ], + "ГруппыКоманд": [ + "ГруппаКоманд1" + ], + "Интерфейсы": [], + "ОбщиеМакеты": [ + "Макет" + ], + "ОбщиеКартинки": [ + "ОбщаяКартинка1" + ], + "ПакетыXDTO": [ + "ПакетXDTO1" + ], + "WebСервисы": [ + "WebСервис1" + ], + "HTTPСервисы": [ + "HTTPСервис1" + ], + "WSСсылки": [], + "ЭлементыСтиля": [ + "ЭлементСтиля1" + ], + "Стили": [ + "Стиль1" + ], + "Языки": [ + "Русский" + ], + "Константы": [ + "Константа1" + ], + "Справочники": [ + "Справочник1", + "Справочник1.Реквизиты.Реквизит1", + "Справочник1.ТабличныеЧасти.ТабличнаяЧасть1", + "Справочник1.Формы.ФормаЭлемента", + "Справочник1.Макеты.Макет", + "Справочник1.Команды.Команда1" + ], + "Документы": [ + "Документ1", + "Документ1.Реквизиты.Реквизит1", + "Документ1.Формы.ФормаДокумента", + "Документ1.ТабличныеЧасти.ТабличнаяЧасть1", + "Документ1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1" + ], + "ЖурналыДокументов": [ + "ЖурналДокументов1", + "ЖурналДокументов1.Графы.Графа1", + "ЖурналДокументов1.Формы.ФормаСписка" + ], + "Перечисления": [ + "Перечисление1", + "Перечисление1.ЗначенияПеречисления.ЗначениеПеречисления1", + "Перечисление1.ЗначенияПеречисления.ЗначениеПеречисления2", + "Перечисление1.Формы.ФормаСписка", + "Перечисление1.Макеты.Макет" + ], + "Отчеты": [ + "Отчет1", + "Отчет1.Реквизиты.Реквизит1", + "Отчет1.ТабличныеЧасти.ТабличнаяЧасть1", + "Отчет1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Отчет1.Формы.ФормаОтчета", + "Отчет1.Макеты.ОсновнаяСхемаКомпоновкиДанных", + "Отчет1.Команды.Команда1" + ], + "Обработки": [ + "Обработка1", + "Обработка1.Реквизиты.Реквизит1", + "Обработка1.ТабличныеЧасти.ТабличнаяЧасть1", + "Обработка1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Обработка1.Формы.Форма", + "Обработка1.Макеты.Макет", + "Обработка1.Команды.Команда1" + ], + "ПланыВидовХарактеристик": [ + "ПланВидовХарактеристик1", + "ПланВидовХарактеристик1.Реквизиты.Реквизит1", + "ПланВидовХарактеристик1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланВидовХарактеристик1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланВидовХарактеристик1.Формы.ФормаЭлемента" + ], + "ПланыСчетов": [ + "ПланСчетов1", + "ПланСчетов1.Реквизиты.Реквизит1", + "ПланСчетов1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланСчетов1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланСчетов1.ПризнакиУчета.ПризнакУчета1", + "ПланСчетов1.ПризнакиУчетаСубконто.ПризнакУчетаСубконто1", + "ПланСчетов1.Формы.ФормаСчета" + ], + "ПланыВидовРасчета": [ + "ПланВидовРасчета1", + "ПланВидовРасчета1.Реквизиты.Реквизит1", + "ПланВидовРасчета1.ТабличныеЧасти.ТабличнаяЧасть1", + "ПланВидовРасчета1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "ПланВидовРасчета1.Формы.ФормаВидаРасчета" + ], + "РегистрыСведений": [ + "РегистрСведений1", + "РегистрСведений1.Ресурсы.Ресурс1", + "РегистрСведений1.Реквизиты.Реквизит1", + "РегистрСведений1.Измерения.Измерение1", + "РегистрСведений1.Формы.ФормаЗаписи", + "РегистрСведений1.Команды.Команда1" + ], + "РегистрыНакопления": [ + "РегистрНакопления1", + "РегистрНакопления1.Ресурсы.Ресурс1", + "РегистрНакопления1.Реквизиты.Реквизит1", + "РегистрНакопления1.Измерения.Измерение1", + "РегистрНакопления1.Формы.ФормаСписка" + ], + "РегистрыБухгалтерии": [ + "РегистрБухгалтерии1", + "РегистрБухгалтерии1.Измерения.Измерение1", + "РегистрБухгалтерии1.Ресурсы.Ресурс1", + "РегистрБухгалтерии1.Реквизиты.Реквизит1", + "РегистрБухгалтерии1.Формы.ФормаСписка" + ], + "РегистрыРасчета": [ + "РегистрРасчета1", + "РегистрРасчета1.Ресурсы.Ресурс1", + "РегистрРасчета1.Реквизиты.Реквизит1", + "РегистрРасчета1.Измерения.Измерение1", + "РегистрРасчета1.Перерасчеты.Перерасчет1", + "РегистрРасчета1.Формы.ФормаСписка" + ], + "БизнесПроцессы": [ + "БизнесПроцесс1", + "БизнесПроцесс1.Реквизиты.Реквизит1", + "БизнесПроцесс1.ТабличныеЧасти.ТабличнаяЧасть1", + "БизнесПроцесс1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "БизнесПроцесс1.Формы.ФормаБизнесПроцесса", + "БизнесПроцесс1.Макеты.Макет", + "БизнесПроцесс1.Команды.Команда1" + ], + "Задачи": [ + "Задача1", + "Задача1.Реквизиты.Реквизит1", + "Задача1.ТабличныеЧасти.ТабличнаяЧасть1", + "Задача1.ТабличныеЧасти.ТабличнаяЧасть1.Реквизиты.Реквизит1", + "Задача1.Формы.ФормаЗадачи", + "Задача1.РеквизитыАдресации.РеквизитАдресации1", + "Задача1.Команды.Команда1" + ], + "ВнешниеИсточникиДанных": [ + "ВнешнийИсточникДанных1", + "ВнешнийИсточникДанных1.Таблицы.Таблица1", + "ВнешнийИсточникДанных1.Таблицы.Таблица1.Поля.Поле1", + "ВнешнийИсточникДанных1.Кубы.Куб1", + "ВнешнийИсточникДанных1.Функции.Функция1" + ] + } +} \ No newline at end of file From f4fa856d0b1966a40510d9f16095ccb3d59f3126 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:20:23 +0300 Subject: [PATCH 304/421] fix readme --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index a6d8458fb..98429a771 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -34,7 +34,7 @@ - [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-бсп-конфигураций) - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) -- [Тесты для проверки объектов метаданных на соответствие внутренним стандартам и [стандартам 1С](https://its.1c.ru/db/v8std)](./tests/smoke/smoke_tests_for_v8std.md) +- [Тесты для проверки объектов метаданных на соответствие внутренним стандартам и стандартам 1С (https://its.1c.ru/db/v8std)](./tests/smoke/smoke_tests_for_v8std.md) Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. From aabd845821b067aa545086f3e7d1498f91da1593 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:22:33 +0300 Subject: [PATCH 305/421] fix readme 2 --- tests/smoke/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 98429a771..cf4ce3e10 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -34,7 +34,7 @@ - [Тесты печатных форм для БСП-конфигураций](#тесты-печатных-форм-для-бсп-конфигураций) - [Проверка чтения метаданных обычными пользователями, без полных прав](#проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) - [Проверка режима управления блокировкой данных в транзакции по умолчанию](#проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) -- [Тесты для проверки объектов метаданных на соответствие внутренним стандартам и стандартам 1С (https://its.1c.ru/db/v8std)](./tests/smoke/smoke_tests_for_v8std.md) + - [Тесты для проверки объектов метаданных на соответствие внутренним стандартам и стандартам 1С (https://its.1c.ru/db/v8std)](./smoke_tests_for_v8std.md) Существующая универсальная реализация дымовых тестов позволяет использовать базовые/«дымовые» проверки, для которых не требуется написание сложных тестов или перестройка схемы разработки конфигурации 1С. From a3a82e0adda24acf504720a4b22f49833bef12e7 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:28:59 +0300 Subject: [PATCH 306/421] fix smoke_tests_for_v8std --- tests/smoke/smoke_tests_for_v8std.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index 976fb2d14..dd8885a07 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -16,8 +16,8 @@ ## Ссылки на каталоги -* [Исходники тестов](./tests/smoke) -* [Файлы настроек тестов](./tools/JSON) +* [Исходники тестов](../tests/smoke) +* [Файлы настроек тестов](../tools/JSON) From 561f5c05dd7068a4e87c93f048f6dd2607b0f915 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:29:38 +0300 Subject: [PATCH 307/421] fix smoke_tests_for_v8std --- tests/smoke/smoke_tests_for_v8std.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index dd8885a07..71642aa27 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -16,8 +16,8 @@ ## Ссылки на каталоги -* [Исходники тестов](../tests/smoke) -* [Файлы настроек тестов](../tools/JSON) +* [Исходники тестов](.../tests/smoke) +* [Файлы настроек тестов](.../tools/JSON) From 63ec869c673a0ad9776dc3df4c8c5af9555c4a3f Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:32:53 +0300 Subject: [PATCH 308/421] fix smoke_tests_for_v8std 3 --- tests/smoke/smoke_tests_for_v8std.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index 71642aa27..8d782176d 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -16,8 +16,8 @@ ## Ссылки на каталоги -* [Исходники тестов](.../tests/smoke) -* [Файлы настроек тестов](.../tools/JSON) +* [Исходники тестов](../../tests/smoke) +* [Файлы настроек тестов](../../tools/JSON) From af84c018f2c3c53f6d27ee6a744164a66530156d Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Sun, 12 Sep 2021 23:35:18 +0300 Subject: [PATCH 309/421] fix smoke_tests_for_v8std 4 --- tests/smoke/smoke_tests_for_v8std.md | 62 ++++++++++++++-------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index 8d782176d..b33c1a071 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -36,7 +36,7 @@ + **1.1. Проверка [стандартных ролей](https://its.1c.ru/db/v8std#content:488:hdoc)** -([Тесты_ПроверкаСтандартныхРолей](./SmokeTests/Тесты_ПроверкаСтандартныхРолей)) +([Тесты_ПроверкаСтандартныхРолей](./Тесты_ПроверкаСтандартныхРолей)) + Тест проверяет состав основных ролей конфигурации, типовые роли и права на корень конфигурации, остальные роли и права на корень конфигурации. + Настройки: @@ -48,7 +48,7 @@ + **1.2. Проверка [общих реквизитов](https://its.1c.ru/db/v8std#content:677:hdoc)** -([Тесты_ПроверкаОбщихРеквизитов](./SmokeTests/Тесты_ПроверкаОбщихРеквизитов)) +([Тесты_ПроверкаОбщихРеквизитов](./Тесты_ПроверкаОбщихРеквизитов)) + Тест проверяет, что у общих реквизитов включено использование разделения данных. + Настройки: @@ -60,7 +60,7 @@ + **1.3. Проверка [права интерактивно удаления](https://its.1c.ru/db/v8std#content:689:hdoc)** -([Тесты_ПроверкаПраваИнтерактивногоУдаления](./SmokeTests/Тесты_ПроверкаПраваИнтерактивногоУдаления)) +([Тесты_ПроверкаПраваИнтерактивногоУдаления](./Тесты_ПроверкаПраваИнтерактивногоУдаления)) + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление объектов базы данных. + Настройки: @@ -69,7 +69,7 @@ + **1.4. Проверка [права интерактивно удаления помеченных](https://its.1c.ru/db/v8std#content:488:hdoc)** -([Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](./SmokeTests/Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)) +([Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](./Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)) + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление помеченных объектов базы данных. + Настройки: @@ -78,7 +78,7 @@ + **1.5. Проверка [прав на предопределенные данные объектов](https://its.1c.ru/db/v8std#content:488:hdoc)** -([Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](./SmokeTests/Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)) +([Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](./Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)) + Тест проверяет, что у ролей кроме основных нет следующих прав на предопределенные данные объектов: * Интерактивное удаление предопределенных данных @@ -91,7 +91,7 @@ + **1.6. Проверка [привилегированного режима объектов](https://its.1c.ru/db/v8std#content:485:hdoc)** -([Тесты_ПроверкаПривилегированногоРежимаОбъектов](./SmokeTests/Тесты_ПроверкаПривилегированногоРежимаОбъектов)) +([Тесты_ПроверкаПривилегированногоРежимаОбъектов](./Тесты_ПроверкаПривилегированногоРежимаОбъектов)) + Тест проверяет, что у объектов метаданных установлен привилегированный режим. + Настройки: @@ -103,7 +103,7 @@ + **1.7. Проверка [регламентных заданий](https://its.1c.ru/db/v8std#content:540:hdoc)** -([Тесты_ПроверкаРегламентныхЗаданий](./SmokeTests/Тесты_ПроверкаРегламентныхЗаданий)) +([Тесты_ПроверкаРегламентныхЗаданий](./Тесты_ПроверкаРегламентныхЗаданий)) + Тест проверяет, что у регламентного задания не установлен признак "Использование". + Настройки: @@ -115,7 +115,7 @@ + **1.8. Проверка [составных типов данных](https://its.1c.ru/db/v8std#content:728:hdoc)** -([Тесты_ПроверкаСоставныхТиповДанных](./SmokeTests/Тесты_ПроверкаСоставныхТиповДанных)) +([Тесты_ПроверкаСоставныхТиповДанных](./Тесты_ПроверкаСоставныхТиповДанных)) + Тест проверяет, что реквизиты и свойства объектов метаданных: * Не используют составной тип данных "ЛюбаяСсылка", "ДокументСсылка" и т.д. @@ -131,7 +131,7 @@ + **1.9. Проверка [синонима устаревших объектов метаданных](https://its.1c.ru/db/v8std#content:534:hdoc)** -([Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](./SmokeTests/Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)) +([Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](./Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)) + Тест проверяет, что у устаревших (с префиксом "Удалить") объектов и свойств метаданных синоним содержит префикс "(не используется)". + Настройки: @@ -143,7 +143,7 @@ + **1.10. Проверка [прав к устаревшим объектам](https://its.1c.ru/db/v8std#content:689:hdoc)** -([Тесты_ПроверкаПравКУстаревшимОбъектам](./SmokeTests/Тесты_ПроверкаПравКУстаревшимОбъектам)) +([Тесты_ПроверкаПравКУстаревшимОбъектам](./Тесты_ПроверкаПравКУстаревшимОбъектам)) + Тест проверяет, что у неосновных ролей нет прав на объекты метаданных с префиксом "Удалить". + Настройки: @@ -153,7 +153,7 @@ + **1.11. Проверка прав на чтение объектов** -([Тесты_ПроверкаПравНаЧтениеОбъектов](./SmokeTests/Тесты_ПроверкаПравНаЧтениеОбъектов)) +([Тесты_ПроверкаПравНаЧтениеОбъектов](./Тесты_ПроверкаПравНаЧтениеОбъектов)) + Тест проверяет, что у неосновных ролей есть право чтение объектов метаданных. + Настройки: @@ -167,7 +167,7 @@ + **1.12. Проверка [пользовательских представлений новых объектов](https://its.1c.ru/db/v8std#content:468:hdoc)** -([Тесты_ПроверкаПользовательскихПредставленийОбъектов](./SmokeTests/Тесты_ПроверкаПользовательскихПредставленийОбъектов)) +([Тесты_ПроверкаПользовательскихПредставленийОбъектов](./Тесты_ПроверкаПользовательскихПредставленийОбъектов)) + Тест проверяет, что у нового объекта метаданных задано одно из следующих свойств: "Представление объекта", "Представление записи", "Представление списка". + Настройки: @@ -179,7 +179,7 @@ + **1.13. Проверка [реквизитов документов: комментарий, ответственный](https://its.1c.ru/db/v8std#content:719:hdoc)** -([Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](./SmokeTests/Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)) +([Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](./Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)) + Тест проверяет, что у документов есть реквизиты: "Комментарий", "Ответственный". + Настройки: @@ -194,7 +194,7 @@ + **1.14. Проверка включения объектов в [командный интерфейс](https://its.1c.ru/db/v8std#content:543:hdoc)** -([Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](./SmokeTests/Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)) +([Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](./Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)) + Тест проверяет, что объекты конфигурации включены в командный интерфейс или в служебные подсистемы. + Настройки: @@ -209,7 +209,7 @@ ### 2. Тесты для проверки объектов метаданных на соответствие внутренним стандартам + **2.1. Проверка префикса в новых объектах и реквизитах** -([Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./SmokeTests/Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)) +([Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)) + Тест проверяет, что у нового объекта метаданных или реквизита установлен префикс. + Настройки: @@ -221,7 +221,7 @@ + **2.2. Проверка включения новых объектов с префиксом в подсистему** -([Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](./SmokeTests/Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)) +([Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](./Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)) + Тест проверяет, что новый объект метаданных с префиксом включен в подсистему. + Настройки: @@ -233,7 +233,7 @@ + **2.3. Проверка синонима новых объектов и реквизитов** -([Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](./SmokeTests/Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)) +([Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](./Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)) + Тест проверяет, что у новых объектов и свойств метаданных синоним не содержит префикса. + Настройки: @@ -244,7 +244,7 @@ + **2.4. Проверка префикса свойств новых объектов** -([Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](./SmokeTests/Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)) +([Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](./Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)) + Тест проверяет, что у новых с (префиксом) объектов метаданных табличные части и свойства не содержат префикса. + Настройки: @@ -255,7 +255,7 @@ + **2.5. Проверка основных форм отчетов** -([Тесты_ПроверкаОсновныхФормОтчетов](./SmokeTests/Тесты_ПроверкаОсновныхФормОтчетов)) +([Тесты_ПроверкаОсновныхФормОтчетов](./Тесты_ПроверкаОсновныхФормОтчетов)) + Тест проверяет, что у отчетов или конфигурации установлены основные формы: "ОсновнаяФорма/ОсновнаяФормаОтчета", "ОсновнаяФормаНастроек/ОсновнаяФормаНастроекОтчета", "ОсновнаяФормаВарианта/ОсновнаяФормаВариантаОтчета". + Настройки: @@ -272,7 +272,7 @@ + **2.6. Проверка хранилища вариантов отчетов** -([Тесты_ПроверкаХранилищаВариантовОтчетов](./SmokeTests/Тесты_ПроверкаХранилищаВариантовОтчетов)) +([Тесты_ПроверкаХранилищаВариантовОтчетов](./Тесты_ПроверкаХранилищаВариантовОтчетов)) + Тест проверяет, что у отчетов или конфигурации установлено хранилище вариантов отчетов. + Настройки: @@ -287,7 +287,7 @@ + **2.7. Проверка прав на чтение объектов с RLS** -([Тесты_ПроверкаПравНаЧтениеОбъектовRLS](./SmokeTests/Тесты_ПроверкаПравНаЧтениеОбъектовRLS)) +([Тесты_ПроверкаПравНаЧтениеОбъектовRLS](./Тесты_ПроверкаПравНаЧтениеОбъектовRLS)) + Тест проверяет, что у неосновных ролей нет права чтение объектов метаданных без RLS. + Настройки: @@ -298,7 +298,7 @@ + **2.8. Проверка макетов СКД внешних отчетов и обработок** -([Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](./SmokeTests/Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)) +([Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](./Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)) + Тест проверяет макет СКД у внешних отчетов и обработок. + Настройки: @@ -310,7 +310,7 @@ + **2.9. Проверка объектов метаданных конфигурации поставщика** -([Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](./SmokeTests/Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)) +([Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](./Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)) + Тест проверяет, что объекты метаданных конфигурации поставщика не были удалены из конфигурации. + Настройки: @@ -319,7 +319,7 @@ + **2.10. Проверка каноничности префикса новых объектов и реквизитов** -([Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](./SmokeTests/Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)) +([Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](./Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)) + Тест проверяет, что префикс новых объектов метаданных соответствует каноничному написанию. + Настройки: @@ -330,7 +330,7 @@ + **2.11. Проверка индексирования устаревших объектов метаданных** -([Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](./SmokeTests/Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)) +([Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](./Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)) + Тест проверяет, что у устаревших объектов метаданных отключено индексирование свойств. + Настройки: @@ -342,7 +342,7 @@ + **2.12. Проверка устаревших типов данных** -([Тесты_ПроверкаУстаревшихТиповДанных](./SmokeTests/Тесты_ПроверкаУстаревшихТиповДанных)) +([Тесты_ПроверкаУстаревшихТиповДанных](./Тесты_ПроверкаУстаревшихТиповДанных)) + Тест проверяет, что у реквизитов и свойств объектов метаданных с устаревшим типом данных установлен префикс имени "Удалить" и префикс синонима "(не используется)". + Настройки: @@ -354,7 +354,7 @@ + **2.13. Проверка авторегистрации планов обмена** -([Тесты_ПроверкаАвтоРегистрацииПлановОбмена](./SmokeTests/Тесты_ПроверкаАвтоРегистрацииПлановОбмена)) +([Тесты_ПроверкаАвтоРегистрацииПлановОбмена](./Тесты_ПроверкаАвтоРегистрацииПлановОбмена)) + Тест проверяет, что у объектов метаданных входящих в состав планов обмена отключена авторегистрация. + Настройки: @@ -366,7 +366,7 @@ + **2.14. Переход на управляемые формы** -([Тесты_ПереходНаУправляемыеФормы](./SmokeTests/Тесты_ПереходНаУправляемыеФормы)) +([Тесты_ПереходНаУправляемыеФормы](./Тесты_ПереходНаУправляемыеФормы)) + Тест проверяет, что все формы конфигурации управляемые. + Настройки: @@ -379,7 +379,7 @@ + **2.15. Проверка периодичности нумерации документов** -([Тесты_ПроверкаПериодичностиНумерацииДокументов](./SmokeTests/Тесты_ПроверкаПериодичностиНумерацииДокументов)) +([Тесты_ПроверкаПериодичностиНумерацииДокументов](./Тесты_ПроверкаПериодичностиНумерацииДокументов)) + Тест проверяет, что у всех документов в конфигурации установлена периодическая нумерация. + Настройки: @@ -392,7 +392,7 @@ + **2.16. Проверка регистров для отчета ["Движения документа"](https://its.1c.ru/db/bsp246doc#content:50:1)** -([Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](./SmokeTests/Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)) +([Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](./Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)) + Тест проверяет, что у регистров подчиненных регистратору: * Выключено использование стандартных команд. @@ -632,7 +632,7 @@ - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** -+ **"КонфигурацияПоставщика"** - Путь к файлу со структурой конфигурации поставщика. Настройка задается свойством "КонфигурацияПоставщика": "ПолноеИмяФайла.json" (можно указывать как относительный путь к файлу). Файл конфигурации поставщика можно получить путем интерактивного запуска обработки **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./SmokeTests/Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)**, и с помощью команды "Выбор файла" открыть файл отчета конфигурации поставщика в текстовом формате. Файл "ОтчетПоКонфигурации.txt" можно получить в конфигураторе: открыть конфигурацию поставщика, выполнить команду Конфигурация/Отчет по конфигурации/Выводить в текстовый документ. Настройка доступна для тестов: ++ **"КонфигурацияПоставщика"** - Путь к файлу со структурой конфигурации поставщика. Настройка задается свойством "КонфигурацияПоставщика": "ПолноеИмяФайла.json" (можно указывать как относительный путь к файлу). Файл конфигурации поставщика можно получить путем интерактивного запуска обработки **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)**, и с помощью команды "Выбор файла" открыть файл отчета конфигурации поставщика в текстовом формате. Файл "ОтчетПоКонфигурации.txt" можно получить в конфигураторе: открыть конфигурацию поставщика, выполнить команду Конфигурация/Отчет по конфигурации/Выводить в текстовый документ. Настройка доступна для тестов: - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** - **[Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](#Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)** From 00ccbc51c68f9c4fad601cc72c525c20fb08ecd6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Sep 2021 23:21:05 +0300 Subject: [PATCH 310/421] =?UTF-8?q?=D0=91=D0=B5=D0=BB=D1=8B=D0=B9=20=D1=81?= =?UTF-8?q?=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B4=D0=BB=D1=8F=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B0=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F=20=D1=84=D0=BE=D1=80=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - заготовка - только указанные #840 --- ... \321\204\320\276\321\200\320\274.feature" | 84 +++++ spec/fixtures/smoke-include.json | 129 +++++++ spec/fixtures/smoke.json | 1 + .../Ext/ObjectModule.bsl" | 1 + .../Ext/Form/Module.bsl" | 333 ++++++++++++++++-- 5 files changed, 527 insertions(+), 21 deletions(-) create mode 100644 "features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" create mode 100644 spec/fixtures/smoke-include.json diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" new file mode 100644 index 000000000..814d280d6 --- /dev/null +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -0,0 +1,84 @@ +# language: ru + +Функционал: Дымовой тест открытия форм + Как Разработчик/Инженер по тестированию + Я Хочу иметь возможность автоматической проверки запуска тестов через Ванесса-АДД + Чтобы удостовериться в качестве подготовленной конфигурации + +Контекст: + Допустим я подготовил репозиторий и рабочий каталог проекта + # И я подготовил рабочую базу проекта "./build/ib" по умолчанию + + # И Я копирую каталог "xdd_test" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога + # И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога + # И Я копирую файл "xUnitParams.json" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога + + И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" + Дано Я очищаю параметры команды "vrunner" в контексте + +Сценарий: Тестирование документов - настроены исключения + + # Дано файл "build/xdd_test.epf" не существует + # Дано Я очищаю параметры команды "vrunner" в контексте + # Когда Я выполняю команду "vrunner" с параметрами "<КаталогПроекта>/src/main.os compileepf build/xdd_test build --language ru" + # И Я очищаю параметры команды "vrunner" в контексте + # Дано файл "build/xdd_test.epf" существует + + Когда Я добавляю параметр "xunit" для команды "vrunner" + # Когда Я добавляю параметр "<КаталогПроекта>/src/main.os xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" + # И Я добавляю параметр "build/xdd_test.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke.json" для команды "vrunner" + # И Я добавляю параметр "--xddConfig build/xUnitParams.json" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" + # И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Открытие форм конфигурации" | + | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | + | ==>> набор тестов Документы | + | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | + | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | + | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | + | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | + | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | + | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + + И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - настроена проверка только указанных + + Когда Я добавляю параметр "xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include.json" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" + И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Открытие форм конфигурации" | + | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | + | ==>> набор тестов Документы | + | -->> тест Документ.Документ1 : открытие формы объекта при создании | + # | -->> тест Документ.Документ1 : открытие формы записанного объекта | + | -->> тест Документ.Документ1 : открытие формы списка | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | + | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | + | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | + | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | + | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | + | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + + И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-include.json b/spec/fixtures/smoke-include.json new file mode 100644 index 000000000..1e00c3a91 --- /dev/null +++ b/spec/fixtures/smoke-include.json @@ -0,0 +1,129 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "ПроверятьТолькоУказанные" : { + "Документы": { + "Основные": [ + "*умент1*" + ], + "Списки": [ + "*умент1*" + ], + "Новые": [ + "*умент1*" + ], + "Существующие": [ + "*умент1*" + ], + "ПеренестиДату": [ + "*окумент1*" + ] + }, + "Справочники": false, + "Документы1": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false + }, + + "ИсключатьПоИмени1" : { + "Документы": { + "Списки": [ + "*умент1*" + ], + "Новые": [ + "*умент1*" + ], + "Существующие": [ + "*умент1*" + ], + "ПеренестиДату": [ + "*окумент1*" + ] + }, + "Справочники": false, + "Документы1": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false + }, + + "Справочники": false, + "Документы1": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + }, + + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], + "ОбщиеКоманды":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы":[ + "ОбщаяФорма1" + ], + "Справочники": + [ + "*ростой*равочник*" + ], + "Документы": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ВнешниеИсточникиДанных": false + } +} diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json index 3d2923999..2f7648cfe 100644 --- a/spec/fixtures/smoke.json +++ b/spec/fixtures/smoke.json @@ -63,6 +63,7 @@ "БизнесПроцессы": false, "Отчеты": false, "Обработки": false, + "ПропускаемыеИсключения" : [ "Обработка не предназначена для непосредственного использования", "Самостоятельное использование формы не предусмотрено" diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 2a84d4d36..df5a1e547 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1009,6 +1009,7 @@ Рез = Новый Структура; //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); + Рез.Вставить("ПроверятьТолькоУказанные", Новый Структура); Возврат Новый ФиксированнаяСтруктура(Рез); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6b0cb5960..2e492ecaf 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -91,9 +91,12 @@ Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда ОписанияТестов = Новый Массив; + + НастройкиГруппыТестов = НовыеНастройкиГруппыТестов(); + НастройкиГруппыТестов.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); ДобавитьТестыДляДокументовСервер( - ОписанияТестов, ТолькоУправляемыеФормы, + ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); Если ЗначениеЗаполнено(ОписанияТестов) Тогда @@ -305,7 +308,7 @@ КонецФункции &НаСервере -Процедура ДобавитьТестыДляДокументовСервер(ОписанияТестов, ТолькоУправляемыеФормы, +Процедура ДобавитьТестыДляДокументовСервер(ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); @@ -314,42 +317,46 @@ СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки(); - + + ТолькоУправляемыеФормы = НастройкиГруппыТестов.ТолькоУправляемыеФормы; + Счетчик = 0; МенеджерМетаданного = Метаданные.Документы; - Для Каждого МетаОбъект Из МенеджерМетаданного Цикл + ОтобранныеМетаданные = ОтобратьМетаданные("Документы", МенеджерМетаданного, Объект.Настройки, ОсновнойОбъект); + + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл + МетаОбъект = ОписаниеМетаданного.МетаОбъект; + ИмяМетаОбъекта = ОписаниеМетаданного.Имя; КоличествоЭлементовДо = ОписанияТестов.Количество(); - НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Документы", "Документ." + МетаОбъект.Имя, + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Документы", "Документ." + ИмяМетаОбъекта, ОписанияТестов, НастройкаГруппировки, Счетчик); + + //НастройкиТеста = НовыеНастройкиТеста(); Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - имяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента"; - ПрефиксПредставленияТеста = "Новые"; - СписокИсключений = СписокИсключений_Новые; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; - ПроверяемоеПравоДоступа = "ИнтерактивноеДобавление"; - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); + //ИмяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента"; + //ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, + // ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, имяТеста, "Новые", КонтекстЯдра); + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуНовогоДокумента", "Новые"); + + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); КонецЕсли; имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента"; - ПрефиксПредставленияТеста = "Существующие"; - СписокИсключений = СписокИсключений_Существующие; - ИменаОсновныхФорм = ИменаОсновныхФорм_Объекты_Сервер; ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); + ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, имяТеста, "Существующие", КонтекстЯдра); имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; - ПрефиксПредставленияТеста = "Списки"; - СписокИсключений = СписокИсключений_Списки; - ИменаОсновныхФорм = мИменаОсновныхФорм_Списки_Сервер; ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯдра); + ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, имяТеста, "Списки", КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -491,6 +498,7 @@ КонецЦикла; КонецПроцедуры +// TODO ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки вместо этого метода &НаСервере Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯДра) @@ -502,12 +510,32 @@ СписокИменМетаФорм = Новый СписокЗначений; Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра); + ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста); Возврат Успешно; КонецФункции +&НаСервере +Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки(ОписанияТестов, ОсновнойОбъект, МетаОбъект, + НастройкиТеста, КонтекстЯДра) + + Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда + Возврат Ложь; + КонецЕсли; + + СписокИменМетаФорм = Новый СписокЗначений; + + Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, + НастройкиТеста, КонтекстЯдра); + + ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста); + + Возврат Успешно; +КонецФункции + +// TODO ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки вместо этого метода &НаСервере Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, имяТеста, ПрефиксПредставленияТеста) @@ -524,6 +552,25 @@ КонецЦикла; КонецПроцедуры +&НаСервере +Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста) + + ПрефиксПредставленияТеста = НастройкиТеста.ПрефиксПредставленияТеста; + + Для каждого Элемент Из СписокИменМетаФорм Цикл + МетаФорма_ПолноеИмя = Элемент.Значение; + ПредставлениеТеста = МетаФорма_ПолноеИмя; + Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда + ПредставлениеТеста = МетаФорма_ПолноеИмя + " : " + ПодробноеПредставлениеПрефикса(ПрефиксПредставленияТеста); + КонецЕсли; + + лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, НастройкиТеста.ИмяТеста, + Истина, МетаФорма_ПолноеИмя); + ОписанияТестов.Добавить(лПараметры); + КонецЦикла; +КонецПроцедуры + +// TODO ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки вместо этого метода &НаСервереБезКонтекста Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра) @@ -611,6 +658,95 @@ КонецФункции +&НаСервереБезКонтекста +Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, + НастройкиТеста, КонтекстЯдра) + + СписокИсключений = НастройкиТеста.СписокИсключений; + + Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда + Возврат Ложь; + КонецЕсли; + + Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда + Возврат Ложь; + КонецЕсли; + + Мета_ПолноеИмя = МетаОбъект.ПолноеИмя(); + + Результат = Ложь; + + МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, НастройкиТеста.ИменаОсновныхФорм); + + ФормыДобавлены = Ложь; + + Для каждого МетаФорма Из МетаФормы Цикл + + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); + + // В режиме клиента тестирования не нужно добавлять .Форма, + // а необходимо указывать имя отчета, для формирования навигационной ссылки. + Если Не ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда + Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда + МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; + + // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. + //ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда + // МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; + + КонецЕсли; + КонецЕсли; + + //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета> + //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма + + Если НастройкиТеста.ТолькоУправляемыеФормы Тогда + Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда + Продолжить; + КонецЕсли; + КонецЕсли; + + // исторически в списке исключений имя формы без имени коллекции объектов метаданных + // "Справочник1.Форма.ФормаЭлемента", а не "Справочник.Справочник1.Форма.ФормаЭлемента" + Если СписокИсключений.НайтиПоЗначению(Сред(МетаФорма_ПолноеИмя, Найти(МетаФорма_ПолноеИмя, ".") + 1)) + <> Неопределено Тогда + Продолжить; + КонецЕсли; + + // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации + Если Лев(НРег(МетаФорма_ПолноеИмя), СтрДлина(Мета_ПолноеИмя)) <> НРег(Мета_ПолноеИмя) Тогда + Продолжить; + КонецЕсли; + + ФормыДобавлены = Истина; + + СписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); + Результат = Истина; + + КонецЦикла; + + //добавить общие формы к отчётам, если они не указаны + ДлинаСловаОтчет = 6; + Если Метаданные.Отчеты.Найти(МетаОбъект.Имя) <> Неопределено И Лев(Мета_ПолноеИмя, ДлинаСловаОтчет) = "Отчет." Тогда + ФормыДобавлены = ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования); + Если НЕ Результат Тогда + Результат = ФормыДобавлены; + КонецЕсли; + КонецЕсли; + + // Добавляем наименование отчета для режима клиента тестирования, без указания формы. + // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации. + // Также нужно добавить стандартные формы для всяких объектов - справочники, документы + Если Не ФормыДобавлены + И ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда + СписокИменМетаФорм.Добавить(Мета_ПолноеИмя); + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + //} //{ РаботаСФормами @@ -880,6 +1016,7 @@ Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); КонецЕсли; + ПлагинНастроек.ПоказатьСвойстваВРежимеОтладки(Объект.Настройки); КонецПроцедуры &НаСервере @@ -987,15 +1124,169 @@ &НаСервереБезКонтекста Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) - Если КоллекцияДляПоиска = Ложь Тогда + Если КоллекцияДляПоиска = Ложь Тогда // TODO для включения не подходит ( Возврат Истина; КонецЕсли; + Возврат НайтиИмяВКоллекции(ЧтоИщем, КоллекцияДляПоиска, КонтекстЯдра); + + //КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + //Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции + +&НаСервереБезКонтекста +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) + + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Возврат Ложь; + КонецЕсли; + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); КонецФункции +&НаСервереБезКонтекста +Функция ВключаемПоИмени(Знач КлючМетаданных, Знач ИмяМетаданного, Знач Настройки, Знач КонтекстЯдра = Неопределено) + + ФмльтрМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоУказанные"); + ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФмльтрМетаданных); + + Если ЕстьОтборТолькоДляВключенияМетаданных Тогда + Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрМетаданных, КонтекстЯдра); + КонецЕсли; + + ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); // TODO + Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) + И НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрИсключаемыхМетаданных, КонтекстЯдра) Тогда + + Возврат Ложь; + КонецЕсли; + + Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас + +КонецФункции + +&НаСервереБезКонтекста +Функция НайтиКоллекциюФмльтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) + + ИМЯ_ОБЩЕЙ_НАСТРОЙКИ = "Основные"; + + ОбщаяКоллекция = НайтиОбщуюКоллекциюНастроек(Настройки, ИмяОбщейКоллекции); + + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда + Возврат Новый Структура; + КонецЕсли; + + ВсеНастройкиВОбщейКоллекции = Неопределено; + Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ВсеНастройкиВОбщейКоллекции) Или Не ЗначениеЗаполнено(ВсеНастройкиВОбщейКоллекции) Тогда + ВсеНастройкиВОбщейКоллекции = Новый Структура; + КонецЕсли; + + ФмльтрМетаданных = Неопределено; + Если Не ВсеНастройкиВОбщейКоллекции.Свойство(ИМЯ_ОБЩЕЙ_НАСТРОЙКИ, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда + ФмльтрМетаданных = Новый Массив; + КонецЕсли; + + Возврат ФмльтрМетаданных; + +КонецФункции + +&НаСервереБезКонтекста +Функция НайтиОбщуюКоллекциюНастроек(Знач Настройки, Знач ИмяНастройки) + + Результат = Неопределено; + + // TODO использовать метод плагина Настройки.ЕстьНастройка + Если Не Настройки.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = Новый Структура; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция ОтобратьМетаданные(КлючМетаданных, МенеджерМетаданного, Настройки, ОсновнойОбъект) + + Результат = Новый Массив; + + Для Каждого МетаОбъект Из МенеджерМетаданного Цикл + ИмяМетаОбъекта = МетаОбъект.Имя; + + Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) + //Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) + Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки) + Или Не ПравоДоступа("Просмотр", МетаОбъект) Тогда + + Продолжить; + КонецЕсли; + + НовоеОписаниеМетаданного = НовоеОписаниеМетаданного(); + НовоеОписаниеМетаданного.Вставить("МетаОбъект", МетаОбъект); + НовоеОписаниеМетаданного.Вставить("Имя", ИмяМетаОбъекта); + + Результат.Добавить(НовоеОписаниеМетаданного); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаСервереБезКонтекста +Функция НовоеОписаниеМетаданного() + + Результат = Новый Структура; + Результат.Вставить("МетаОбъект", Неопределено); + Результат.Вставить("Имя", ""); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция НовыеНастройкиГруппыТестов() + + Результат = Новый Структура; + Результат.Вставить("СписокИсключений", Новый СписокЗначений); + Результат.Вставить("ТолькоУправляемыеФормы", Истина); + Результат.Вставить("КоллекцияПроверятьТолькоУказанные", Объект.Настройки.ПроверятьТолькоУказанные); + + Возврат Результат; + +КонецФункции + +&НаСервере +Функция НовыеНастройкиТеста() + + Результат = Новый Структура; + Результат.Вставить("ТолькоУправляемыеФормы", Истина); + Результат.Вставить("СписокИсключений", Новый СписокЗначений); + Результат.Вставить("ИменаОсновныхФорм", Новый Массив); + Результат.Вставить("ИмяТеста", ""); + Результат.Вставить("ПрефиксПредставленияТеста", ""); + + Возврат Результат; + +КонецФункции + +&НаСервере +Функция НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста) + + Результат = НовыеНастройкиТеста(); + + Результат.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); + Результат.Вставить("СписокИсключений", СписокИсключений); + Результат.Вставить("ИменаОсновныхФорм", ИменаОсновныхФорм); + Результат.Вставить("ИмяТеста", ИмяТеста); + Результат.Вставить("ПрефиксПредставленияТеста", ПрефиксПредставленияТеста); + + Возврат Результат; + +КонецФункции + #КонецОбласти //} From 4e9801372122c96912473dd8f235554020e6ffbc Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 19 Sep 2021 23:22:20 +0300 Subject: [PATCH 311/421] =?UTF-8?q?=D0=A3=D0=A4:=20=D0=9F=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0=D0=B7=D0=B0=D1=82=D1=8C=D0=A1=D0=B2=D0=BE=D0=B9=D1=81?= =?UTF-8?q?=D1=82=D0=B2=D0=B0=D0=92=D0=A0=D0=B5=D0=B6=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=9E=D1=82=D0=BB=D0=B0=D0=B4=D0=BA=D0=B8=20=D1=81=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B0=D0=BD=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + добавлен показ типа и дополнен кодом из ОФ --- .../Ext/ObjectModule.bsl" | 18 +++--- .../Ext/Form/Module.bsl" | 57 +++++++++++++++---- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" index 3988b3f14..f3cd921e0 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Ext/ObjectModule.bsl" @@ -199,11 +199,12 @@ Если ТипПараметра = Тип("ФиксированныйМассив") Тогда Для Каждого Значение Из ПараметрыПараметр Цикл - Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Или - ТипЗнч(Значение) = Тип("Структура") Или - ТипЗнч(Значение) = Тип("ФиксированнаяСтруктура") Тогда + ТипЗнчЗначение = ТипЗнч(Значение); + Если ТипЗнчЗначение = Тип("ФиксированныйМассив") Или + ТипЗнчЗначение = Тип("Структура") Или + ТипЗнчЗначение = Тип("ФиксированнаяСтруктура") Тогда - КонтекстЯдра.Отладка(Отступ + "количество = <" + Значение.Количество() + ">"); + КонтекстЯдра.Отладка(СтрШаблон("%1тип %2, количество = <%3>", Отступ, ТипЗнчЗначение, Значение.Количество())); ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); Иначе КонтекстЯдра.Отладка(Отступ + "Значение = <" + Значение + ">"); @@ -213,11 +214,12 @@ Если (ТипПараметра = Тип("Структура") ИЛИ ТипПараметра = Тип("ФиксированнаяСтруктура")) Тогда Для Каждого КлючЗначение Из ПараметрыПараметр Цикл Значение = КлючЗначение.Значение; - Если ТипЗнч(Значение) = Тип("ФиксированныйМассив") Или - ТипЗнч(Значение) = Тип("Структура") Или - ТипЗнч(Значение) = Тип("ФиксированнаяСтруктура") Тогда + ТипЗнчЗначение = ТипЗнч(Значение); + Если ТипЗнчЗначение = Тип("ФиксированныйМассив") Или + ТипЗнчЗначение = Тип("Структура") Или + ТипЗнчЗначение = Тип("ФиксированнаяСтруктура") Тогда - КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, количество = <" + Значение.Количество() + ">"); + КонтекстЯдра.Отладка(СтрШаблон("%1Ключ <%2>, тип %3, количество = <%4>", Отступ, КлючЗначение.Ключ, ТипЗнчЗначение, Значение.Количество())); ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); Иначе КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, Значение = <" + Значение + ">"); diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c9c8898dd..9a747b131 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -258,6 +258,52 @@ Возврат бЕстьНастройка; КонецФункции +// Процедура - Показать свойства в режиме отладки +// +// Параметры: +// ПараметрыПараметр - - +// Отступ - - +// +&НаКлиенте +Процедура ПоказатьСвойстваВРежимеОтладки(Знач ПараметрыПараметр, Знач Отступ = "") Экспорт + ТипПараметра = ТипЗнч(ПараметрыПараметр); + + Если ТипПараметра = Тип("ФиксированныйМассив") Тогда + Для Каждого Значение Из ПараметрыПараметр Цикл + ТипЗнчЗначение = ТипЗнч(Значение); + Если ТипЗнчЗначение = Тип("ФиксированныйМассив") Или + ТипЗнчЗначение = Тип("Структура") Или + ТипЗнчЗначение = Тип("ФиксированнаяСтруктура") Тогда + + КонтекстЯдра.Отладка(СтрШаблон("%1тип %2, количество = <%3>", Отступ, ТипЗнчЗначение, Значение.Количество())); + ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); + Иначе + КонтекстЯдра.Отладка(Отступ + "Значение = <" + Значение + ">"); + КонецЕсли; + КонецЦикла; + Иначе + Если (ТипПараметра = Тип("Структура") ИЛИ ТипПараметра = Тип("ФиксированнаяСтруктура")) Тогда + Для Каждого КлючЗначение Из ПараметрыПараметр Цикл + Значение = КлючЗначение.Значение; + ТипЗнчЗначение = ТипЗнч(Значение); + Если ТипЗнчЗначение = Тип("ФиксированныйМассив") Или + ТипЗнчЗначение = Тип("Структура") Или + ТипЗнчЗначение = Тип("ФиксированнаяСтруктура") Тогда + + КонтекстЯдра.Отладка(СтрШаблон("%1Ключ <%2>, тип %3, количество = <%4>", Отступ, КлючЗначение.Ключ, ТипЗнчЗначение, Значение.Количество())); + ПоказатьСвойстваВРежимеОтладки(Значение, Отступ + " "); + Иначе + КонтекстЯдра.Отладка(Отступ + "Ключ <" + КлючЗначение.Ключ + ">, Значение = <" + Значение + ">"); + КонецЕсли; + КонецЦикла; + Иначе + КонтекстЯдра.Отладка(Отступ + "Значение = <" + ТипПараметра + ">"); + КонецЕсли; + КонецЕсли; + КонтекстЯдра.Отладка(Отступ + ""); + +КонецПроцедуры + // } Settings interface #КонецОбласти @@ -432,17 +478,6 @@ Возврат Ложь; КонецФункции -&НаКлиенте -Процедура ПоказатьСвойстваВРежимеОтладки(Знач ПарамНастройки) - Для Каждого КлючЗначение Из ПарамНастройки Цикл - КонтекстЯдра.Отладка("Ключ <" + КлючЗначение.Ключ + ">, Значение = <" + КлючЗначение.Значение + ">"); - ТипЗначения = ТипЗнч(КлючЗначение.Значение); - Если ТипЗначения = Тип("ФиксированнаяСтруктура") Или ТипЗначения = Тип("Структура") Тогда - ПоказатьСвойстваВРежимеОтладки(КлючЗначение.Значение); - КонецЕсли; - КонецЦикла; -КонецПроцедуры - Функция СтрШаблон_(Знач СтрокаШаблон, Знач Парам1 = Неопределено, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено) Экспорт From ae353c7c1d710cf036b493258d7fe67368b14714 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 16:33:24 +0300 Subject: [PATCH 312/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B9?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE=D1=87=D0=B8=D1=85=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \321\204\320\276\321\200\320\274.feature" | 52 ++++++++++++++++--- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 814d280d6..8d6647538 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -40,13 +40,51 @@ | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | - | ==>> набор тестов Документы | - | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | - | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | - | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | - | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | - | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | - | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + | ==>> набор тестов Справочники | + | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.Справочник1 : открытие формы списка | + | -->> тест Справочник.Справочник2 : открытие формы объекта при создании | + | -->> тест Справочник.Справочник2 : открытие формы записанного объекта | + | -->> тест Справочник.Справочник2 : открытие формы списка | + | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.Справочник3 : открытие формы списка | + | -->> тест Справочник.Склады : открытие формы объекта при создании | + | -->> тест Справочник.Склады : открытие формы записанного объекта | + | -->> тест Справочник.Склады : открытие формы списка | + | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме : открытие формы списка | + | -->> тест Справочник.Товары : открытие формы объекта при создании | + | -->> тест Справочник.Товары : открытие формы записанного объекта | + | -->> тест Справочник.Товары : открытие формы списка | + | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.ПростойСправочник.Форма.ФормаСписка : открытие формы списка | + | -->> тест Справочник.ПростойСправочник.Форма.ФормаВыбора : открытие формы списка | + | -->> тест Справочник.ПростойСправочник2 : открытие формы объекта при создании | + | -->> тест Справочник.ПростойСправочник2 : открытие формы записанного объекта | + | -->> тест Справочник.ПростойСправочник2 : открытие формы списка | + | ==>> набор тестов Документы | + | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | + | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | + | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | + | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | + | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | + | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + | ==>> набор тестов Обработки | + | -->> тест Обработка.ОткрытьVanessaADD.Форма.Форма | + | -->> тест Обработка.МаксимизироватОкноПриОткрытии.Форма.Форма | + | -->> тест Обработка.ВыполнитьПроизвольноеВыражение.Форма.Форма | + | -->> тест Обработка.ПроверкаСостоянияЭлементов.Форма.Форма | + | -->> тест Обработка.ТаблицыНаФорме.Форма.Форма | + | ==>> набор тестов Отчеты | + | -->> тест Отчет.КомпоновкаТест | + | -->> тест Отчет.ОтчетПереносСтрок.Форма.ФормаОтчета | + | -->> тест Отчет.ОтчетПереносСтрок | + | ==>> набор тестов Прочее | + | -->> тест ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | From 5cb56c3cd437a8f285f31366f052e897c2ff4f5f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 16:35:35 +0300 Subject: [PATCH 313/421] =?UTF-8?q?=D0=B2=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - метод ЕстьВИсключаемойКоллекции --- epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index c2a2ac0a0..a6641251b 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -907,7 +907,7 @@ КонецЦикла; Иначе - ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции; + ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции + ", значение " + КоллекцияДляПоиска; КонецЕсли; Возврат Ложь; From 1a254ed34d0496c2e7a6b3c39dd9722e27fde7a8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 16:37:15 +0300 Subject: [PATCH 314/421] =?UTF-8?q?=D0=BE=D1=82=D1=81=D1=82=D1=83=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2ddda8827..2cdf147d2 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -587,7 +587,7 @@ Функция ПредставлениеТеста(Знач ПредставлениеТеста) Если Объект.Настройки.Свойство("ДобавлятьИмяПользователяВПредставлениеТеста") И - Объект.Настройки.ДобавлятьИмяПользователяВПредставлениеТеста Тогда + Объект.Настройки.ДобавлятьИмяПользователяВПредставлениеТеста Тогда ПредставлениеТеста = СтрШаблон_("%1 - <%2>", ПредставлениеТеста, ИмяПользователя()); КонецЕсли; From 08ebd5a2df70fa3a1d2c42818ef2dfc39356251c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 16:38:12 +0300 Subject: [PATCH 315/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" index dffb1cbcc..a74878b61 100644 --- "a/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" +++ "b/plugins/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/\320\230\321\202\320\265\321\200\320\260\321\202\320\276\321\200\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Ext/ObjectModule.bsl" @@ -83,7 +83,7 @@ ТипОбъекта = Строка.Объект.ПолноеИмя(); ТипОбъекта = Лев(ТипОбъекта, Найти(ТипОбъекта, ".") - 1); - Если ТекТип<>ТипОбъекта Тогда + Если ТекТип <> ТипОбъекта Тогда ТекТип = ТипОбъекта; ТекРодитель = Результат.Строки.Добавить(); @@ -148,14 +148,14 @@ ТипКоллекцияМД = Тип("КоллекцияОбъектовМетаданных"); ТипКонфигурация = Тип("ОбъектМетаданныхКонфигурация"); Для Каждого Элемент Из МассивМетаданных Цикл - Если ТипЗнч(Элемент)=ТипКоллекцияМД Тогда + Если ТипЗнч(Элемент) = ТипКоллекцияМД Тогда Для Каждого Дочерний Из Элемент Цикл Результат.Добавить(Дочерний); КонецЦикла; Иначе Попытка РодительЭлемента = Элемент.Родитель(); - Если ТипЗнч(РодительЭлемента)<>ТипКонфигурация Тогда + Если ТипЗнч(РодительЭлемента) <> ТипКонфигурация Тогда Продолжить; КонецЕсли; Исключение @@ -218,7 +218,7 @@ Исключение ОбъектПоТипу = Неопределено; КонецПопытки; - Если ОбъектПоТипу<>Неопределено Тогда + Если ОбъектПоТипу <> Неопределено Тогда Результат.Добавить(ОбъектПоТипу); КонецЕсли; КонецЦикла; @@ -315,7 +315,7 @@ Возврат; КонецЕсли; - ЭтоКоллекция = ТипЗнч(ОбъектМетаданных)=Тип("Строка"); + ЭтоКоллекция = ТипЗнч(ОбъектМетаданных) = Тип("Строка"); Если ЭтоКоллекция Тогда СтрокаИсполнения = "Объект." + ИмяПроцедуры + "(ОбъектМетаданных, Неопределено)"; Иначе From 74c91892d13c1d6aa54d1f9cb1dd3fdf0a53a341 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 16:38:48 +0300 Subject: [PATCH 316/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE=D1=87=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BC=D0=B5=D1=82=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/fixtures/smoke.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json index 2f7648cfe..572a21bed 100644 --- a/spec/fixtures/smoke.json +++ b/spec/fixtures/smoke.json @@ -59,10 +59,10 @@ "Удалить*" ] }, - "Справочники": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false, + "Справочники": {}, + "БизнесПроцессы": {}, + "Отчеты": {}, + "Обработки": {}, "ПропускаемыеИсключения" : [ "Обработка не предназначена для непосредственного использования", From 6907e7a05d6baab07d78b101ead44c7246ae1ac9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 19:37:31 +0300 Subject: [PATCH 317/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B0=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - новый формат исключения в json ИсключатьПоИмени - упростил сценарии --- ... \321\204\320\276\321\200\320\274.feature" | 41 ++++++--- spec/fixtures/smoke-exclude.json | 88 +++++++++++++++++++ spec/fixtures/smoke-include.json | 47 +--------- 3 files changed, 121 insertions(+), 55 deletions(-) create mode 100644 spec/fixtures/smoke-exclude.json diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 8d6647538..5abfd016e 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -16,7 +16,7 @@ И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" Дано Я очищаю параметры команды "vrunner" в контексте -Сценарий: Тестирование документов - настроены исключения +Сценарий: Тестирование документов - настроены исключения, индивидуально для каждого вида тестов # Дано файл "build/xdd_test.epf" не существует # Дано Я очищаю параметры команды "vrunner" в контексте @@ -100,23 +100,42 @@ И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" - И Я сообщаю вывод команды "vrunner" + # И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Открытие форм конфигурации" | + | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | + | ==>> набор тестов Документы | + | -->> тест Документ.Документ1 | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.ПриходнаяНакладная | + | -->> тест Документ.ДокументСДвижениями | + + И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - настроено исключение по имени для всех тестов + + Когда Я добавляю параметр "xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" + # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | - | -->> тест Документ.Документ1 : открытие формы объекта при создании | - # | -->> тест Документ.Документ1 : открытие формы записанного объекта | - | -->> тест Документ.Документ1 : открытие формы списка | + | -->> тест Документ.ПриходнаяНакладная | + | -->> тест Документ.ДокументСДвижениями | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит - | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | - | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | - | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | - | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | - | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | - | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + | -->> тест Документ.Документ1 | И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-exclude.json b/spec/fixtures/smoke-exclude.json new file mode 100644 index 000000000..70c9c0cba --- /dev/null +++ b/spec/fixtures/smoke-exclude.json @@ -0,0 +1,88 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "ИсключатьПоИмени" : { + "Документы": [ + "*умент1*" + ] + }, + + "Справочники1": false, + "Документы1": false, + "БизнесПроцессы1": false, + "Отчеты1": false, + "Обработки1": false, + + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + }, + + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], + "ОбщиеКоманды":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы":[ + "ОбщаяФорма1" + ], + "Справочники": + [ + "*ростой*равочник*" + ], + "Документы": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ВнешниеИсточникиДанных": false + } +} diff --git a/spec/fixtures/smoke-include.json b/spec/fixtures/smoke-include.json index 1e00c3a91..869a64bf1 100644 --- a/spec/fixtures/smoke-include.json +++ b/spec/fixtures/smoke-include.json @@ -46,52 +46,11 @@ "КоличествоВГруппе":1, "ПроверятьТолькоУказанные" : { - "Документы": { - "Основные": [ - "*умент1*" - ], - "Списки": [ - "*умент1*" - ], - "Новые": [ - "*умент1*" - ], - "Существующие": [ - "*умент1*" - ], - "ПеренестиДату": [ - "*окумент1*" - ] - }, - "Справочники": false, - "Документы1": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false + "Документы": [ + "*умент1*" + ] }, - "ИсключатьПоИмени1" : { - "Документы": { - "Списки": [ - "*умент1*" - ], - "Новые": [ - "*умент1*" - ], - "Существующие": [ - "*умент1*" - ], - "ПеренестиДату": [ - "*окумент1*" - ] - }, - "Справочники": false, - "Документы1": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false - }, - "Справочники": false, "Документы1": false, "БизнесПроцессы": false, From 36a3f07636dca76eb61c16e8d3b9acb85a6e00d7 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 19:38:39 +0300 Subject: [PATCH 318/421] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80?= =?UTF-8?q?=D0=B6=D0=BA=D0=B0=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B0=20=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ИсключатьПоИмени - свойства в режиме отладки показываются только один раз --- .../Ext/Form/Module.bsl" | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2e492ecaf..23d7307a5 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -29,6 +29,8 @@ Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт Инициализация(КонтекстЯдраПараметр); + + КонтекстЯдра.Плагин("Настройки").ПоказатьСвойстваВРежимеОтладки(Объект.Настройки); Если Не НужноВыполнятьТест() Тогда Возврат; @@ -322,8 +324,7 @@ Счетчик = 0; - МенеджерМетаданного = Метаданные.Документы; - ОтобранныеМетаданные = ОтобратьМетаданные("Документы", МенеджерМетаданного, Объект.Настройки, ОсновнойОбъект); + ОтобранныеМетаданные = ОтобратьМетаданные("Документы", Метаданные.Документы, Объект.Настройки, ОсновнойОбъект); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; @@ -1015,8 +1016,6 @@ Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); КонецЕсли; - - ПлагинНастроек.ПоказатьСвойстваВРежимеОтладки(Объект.Настройки); КонецПроцедуры &НаСервере @@ -1176,18 +1175,24 @@ ОбщаяКоллекция = НайтиОбщуюКоллекциюНастроек(Настройки, ИмяОбщейКоллекции); Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда - Возврат Новый Структура; - КонецЕсли; - - ВсеНастройкиВОбщейКоллекции = Неопределено; - Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ВсеНастройкиВОбщейКоллекции) Или Не ЗначениеЗаполнено(ВсеНастройкиВОбщейКоллекции) Тогда - ВсеНастройкиВОбщейКоллекции = Новый Структура; + Возврат Новый Массив; + //Возврат Новый Структура; КонецЕсли; ФмльтрМетаданных = Неопределено; - Если Не ВсеНастройкиВОбщейКоллекции.Свойство(ИМЯ_ОБЩЕЙ_НАСТРОЙКИ, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда + Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда ФмльтрМетаданных = Новый Массив; КонецЕсли; + + //ВсеНастройкиВОбщейКоллекции = Неопределено; + //Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ВсеНастройкиВОбщейКоллекции) Или Не ЗначениеЗаполнено(ВсеНастройкиВОбщейКоллекции) Тогда + // ВсеНастройкиВОбщейКоллекции = Новый Структура; + //КонецЕсли; + + //ФмльтрМетаданных = Неопределено; + //Если Не ВсеНастройкиВОбщейКоллекции.Свойство(ИМЯ_ОБЩЕЙ_НАСТРОЙКИ, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда + // ФмльтрМетаданных = Новый Массив; + //КонецЕсли; Возврат ФмльтрМетаданных; From 8fe3cb44a1ace7abeeb9c5d0341a18d7fd9070fd Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 22:01:03 +0300 Subject: [PATCH 319/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D1=8F=20+=20=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ПроверятьТолькоИзбранные --- spec/fixtures/smoke-include.json | 2 +- tests/smoke/readme.md | 66 ++++++++++++++++++- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 4 +- 4 files changed, 67 insertions(+), 7 deletions(-) diff --git a/spec/fixtures/smoke-include.json b/spec/fixtures/smoke-include.json index 869a64bf1..36f9538c3 100644 --- a/spec/fixtures/smoke-include.json +++ b/spec/fixtures/smoke-include.json @@ -45,7 +45,7 @@ "СпособГруппировки":"ПоВидуМетаданных", "КоличествоВГруппе":1, - "ПроверятьТолькоУказанные" : { + "ПроверятьТолькоИзбранные" : { "Документы": [ "*умент1*" ] diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index fd1b6dcc4..e87dba762 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -11,7 +11,8 @@ - [Описание возможностей](#описание-возможностей) - [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) - [Основные настройки](#основные-настройки) - - [Исключения](#исключения) + - [Исключения метаданных](#исключения-метаданных) + - [Включение тестов по избранным метаданным](#включение-тестов-по-избранным-метаданным) - [Исключения по виду метаданных](#исключения-по-виду-метаданных) - [Исключения по виду объекта метаданных](#исключения-по-виду-объекта-метаданных) - [Исключения конкретной формы](#исключения-конкретной-формы) @@ -254,6 +255,8 @@ Корневой объект `smoke` поддерживает следующие свойства (ключи): * вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста +* `ПроверятьТолькоУказанные` - коллекция, "белый список" с массивами видов метаданных, используется для включения в тест только указанных метаданных и никаких других. см. ниже. +* `ИсключатьПоИмени` - коллекция, "черный список" с массивами видов метаданных, используется для исключения из теста указанных метаданных и никаких других. см. ниже. * `Справочники` - для настройки исключений для форм справочников и заполнения элементов при создании * `Документы` - для настройки исключений для форм документов и заполнения документов при создании * `Отчеты` - для настройки исключений для отчетов @@ -273,7 +276,7 @@ Возможность управления модальными окнами есть в разделе [Управление модальными окнами](#Возможности-управления-модальными-окнами). -### Исключения +### Исключения метаданных Некоторые формы не могут быть протестированы в автоматическом режиме, например: @@ -284,10 +287,40 @@ Подобные формы необходимо добавить в исключения. +Можно воспользоваться и другой возможность - проверять только избранные метаданные, а не все, что есть в конфигурации. +Такая возможность полезная для современных больших типовых конфигураций, в которых много неиспользуемых форм и этих форм намного больше, чем используемых форм. + Также с целью распараллеливания выполнения дымовых тестов удобно настроить несколько конфигурационных файлов, в каждом их которых оставить проверки какого-то одного вида метаданных, а другие - исключить. **Важно!** Не рекомендуется злоупотреблять исключениями и добавлять в исключения формы по другим причинам – например, если эти формы редко открываются, не работают в выбранном виде клиента и т.п., так как это приводит к ошибкам, которые постоянно существуют, что не всегда верно. +#### Включение тестов по избранным метаданным + +Для того, чтобы включить тесты только для избранных метаданных, нужно использовать параметр `ПроверятьТолькоИзбранные` + +Пример настройки проверки только для документов "*умент1*" из тестирования - например, Документ1 и т.п. +``` +{ + "smoke": { + "ПроверятьТолькоИзбранные" : { + "Документы": [ + "*умент1*" + ] + } + } +} +``` + +внутри коллекции `ПроверятьТолькоИзбранные` могут быть ключи с именами видов метаданных во множественном числе - Справочники, Документы и т.д. +В настоящий момент поддерживаются 5 видов метаданных: `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. + +Каждый из этих ключей должен содержать в себе массив имен метаданных в любом формате (краткое или полное имя). + +Еще можно использовать шаблонную подстановку в имени с использованием * (звездочка). + - `Счет*` или `*Счет` или `*Счет*` или `*Счет*Реестр*` + +Пример файла с опцией `ПроверятьТолькоИзбранные` - [spec\fixtures\smoke-include.json](/spec/fixtures/smoke-include.json) + #### Исключения по виду метаданных @@ -307,7 +340,34 @@ #### Исключения по виду объекта метаданных -Для того, чтобы отключить проверки для форм конкретных видов объектов, нужно указать вид этого объекта в массиве исключений конкретного метаданного. +Для того, чтобы исключить метаданные из тестирования, нужно указать вид этого объекта в массиве исключений конкретного метаданного. + +Для того, чтобы исключить тесты только для части метаданных, нужно использовать параметр `ИсключатьПоИмени` + +Пример настройки исключения документов "*умент1*" из тестирования - например, Документ1 и т.п. +``` +{ + "smoke": { + "ИсключатьПоИмени" : { + "Документы": [ + "*умент1*" + ] + } + } +} +``` + +внутри коллекции `ИсключатьПоИмени` могут быть ключи с именами видов метаданных во множественном числе - Справочники, Документы и т.д. +В настоящий момент поддерживаются 5 видов метаданных: `Справочники`, `Документы`, `Отчеты`, `Обработки` и `БизнесПроцессы`. + +Каждый из этих ключей должен содержать в себе массив имен метаданных в любом формате (краткое или полное имя). + +Еще можно использовать шаблонную подстановку в имени с использованием * (звездочка). + - `Счет*` или `*Счет` или `*Счет*` или `*Счет*Реестр*` + +Пример файла с опцией `ИсключатьПоИмени` - [spec\fixtures\smoke-exclude.json](/spec/fixtures/smoke-exclude.json) + +Можно выполнить более точечную настройку тестирования по конкретным видам тестов. Для справочников, документов и бизнес-процессов поддерживаются следующие типы исключений: * `Списки` - задается массив имен справочников/документов, чьи формы списка (все) нужно исключить из проверки diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index df5a1e547..15e651a30 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1009,7 +1009,7 @@ Рез = Новый Структура; //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); - Рез.Вставить("ПроверятьТолькоУказанные", Новый Структура); + Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); Возврат Новый ФиксированнаяСтруктура(Рез); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 23d7307a5..c948a49d7 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1149,7 +1149,7 @@ &НаСервереБезКонтекста Функция ВключаемПоИмени(Знач КлючМетаданных, Знач ИмяМетаданного, Знач Настройки, Знач КонтекстЯдра = Неопределено) - ФмльтрМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоУказанные"); + ФмльтрМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФмльтрМетаданных); Если ЕстьОтборТолькоДляВключенияМетаданных Тогда @@ -1257,7 +1257,7 @@ Результат = Новый Структура; Результат.Вставить("СписокИсключений", Новый СписокЗначений); Результат.Вставить("ТолькоУправляемыеФормы", Истина); - Результат.Вставить("КоллекцияПроверятьТолькоУказанные", Объект.Настройки.ПроверятьТолькоУказанные); + Результат.Вставить("КоллекцияПроверятьТолькоИзбранные", Объект.Настройки.ПроверятьТолькоИзбранные); Возврат Результат; From 3fe986232e596344a4f3fa652eb937a8c00c344b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Mon, 20 Sep 2021 23:32:04 +0300 Subject: [PATCH 320/421] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 3 +- .../Ext/Form/Module.bsl" | 277 +++++------------- 2 files changed, 73 insertions(+), 207 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 15e651a30..d10ee0bba 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1010,10 +1010,11 @@ //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); + Рез.Вставить("ИсключатьПоИмени", Новый Структура); Возврат Новый ФиксированнаяСтруктура(Рез); -КонецФункции // () +КонецФункции Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c948a49d7..52e177a84 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -244,8 +244,11 @@ Счетчик = 0; - МенеджерМетаданного = Метаданные.Справочники; - Для Каждого МетаОбъект Из МенеджерМетаданного Цикл + ОтобранныеМетаданные = ОтобратьМетаданные("Справочники", Метаданные.Справочники, Объект.Настройки, ОсновнойОбъект); + + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл + МетаОбъект = ОписаниеМетаданного.МетаОбъект; + ИмяМетаОбъекта = ОписаниеМетаданного.Имя; КоличествоЭлементовДо = ОписанияТестов.Количество(); @@ -254,28 +257,28 @@ Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые", КонтекстЯдра); - + "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые"); + + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); + КонецЕсли; - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие", КонтекстЯдра); - + "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие"); + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки", КонтекстЯдра); + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -335,29 +338,26 @@ НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Документы", "Документ." + ИмяМетаОбъекта, ОписанияТестов, НастройкаГруппировки, Счетчик); - //НастройкиТеста = НовыеНастройкиТеста(); - Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - //ИмяТеста = "ТестДолжен_ОткрытьФормуНовогоДокумента"; - //ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - // ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, имяТеста, "Новые", КонтекстЯдра); НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуНовогоДокумента", "Новые"); - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки( + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); КонецЕсли; - имяТеста = "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента"; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента", "Существующие"); + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, имяТеста, "Существующие", КонтекстЯдра); - - имяТеста = "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы"; + НастройкиТеста, КонтекстЯдра); + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, имяТеста, "Списки", КонтекстЯдра); + НастройкиТеста, КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -420,8 +420,11 @@ Счетчик = 0; - МенеджерМетаданного = Метаданные.БизнесПроцессы; - Для Каждого МетаОбъект Из МенеджерМетаданного Цикл + ОтобранныеМетаданные = ОтобратьМетаданные("БизнесПроцессы", Метаданные.БизнесПроцессы, Объект.Настройки, ОсновнойОбъект); + + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл + МетаОбъект = ОписаниеМетаданного.МетаОбъект; + ИмяМетаОбъекта = ОписаниеМетаданного.Имя; КоличествоЭлементовДо = ОписанияТестов.Количество(); @@ -430,28 +433,28 @@ Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые", КонтекстЯдра); + "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые"); + + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); КонецЕсли; - ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие", КонтекстЯдра); - + "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие"); + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, - ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, ИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки", КонтекстЯдра); + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл @@ -464,17 +467,19 @@ &НаСервере Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, + ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста, НастройкаГруппировки) КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Счетчик = 0; - Для Каждого МетаОбъект Из ОписаниеВидаМетаданного.Менеджер Цикл - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Продолжить; - КонецЕсли; - Если Лев(МетаОбъект.Имя, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда + ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, Объект.Настройки, ОсновнойОбъект); + + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл + МетаОбъект = ОписаниеМетаданного.МетаОбъект; + ИмяМетаОбъекта = ОписаниеМетаданного.Имя; + + Если Лев(ИмяМетаОбъекта, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда Продолжить; КонецЕсли; @@ -482,12 +487,14 @@ НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно( ОписаниеВидаМетаданного.ИмяВидаМнЧисло, - ОписаниеВидаМетаданного.ИмяВидаЕдЧисло + "." + МетаОбъект.Имя, + ОписаниеВидаМетаданного.ИмяВидаЕдЧисло + "." + ИмяМетаОбъекта, ОписанияТестов, НастройкаГруппировки, Счетчик); - Добавили = ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, - МетаОбъект, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, - ПрефиксПредставленияТеста, КонтекстЯдра); + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, + ПрефиксПредставленияТеста); + + Добавили = ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); Если Не Добавили Тогда @@ -499,62 +506,22 @@ КонецЦикла; КонецПроцедуры -// TODO ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки вместо этого метода &НаСервере Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, имяТеста, ПрефиксПредставленияТеста, КонтекстЯДра) - - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат Ложь; - КонецЕсли; - - СписокИменМетаФорм = Новый СписокЗначений; - Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра); - - ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, имяТеста, - ПрефиксПредставленияТеста); - - Возврат Успешно; -КонецФункции - -&НаСервере -Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданныхНастройки(ОписанияТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯДра) - Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда - Возврат Ложь; - КонецЕсли; - СписокИменМетаФорм = Новый СписокЗначений; - Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, + Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста); + ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста); Возврат Успешно; КонецФункции -// TODO ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки вместо этого метода &НаСервере -Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, имяТеста, - ПрефиксПредставленияТеста) - Для каждого Элемент Из СписокИменМетаФорм Цикл - МетаФорма_ПолноеИмя = Элемент.Значение; - ПредставлениеТеста = МетаФорма_ПолноеИмя; - Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда - ПредставлениеТеста = МетаФорма_ПолноеИмя + " : " + ПодробноеПредставлениеПрефикса(ПрефиксПредставленияТеста); - КонецЕсли; - - лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, имяТеста, - Истина, МетаФорма_ПолноеИмя); - ОписанияТестов.Добавить(лПараметры); - КонецЦикла; -КонецПроцедуры - -&НаСервере -Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСерверНастройки(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста) +Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста) ПрефиксПредставленияТеста = НастройкиТеста.ПрефиксПредставленияТеста; @@ -571,96 +538,8 @@ КонецЦикла; КонецПроцедуры -// TODO ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки вместо этого метода &НаСервереБезКонтекста Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, - ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, КонтекстЯдра) - - Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда - Возврат Ложь; - КонецЕсли; - - Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда - Возврат Ложь; - КонецЕсли; - - Мета_ПолноеИмя = МетаОбъект.ПолноеИмя(); - - Результат = Ложь; - - МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - - ФормыДобавлены = Ложь; - - Для каждого МетаФорма Из МетаФормы Цикл - - МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - - // В режиме клиента тестирования не нужно добавлять .Форма, - // а необходимо указывать имя отчета, для формирования навигационной ссылки. - Если Не ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда - Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда - МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; - - // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. - //ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда - // МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; - - КонецЕсли; - КонецЕсли; - - //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета> - //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма - - Если ТолькоУправляемыеФормы Тогда - Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда - Продолжить; - КонецЕсли; - КонецЕсли; - - // исторически в списке исключений имя формы без имени коллекции объектов метаданных - // "Справочник1.Форма.ФормаЭлемента", а не "Справочник.Справочник1.Форма.ФормаЭлемента" - Если СписокИсключений.НайтиПоЗначению(Сред(МетаФорма_ПолноеИмя, Найти(МетаФорма_ПолноеИмя, ".") + 1)) - <> Неопределено Тогда - Продолжить; - КонецЕсли; - - // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации - Если Лев(НРег(МетаФорма_ПолноеИмя), СтрДлина(Мета_ПолноеИмя)) <> НРег(Мета_ПолноеИмя) Тогда - Продолжить; - КонецЕсли; - - ФормыДобавлены = Истина; - - СписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); - Результат = Истина; - - КонецЦикла; - - //добавить общие формы к отчётам, если они не указаны - ДлинаСловаОтчет = 6; - Если Метаданные.Отчеты.Найти(МетаОбъект.Имя) <> Неопределено И Лев(Мета_ПолноеИмя, ДлинаСловаОтчет) = "Отчет." Тогда - ФормыДобавлены = ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования); - Если НЕ Результат Тогда - Результат = ФормыДобавлены; - КонецЕсли; - КонецЕсли; - - // Добавляем наименование отчета для режима клиента тестирования, без указания формы. - // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации. - // Также нужно добавить стандартные формы для всяких объектов - справочники, документы - Если Не ФормыДобавлены - И ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда - СписокИменМетаФорм.Добавить(Мета_ПолноеИмя); - Результат = Истина; - КонецЕсли; - - Возврат Результат; - -КонецФункции - -&НаСервереБезКонтекста -Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданногоНастройки(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра) СписокИсключений = НастройкиТеста.СписокИсключений; @@ -1129,9 +1008,6 @@ Возврат НайтиИмяВКоллекции(ЧтоИщем, КоллекцияДляПоиска, КонтекстЯдра); - //КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); - //Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); - КонецФункции &НаСервереБезКонтекста @@ -1156,7 +1032,7 @@ Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрМетаданных, КонтекстЯдра); КонецЕсли; - ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); // TODO + ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) И НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрИсключаемыхМетаданных, КонтекстЯдра) Тогда @@ -1176,7 +1052,6 @@ Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда Возврат Новый Массив; - //Возврат Новый Структура; КонецЕсли; ФмльтрМетаданных = Неопределено; @@ -1184,16 +1059,6 @@ ФмльтрМетаданных = Новый Массив; КонецЕсли; - //ВсеНастройкиВОбщейКоллекции = Неопределено; - //Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ВсеНастройкиВОбщейКоллекции) Или Не ЗначениеЗаполнено(ВсеНастройкиВОбщейКоллекции) Тогда - // ВсеНастройкиВОбщейКоллекции = Новый Структура; - //КонецЕсли; - - //ФмльтрМетаданных = Неопределено; - //Если Не ВсеНастройкиВОбщейКоллекции.Свойство(ИМЯ_ОБЩЕЙ_НАСТРОЙКИ, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда - // ФмльтрМетаданных = Новый Массив; - //КонецЕсли; - Возврат ФмльтрМетаданных; КонецФункции @@ -1221,9 +1086,9 @@ ИмяМетаОбъекта = МетаОбъект.Имя; Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) - //Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) - Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки) - Или Не ПравоДоступа("Просмотр", МетаОбъект) Тогда + //Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) // TODO + Или Не ПравоДоступа("Просмотр", МетаОбъект) + Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки) Тогда Продолжить; КонецЕсли; From a6d7a52e49bf34aa1f914bac924fb7bc557fee8e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 00:39:13 +0300 Subject: [PATCH 321/421] =?UTF-8?q?=D0=B8=D0=B7=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D1=81=D1=8F=20=D0=BE=D1=82=20=D0=B7=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9=20=D0=B2=20=D0=BA=D0=BE=D0=B4=D0=B5=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 42 --------- .../Ext/ObjectModule.bsl" | 94 +++---------------- 2 files changed, 11 insertions(+), 125 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index e87dba762..5d0dbaad9 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -18,7 +18,6 @@ - [Исключения конкретной формы](#исключения-конкретной-формы) - [Исключение форм, зависящих от отключенных функциональных опций](#исключение-форм-зависящих-от-отключенных-функциональных-опций) - [Исключения для типовых конфигураций 1С, основанных на БСП](#исключения-для-типовых-конфигураций-1с-основанных-на-бсп) - - [Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется](#исключения-для-версии-ниже-41хх-более-сложный-способ---не-рекомендуется) - [Проверка форм подчиненных справочников](#проверка-форм-подчиненных-справочников) - [Значения для заполнения реквизитов при создании новых ссылочных объектов](#значения-для-заполнения-реквизитов-при-создании-новых-ссылочных-объектов) - [Группировка дымовых тестов при запуске в интерактивном режиме](#группировка-дымовых-тестов-при-запуске-в-интерактивном-режиме) @@ -445,47 +444,6 @@ - [Пример файла настройки исключений](./smoke.bsp.json) - -### Исключения для версии ниже 4.1.Х.Х (более сложный способ) - не рекомендуется - -Описанный ниже способ хуже, чем вышеуказанный метод указания исключений: - -* нужно менять код внешней обработки, что усложняет сопровождение -* код обработки менять сложнее, чем простой текстовый файл -* текст файла настроек удобнее держать в репозитории исходников, чем код внешней обработки - -Исключения задаются непосредственно в файле-теста `Tests\Smoke\Тесты_ОткрытиеФормКонфигурации.epf` - -В конце файла есть набор методов - -```bsl -+ //{ блок переопределения исключений, чтобы не открывать формы -+ Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт -+ Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт -+ Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт -+ Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт -+ Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт -+ Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт -+ Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт -+ Функция ПолучитьСписокИсключений_Отчеты() Экспорт -+ Функция ПолучитьСписокИсключений_Обработки() Экспорт -+ //} конец блока -``` - -Формат этих методов - -```bsl -Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт - Результат = Новый СписокЗначений; - - Результат.Добавить("ирАлгоритмы"); // Аналогично добавляем наименования нужных метаданных - - Возврат Результат; -КонецФункции -``` - -Нужно добавить имя метаданного-исключения в соответствующий метод в виде указанного кода. - ### Проверка форм подчиненных справочников diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index d10ee0bba..d95b16451 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -200,16 +200,8 @@ // Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("ирАлгоритмы"); + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки); - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -217,16 +209,8 @@ // Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("ирАлгоритмы"); + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие); - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -234,16 +218,8 @@ // Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("ирАлгоритмы"); - - Возврат Результат; + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые); + КонецФункции // Возвращаемое значение: @@ -251,16 +227,8 @@ // Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("Штрафы"); - - Возврат Результат; + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки); + КонецФункции // Возвращаемое значение: @@ -268,16 +236,8 @@ // Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("Штрафы"); + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие); - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -285,16 +245,8 @@ // Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("Штрафы"); + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату); - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -302,16 +254,8 @@ // Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые); - // Пример Результат.Добавить("Штрафы"); - - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -319,16 +263,8 @@ // Функция ПолучитьСписокИсключений_Отчеты() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Отчеты, ""); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; - - // Пример Результат.Добавить("Цены"); + Возврат ПолучитьИсключения(ВидыМетаданных.Отчеты, ""); - Возврат Результат; КонецФункции // Возвращаемое значение: @@ -336,16 +272,8 @@ // Функция ПолучитьСписокИсключений_Обработки() Экспорт - Результат = ПолучитьИсключения(ВидыМетаданных.Обработки, ""); - Если ЗначениеЗаполнено(Результат) Или Результат = Ложь Тогда - Возврат Результат; - КонецЕсли; - - Результат = Новый СписокЗначений; + Возврат ПолучитьИсключения(ВидыМетаданных.Обработки, ""); - //Результат.Добавить("ТестОбработка_Форма_ИсключениеПриОткрытии"); - - Возврат Результат; КонецФункции // Получить список значений для исключения форм списков бизнес-процессов From e8538cac75a3540ba8163dd0c0796feba6c5571a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 00:41:00 +0300 Subject: [PATCH 322/421] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B8=D1=85?= =?UTF-8?q?=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D1=85=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit запись в ЖР --- .../Ext/Form/Module.bsl" | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 52e177a84..d2ec4b734 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -208,7 +208,7 @@ КонецЦикла; КонецПроцедуры -&НаСервере +&НаСервереБезКонтекста Функция ПодробноеПредставлениеПрефикса(ПрефиксТеста) Результат = ""; @@ -506,7 +506,7 @@ КонецЦикла; КонецПроцедуры -&НаСервере +&НаСервереБезКонтекста Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯДра) @@ -520,7 +520,7 @@ Возврат Успешно; КонецФункции -&НаСервере +&НаСервереБезКонтекста Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста) ПрефиксПредставленияТеста = НастройкиТеста.ПрефиксПредставленияТеста; @@ -699,8 +699,9 @@ &НаКлиенте Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт + Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда - ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы); + ВыполнитьЗаписьВЖурналРегистрацииСервер(ПолноеИмяФормы); КонецЕсли; Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда @@ -816,6 +817,12 @@ Попытка ТестируемаяФорма.Закрыть(); Исключение + // стандарт по исключениям https://its.1c.ru/db/v8std/content/499/hdoc + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрацииСервер("Не удалось закрыть форму + |" + ПолныйТекстОшибки); КонецПопытки; КонецЕсли; ТестируемаяФорма = ""; @@ -1185,10 +1192,9 @@ Процедура ПослеЗапускаТеста() Экспорт ЗакрытьФорму(); - Попытка - УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); - Исключение - КонецПопытки; + + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); + КонецПроцедуры &НаКлиенте @@ -1356,11 +1362,12 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); ЗаписьЖурналаРегистрации( - НСтр("ru='Тесты_ОткрытиеФормКонфигурации'", "ru"), + ИмяТеста(), УровеньЖурналаРегистрации.Ошибка, СозданныйОбъект, СоздаваемыйЭлемент, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); КонецПопытки; @@ -1404,12 +1411,18 @@ Возврат "ТестДолжен_ПропуститьТестФормы"; КонецФункции -&НаСервере -Процедура ВыполнитьЗаписьВЖурналРегистрации(ПолноеИмяФормы) - ЗаписьЖурналаРегистрации(Объект().Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, , , +&НаСервереБезКонтекста +Процедура ВыполнитьЗаписьВЖурналРегистрацииСервер(ПолноеИмяФормы) + ЗаписьЖурналаРегистрации(ИмяТеста(), УровеньЖурналаРегистрации.Информация, , , "Операция: " + ПолноеИмяФормы); КонецПроцедуры +&НаСервереБезКонтекста +Процедура ЗаписатьПредупреждениеВЖурналРегистрацииСервер(Знач Комментарий) + ЗаписьЖурналаРегистрации("Vanessa-ADD.Дымовые тесты." + ИмяТеста(), УровеньЖурналаРегистрации.Предупреждение, , , + Комментарий); +КонецПроцедуры + &НаКлиенте Процедура Отладка(Знач Сообщение) КонтекстЯдра.Отладка(Сообщение); @@ -1501,7 +1514,7 @@ //} -//&НаКлиентеНаСервереБезКонтекста +&НаКлиенте Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт СтрокаРезультат = ""; Если МассивЭлементов.Количество() > 0 Тогда @@ -1527,3 +1540,8 @@ Возврат КонтекстЯдра; КонецФункции + +&НаСервереБезКонтекста +Функция ИмяТеста() + Возврат "Тесты_ОткрытиеФормКонфигурации"; +КонецФункции From ab0c3efd33291e3d8b2288ae2f8ae3c220b6a635 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 00:59:58 +0300 Subject: [PATCH 323/421] =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20=D0=B0=D0=B2=D1=82=D0=BE?= =?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 --- .../Ext/ObjectModule.bsl" | 807 +++++++++--------- .../Ext/Form/Module.bsl" | 661 +++++++------- 2 files changed, 733 insertions(+), 735 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index d95b16451..f9d72851b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -10,58 +10,58 @@ // директива препроцессора нужна для исключения ошибки загрузки в толстом клиенте управляемого приложения #Если ТолстыйКлиентОбычноеПриложение Тогда - Процедура Инициализация(КонтекстЯдраПараметр) Экспорт - - КонтекстЯдра = КонтекстЯдраПараметр; - Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); - Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); - - ЗагрузитьНастройки(); - - КонецПроцедуры - - Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - - КонтекстЯдра = КонтекстЯдраПараметр; - - ВидыМетаданных = ВидыМетаданных(); - ВидыПроверок = ВидыПроверок(); - СпособыГруппировки = СпособыГруппировки(); - - ЗагрузитьНастройки(); - - НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки); - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - Если НЕ СоздатьФорму_ПолучениеФорм() Тогда - Возврат; - КонецЕсли; - - СоздатьИменаОсновныхФорм(); - - Если ВключенСтрогийПорядокВыполнения() Тогда - НаборТестов.СтрогийПорядокВыполнения(); - НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); - КонецЕсли; - - Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда - ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки); - КонецЕсли; - - Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда - ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки); - КонецЕсли; - - Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда - ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки); - КонецЕсли; - - Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда - ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки); - КонецЕсли; +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + + ЗагрузитьНастройки(); + +КонецПроцедуры - КонецПроцедуры +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + + ВидыМетаданных = ВидыМетаданных(); + ВидыПроверок = ВидыПроверок(); + СпособыГруппировки = СпособыГруппировки(); + + ЗагрузитьНастройки(); + + НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки); + + НужноИсключениеЕслиНеНайденоДокументов = Ложь; + + Если НЕ СоздатьФорму_ПолучениеФорм() Тогда + Возврат; + КонецЕсли; + + СоздатьИменаОсновныхФорм(); + + Если ВключенСтрогийПорядокВыполнения() Тогда + НаборТестов.СтрогийПорядокВыполнения(); + НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); + КонецЕсли; + + Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда + ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки); + КонецЕсли; + + Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда + ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки); + КонецЕсли; + + Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда + ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки); + КонецЕсли; + + Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда + ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки); + КонецЕсли; + +КонецПроцедуры #КонецЕсли @@ -70,71 +70,70 @@ #Область Тесты Процедура ПередЗапускомТеста() Экспорт - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + + НужноИсключениеЕслиНеНайденоДокументов = Ложь; + СоздатьФорму_ПолучениеФорм(); - + НачатьТранзакцию(); - + КонецПроцедуры Процедура ПослеЗапускаТеста() Экспорт - + ЗакрытьФорму(); - + Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; - + КонецПроцедуры Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста); КонецПроцедуры -Процедура Тест_ОткрытьФормуСуществующегоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт +Процедура Тест_ОткрытьФормуСуществующегоДокумента(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, "Тест_ОткрытьФормуСуществующегоДокумента"); - + Если Док <> Неопределено Тогда ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка); КонецЕсли; КонецПроцедуры -Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт +Процедура Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; Док = ПолучитьСуществующийДокументОбъект(ИД, Ложь, "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму"); Если Док = Неопределено Тогда Возврат; КонецЕсли; - + Док.Дата = ТекущаяДата(); Док.ОбменДанными.Загрузка = Истина; Док.Записать(); - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка); КонецПроцедуры -Процедура Тест_ОткрытьФормуНовогоДокумента(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт - +Процедура Тест_ОткрытьФормуНовогоДокумента(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; Док = Документы[ИД].СоздатьДокумент(); Мета = Док.Метаданные(); - + Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда Возврат; КонецЕсли; - + Если Мета.ДлинаНомера <> 0 Тогда Попытка Док.УстановитьНовыйНомер(); Исключение КонецПопытки; КонецЕсли; - + Если ЕстьНастройка("Документы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда - Для каждого Реквизит из Настройки.Документы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл + Для каждого Реквизит Из Настройки.Документы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка Док[Реквизит.Ключ] = ЗначениеРеквизита(Мета, Реквизит.Ключ, Реквизит.Значение); Исключение @@ -142,50 +141,50 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док, Ложь); - + КонецПроцедуры -Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт +Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; - + Элем = СоздатьЭлемент(ИД, "существующий"); ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка); КонецПроцедуры -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт - +Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт + ИД = МетаИмя; Элем = Справочники[ИД].СоздатьЭлемент(); Мета = Элем.Метаданные(); - + Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда Возврат; КонецЕсли; - + Если Мета.ДлинаНаименования <> 0 Тогда Попытка Элем.Наименование = "новый"; Исключение КонецПопытки; КонецЕсли; - + Если Мета.Владельцы.Количество() Тогда Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для нового"); КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем, Ложь); - + КонецПроцедуры -Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(МетаИмя,МетаФорма_ПолноеИмя,МетаФорма, ЕстьТранзакция) Экспорт +Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; Элем = СоздатьЭлемент(ИД, "копирование", "ИнтерактивноеДобавление"); Если Элем = Неопределено Тогда Возврат; КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка, Истина); КонецПроцедуры @@ -199,25 +198,25 @@ // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие); + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые); КонецФункции @@ -226,8 +225,8 @@ // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки); + + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки); КонецФункции @@ -235,45 +234,45 @@ // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие); + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату); + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые); + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Отчеты() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Отчеты, ""); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Отчеты, ""); + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Обработки() Экспорт - - Возврат ПолучитьИсключения(ВидыМетаданных.Обработки, ""); - + + Возврат ПолучитьИсключения(ВидыМетаданных.Обработки, ""); + КонецФункции // Получить список значений для исключения форм списков бизнес-процессов @@ -282,9 +281,9 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Списки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Списки); - + КонецФункции // Получить список значений для исключения существующих бизнес-процессов @@ -293,9 +292,9 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Существующие() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Существующие); - + КонецФункции // Получить список значений для исключения новых бизнес-процессов @@ -304,18 +303,18 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Новые() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Новые); - + КонецФункции #КонецОбласти #Область ФормированиеСпискаТестовыхСлучаев Процедура ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки) - + СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Справочники", СтрогийПорядокВыполнения); КонецЕсли; @@ -325,70 +324,70 @@ СписокИсключений_Списки = ПолучитьСписокИсключений_Справочники_Списки(); Счетчик = 0; - + Для Каждого МетаОбъект Из Метаданные.Справочники Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = "Справочники (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу("Справочник." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + Если ПравоДоступа("Редактирование", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", - СписокИсключений_Существующие, - мИменаОсновныхФорм_Объекты, "Существующие элементы" + НаборТестов, + МетаОбъект, + "Тест_ОткрытьФормуСуществующегоЭлементаСправочника", + СписокИсключений_Существующие, + мИменаОсновныхФорм_Объекты, "Существующие элементы" ); КонецЕсли; - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ОткрытьФормуНовогоЭлементаСправочника", - СписокИсключений_Новые, - мИменаОсновныхФорм_Объекты, - "Новые элементы" + НаборТестов, + МетаОбъект, + "Тест_ОткрытьФормуНовогоЭлементаСправочника", + СписокИсключений_Новые, + мИменаОсновныхФорм_Объекты, + "Новые элементы" ); КонецЕсли; - - Если ПравоДоступа("Добавление", МетаОбъект) Тогда + + Если ПравоДоступа("Добавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием", - СписокИсключений_Новые, - мИменаОсновныхФорм_Объекты, - "Новые через копирование элементы" + НаборТестов, + МетаОбъект, + "Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием", + СписокИсключений_Новые, + мИменаОсновныхФорм_Объекты, + "Новые через копирование элементы" ); КонецЕсли; - + ДобавитьТестДляМетаданного_ОдинОбъект( - НаборТестов, - МетаОбъект, - "ТестДолжен_ОткрытьФорму_ПоМетаФорме", - СписокИсключений_Списки, - мИменаОсновныхФорм_Списки + НаборТестов, + МетаОбъект, + "ТестДолжен_ОткрытьФорму_ПоМетаФорме", + СписокИсключений_Списки, + мИменаОсновныхФорм_Списки ); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки) - + СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Документы", СтрогийПорядокВыполнения); КонецЕсли; @@ -397,168 +396,168 @@ СписокИсключений_Новые = ПолучитьСписокИсключений_Документы_Новые(); СписокИсключений_Списки = ПолучитьСписокИсключений_Документы_Списки(); СписокИсключений_ПеренестиДату = ПолучитьСписокИсключений_Документы_ПеренестиДату(); - + Счетчик = 0; - + Для Каждого МетаОбъект Из Метаданные.Документы Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = "Документы (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + Если ПравоДоступа("Редактирование", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ОткрытьФормуСуществующегоДокумента", - СписокИсключений_Существующие, - мИменаОсновныхФорм_Объекты, - "Существующие документы" + НаборТестов, + МетаОбъект, + "Тест_ОткрытьФормуСуществующегоДокумента", + СписокИсключений_Существующие, + мИменаОсновныхФорм_Объекты, + "Существующие документы" ); ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", - СписокИсключений_ПеренестиДату, - мИменаОсновныхФорм_Объекты, - "Перенос документа на текущий день" + НаборТестов, + МетаОбъект, + "Тест_ПеренестиДокументНаТекущийДень_и_ОткрытьЕгоФорму", + СписокИсключений_ПеренестиДату, + мИменаОсновныхФорм_Объекты, + "Перенос документа на текущий день" ); КонецЕсли; - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( - НаборТестов, - МетаОбъект, - "Тест_ОткрытьФормуНовогоДокумента", - СписокИсключений_Новые, - мИменаОсновныхФорм_Объекты, - "Новые документы" + НаборТестов, + МетаОбъект, + "Тест_ОткрытьФормуНовогоДокумента", + СписокИсключений_Новые, + мИменаОсновныхФорм_Объекты, + "Новые документы" ); КонецЕсли; - + ДобавитьТестДляМетаданного_ОдинОбъект( - НаборТестов, - МетаОбъект, - "ТестДолжен_ОткрытьФорму_ПоМетаФорме", - СписокИсключений_Списки, - мИменаОсновныхФорм_Списки + НаборТестов, + МетаОбъект, + "ТестДолжен_ОткрытьФорму_ПоМетаФорме", + СписокИсключений_Списки, + мИменаОсновныхФорм_Списки ); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки) - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Обработки", ВключенСтрогийПорядокВыполнения()); КонецЕсли; - + ДобавитьТестПоМенеджеруМетаданных( - НаборТестов, - Метаданные.Обработки, - "ТестДолжен_ОткрытьФорму_ПоМетаФорме", - ПолучитьСписокИсключений_Обработки(), - мИменаОсновныхФорм + НаборТестов, + Метаданные.Обработки, + "ТестДолжен_ОткрытьФорму_ПоМетаФорме", + ПолучитьСписокИсключений_Обработки(), + мИменаОсновныхФорм ); - + КонецПроцедуры Процедура ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки) - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Отчеты", ВключенСтрогийПорядокВыполнения()); КонецЕсли; - + ДобавитьТестПоМенеджеруМетаданных( - НаборТестов, - Метаданные.Отчеты, - "ТестДолжен_ОткрытьФорму_ПоМетаФорме", - ПолучитьСписокИсключений_Отчеты(), - мИменаОсновныхФорм + НаборТестов, + Метаданные.Отчеты, + "ТестДолжен_ОткрытьФорму_ПоМетаФорме", + ПолучитьСписокИсключений_Отчеты(), + мИменаОсновныхФорм ); - + КонецПроцедуры Процедура ДобавитьТестПоМенеджеруМетаданных(НаборТестов, менеджерМетаданного, имяТеста, СписокИсключений, ИменаОсновныхФорм) - + НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки); СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + ЭтоОтчеты = (менеджерМетаданного = Метаданные.Отчеты); - + Счетчик = 0; - + Для Каждого МетаОбъект Из менеджерМетаданного Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = ?(ЭтоОтчеты, "Отчеты", "Обработки") + " (" + Строка(Счетчик + 1) + "..." + - Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу(?(ЭтоОтчеты, "Отчет", "Обработка") + "." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, имяТеста, СписокИсключений, ИменаОсновныхФорм); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, Знач МетаОбъект, Знач имяТеста, - Знач СписокИсключений, Знач ИменаОсновныхФорм) + Знач СписокИсключений, Знач ИменаОсновныхФорм) ПрефиксПропускаемых = ""; ПропускатьТест = Ложь; - + Если СписокИсключений = Ложь Или СписокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект находится в исключениях"; - + ИначеЕсли ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект устарел"; - + ИначеЕсли Не ПравоДоступа("Просмотр", МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя"; КонецЕсли; - + Если ПропускатьТест Тогда ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; - + МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - + Для каждого МетаФорма Из МетаФормы Цикл - + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - + Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; КонецЕсли; - //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.ФормаОтчета> - //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <Отчет.Отчет2.Форма> // в УФ ОбщаяФорма.ФормаОтчета - + // МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.ФормаОтчета> + // МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <Отчет.Отчет2.Форма> // в УФ ОбщаяФорма.ФормаОтчета + ПредставлениеТеста = МетаФорма_ПолноеИмя; ЕстьТранзакция = Истина; - + ПропускатьТестФормы = Ложь; Если Не ПропускатьТест Тогда // Проверим, нет ли конкретно самой формы в исключениях. @@ -569,7 +568,7 @@ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; КонецЕсли; - + Если ПропускатьТест Или ПропускатьТестФормы Тогда ПредставлениеТеста = ПрефиксПропускаемых + " : " + ПредставлениеТеста; ПараметрыТеста = ПараметрыПропускаемогоТеста; @@ -578,44 +577,44 @@ ВремИмяТеста = имяТеста; ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаОбъект); КонецЕсли; - + НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста); - + КонецЦикла; - + КонецПроцедуры -Процедура ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, Знач МетаОбъект, Знач имяТеста, - Знач СписокИсключений, Знач ИменаОсновныхФорм, - Знач ПрефиксПредставленияТеста) +Процедура ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, Знач МетаОбъект, Знач имяТеста, + Знач СписокИсключений, Знач ИменаОсновныхФорм, + Знач ПрефиксПредставленияТеста) ПрефиксПропускаемых = ""; ПропускатьТест = Ложь; - + Если СписокИсключений = Ложь Или СписокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект находится в исключениях"; - + ИначеЕсли ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект устарел"; - - ИначеЕсли Не (ПравоДоступа("Просмотр", МетаОбъект) и ПравоДоступа("Добавление", МетаОбъект)) Тогда + + ИначеЕсли Не (ПравоДоступа("Просмотр", МетаОбъект) И ПравоДоступа("Добавление", МетаОбъект)) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя"; КонецЕсли; - + Если ПропускатьТест Тогда ПрефиксПредставленияТеста = ПрефиксПредставленияТеста + " : " + ПрефиксПропускаемых; ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; - + МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); Для каждого МетаФорма Из МетаФормы Цикл - + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя; ЕстьТранзакция = Истина; - + ПропускатьТестФормы = Ложь; Если Не ПропускатьТест Тогда // Проверим, нет ли конкретно самой формы в исключениях. @@ -625,7 +624,7 @@ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста("форма находится в исключениях"); КонецЕсли; КонецЕсли; - + Если ПропускатьТест Или ПропускатьТестФормы Тогда ПараметрыТеста = ПараметрыПропускаемогоТеста; ВремИмяТеста = ИмяМетодаПропускаТестов(); @@ -633,11 +632,11 @@ ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция); ВремИмяТеста = имяТеста; КонецЕсли; - + НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста); - + КонецЦикла; - + КонецПроцедуры #КонецОбласти @@ -645,7 +644,7 @@ #Область РаботаСФормами Процедура ЗакрытьФорму() - Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") и ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда + Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") И ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда Возврат; КонецЕсли; ТестируемаяФорма.Модифицированность = Ложь; @@ -658,7 +657,7 @@ Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; - + НачатьТранзакцию(); ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено); ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено); @@ -672,7 +671,7 @@ КонецПопытки; КонецЕсли; ТестируемаяФорма = ""; - + КонецПроцедуры Функция ЭтоОбычнаяФорма(Форма) @@ -681,22 +680,22 @@ // Портировано из подсистемы "Инструменты разработчика" -Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция=Ложь, МетаданныеВладельцаФормы=Неопределено) Экспорт - +Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция = Ложь, МетаданныеВладельцаФормы = Неопределено) Экспорт + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, "", Неопределено, Ложь, МетаданныеВладельцаФормы); - + КонецПроцедуры -Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь, МетаданныеВладельцаФормы=Неопределено) Экспорт - +Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь, МетаданныеВладельцаФормы = Неопределено) Экспорт + ВыводитьСообщения = Ложь; ВнешнийОбъект = Неопределено; КлючВременнойФормы = "908насмь9ыв"; - + ИмяОперации = МетаФорма_ПолноеИмя; - + ВывестиСообщение("Операция: " + ИмяОперации, УровеньЖурналаРегистрации.Информация, ВыводитьСообщения); - + Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы); Если Форма = Неопределено Тогда Возврат; @@ -728,13 +727,13 @@ КонецЕсли; КонецЕсли; КонецЕсли; - + Если ЭтоФормаСсылочногоОбъекта Тогда Если ЭтоОбычнаяФорма(Форма) Тогда Если СоздаватьОбъект Тогда Если СсылкаОбъектаИлиСамОбъект <> Неопределено Тогда СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Скопировать(); - //Иначе + // Иначе // СсылочныйОбъект = СсылкаОбъектаИлиСамОбъект.Метаданные; КонецЕсли; Иначе @@ -759,7 +758,7 @@ Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы); КонецЕсли; КонецЕсли; - + Если МетаданныеВладельцаФормы <> Неопределено И Метаданные.Справочники.Содержит(МетаданныеВладельцаФормы) Тогда Если МетаданныеВладельцаФормы.Владельцы.Количество() Тогда ВладелецСсылка = ПолучитьСсылкуНаВладельца(МетаданныеВладельцаФормы); @@ -773,9 +772,9 @@ КонецПопытки; КонецЕсли; КонецЕсли; - + ТестироватьФорму(Форма, ИмяОперации); - + КонецПроцедуры Процедура СоздатьИменаОсновныхФорм() Экспорт @@ -806,7 +805,7 @@ мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек"); мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения"); мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки"); - + мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма"); мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта"); мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы"); @@ -821,13 +820,13 @@ Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Списки) Тогда мИменаОсновныхФорм_Списки = Новый Массив(); КонецЕсли; - + Если мИменаОсновныхФорм_Списки.Количество() = 0 Тогда мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант"); - + мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка"); мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора"); мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы"); @@ -854,10 +853,10 @@ // Массив структур - с полями "Имя,МетаФорма", где "Имя" - это ИмяОсновнойФормы, "МетаФорма" - сама мета-форма // Функция ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм) Экспорт - + ИспользоватьУФ = Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении ИЛИ (ТекущийРежимЗапуска() <> РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение); МетаФормы = Новый Массив(); - + Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл Попытка МетаФорма = МетаОбъект[ИмяОсновнойФормы]; @@ -875,36 +874,36 @@ КонецЕсли; МетаФормы.Добавить(МетаФорма); КонецЦикла; - + Возврат МетаФормы; - + КонецФункции Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - + Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - + КонецФункции Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено) - - Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); //ирНеглобальный. + + Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); // ирНеглобальный. Возврат Форма; - + КонецФункции Процедура ТестироватьФорму(Форма, ИмяОперации = "") Экспорт ТестируемаяФорма = Форма; Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 - Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ИмяОперации+""" не открылась, а должна была открыться"); - + Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """ + ИмяОперации + """ не открылась, а должна была открыться"); + // Артур - мой код для доп.проверки формы Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда ТестируемаяФорма.Обновить(); Иначе ТестируемаяФорма.ОбновитьОтображениеДанных(); КонецЕсли; - + КонецПроцедуры #КонецОбласти @@ -912,54 +911,54 @@ #Область РаботаСНастройками Процедура ЗагрузитьНастройки() - + ПутьНастройки = "smoke"; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Настройки) Тогда Настройки = Новый Структура; КонецЕсли; - + Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации") Тогда ВыводитьСообщенияВЖурналРегистрации = Настройки.ВыводитьСообщенияВЖурналРегистрации; Иначе ВыводитьСообщенияВЖурналРегистрации = Истина; КонецЕсли; - + НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); - + ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Настройки, НаборНастроекПоУмолчанию); - + КонецПроцедуры Функция СоздатьНаборНастроекПоУмолчанию() Экспорт - + Рез = Новый Структура; - + //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); Рез.Вставить("ИсключатьПоИмени", Новый Структура); - + Возврат Новый ФиксированнаяСтруктура(Рез); - + КонецФункции Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) - + Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЕсли; КонецЦикла; - + КонецПроцедуры // Функция - Получить исключения // // Параметры: -// ВидМетаданного - - -// ВидПроверки - - -// +// ВидМетаданного - - +// ВидПроверки - - +// // Возвращаемое значение: // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // @@ -968,7 +967,7 @@ Возврат Новый СписокЗначений; КонецЕсли; Результат = Неопределено; - + Настройка = Неопределено; ЕстьНастройка = Настройки.Свойство(ВидМетаданного, Настройка); Если ЕстьНастройка Тогда @@ -985,9 +984,9 @@ Результат = Ложь; КонецЕсли; КонецЕсли; - + ДобавитьИсключенияПоОтключеннымФункциональнымОпциям(ВидМетаданного, Результат); - + Если Не ЗначениеЗаполнено(Результат) И Результат <> Ложь Тогда Результат = Новый СписокЗначений; КонецЕсли; @@ -1003,20 +1002,20 @@ Возврат; КонецЕсли; - + Если Не ЗначениеЗаполнено(СписокЗначений) Или ТипЗнч(СписокЗначений) = Тип("Булево") Тогда СписокЗначений = Новый СписокЗначений; КонецЕсли; - + Если ФормыОтключенныеЧерезФункциональныеОпции = Неопределено Тогда ФормыОтключенныеЧерезФункциональныеОпции = Новый Структура; КонецЕсли; - + Если Не ФормыОтключенныеЧерезФункциональныеОпции.Свойство(ВидМетаданного) Тогда СписокМетаданныхФО = Новый СписокЗначений; ФормыОтключенныеЧерезФункциональныеОпции.Вставить(ВидМетаданного, СписокМетаданныхФО); - + Для каждого ФО Из Метаданные.ФункциональныеОпции Цикл Попытка Значение = ПолучитьФункциональнуюОпцию(ФО.Имя); @@ -1025,11 +1024,11 @@ КонецПопытки; Если ТипЗнч(Значение) = Тип("Булево") И Не Значение Тогда Для каждого СтрОбъект Из ФО.Состав Цикл - + Если СтрОбъект.Объект = Неопределено Тогда Продолжить; КонецЕсли; - + Если Метаданные[ВидМетаданного].Содержит(СтрОбъект.Объект) Тогда СписокМетаданныхФО.Добавить(СтрОбъект.Объект.Имя); КонецЕсли; @@ -1037,19 +1036,19 @@ КонецЕсли; КонецЦикла; КонецЕсли; - + СписокМетаданного = Неопределено; Если ФормыОтключенныеЧерезФункциональныеОпции.Свойство(ВидМетаданного, СписокМетаданного) Тогда - + Для Каждого Элемент Из СписокМетаданного Цикл МДИмяОбъекта = Элемент.Значение; Если СписокЗначений.НайтиПоЗначению(МДИмяОбъекта) = Неопределено Тогда СписокЗначений.Добавить(МДИмяОбъекта); КонецЕсли; КонецЦикла; - + КонецЕсли; - + КонецПроцедуры Функция ВидыМетаданных() Экспорт @@ -1078,43 +1077,43 @@ КонецФункции Функция КлючДляПропускаПоТекстуИсключения() - + Возврат "ПропускаемыеИсключения"; - + КонецФункции Функция ПолучитьНастройкуГруппировки(СтруктураНастроек) Экспорт - + Перем СпособГруппировки; - + НастройкаГруппировки = Новый Структура; НастройкаГруппировки.Вставить("КоличествоВГруппе", 20); - + Если ЗначениеЗаполнено(СтруктураНастроек) Тогда - + Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда СтруктураНастроек.Свойство("СпособГруппировки", СпособГруппировки); СтруктураНастроек.Свойство("КоличествоВГруппе", НастройкаГруппировки.КоличествоВГруппе); КонецЕсли; - + Если ТипЗнч(СпособГруппировки) <> Тип("Массив") Тогда МассивСпособов = Новый Массив; МассивСпособов.Добавить(СпособГруппировки); СпособГруппировки = МассивСпособов; КонецЕсли; - + НастройкаГруппировки.Вставить("ГруппироватьПоВидуМетаданных", СпособГруппировки.Найти(СпособыГруппировки.ПоВидуМетаданных) <> Неопределено); - НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта" , СпособГруппировки.Найти(СпособыГруппировки.ПоВидуОбъекта) <> Неопределено); - НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству" , СпособГруппировки.Найти(СпособыГруппировки.ПоКоличеству) <> Неопределено); - + НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта", СпособГруппировки.Найти(СпособыГруппировки.ПоВидуОбъекта) <> Неопределено); + НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству", СпособГруппировки.Найти(СпособыГруппировки.ПоКоличеству) <> Неопределено); + Иначе НастройкаГруппировки.Вставить("ГруппироватьПоВидуМетаданных", Истина); - НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта" , Ложь); - НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству" , Ложь); + НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта", Ложь); + НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству", Ложь); КонецЕсли; - + Возврат НастройкаГруппировки; - + КонецФункции Функция СпособыГруппировки() Экспорт @@ -1137,17 +1136,17 @@ // В результате получим ВремЗнач == 42 // Функция ЕстьНастройка(ПутьНастроек, СтруктураНастроек = Неопределено) - + // TODO: Метод нужно перенести в плагин "Настройки". - + Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Настройки; КонецЕсли; - + Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда - + ПозТочки = Найти(ПутьНастроек, "."); - + Если ПозТочки = 0 Тогда Возврат СтруктураНастроек.Свойство(ПутьНастроек); Иначе @@ -1157,11 +1156,11 @@ Возврат ЕстьНастройка(ОстатокПути, СтруктураНастроек[ИмяТекущегоСвойства]); КонецЕсли; КонецЕсли; - + КонецЕсли; - + Возврат Ложь; - + КонецФункции Функция ВключенСтрогийПорядокВыполнения() @@ -1180,14 +1179,14 @@ // - // Функция ПропускаемОшибкуПоТекстуИсключения(Знач ТекстИсключения) Экспорт - + МассивТекстовИсключенийПоУмолчанию = Новый Массив; МассивТекстовИсключенийПоУмолчанию.Добавить("Обработка не предназначена для непосредственного использования"); - + Если Не ЗначениеЗаполнено(Настройки) Тогда МассивТекстовИсключений = МассивТекстовИсключенийПоУмолчанию; Иначе - + Настройка = Неопределено; ЕстьНастройка = Настройки.Свойство(КлючДляПропускаПоТекстуИсключения(), Настройка); Если ЕстьНастройка Тогда @@ -1202,21 +1201,21 @@ МассивТекстовИсключений.Добавить(ОжидаемыйТекстИсключения); КонецЦикла; КонецЕсли; - + КонецЕсли; - + КонецЕсли; - + Если ЗначениеЗаполнено(МассивТекстовИсключений) Тогда - + Для Каждого ОжидаемыйТекстИсключения Из МассивТекстовИсключений Цикл Если Найти(ТекстИсключения, ОжидаемыйТекстИсключения) > 0 Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + КонецЕсли; - + Возврат Ложь; КонецФункции @@ -1225,13 +1224,13 @@ #Область ПоискИСозданиеОбъектов Функция ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, ДопОписаниеДляИсключения) - выборка = Документы[ИД].Выбрать(,,, "Дата Убыв"); + выборка = Документы[ИД].Выбрать( , , , "Дата Убыв"); Успешно = выборка.Следующий(); Если Не Успешно Тогда Если НужноИсключениеЕслиНеНайденоДокументов Тогда ВызватьИсключение СтрШаблон_("%1: выборка.Следующий() - не найдено существующих документов %2! ", - ДопОписаниеДляИсключения, Ид); + ДопОписаниеДляИсключения, Ид); Иначе Возврат Неопределено; КонецЕсли; @@ -1246,19 +1245,19 @@ КонецФункции Функция ПолучитьОбъектСуществующегоЭлементаСправочника(ИД, НужноИсключениеЕслиНеНайденоСправочников, - ДопОписаниеДляИсключения, Знач Отбор = Неопределено) - + ДопОписаниеДляИсключения, Знач Отбор = Неопределено) + Если Отбор = Неопределено Тогда Отбор = Новый Структура; КонецЕсли; - + выборка = ПолучитьРезультатЗапросаСуществующийЭлементСправочника(ИД, Отбор); Успешно = выборка.Следующий(); Если Не Успешно Тогда Если НужноИсключениеЕслиНеНайденоСправочников Тогда ВызватьИсключение СтрШаблон_("%1: выборка.Следующий() - не найдено существующих элементов справочника %2! ", - ДопОписаниеДляИсключения, Ид); + ДопОписаниеДляИсключения, Ид); Иначе Возврат Неопределено; КонецЕсли; @@ -1268,44 +1267,44 @@ КонецФункции Функция ПолучитьРезультатЗапросаСуществующийЭлементСправочника(ИД, Отбор) - + Запрос = Новый Запрос; - + ТекстЗапроса = - "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 - | ОбъектЗапроса.Ссылка - |ИЗ - | Справочник.%1 КАК ОбъектЗапроса"; - + "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 + | ОбъектЗапроса.Ссылка + |ИЗ + | Справочник.%1 КАК ОбъектЗапроса"; + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%1", ИД); - + Если Отбор.Количество() <> 0 Тогда - ТекстЗапроса = ТекстЗапроса + Символы.ПС + " ГДЕ"; + ТекстЗапроса = ТекстЗапроса + Символы.ПС + " ГДЕ"; Для каждого ЭлементОтбора Из Отбор Цикл ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОбъектЗапроса." + ЭлементОтбора.Ключ + " = " + ЭлементОтбора.Значение; КонецЦикла; КонецЕсли; - - - + + + Запрос.Текст = ТекстЗапроса; - + РезультатЗапроса = Запрос.Выполнить().Выбрать(); - + Возврат РезультатЗапроса; - + КонецФункции Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоСправочников, - ДопОписаниеДляИсключения, Знач Отбор = Неопределено) Экспорт - + ДопОписаниеДляИсключения, Знач Отбор = Неопределено) Экспорт + Элем = ПолучитьОбъектСуществующегоЭлементаСправочника(ИД, НужноИсключениеЕслиНеНайденоСправочников, - ДопОписаниеДляИсключения, Отбор); + ДопОписаниеДляИсключения, Отбор); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); КонецФункции Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) - + УстановитьПривилегированныйРежим(Истина); Если Метаданные.Справочники.Найти(ИД) <> Неопределено Тогда @@ -1318,28 +1317,28 @@ ВызватьИсключение СтрШаблон_(НСтр("ru = 'Не удалось найти объект метаданных по имени ""%1"".'"), ИД); КонецЕсли; Мета = Элем.Метаданные(); - + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; КонецЕсли; - + Если Мета.ДлинаНаименования <> 0 Тогда Попытка Элем.Наименование = Наименование; Исключение КонецПопытки; КонецЕсли; - + Если Мета.ДлинаКода <> 0 Тогда Элем.УстановитьНовыйКод(); КонецЕсли; - + Если Метаданные.Справочники.Найти(Мета.Имя) <> Неопределено И Мета.Владельцы.Количество() Тогда Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для: " + Наименование); КонецЕсли; - + Если ЕстьНастройка("Справочники.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда - Для каждого Реквизит из Настройки.Справочники.ЗначенияРеквизитовНовых[Мета.Имя] Цикл + Для каждого Реквизит Из Настройки.Справочники.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка Элем[Реквизит.Ключ] = ЗначениеРеквизита(Мета, Реквизит.Ключ, Реквизит.Значение); Исключение @@ -1347,12 +1346,12 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + Элем.ОбменДанными.Загрузка = Истина; Элем.Записать(); - + Возврат Элем; - + КонецФункции Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт @@ -1360,9 +1359,9 @@ Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); КонецФункции -Функция ПолучитьМетаданныеВладельца(КоллекцияМетаданныхВладельцев, Индекс=0) +Функция ПолучитьМетаданныеВладельца(КоллекцияМетаданныхВладельцев, Индекс = 0) Счетчик = 0; - Для каждого Элемент из КоллекцияМетаданныхВладельцев Цикл + Для каждого Элемент Из КоллекцияМетаданныхВладельцев Цикл Если Счетчик = Индекс Тогда Возврат Элемент; КонецЕсли; @@ -1371,20 +1370,20 @@ ВызватьИсключение "Индекс за границей диапазона"; КонецФункции -Функция ПолучитьСсылкуНаВладельца(МетаданныеПодчиненного, НаименованиеПодчиненного="Элемент-владелец") - +Функция ПолучитьСсылкуНаВладельца(МетаданныеПодчиненного, НаименованиеПодчиненного = "Элемент-владелец") + МетаИмяВладельца = Неопределено; - + Если ЕстьНастройка("Справочники.Подчиненные") Тогда Настройки.Справочники.Подчиненные.Свойство(МетаданныеПодчиненного.Имя, МетаИмяВладельца); КонецЕсли; - + Если МетаИмяВладельца = Неопределено Тогда МетаИмяВладельца = ПолучитьМетаданныеВладельца(МетаданныеПодчиненного.Владельцы).Имя; КонецЕсли; - + Возврат СоздатьЭлементИВернутьСсылку(МетаИмяВладельца, НаименованиеПодчиненного); - + КонецФункции // Получить объект существующего бизнес-процесса и вернуть ссылку на объект @@ -1400,26 +1399,26 @@ // Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) Экспорт - + Элем = ПолучитьОбъектСуществующегоБизнесПроцесса(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, - ДопОписаниеДляИсключения, Отбор); + ДопОписаниеДляИсключения, Отбор); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); КонецФункции Функция ПолучитьОбъектСуществующегоБизнесПроцесса(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) - + Если Отбор = Неопределено Тогда Отбор = Новый Структура; КонецЕсли; - - Выборка = БизнесПроцессы[ИД].Выбрать(,, Отбор); + + Выборка = БизнесПроцессы[ИД].Выбрать( , , Отбор); Успешно = Выборка.Следующий(); Если Не Успешно Тогда Если НужноИсключениеЕслиНеНайденоБизнесПроцессов Тогда ВызватьИсключение - СтрШаблон_("%1: выборка.Следующий() - не найдено существующих бизнес процессов %2! ", - ДопОписаниеДляИсключения, Ид); + СтрШаблон_("%1: выборка.Следующий() - не найдено существующих бизнес процессов %2! ", + ДопОписаниеДляИсключения, Ид); Иначе Возврат Неопределено; КонецЕсли; @@ -1429,20 +1428,20 @@ КонецФункции Функция СоздатьБизнесПроцесс(ИД, ПроверяемоеПравоДоступа = Неопределено) - + Элем = БизнесПроцессы[ИД].СоздатьБизнесПроцесс(); Мета = Элем.Метаданные(); - + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; КонецЕсли; - + Если Мета.ДлинаНомера <> 0 Тогда Элем.УстановитьНовыйНомер(); КонецЕсли; - + Элем.Дата = ТекущаяДата(); - + Если ЕстьНастройка("БизнесПроцессы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.БизнесПроцессы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка @@ -1452,12 +1451,12 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + Элем.ОбменДанными.Загрузка = Истина; Элем.Записать(); - + Возврат Элем; - + КонецФункции // Создать новый БП и вернуть ссылку на него @@ -1493,13 +1492,13 @@ КонецФункции Функция ЗначениеРеквизита(МетаданныеОбъекта, ИмяРеквизита, ЗначениеРеквизитаИзФайла) - + ТипРеквизита = МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.Типы()[0]; - + Если ЭтоПримитивныйТипДанных(ТипРеквизита) Тогда Возврат МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.ПривестиЗначение(ЗначениеРеквизитаИзФайла); КонецЕсли; - + // Значит, это ссылочный тип данных. Попытка МетаданныеЗначения = Метаданные.НайтиПоТипу(ТипРеквизита); @@ -1511,49 +1510,49 @@ // TODO: поддержку документов и других ссылочных типов данных (добавим по необходимости) Исключение КонецПопытки; - + Возврат Неопределено; - + КонецФункции Функция ЭтоПримитивныйТипДанных(Тип) Возврат Тип = Тип("Строка") Или Тип = Тип("Число") - Или Тип = Тип("Дата") Или Тип = Тип("Булево"); + Или Тип = Тип("Дата") Или Тип = Тип("Булево"); КонецФункции -Процедура ВывестиСообщение(ТекстСообщения, Знач УровеньЖР=Неопределено, Сообщать=Ложь) - +Процедура ВывестиСообщение(ТекстСообщения, Знач УровеньЖР = Неопределено, Сообщать = Ложь) + Если Сообщать Тогда Сообщить(ТекстСообщения, ?(УровеньЖР = УровеньЖурналаРегистрации.Ошибка, СтатусСообщения.ОченьВажное, СтатусСообщения.Обычное)); КонецЕсли; - + Если ВыводитьСообщенияВЖурналРегистрации Тогда Если УровеньЖР = Неопределено Тогда УровеньЖР = УровеньЖурналаРегистрации.Информация; КонецЕсли; ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖР, , , ТекстСообщения); КонецЕсли; - + КонецПроцедуры #КонецОбласти Функция СтрШаблон_(Знач СтрокаШаблон, Знач Парам1 = Неопределено, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено) Экспорт - + МассивПараметров = Новый Массив; МассивПараметров.Добавить(Парам1); МассивПараметров.Добавить(Парам2); МассивПараметров.Добавить(Парам3); МассивПараметров.Добавить(Парам4); МассивПараметров.Добавить(Парам5); - + Для Сч = 1 По МассивПараметров.Количество() Цикл - ТекЗначение = МассивПараметров[Сч-1]; - СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%"+Сч, Строка(ТекЗначение)); + ТекЗначение = МассивПараметров[Сч - 1]; + СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%" + Сч, Строка(ТекЗначение)); КонецЦикла; - + Возврат СтрокаШаблон; - + КонецФункции СписокПропускаемыхФорм = Новый СписокЗначений; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d2ec4b734..5f6b064f5 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -19,23 +19,23 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - + Объект.ОткрываемФормыНаКлиентеТестирования = Истина; - + ЗагрузитьНастройки(); КонецПроцедуры &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - + Инициализация(КонтекстЯдраПараметр); - + КонтекстЯдра.Плагин("Настройки").ПоказатьСвойстваВРежимеОтладки(Объект.Настройки); Если Не НужноВыполнятьТест() Тогда Возврат; КонецЕсли; - + Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); @@ -43,165 +43,164 @@ ОсновноеОкно = ОсновноеОкно(ТестКлиент); КонецЕсли; - + ОписанияТестов = Новый Массив; - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - ВключенСтрогийПорядокВыполнения= ВключенСтрогийПорядокВыполнения(); - + + ВключенСтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); + Если ВключенСтрогийПорядокВыполнения Тогда НаборТестов.СтрогийПорядокВыполнения(); НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); КонецЕсли; - + СоздатьИменаОсновныхФорм(); - + НастройкаГруппировки = ПолучитьНастройкуГруппировки(); - + ТолькоУправляемыеФормы = Истина; - #Если ТолстыйКлиентОбычноеПриложение или ТолстыйКлиентУправляемоеПриложение Тогда - ТолькоУправляемыеФормы = Ложь; + #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда + ТолькоУправляемыеФормы = Ложь; #КонецЕсли - Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда ТолькоУправляемыеФормы = Истина; КонецЕсли; - + ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер(); мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер(); - + Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда - + ОписанияТестов = Новый Массив; - + ДобавитьТестыДляСправочниковСервер( ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Справочники", ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда - + ОписанияТестов = Новый Массив; - + НастройкиГруппыТестов = НовыеНастройкиГруппыТестов(); НастройкиГруппыТестов.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); - + ДобавитьТестыДляДокументовСервер( ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Документы", ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда - + ОписанияТестов = Новый Массив; - + ДобавлятьОбработки = Истина; ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, ДобавлятьОбработки, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Обработки", ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда - + ОписанияТестов = Новый Массив; - + ДобавлятьОбработки = Ложь; ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, ДобавлятьОбработки, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Отчеты", ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; - + КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("БизнесПроцессы") Тогда - + ОписанияТестов = Новый Массив; - + ДобавлятьОбработки = Ложь; ДобавитьТестыДляБизнесПроцессовСервер( ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("БизнесПроцессы", ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; - + КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Или НастройкаГруппировки.ГруппироватьПоКоличеству - Или НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда - - НаборТестов.НачатьГруппу("Прочее", ВключенСтрогийПорядокВыполнения); - + Или НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда + + НаборТестов.НачатьГруппу("Прочее", ВключенСтрогийПорядокВыполнения); + КонецЕсли; - + ИмяТеста = "ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение"; НаборТестов.Добавить(ИмяТеста, , ИмяТеста); - + КонецПроцедуры // } интерфейс тестирования -//{ ФормированиеСпискаТестовыхСлучаев +// { ФормированиеСпискаТестовыхСлучаев &НаКлиенте Процедура ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, СтрогийПорядокВыполнения) Для Каждого Описание Из ОписанияТестов Цикл Если ТипЗнч(Описание) = Тип("Строка") Тогда - + ПредставлениеТеста = Описание; НаборТестов.Добавить(Описание, , ПредставлениеТеста); - + ИначеЕсли ТипЗнч(Описание) = Тип("Структура") И Описание.Свойство("Набор") Тогда НаборТестов.НачатьГруппу(Описание.Имя, СтрогийПорядокВыполнения); ДобавитьОписанияТестовВНаборТестов(НаборТестов, Описание.Набор, СтрогийПорядокВыполнения); - + Иначе - + НаборТестов.Добавить(Описание.ИмяТеста, НаборТестов.ПараметрыТеста(Описание.Параметр), Описание.ПредставлениеТеста); КонецЕсли; @@ -224,7 +223,7 @@ ИначеЕсли ПрефиксТеста = "Списки" Тогда Результат = "открытие формы списка"; - + КонецЕсли; Возврат Результат; @@ -233,53 +232,53 @@ &НаСервере Процедура ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, - ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки(); - + Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("Справочники", Метаданные.Справочники, Объект.Настройки, ОсновнойОбъект); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Справочники", "Справочник." + МетаОбъект.Имя, - ОписанияТестов, НастройкаГруппировки, Счетчик); - + ОписанияТестов, НастройкаГруппировки, Счетчик); + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые"); + СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + КонецЕсли; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие"); + СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -289,8 +288,8 @@ КонецПроцедуры Функция ДобавитьГруппировкуЕслиНужно(Знач ИмяВидаМетаданного, Знач ИмяМетаданного, - Знач ОписанияТестов, Знач НастройкаГруппировки, Счетчик) - + Знач ОписанияТестов, Знач НастройкаГруппировки, Счетчик) + НаборОписанийТестов = ОписанияТестов; Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда @@ -306,16 +305,16 @@ НаборОписанийТестов.Добавить(ОписаниеГруппы); НаборОписанийТестов = ОписаниеГруппы.Набор; КонецЕсли; - + Счетчик = Счетчик + 1; - + Возврат НаборОписанийТестов; КонецФункции &НаСервере Процедура ДобавитьТестыДляДокументовСервер(ОписанияТестов, НастройкиГруппыТестов, - ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); @@ -326,39 +325,39 @@ ТолькоУправляемыеФормы = НастройкиГруппыТестов.ТолькоУправляемыеФормы; Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("Документы", Метаданные.Документы, Объект.Настройки, ОсновнойОбъект); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Документы", "Документ." + ИмяМетаОбъекта, - ОписанияТестов, НастройкаГруппировки, Счетчик); - + ОписанияТестов, НастройкаГруппировки, Счетчик); + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - - НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоДокумента", "Новые"); + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуНовогоДокумента", "Новые"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); КонецЕсли; - - НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента", "Существующие"); + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента", "Существующие"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - - НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); - + + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -371,16 +370,16 @@ Процедура ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, Знач ДобавлятьОбработки, Знач НастройкаГруппировки) ОсновнойОбъект = Объект(); - + ОписаниеВидаМетаданного = Новый Структура; - + ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер(); Если ДобавлятьОбработки Тогда - + ОписаниеВидаМетаданного.Вставить("Менеджер", Метаданные.Обработки); ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Обработки"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Обработка"); - + ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, @@ -388,13 +387,13 @@ ИменаОсновныхФорм, "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", НастройкаГруппировки); - + Иначе - + ОписаниеВидаМетаданного.Вставить("Менеджер", Метаданные.Отчеты); ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Отчеты"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Отчет"); - + ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, @@ -402,60 +401,60 @@ ИменаОсновныхФорм, "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", НастройкаГруппировки); - + КонецЕсли; - + КонецПроцедуры &НаСервере Процедура ДобавитьТестыДляБизнесПроцессовСервер(ОписанияТестов, ТолькоУправляемыеФормы, - ИменаОсновныхФорм_Объекты_Сервер, ИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ИменаОсновныхФорм_Объекты_Сервер, ИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Списки(); - + Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("БизнесПроцессы", Метаданные.БизнесПроцессы, Объект.Настройки, ОсновнойОбъект); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("БизнесПроцессы", "БизнесПроцесс." + МетаОбъект.Имя, - ОписанияТестов, НастройкаГруппировки, Счетчик); - + ОписанияТестов, НастройкаГруппировки, Счетчик); + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые"); + СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + КонецЕсли; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, - "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие"); + СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, + "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, - СписокИсключений_Списки, ИменаОсновныхФорм_Списки_Сервер, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); + СписокИсключений_Списки, ИменаОсновныхФорм_Списки_Сервер, + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -468,11 +467,11 @@ Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста, - НастройкаГруппировки) - + НастройкаГруппировки) + КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, Объект.Настройки, ОсновнойОбъект); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл @@ -482,26 +481,26 @@ Если Лев(ИмяМетаОбъекта, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда Продолжить; КонецЕсли; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно( - ОписаниеВидаМетаданного.ИмяВидаМнЧисло, - ОписаниеВидаМетаданного.ИмяВидаЕдЧисло + "." + ИмяМетаОбъекта, - ОписанияТестов, НастройкаГруппировки, Счетчик); - + ОписаниеВидаМетаданного.ИмяВидаМнЧисло, + ОписаниеВидаМетаданного.ИмяВидаЕдЧисло + "." + ИмяМетаОбъекта, + ОписанияТестов, НастройкаГруппировки, Счетчик); + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, - ПрефиксПредставленияТеста); + ПрефиксПредставленияТеста); Добавили = ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( - НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); + Если Не Добавили Тогда - + Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); КонецЦикла; - + КонецЕсли; КонецЦикла; КонецПроцедуры @@ -509,14 +508,14 @@ &НаСервереБезКонтекста Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯДра) - + СписокИменМетаФорм = Новый СписокЗначений; - + Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, - НастройкиТеста, КонтекстЯдра); - + НастройкиТеста, КонтекстЯдра); + ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста); - + Возврат Успешно; КонецФункции @@ -525,15 +524,15 @@ ПрефиксПредставленияТеста = НастройкиТеста.ПрефиксПредставленияТеста; - Для каждого Элемент Из СписокИменМетаФорм Цикл + Для каждого Элемент Из СписокИменМетаФорм Цикл МетаФорма_ПолноеИмя = Элемент.Значение; ПредставлениеТеста = МетаФорма_ПолноеИмя; Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда - ПредставлениеТеста = МетаФорма_ПолноеИмя + " : " + ПодробноеПредставлениеПрефикса(ПрефиксПредставленияТеста); + ПредставлениеТеста = МетаФорма_ПолноеИмя + " : " + ПодробноеПредставлениеПрефикса(ПрефиксПредставленияТеста); КонецЕсли; - + лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, НастройкиТеста.ИмяТеста, - Истина, МетаФорма_ПолноеИмя); + Истина, МетаФорма_ПолноеИмя); ОписанияТестов.Добавить(лПараметры); КонецЦикла; КонецПроцедуры @@ -541,13 +540,13 @@ &НаСервереБезКонтекста Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра) - + СписокИсключений = НастройкиТеста.СписокИсключений; Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда Возврат Ложь; КонецЕсли; - + Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда Возврат Ложь; КонецЕсли; @@ -559,26 +558,26 @@ МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, НастройкиТеста.ИменаОсновныхФорм); ФормыДобавлены = Ложь; - + Для каждого МетаФорма Из МетаФормы Цикл МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - // В режиме клиента тестирования не нужно добавлять .Форма, + // В режиме клиента тестирования не нужно добавлять .Форма, // а необходимо указывать имя отчета, для формирования навигационной ссылки. Если Не ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; - // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. - //ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда - // МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; - - КонецЕсли; + // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. + //ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда + // МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; + + КонецЕсли; КонецЕсли; - //МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета> - //МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма + // МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета> + // МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма Если НастройкиТеста.ТолькоУправляемыеФормы Тогда Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда @@ -592,20 +591,20 @@ <> Неопределено Тогда Продолжить; КонецЕсли; - + // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации Если Лев(НРег(МетаФорма_ПолноеИмя), СтрДлина(Мета_ПолноеИмя)) <> НРег(Мета_ПолноеИмя) Тогда Продолжить; КонецЕсли; - + ФормыДобавлены = Истина; - + СписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); Результат = Истина; - + КонецЦикла; - - //добавить общие формы к отчётам, если они не указаны + + // добавить общие формы к отчётам, если они не указаны ДлинаСловаОтчет = 6; Если Метаданные.Отчеты.Найти(МетаОбъект.Имя) <> Неопределено И Лев(Мета_ПолноеИмя, ДлинаСловаОтчет) = "Отчет." Тогда ФормыДобавлены = ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования); @@ -622,21 +621,21 @@ СписокИменМетаФорм.Добавить(Мета_ПолноеИмя); Результат = Истина; КонецЕсли; - + Возврат Результат; КонецФункции -//} +// } -//{ РаботаСФормами +// { РаботаСФормами &НаСервереБезКонтекста Функция ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОткрываемФормыНаКлиентеТестирования) Результат = Ложь; - // В режиме клиента тестирования не нужно добавлять .Форма, + // В режиме клиента тестирования не нужно добавлять .Форма, // а необходимо указывать имя отчета, для формирования навигационной ссылки. Если ОткрываемФормыНаКлиентеТестирования Тогда СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя()); @@ -644,7 +643,7 @@ Возврат Результат; КонецЕсли; - Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФорма") = Неопределено + Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФорма") = Неопределено И ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаОтчета") <> Неопределено Тогда СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".Форма"); @@ -653,14 +652,14 @@ КонецЕсли; // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. - //Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФормаНастроек") = Неопределено + //Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФормаНастроек") = Неопределено // И ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаНастроекОтчета") <> Неопределено Тогда - // + // // СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаНастроек"); // Результат = Истина; - // + // //КонецЕсли; - + ФормаВарианта = ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФормаВарианта"); Если ФормаВарианта = Неопределено Тогда Если ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаВариантаОтчета") <> Неопределено Тогда @@ -670,9 +669,9 @@ КонецЕсли; Иначе - // Общая форма "ВариантыОтчета" не открываются самостоятельно. + // Общая форма "ВариантыОтчета" не открываются самостоятельно. //СписокИменМетаФорм.Добавить(ФормаВарианта.ПолноеИмя()); - СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаВарианта"); + СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаВарианта"); Результат = Истина; КонецЕсли; @@ -703,43 +702,43 @@ Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда ВыполнитьЗаписьВЖурналРегистрацииСервер(ПолноеИмяФормы); КонецЕсли; - + Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы); Иначе ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы); КонецЕсли; - + КонецПроцедуры &НаКлиенте Процедура ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы) Экспорт - + ПредыдущиеОкна = ПолучитьОкна(); - + Попытка - + // К сожалению, здесь часто исключения не ловятся - //https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 - - ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы,, Новый УникальныйИдентификатор); - + // https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 + + ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы, , Новый УникальныйИдентификатор); + Исключение ИнфоОшибки = ИнформацияОбОшибке(); - + Если Не ПропускаемОшибкуПоТекстуИсключенияСервер(ИнфоОшибки.Описание) Тогда ВызватьИсключение; КонецЕсли; - + Возврат; КонецПопытки; - + Если ТестируемаяФорма = Неопределено Или Не ТестируемаяФорма.Открыта() Тогда - + НеПроверятьФорму = ТестируемаяФорма = Неопределено; - + НовыеОкна = ПолучитьОкна(); - + МассивНовыхОкон = Новый Массив; Для Каждого НовоеОкно Из НовыеОкна Цикл НашлиОкно = Ложь; @@ -749,18 +748,18 @@ Продолжить; КонецЕсли; КонецЦикла; - + Если НашлиОкно Тогда Продолжить; КонецЕсли; - + МассивНовыхОкон.Добавить(НовоеОкно); КонецЦикла; - + Если МассивНовыхОкон.Количество() = 0 И НеПроверятьФорму Тогда Возврат; КонецЕсли; - + Если МассивНовыхОкон.Количество() > 0 Тогда МассивФорм = МассивНовыхОкон[0].Содержимое; Если МассивНовыхОкон.Количество() = 0 И НеПроверятьФорму Тогда @@ -770,18 +769,18 @@ ТестируемаяФорма = МассивФорм[0]; КонецЕсли; КонецЕсли; - + КонецЕсли; - - Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """+ПолноеИмяФормы - +""" не открылась, а должна была открыться"); - + + Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """ + ПолноеИмяФормы + + """ не открылась, а должна была открыться"); + Если ТипЗнч(ТестируемаяФорма) = Тип("УправляемаяФорма") Тогда ТестируемаяФорма.ОбновитьОтображениеДанных(); Иначе ТестируемаяФорма.Обновить(); КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -798,9 +797,9 @@ ТестируемаяФорма.Модифицированность = Ложь; Если ТестируемаяФорма.Открыта() Тогда ТестируемаяФорма.Модифицированность = Ложь; - //Попытка - ТестируемаяФорма.Закрыть(); - //Исключение + // Попытка + ТестируемаяФорма.Закрыть(); + // Исключение // Ошибка = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); // ЗакрытьФормуБезусловноСОтменойТранзакции(ТестируемаяФорма); // //Если ТранзакцияАктивна() Тогда @@ -820,13 +819,13 @@ // стандарт по исключениям https://its.1c.ru/db/v8std/content/499/hdoc ИнформацияОбОшибке = ИнформацияОбОшибке(); ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - + ЗаписатьПредупреждениеВЖурналРегистрацииСервер("Не удалось закрыть форму - |" + ПолныйТекстОшибки); + |" + ПолныйТекстОшибки); КонецПопытки; КонецЕсли; ТестируемаяФорма = ""; - + КонецПроцедуры &НаСервере @@ -859,9 +858,9 @@ Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; КонецФункции -//} +// } -//{ РаботаСНастройками +// { РаботаСНастройками #Область Настройки &НаКлиенте @@ -873,9 +872,9 @@ Процедура ЗагрузитьНастройки() ПутьНастройки = КлючНастройки(); - + //Отладка(СтрШаблон("Дымовые ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); - + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); @@ -885,18 +884,18 @@ Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура; КонецЕсли; - + Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации", Объект.Настройки) Тогда Объект.ВыводитьСообщенияВЖурналРегистрации = Объект.Настройки.ВыводитьСообщенияВЖурналРегистрации; //Отладка(СтрШаблон("ВыводитьСообщенияВЖурналРегистрации %1", Объект.ВыводитьСообщенияВЖурналРегистрации)); КонецЕсли; - + Если ЕстьНастройка("ОткрываемФормыНаКлиентеТестирования", Объект.Настройки) Тогда Объект.ОткрываемФормыНаКлиентеТестирования = Объект.Настройки.ОткрываемФормыНаКлиентеТестирования; КонецЕсли; - + НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); - + ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Объект.Настройки, НаборНастроекПоУмолчанию); Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда @@ -906,20 +905,20 @@ &НаСервере Функция СоздатьНаборНастроекПоУмолчанию() Экспорт - + Возврат Объект().СоздатьНаборНастроекПоУмолчанию(); - + КонецФункции // () &НаКлиенте Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) - + Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЕсли; КонецЦикла; - + КонецПроцедуры // Позволяет одним вызовом получить значение из вложенных друг в друга структур @@ -940,13 +939,13 @@ // &НаКлиенте Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт - + Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Объект.Настройки; КонецЕсли; - + Возврат КонтекстЯдра.Плагин("Настройки").ЕстьНастройка(ПутьНастроек, СтруктураНастроек); - + КонецФункции &НаКлиенте @@ -965,20 +964,20 @@ КлючНастройки = КлючНастройки(); ВыполнятьТест = Неопределено; - Если ТипЗнч(Настройки) = Тип("Структура") + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется", ВыполнятьТест) Тогда - - Возврат ВыполнятьТест = Истина; + + Возврат ВыполнятьТест = Истина; КонецЕсли; Возврат ЗначениеПоУмолчанию; - + КонецФункции &НаКлиенте Функция ВключенСтрогийПорядокВыполнения() Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) - И Объект.Настройки.СтрогийПорядокВыполнения = Ложь Тогда + И Объект.Настройки.СтрогийПорядокВыполнения = Ложь Тогда Возврат Ложь; КонецЕсли; Возврат Истина; @@ -989,7 +988,7 @@ Возврат Объект().ПолучитьНастройкуГруппировки(Объект.Настройки); КонецФункции -#КонецОбласти +#КонецОбласти #Область Исключения @@ -1009,7 +1008,7 @@ &НаСервереБезКонтекста Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) - Если КоллекцияДляПоиска = Ложь Тогда // TODO для включения не подходит ( + Если КоллекцияДляПоиска = Ложь Тогда // TODO для включения не подходит ( Возврат Истина; КонецЕсли; @@ -1035,24 +1034,24 @@ ФмльтрМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФмльтрМетаданных); - Если ЕстьОтборТолькоДляВключенияМетаданных Тогда + Если ЕстьОтборТолькоДляВключенияМетаданных Тогда Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрМетаданных, КонтекстЯдра); КонецЕсли; ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); - Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) + Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) И НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрИсключаемыхМетаданных, КонтекстЯдра) Тогда - + Возврат Ложь; КонецЕсли; - + Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас КонецФункции &НаСервереБезКонтекста Функция НайтиКоллекциюФмльтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) - + ИМЯ_ОБЩЕЙ_НАСТРОЙКИ = "Основные"; ОбщаяКоллекция = НайтиОбщуюКоллекциюНастроек(Настройки, ИмяОбщейКоллекции); @@ -1062,42 +1061,42 @@ КонецЕсли; ФмльтрМетаданных = Неопределено; - Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда + Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда ФмльтрМетаданных = Новый Массив; КонецЕсли; - + Возврат ФмльтрМетаданных; - + КонецФункции &НаСервереБезКонтекста Функция НайтиОбщуюКоллекциюНастроек(Знач Настройки, Знач ИмяНастройки) - + Результат = Неопределено; // TODO использовать метод плагина Настройки.ЕстьНастройка - Если Не Настройки.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Если Не Настройки.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда Результат = Новый Структура; КонецЕсли; Возврат Результат; - + КонецФункции &НаСервереБезКонтекста Функция ОтобратьМетаданные(КлючМетаданных, МенеджерМетаданного, Настройки, ОсновнойОбъект) - + Результат = Новый Массив; Для Каждого МетаОбъект Из МенеджерМетаданного Цикл ИмяМетаОбъекта = МетаОбъект.Имя; Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) - //Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) // TODO + // Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) // TODO Или Не ПравоДоступа("Просмотр", МетаОбъект) Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки) Тогда - Продолжить; + Продолжить; КонецЕсли; НовоеОписаниеМетаданного = НовоеОписаниеМетаданного(); @@ -1109,35 +1108,35 @@ КонецЦикла; Возврат Результат; - + КонецФункции &НаСервереБезКонтекста Функция НовоеОписаниеМетаданного() - + Результат = Новый Структура; Результат.Вставить("МетаОбъект", Неопределено); Результат.Вставить("Имя", ""); - + Возврат Результат; - + КонецФункции &НаКлиенте Функция НовыеНастройкиГруппыТестов() - + Результат = Новый Структура; Результат.Вставить("СписокИсключений", Новый СписокЗначений); Результат.Вставить("ТолькоУправляемыеФормы", Истина); Результат.Вставить("КоллекцияПроверятьТолькоИзбранные", Объект.Настройки.ПроверятьТолькоИзбранные); - + Возврат Результат; - + КонецФункции &НаСервере Функция НовыеНастройкиТеста() - + Результат = Новый Структура; Результат.Вставить("ТолькоУправляемыеФормы", Истина); Результат.Вставить("СписокИсключений", Новый СписокЗначений); @@ -1146,55 +1145,55 @@ Результат.Вставить("ПрефиксПредставленияТеста", ""); Возврат Результат; - + КонецФункции &НаСервере Функция НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста) - + Результат = НовыеНастройкиТеста(); - + Результат.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); Результат.Вставить("СписокИсключений", СписокИсключений); Результат.Вставить("ИменаОсновныхФорм", ИменаОсновныхФорм); Результат.Вставить("ИмяТеста", ИмяТеста); Результат.Вставить("ПрефиксПредставленияТеста", ПрефиксПредставленияТеста); - + Возврат Результат; - + КонецФункции -#КонецОбласти +#КонецОбласти -//} +// } -//{ блок юнит-тестов - САМИ ТЕСТЫ +// { блок юнит-тестов - САМИ ТЕСТЫ &НаКлиенте Процедура ПередЗапускомТеста() Экспорт - + СоздаваемыйЭлемент = Неопределено; - + ОбновитьПовторноИспользуемыеЗначения(); - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + СоздатьИменаОсновныхФорм(); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); КонецЕсли; - + КонецПроцедуры &НаКлиенте Процедура ПослеЗапускаТеста() Экспорт - + ЗакрытьФорму(); - + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); - + КонецПроцедуры &НаКлиенте @@ -1223,7 +1222,7 @@ &НаСервере Функция СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Возврат ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий"); @@ -1250,32 +1249,32 @@ &НаСервере Функция ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, - "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); + "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); Возврат Док; КонецФункции &НаСервере Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); - + Отбор = Новый Структура; МетаданныеОбъекта = Метаданные.Справочники[ИД]; Если МетаданныеОбъекта.Иерархический - И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда - Отбор.Вставить("ЭтоГруппа", "Ложь"); + И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда + Отбор.Вставить("ЭтоГруппа", "Ложь"); Если МетаданныеОбъекта.ОсновнаяФормаГруппы <> Неопределено И Найти(Мета_ПолноеИмя, МетаданныеОбъекта.ОсновнаяФормаГруппы.Имя) <> 0 Тогда Отбор.Вставить("ЭтоГруппа", "Истина"); КонецЕсли; КонецЕсли; - + Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, Ложь, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементСправочника", Отбор); + "ТестДолжен_ОткрытьФормуСуществующегоЭлементСправочника", Отбор); Возврат Элем; КонецФункции @@ -1300,17 +1299,17 @@ &НаСервере Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, Ложь, - "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса"); + "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса"); Возврат Элем; КонецФункции &НаСервере Функция СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Возврат ОсновнойОбъект.СоздатьБизнесПроцессИВернутьСсылку(ИД); КонецФункции @@ -1319,7 +1318,7 @@ &НаКлиенте Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма"; - ошибка =""; + ошибка = ""; Попытка ОткрытьФорму(Мета_ПолноеИмя); Исключение @@ -1328,12 +1327,12 @@ Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка"); КонецПроцедуры -//} +// } -//{ Переопределение исключений, чтобы не открывать формы. -//} +// { Переопределение исключений, чтобы не открывать формы. +// } -//{ ВспомогательныеМетоды +// { ВспомогательныеМетоды &НаСервереБезКонтекста Процедура УдалитьСозданныеОбъекты(СоздаваемыйЭлемент) @@ -1353,9 +1352,9 @@ УдалитьСозданныеОбъекты(СозданныйОбъект.Владелец); Возврат; КонецЕсли; - + КонецЕсли; - + СозданныйОбъект.Удалить(); Исключение @@ -1383,26 +1382,26 @@ &НаКлиентеНаСервереБезКонтекста Функция ПолучитьВидМетаданного(Мета_ПолноеИмя) - //Если ВключенаАнглийскаяЛокализация() Тогда + // Если ВключенаАнглийскаяЛокализация() Тогда // СтрокаФорма = ".Form."; - //Иначе + // Иначе // СтрокаФорма = ".Форма."; //КонецЕсли; - + Поз = Найти(Мета_ПолноеИмя, ".Форма."); Если Поз = 0 Тогда Поз = Найти(Мета_ПолноеИмя, ".Form."); КонецЕсли; Если Поз <> 0 Тогда ИД = Лев(Мета_ПолноеИмя, Поз - 1); - //TODO локализация Английская - Мета_ПолноеИмя "Catalog.ПростойСправочник.Form.УпрФормаЭлемента" String; + // TODO локализация Английская - Мета_ПолноеИмя "Catalog.ПростойСправочник.Form.УпрФормаЭлемента" String; ИД = Сред(ИД, Найти(ИД, ".") + 1); Иначе // Если нет формы и мы открываем по имени справочника, // то в качестве его ИД просто берем 2ю часть наименования // - ИД = Прав(Мета_ПолноеИмя, СтрДлина(Мета_ПолноеИмя) - Найти(Мета_ПолноеИмя,".")); + ИД = Прав(Мета_ПолноеИмя, СтрДлина(Мета_ПолноеИмя) - Найти(Мета_ПолноеИмя, ".")); КонецЕсли; - + Возврат ИД; КонецФункции @@ -1432,21 +1431,21 @@ Функция ВключенаАнглийскаяЛокализация() ВариантВстроенногоЯзыкаАнглийский = Ложь; Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или - ТекущийЯзыкСистемы() = "en" Тогда - + ТекущийЯзыкСистемы() = "en" Тогда + ВариантВстроенногоЯзыкаАнглийский = Истина; КонецЕсли; - + Возврат ВариантВстроенногоЯзыкаАнглийский; КонецФункции -//} +// } -//{ Тесты с помощью клиента тестирования +// { Тесты с помощью клиента тестирования &НаКлиенте Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) Экспорт - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); ОсновноеОкно = ОсновноеОкно(ТестКлиент); @@ -1455,9 +1454,9 @@ Попытка // Если ссылка задана - открываем просто форму Элемента/Документа - СсылкаНаОбъект = Неопределено; - Если ТипЗнч(ПараметрыФормы) = Тип("Структура") И ПараметрыФормы.Свойство("Ключ",СсылкаНаОбъект) - И ЗначениеЗаполнено(СсылкаНаОбъект) Тогда + СсылкаНаОбъект = Неопределено; + Если ТипЗнч(ПараметрыФормы) = Тип("Структура") И ПараметрыФормы.Свойство("Ключ", СсылкаНаОбъект) + И ЗначениеЗаполнено(СсылкаНаОбъект) Тогда ПарамНавигационнаяСсылка = ПолучитьНавигационнуюСсылку(СсылкаНаОбъект); Иначе // Иначе открываем просто по контексту - для справочника или документа это будет новый объект // @@ -1466,11 +1465,11 @@ ОсновноеОкно.ВыполнитьКоманду(ПарамНавигационнаяСсылка); Исключение ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. - |Возможно, сеанс тест-клиента заблокирован модальным окном", ПарамНавигационнаяСсылка); + |Возможно, сеанс тест-клиента заблокирован модальным окном", ПарамНавигационнаяСсылка); КонецПопытки; ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); - + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); @@ -1481,65 +1480,65 @@ &НаКлиенте Функция ОсновноеОкно(ТестКлиент) - + Для Каждого ТестируемоеОкно Из ТестКлиент.ПолучитьПодчиненныеОбъекты() Цикл - Если ТипЗнч(ТестируемоеОкно) = Тип("ТестируемоеОкноКлиентскогоПриложения") - И ТестируемоеОкно.Основное Тогда + Если ТипЗнч(ТестируемоеОкно) = Тип("ТестируемоеОкноКлиентскогоПриложения") + И ТестируемоеОкно.Основное Тогда Возврат ТестируемоеОкно; КонецЕсли; КонецЦикла; - + ВызватьИсключение "Не удалось найти основное окно"; - + КонецФункции &НаКлиенте Функция ПереходПоКнопкеКомандногоИнтерфейса() - + Возврат "Переход по кнопке командного интерфейса"; - + КонецФункции &НаКлиенте Функция ТекстИсключения(ОкноПредупреждение) - + ТекстыЗаголовков = Новый Массив; Для Каждого ТекОбъект Из ОкноПредупреждение.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл ТекстыЗаголовков.Добавить(ТекОбъект.ТекстЗаголовка); КонецЦикла; - + Возврат СтрСоединить_(ТекстыЗаголовков, " "); - + КонецФункции -//} +// } &НаКлиенте Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт СтрокаРезультат = ""; Если МассивЭлементов.Количество() > 0 Тогда СтрокаРезультат = МассивЭлементов.Получить(0) + Символ; - Для сч = 0 по МассивЭлементов.ВГраница() Цикл + Для сч = 0 По МассивЭлементов.ВГраница() Цикл Элемент = МассивЭлементов.Получить(сч); Если ЗначениеЗаполнено(Элемент) Тогда СтрокаРезультат = МассивЭлементов.Получить(сч) + Символ; КонецЕсли; КонецЦикла; КонецЕсли; - + Возврат СтрокаРезультат; - + КонецФункции &НаСервереБезКонтекста Функция КонтекстЯдраНаСервере(Знач КонтекстЯдра = Неопределено) Если КонтекстЯдра = Неопределено Тогда - Возврат ВнешниеОбработки.Создать("xddTestRunner"); + Возврат ВнешниеОбработки.Создать("xddTestRunner"); КонецЕсли; Возврат КонтекстЯдра; -КонецФункции +КонецФункции &НаСервереБезКонтекста Функция ИмяТеста() From 2cad27b490b8e91046d42167bd87910e620bbb8d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:02:46 +0300 Subject: [PATCH 324/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D0=A1=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D1=80=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index f9d72851b..1652f402e 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -109,7 +109,7 @@ Возврат; КонецЕсли; - Док.Дата = ТекущаяДата(); + Док.Дата = ТекущаяДатаСеанса(); Док.ОбменДанными.Загрузка = Истина; Док.Записать(); @@ -1440,7 +1440,7 @@ Элем.УстановитьНовыйНомер(); КонецЕсли; - Элем.Дата = ТекущаяДата(); + Элем.Дата = ТекущаяДатаСеанса(); Если ЕстьНастройка("БизнесПроцессы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.БизнесПроцессы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл From 240d89afddb755d56d798492b7f35510525abd91 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:06:39 +0300 Subject: [PATCH 325/421] =?UTF-8?q?=D0=B5=D1=89=D0=B5=20=D0=B7=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5f6b064f5..22c1c54e3 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -669,8 +669,7 @@ КонецЕсли; Иначе - // Общая форма "ВариантыОтчета" не открываются самостоятельно. - //СписокИменМетаФорм.Добавить(ФормаВарианта.ПолноеИмя()); + // Общая форма "ВариантыОтчета" не открывается самостоятельно. // СписокИменМетаФорм.Добавить(ФормаВарианта.ПолноеИмя()); СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаВарианта"); Результат = Истина; КонецЕсли; @@ -873,8 +872,6 @@ ПутьНастройки = КлючНастройки(); - //Отладка(СтрШаблон("Дымовые ФлагОтладки %1", КонтекстЯдра.Объект.ФлагОтладки)); - ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); @@ -887,7 +884,6 @@ Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации", Объект.Настройки) Тогда Объект.ВыводитьСообщенияВЖурналРегистрации = Объект.Настройки.ВыводитьСообщенияВЖурналРегистрации; - //Отладка(СтрШаблон("ВыводитьСообщенияВЖурналРегистрации %1", Объект.ВыводитьСообщенияВЖурналРегистрации)); КонецЕсли; Если ЕстьНастройка("ОткрываемФормыНаКлиентеТестирования", Объект.Настройки) Тогда @@ -1382,11 +1378,6 @@ &НаКлиентеНаСервереБезКонтекста Функция ПолучитьВидМетаданного(Мета_ПолноеИмя) - // Если ВключенаАнглийскаяЛокализация() Тогда - // СтрокаФорма = ".Form."; - // Иначе - // СтрокаФорма = ".Форма."; - //КонецЕсли; Поз = Найти(Мета_ПолноеИмя, ".Форма."); Если Поз = 0 Тогда From 3aff0e734359b06bb82cb5871162363dd5b865d7 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:28:23 +0300 Subject: [PATCH 326/421] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 113 ++++++++---------- 1 file changed, 49 insertions(+), 64 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 22c1c54e3..7123b566a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -70,7 +70,8 @@ ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер(); мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер(); - Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда + ОчереднойВидМетаданного = "Справочники"; + Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда ОписанияТестов = Новый Массив; @@ -78,18 +79,13 @@ ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - Если ЗначениеЗаполнено(ОписанияТестов) Тогда - - Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда - НаборТестов.НачатьГруппу("Справочники", ВключенСтрогийПорядокВыполнения); - КонецЕсли; - - ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - - КонецЕсли; + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) + КонецЕсли; - Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда + ОчереднойВидМетаданного = "Документы"; + Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда ОписанияТестов = Новый Массив; @@ -100,57 +96,37 @@ ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - Если ЗначениеЗаполнено(ОписанияТестов) Тогда - - Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда - НаборТестов.НачатьГруппу("Документы", ВключенСтрогийПорядокВыполнения); - КонецЕсли; - - ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - - КонецЕсли; + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) + КонецЕсли; - Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда - - ОписанияТестов = Новый Массив; - - ДобавлятьОбработки = Истина; - ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, ДобавлятьОбработки, - НастройкаГруппировки); - - Если ЗначениеЗаполнено(ОписанияТестов) Тогда - - Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда - НаборТестов.НачатьГруппу("Обработки", ВключенСтрогийПорядокВыполнения); - КонецЕсли; - - ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - - КонецЕсли; - КонецЕсли; + ОписанияОтчетовОбработок = Новый Массив; + ОписанияОтчетовОбработок.Добавить(Новый Структура("Вид,ДобавлятьОбработки", "Обработки", Истина)); + ОписанияОтчетовОбработок.Добавить(Новый Структура("Вид,ДобавлятьОбработки", "Отчеты", Ложь)); - Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда - - ОписанияТестов = Новый Массив; - - ДобавлятьОбработки = Ложь; - ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, ДобавлятьОбработки, - НастройкаГруппировки); - - Если ЗначениеЗаполнено(ОписанияТестов) Тогда + Для каждого Описание Из ОписанияОтчетовОбработок Цикл + Если НЕ ВидМетаданныхИсключенИзТестирования(Описание.Вид) Тогда - Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда - НаборТестов.НачатьГруппу("Отчеты", ВключенСтрогийПорядокВыполнения); - КонецЕсли; - - ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); + ОписанияТестов = Новый Массив; + ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, Описание.ДобавлятьОбработки, + НастройкаГруппировки); + + Если ЗначениеЗаполнено(ОписанияТестов) Тогда + + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда + НаборТестов.НачатьГруппу(Описание.Вид, ВключенСтрогийПорядокВыполнения); + КонецЕсли; + + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); + + КонецЕсли; КонецЕсли; + КонецЦикла; - КонецЕсли; - - Если НЕ ВидМетаданныхИсключенИзТестирования("БизнесПроцессы") Тогда + ОчереднойВидМетаданного = "БизнесПроцессы"; + Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда ОписанияТестов = Новый Массив; @@ -159,15 +135,8 @@ ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - Если ЗначениеЗаполнено(ОписанияТестов) Тогда - - Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда - НаборТестов.НачатьГруппу("БизнесПроцессы", ВключенСтрогийПорядокВыполнения); - КонецЕсли; - - ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - - КонецЕсли; + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) КонецЕсли; @@ -187,6 +156,22 @@ // { ФормированиеСпискаТестовыхСлучаев +&НаКлиенте +Процедура ДобавитьТестыПоОписанию(Знач ОчереднойВидМетаданного, Знач ОписанияТестов, Знач НаборТестов, + Знач НастройкаГруппировки, Знач ВключенСтрогийПорядокВыполнения) + + Если ЗначениеЗаполнено(ОписанияТестов) Тогда + + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда + НаборТестов.НачатьГруппу(ОчереднойВидМетаданного, ВключенСтрогийПорядокВыполнения); + КонецЕсли; + + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); + + КонецЕсли; + +КонецПроцедуры + &НаКлиенте Процедура ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, СтрогийПорядокВыполнения) Для Каждого Описание Из ОписанияТестов Цикл From 4c6cf5ecba90635f28793767c83c960079774306 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:41:37 +0300 Subject: [PATCH 327/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B4?= =?UTF-8?q?=D1=83=D0=B1=D0=BB=D0=B8=D1=80=D1=83=D1=8E=D1=89=D1=83=D1=8E=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D1=80=D0=BA=D1=83=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=83=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 4 ---- 1 file changed, 4 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7123b566a..c3209b4e0 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -532,10 +532,6 @@ Возврат Ложь; КонецЕсли; - Если Не ПравоДоступа("Просмотр", МетаОбъект) Тогда - Возврат Ложь; - КонецЕсли; - Мета_ПолноеИмя = МетаОбъект.ПолноеИмя(); Результат = Ложь; From ccb761d335d2a6e6faa9bd951e91530f1a8e684d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:47:27 +0300 Subject: [PATCH 328/421] =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c3209b4e0..b41dbd313 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -354,24 +354,17 @@ &НаСервере Процедура ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, Знач ДобавлятьОбработки, Знач НастройкаГруппировки) + ОсновнойОбъект = Объект(); - ОписаниеВидаМетаданного = Новый Структура; - ИменаОсновныхФорм = мИменаОсновныхФорм_Сервер(); Если ДобавлятьОбработки Тогда ОписаниеВидаМетаданного.Вставить("Менеджер", Метаданные.Обработки); ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Обработки"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Обработка"); - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( - ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, - ТолькоУправляемыеФормы, - ОсновнойОбъект.ПолучитьСписокИсключений_Обработки(), - ИменаОсновныхФорм, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", - НастройкаГруппировки); + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки(); Иначе @@ -379,15 +372,17 @@ ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Отчеты"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Отчет"); - ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( - ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, - ТолькоУправляемыеФормы, - ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(), - ИменаОсновныхФорм, - "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", - НастройкаГруппировки); + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(); КонецЕсли; + + ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( + ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, + ТолькоУправляемыеФормы, + СписокИсключений, + мИменаОсновныхФорм_Сервер(), + "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", + НастройкаГруппировки); КонецПроцедуры From b319741137d98219a320d24d7b90f44a4d5b7c96 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 01:50:28 +0300 Subject: [PATCH 329/421] =?UTF-8?q?=D0=BD=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=BE=D0=B5=20=D0=BA=D0=B5=D1=88=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=82=D0=B0=20=D1=8F=D0=B4=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index b41dbd313..fbfd7e422 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -228,7 +228,7 @@ Счетчик = 0; - ОтобранныеМетаданные = ОтобратьМетаданные("Справочники", Метаданные.Справочники, Объект.Настройки, ОсновнойОбъект); + ОтобранныеМетаданные = ОтобратьМетаданные("Справочники", Метаданные.Справочники, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; @@ -311,7 +311,7 @@ Счетчик = 0; - ОтобранныеМетаданные = ОтобратьМетаданные("Документы", Метаданные.Документы, Объект.Настройки, ОсновнойОбъект); + ОтобранныеМетаданные = ОтобратьМетаданные("Документы", Метаданные.Документы, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; @@ -399,7 +399,7 @@ Счетчик = 0; - ОтобранныеМетаданные = ОтобратьМетаданные("БизнесПроцессы", Метаданные.БизнесПроцессы, Объект.Настройки, ОсновнойОбъект); + ОтобранныеМетаданные = ОтобратьМетаданные("БизнесПроцессы", Метаданные.БизнесПроцессы, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; @@ -452,7 +452,8 @@ КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Счетчик = 0; - ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, Объект.Настройки, ОсновнойОбъект); + ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, + Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; @@ -1056,7 +1057,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ОтобратьМетаданные(КлючМетаданных, МенеджерМетаданного, Настройки, ОсновнойОбъект) +Функция ОтобратьМетаданные(КлючМетаданных, МенеджерМетаданного, Настройки, ОсновнойОбъект, КонтекстЯдра) Результат = Новый Массив; @@ -1066,7 +1067,7 @@ Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) // Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) // TODO Или Не ПравоДоступа("Просмотр", МетаОбъект) - Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки) Тогда + Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки, КонтекстЯдра) Тогда Продолжить; КонецЕсли; From 0a08efcbbd089a06f7af36078e6ba283c66df6cd Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 02:02:19 +0300 Subject: [PATCH 330/421] =?UTF-8?q?=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 --- .../Ext/Form/Module.bsl" | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index fbfd7e422..d2c7fd5bd 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1004,14 +1004,14 @@ &НаСервереБезКонтекста Функция ВключаемПоИмени(Знач КлючМетаданных, Знач ИмяМетаданного, Знач Настройки, Знач КонтекстЯдра = Неопределено) - ФмльтрМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); - ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФмльтрМетаданных); + ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); + ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); Если ЕстьОтборТолькоДляВключенияМетаданных Тогда - Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрМетаданных, КонтекстЯдра); + Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных , КонтекстЯдра); КонецЕсли; - ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФмльтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); + ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) И НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрИсключаемыхМетаданных, КонтекстЯдра) Тогда @@ -1023,7 +1023,7 @@ КонецФункции &НаСервереБезКонтекста -Функция НайтиКоллекциюФмльтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) +Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) ИМЯ_ОБЩЕЙ_НАСТРОЙКИ = "Основные"; @@ -1033,12 +1033,12 @@ Возврат Новый Массив; КонецЕсли; - ФмльтрМетаданных = Неопределено; - Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФмльтрМетаданных) Или Не ЗначениеЗаполнено(ФмльтрМетаданных) Тогда - ФмльтрМетаданных = Новый Массив; + ФильтрМетаданных = Неопределено; + Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФильтрМетаданных ) Или Не ЗначениеЗаполнено(ФильтрМетаданных ) Тогда + ФильтрМетаданных = Новый Массив; КонецЕсли; - Возврат ФмльтрМетаданных; + Возврат ФильтрМетаданных ; КонецФункции From b1f1320ecfa1fca79bf1b7f775309ef9e5f39d4e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 02:03:09 +0300 Subject: [PATCH 331/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=84=D0=BE=D1=80=D0=BC=D1=83=D0=BB=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D1=83=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...02\320\270\321\217 \321\204\320\276\321\200\320\274.feature" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 5abfd016e..faf936587 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -90,7 +90,7 @@ И Код возврата команды "vrunner" равен 0 -Сценарий: Тестирование документов - настроена проверка только указанных +Сценарий: Тестирование документов - настроена проверка только избранных Когда Я добавляю параметр "xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" From 82a08a6775e43fff19594db6f8fcf0df2654f561 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 02:09:04 +0300 Subject: [PATCH 332/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B5=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B8=20=D0=BE=D1=82=D0=B1?= =?UTF-8?q?=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - по префиксу - по подсистеме --- ... \321\204\320\276\321\200\320\274.feature" | 52 ++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index faf936587..c74f9d534 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -16,7 +16,7 @@ И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" Дано Я очищаю параметры команды "vrunner" в контексте -Сценарий: Тестирование документов - настроены исключения, индивидуально для каждого вида тестов +Сценарий: Тестирование всех метаданных - настроены исключения, индивидуально для каждого вида тестов # Дано файл "build/xdd_test.epf" не существует # Дано Я очищаю параметры команды "vrunner" в контексте @@ -139,3 +139,53 @@ | -->> тест Документ.Документ1 | И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - фильтр по префиксу + + Когда Я добавляю параметр "xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-prefix.json" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" + # И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Открытие форм конфигурации" | + | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | + | ==>> набор тестов Документы | + | -->> тест Документ.Документ1 | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.ПриходнаяНакладная | + | -->> тест Документ.ДокументСДвижениями | + + И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - фильтр по подсистеме + + Когда Я добавляю параметр "xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" + # И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Открытие форм конфигурации" | + | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | + | ==>> набор тестов Документы | + | -->> тест Документ.ПриходнаяНакладная | + | -->> тест Документ.ДокументСДвижениями | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.Документ1 | + + И Код возврата команды "vrunner" равен 0 From 35a65065f5ab68b94e76f4d79137bbc2ef2f847e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 12:23:00 +0300 Subject: [PATCH 333/421] =?UTF-8?q?=D0=9E=D0=B1=D0=BB=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D0=B8=20=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 54 ++++++++++--------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d2c7fd5bd..a41cdf8a8 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,4 +1,6 @@ -&НаКлиенте +#Область ОписаниеПеременных + +&НаКлиенте Перем КонтекстЯдра; &НаКлиенте Перем Ожидаем; @@ -11,7 +13,16 @@ &НаКлиенте Перем ТестируемаяФорма; -// { интерфейс тестирования +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +&НаКлиенте +Функция КлючНастройки() Экспорт + Возврат "smoke"; +КонецФункции &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт @@ -152,9 +163,13 @@ КонецПроцедуры -// } интерфейс тестирования +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции -// { ФормированиеСпискаТестовыхСлучаев +#Область ФормированиеСпискаТестовыхСлучаев &НаКлиенте Процедура ДобавитьТестыПоОписанию(Знач ОчереднойВидМетаданного, Знач ОписанияТестов, Знач НаборТестов, @@ -603,9 +618,9 @@ КонецФункции -// } +#КонецОбласти -// { РаботаСФормами +#Область РаботаСФормами &НаСервереБезКонтекста Функция ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОткрываемФормыНаКлиентеТестирования) @@ -834,16 +849,10 @@ Возврат МетаФорма <> Неопределено И МетаФорма.ТипФормы = Метаданные.СвойстваОбъектов.ТипФормы.Управляемая; КонецФункции -// } +#КонецОбласти -// { РаботаСНастройками #Область Настройки -&НаКлиенте -Функция КлючНастройки() Экспорт - Возврат "smoke"; -КонецФункции - &НаКлиенте Процедура ЗагрузитьНастройки() @@ -1138,9 +1147,7 @@ #КонецОбласти -// } - -// { блок юнит-тестов - САМИ ТЕСТЫ +#Область Тесты &НаКлиенте Процедура ПередЗапускомТеста() Экспорт @@ -1300,12 +1307,9 @@ Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка"); КонецПроцедуры -// } - -// { Переопределение исключений, чтобы не открывать формы. -// } +#КонецОбласти -// { ВспомогательныеМетоды +#Область ВспомогательныеМетоды &НаСервереБезКонтекста Процедура УдалитьСозданныеОбъекты(СоздаваемыйЭлемент) @@ -1407,9 +1411,9 @@ Возврат ВариантВстроенногоЯзыкаАнглийский; КонецФункции -// } +#КонецОбласти -// { Тесты с помощью клиента тестирования +#Область ТестыЧерезКлиентТестирования &НаКлиенте Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) Экспорт @@ -1479,7 +1483,7 @@ КонецФункции -// } +#КонецОбласти &НаКлиенте Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт @@ -1512,3 +1516,5 @@ Функция ИмяТеста() Возврат "Тесты_ОткрытиеФормКонфигурации"; КонецФункции + +#КонецОбласти From e9e7f78fbe78fb9564db6ea8b85b28065e14766d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 12:59:49 +0300 Subject: [PATCH 334/421] =?UTF-8?q?=D0=BE=D1=82=D0=B1=D0=BE=D1=80=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=B5=D1=84=D0=B8=D0=BA=D1=81=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \321\204\320\276\321\200\320\274.feature" | 4 +- spec/fixtures/smoke-prefix.json | 79 +++++++++++++++++++ .../Ext/ObjectModule.bsl" | 2 + .../Ext/Form/Module.bsl" | 62 +++++++++------ 4 files changed, 120 insertions(+), 27 deletions(-) create mode 100644 spec/fixtures/smoke-prefix.json diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index c74f9d534..ee2d6a259 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -156,12 +156,12 @@ | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | - | -->> тест Документ.Документ1 | + | -->> тест Документ.ДокументСДвижениями | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит | -->> тест Документ.ПриходнаяНакладная | - | -->> тест Документ.ДокументСДвижениями | + | -->> тест Документ.Документ1 | И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-prefix.json b/spec/fixtures/smoke-prefix.json new file mode 100644 index 000000000..bbf4c088d --- /dev/null +++ b/spec/fixtures/smoke-prefix.json @@ -0,0 +1,79 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "ОтборПоПрефиксу": true, + "Префикс": "ДокументС", + + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + }, + + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], + "ОбщиеКоманды":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы":[ + "ОбщаяФорма1" + ], + "Справочники": + [ + "*ростой*равочник*" + ], + "Документы": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ВнешниеИсточникиДанных": false + } +} diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 1652f402e..3b7ed8739 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -938,6 +938,8 @@ //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); Рез.Вставить("ИсключатьПоИмени", Новый Структура); + Рез.Вставить("ОтборПоПрефиксу", Ложь); + Рез.Вставить("Префикс", ""); Возврат Новый ФиксированнаяСтруктура(Рез); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a41cdf8a8..439856fe7 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1012,6 +1012,11 @@ &НаСервереБезКонтекста Функция ВключаемПоИмени(Знач КлючМетаданных, Знач ИмяМетаданного, Знач Настройки, Знач КонтекстЯдра = Неопределено) + + ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); + Если ВключенОтборПоПрефиксу Тогда + Возврат ОтобралиПоПрефиксу(Настройки, ИмяМетаданного); + КонецЕсли; ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); @@ -1020,9 +1025,9 @@ Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных , КонтекстЯдра); КонецЕсли; - ФмльтрИсключаемыхМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); - Если ЗначениеЗаполнено(ФмльтрИсключаемыхМетаданных) - И НайтиИмяВКоллекции(ИмяМетаданного, ФмльтрИсключаемыхМетаданных, КонтекстЯдра) Тогда + ФильтрИсключаемыхМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); + Если ЗначениеЗаполнено(ФильтрИсключаемыхМетаданных) + И НайтиИмяВКоллекции(ИмяМетаданного, ФильтрИсключаемыхМетаданных, КонтекстЯдра) Тогда Возврат Ложь; КонецЕсли; @@ -1032,36 +1037,28 @@ КонецФункции &НаСервереБезКонтекста -Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) - - ИМЯ_ОБЩЕЙ_НАСТРОЙКИ = "Основные"; - - ОбщаяКоллекция = НайтиОбщуюКоллекциюНастроек(Настройки, ИмяОбщейКоллекции); - - Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда - Возврат Новый Массив; - КонецЕсли; - - ФильтрМетаданных = Неопределено; - Если Не ОбщаяКоллекция.Свойство(КлючМетаданных, ФильтрМетаданных ) Или Не ЗначениеЗаполнено(ФильтрМетаданных ) Тогда - ФильтрМетаданных = Новый Массив; - КонецЕсли; - - Возврат ФильтрМетаданных ; +Функция ОтобралиПоПрефиксу(Знач Настройки, Знач ИмяМетаданного) + ПрефиксДляОтбора = ЗначениеИзСтруктуры(Настройки, "Префикс", ""); + Возврат СтрНайти(ИмяМетаданного, ПрефиксДляОтбора) = 1; + КонецФункции + &НаСервереБезКонтекста -Функция НайтиОбщуюКоллекциюНастроек(Знач Настройки, Знач ИмяНастройки) +Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) - Результат = Неопределено; + // TODO использовать метод плагина Настройки.ЕстьНастройка - // TODO использовать метод плагина Настройки.ЕстьНастройка - Если Не Настройки.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда - Результат = Новый Структура; + ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); + + ЗначениеПоУмолчанию = Новый Массив; + + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда + Возврат ЗначениеПоУмолчанию; КонецЕсли; - Возврат Результат; + Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); КонецФункции @@ -1149,6 +1146,8 @@ #Область Тесты +// TODO перенести область Тесты в СлужебныйПрограммныйИнтерфейс + &НаКлиенте Процедура ПередЗапускомТеста() Экспорт @@ -1411,6 +1410,19 @@ Возврат ВариантВстроенногоЯзыкаАнглийский; КонецФункции +&НаСервереБезКонтекста +Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) + + Результат = Неопределено; + + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат Результат; + +КонецФункции + #КонецОбласти #Область ТестыЧерезКлиентТестирования From a122029d94db53e38d5fd660f41d054118128707 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 16:17:59 +0300 Subject: [PATCH 335/421] =?UTF-8?q?=D0=9E=D1=82=D0=B1=D0=BE=D1=80=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D0=B4=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spec/fixtures/smoke-subsystem.json | 78 +++++++++++++++++ .../Ext/ObjectModule.bsl" | 1 + .../Ext/Form/Module.bsl" | 83 ++++++++++++++++--- 3 files changed, 152 insertions(+), 10 deletions(-) create mode 100644 spec/fixtures/smoke-subsystem.json diff --git a/spec/fixtures/smoke-subsystem.json b/spec/fixtures/smoke-subsystem.json new file mode 100644 index 000000000..e198dd2ff --- /dev/null +++ b/spec/fixtures/smoke-subsystem.json @@ -0,0 +1,78 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "Подсистема": "Тестовая.Подсистема1", + + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + }, + + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "Разделы": [ + "Настройки и администрирование" + ], + "ОбщиеКоманды":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы":[ + "ОбщаяФорма1" + ], + "Справочники": + [ + "*ростой*равочник*" + ], + "Документы": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + "ВнешниеИсточникиДанных": false + } +} diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 3b7ed8739..68c23a883 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -940,6 +940,7 @@ Рез.Вставить("ИсключатьПоИмени", Новый Структура); Рез.Вставить("ОтборПоПрефиксу", Ложь); Рез.Вставить("Префикс", ""); + Рез.Вставить("Подсистема", ""); Возврат Новый ФиксированнаяСтруктура(Рез); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 439856fe7..150d24381 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -210,8 +210,6 @@ &НаСервереБезКонтекста Функция ПодробноеПредставлениеПрефикса(ПрефиксТеста) - Результат = ""; - Если ПрефиксТеста = "Новые" Тогда Результат = "открытие формы объекта при создании"; @@ -224,6 +222,8 @@ Результат = "открытие формы списка"; + Иначе + Результат = ""; КонецЕсли; Возврат Результат; @@ -1011,13 +1011,15 @@ КонецФункции &НаСервереБезКонтекста -Функция ВключаемПоИмени(Знач КлючМетаданных, Знач ИмяМетаданного, Знач Настройки, Знач КонтекстЯдра = Неопределено) - - ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); - Если ВключенОтборПоПрефиксу Тогда - Возврат ОтобралиПоПрефиксу(Настройки, ИмяМетаданного); - КонецЕсли; +Функция ВключаемПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра = Неопределено) + ИмяМетаданного = МетаОбъект.Имя; + + Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(Настройки, МетаОбъект); + Если ЗначениеЗаполнено(Отобрали) Тогда + Возврат Отобрали; + КонецЕсли; + ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); @@ -1036,6 +1038,36 @@ КонецФункции +&НаСервереБезКонтекста +Функция ОтобралиПоПрефиксуИлиПодсистеме(Знач Настройки, Знач МетаОбъект) + + ИмяМетаданного = МетаОбъект.Имя; + + ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); + ИмяПодсистемы = ЗначениеИзСтруктуры(Настройки, "Подсистема", ""); + ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); + + Если ВключенОтборПоПрефиксу Тогда + + Если ОтобралиПоПрефиксу(Настройки, ИмяМетаданного) Тогда + Возврат Истина; + КонецЕсли; + + Если ВключенОтборПоПодсистеме Тогда + Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + КонецЕсли; + + Возврат Ложь; + КонецЕсли; + + Если ВключенОтборПоПодсистеме Тогда + Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + &НаСервереБезКонтекста Функция ОтобралиПоПрефиксу(Знач Настройки, Знач ИмяМетаданного) @@ -1044,6 +1076,38 @@ КонецФункции +&НаСервереБезКонтекста +Функция ОтобралиПоПодсистеме(Знач МетаОбъект, Знач ИмяПодсистемы) + + Подсистема = НайтиПодсистему(ИмяПодсистемы); + Если Подсистема = Неопределено Тогда + ВызватьИсключение "Не нашли подсистему по пути " + ИмяПодсистемы; + КонецЕсли; + + Возврат Подсистема.Состав.Содержит(МетаОбъект); + +КонецФункции + +&НаСервереБезКонтекста +Функция НайтиПодсистему(Знач ИмяПодсистемы) + + Сегменты = СтрРазделить(ИмяПодсистемы, "."); + ТекущаяПодсистема = Метаданные; + Для Уровень = 0 По Сегменты.ВГраница() Цикл + + Сегмент = Сегменты[Уровень]; + + Подсистема = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); + Если Подсистема = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + ТекущаяПодсистема = Подсистема; + КонецЦикла; + + Возврат Подсистема; + +КонецФункции &НаСервереБезКонтекста Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) @@ -1071,9 +1135,8 @@ ИмяМетаОбъекта = МетаОбъект.Имя; Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) - // Или ИсключаемПоИмени(ИмяМетаОбъекта, СписокИсключений) // TODO Или Не ПравоДоступа("Просмотр", МетаОбъект) - Или Не ВключаемПоИмени(КлючМетаданных, ИмяМетаОбъекта, Настройки, КонтекстЯдра) Тогда + Или Не ВключаемПоИмени(КлючМетаданных, МетаОбъект, Настройки, КонтекстЯдра) Тогда Продолжить; КонецЕсли; From ed392aa34732230fa368085bc49d50f5ec78c4ee Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 16:23:34 +0300 Subject: [PATCH 336/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B5=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \321\204\320\276\321\200\320\274.feature" | 176 +++++++++++------- spec/fixtures/smoke-exclude.json | 12 +- spec/fixtures/smoke-include.json | 2 +- 3 files changed, 111 insertions(+), 79 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index ee2d6a259..19525eb3f 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -12,6 +12,7 @@ # И Я копирую каталог "xdd_test" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога # И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога # И Я копирую файл "xUnitParams.json" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога + И Я копирую файл "env.json" из каталога "." проекта в подкаталог "build" рабочего каталога И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" Дано Я очищаю параметры команды "vrunner" в контексте @@ -28,89 +29,124 @@ # Когда Я добавляю параметр "<КаталогПроекта>/src/main.os xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" # И Я добавляю параметр "build/xdd_test.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke.json" для команды "vrunner" # И Я добавляю параметр "--xddConfig build/xUnitParams.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" - # И Я сообщаю вывод команды "vrunner" + И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | - | ==>> набор тестов Справочники | - | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы объекта при создании | - | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы записанного объекта | - | -->> тест Справочник.Справочник1 : открытие формы списка | - | -->> тест Справочник.Справочник2 : открытие формы объекта при создании | - | -->> тест Справочник.Справочник2 : открытие формы записанного объекта | - | -->> тест Справочник.Справочник2 : открытие формы списка | - | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы объекта при создании | - | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы записанного объекта | - | -->> тест Справочник.Справочник3 : открытие формы списка | - | -->> тест Справочник.Склады : открытие формы объекта при создании | - | -->> тест Справочник.Склады : открытие формы записанного объекта | - | -->> тест Справочник.Склады : открытие формы списка | - | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме.Форма.ФормаЭлемента : открытие формы объекта при создании | - | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме.Форма.ФормаЭлемента : открытие формы записанного объекта | - | -->> тест Справочник.СправочникСТаблицейЗначенийНаФорме : открытие формы списка | - | -->> тест Справочник.Товары : открытие формы объекта при создании | - | -->> тест Справочник.Товары : открытие формы записанного объекта | - | -->> тест Справочник.Товары : открытие формы списка | - | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы объекта при создании | - | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы записанного объекта | - | -->> тест Справочник.ПростойСправочник.Форма.ФормаСписка : открытие формы списка | - | -->> тест Справочник.ПростойСправочник.Форма.ФормаВыбора : открытие формы списка | - | -->> тест Справочник.ПростойСправочник2 : открытие формы объекта при создании | - | -->> тест Справочник.ПростойСправочник2 : открытие формы записанного объекта | - | -->> тест Справочник.ПростойСправочник2 : открытие формы списка | - | ==>> набор тестов Документы | - | -->> тест Документ.ПриходнаяНакладная : открытие формы объекта при создании | - | -->> тест Документ.ПриходнаяНакладная : открытие формы записанного объекта | - | -->> тест Документ.ПриходнаяНакладная : открытие формы списка | - | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | - | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | - | -->> тест Документ.ДокументСДвижениями : открытие формы списка | - | ==>> набор тестов Обработки | - | -->> тест Обработка.ОткрытьVanessaADD.Форма.Форма | - | -->> тест Обработка.МаксимизироватОкноПриОткрытии.Форма.Форма | - | -->> тест Обработка.ВыполнитьПроизвольноеВыражение.Форма.Форма | - | -->> тест Обработка.ПроверкаСостоянияЭлементов.Форма.Форма | - | -->> тест Обработка.ТаблицыНаФорме.Форма.Форма | - | ==>> набор тестов Отчеты | - | -->> тест Отчет.КомпоновкаТест | - | -->> тест Отчет.ОтчетПереносСтрок.Форма.ФормаОтчета | - | -->> тест Отчет.ОтчетПереносСтрок | + |==>> набор тестов Справочники | + | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.Справочник1.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.Справочник1 : открытие формы списка | + | -->> тест Справочник.Справочник2 : открытие формы объекта при создании | + | -->> тест Справочник.Справочник2 : открытие формы записанного объекта | + | -->> тест Справочник.Справочник2 : открытие формы списка | + | -->> тест Справочник.ИерархическийСправочник.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.ИерархическийСправочник.Форма.ФормаГруппы : открытие формы объекта при создании | + | -->> тест Справочник.ИерархическийСправочник.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.ИерархическийСправочник.Форма.ФормаГруппы : открытие формы записанного объекта | + | -->> тест Справочник.ИерархическийСправочник : открытие формы списка | + | -->> тест Справочник.СправочникСТабЧастью : открытие формы объекта при создании | + | -->> тест Справочник.СправочникСТабЧастью : открытие формы записанного объекта | + | -->> тест Справочник.СправочникСТабЧастью : открытие формы списка | + | -->> тест Справочник.ПодчиненныйСправочник : открытие формы объекта при создании | + | -->> тест Справочник.ПодчиненныйСправочник : открытие формы записанного объекта | + | -->> тест Справочник.ПодчиненныйСправочник : открытие формы списка | + | -->> тест Справочник.СправочникСоСсылкойНаСамогоСебя.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.СправочникСоСсылкойНаСамогоСебя.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.СправочникСоСсылкойНаСамогоСебя : открытие формы списка | + | -->> тест Справочник.ПодчиненныйСДвумяВладельцами : открытие формы объекта при создании | + | -->> тест Справочник.ПодчиненныйСДвумяВладельцами : открытие формы записанного объекта | + | -->> тест Справочник.ПодчиненныйСДвумяВладельцами : открытие формы списка | + | -->> тест Справочник.СправочникСОбязательнымРеквизитом : открытие формы объекта при создании | + # | -->> тест Справочник.СправочникСОбязательнымРеквизитом : открытие формы записанного объекта | + | -->> тест Справочник.СправочникСОбязательнымРеквизитом : открытие формы списка | + | -->> тест Справочник.ПростойСправочник3 : открытие формы объекта при создании | + | -->> тест Справочник.ПростойСправочник3 : открытие формы записанного объекта | + | -->> тест Справочник.ПростойСправочник3 : открытие формы списка | + | -->> тест Справочник.СправочникИерархияЭлементов.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.СправочникИерархияЭлементов.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.СправочникИерархияЭлементов : открытие формы списка | + | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.Справочник3.Форма.ФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.Справочник3 : открытие формы списка | + | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы объекта при создании | + | -->> тест Справочник.ПростойСправочник.Форма.УпрФормаЭлемента : открытие формы записанного объекта | + | -->> тест Справочник.ПростойСправочник.Форма.ФормаСписка : открытие формы списка | + | -->> тест Справочник.ПростойСправочник.Форма.ФормаВыбора : открытие формы списка | + | -->> тест Справочник.ПростойСправочник2 : открытие формы объекта при создании | + # | -->> тест Справочник.ПростойСправочник2 : открытие формы записанного объекта | + | -->> тест Справочник.ПростойСправочник2 : открытие формы списка | + | -->> тест Справочник.дт_ЭлементыСхемРазмещения : открытие формы объекта при создании | + | -->> тест Справочник.дт_ЭлементыСхемРазмещения : открытие формы записанного объекта | + | -->> тест Справочник.дт_ЭлементыСхемРазмещения : открытие формы списка | + |==>> набор тестов Документы | + | -->> тест Документ.Документ2.Форма.ФормаДокумента : открытие формы объекта при создании | + | -->> тест Документ.Документ2.Форма.ФормаДокумента : открытие формы записанного объекта | + | -->> тест Документ.Документ2.Форма.ФормаСписка : открытие формы списка | + | -->> тест Документ.ДокументСДвижениями : открытие формы объекта при создании | + | -->> тест Документ.ДокументСДвижениями : открытие формы записанного объекта | + | -->> тест Документ.ДокументСДвижениями : открытие формы списка | + |==>> набор тестов Обработки | + | -->> тест Обработка.Тест_Обработка.Форма.Форма | + | -->> тест Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма | + | -->> тест Обработка.ТестПадающий_Обработка | + | -->> тест Обработка.Тест_ЗагрузчикИзПодсистем_НовыйAPIОбъявленияТестов.Форма.Форма | + |==>> набор тестов Отчеты | + | -->> тест Отчет.Отчет1.Форма.УправляемаяФормаОтчета | + | -->> тест Отчет.Отчет1 | + | -->> тест Отчет.ТестовыйОтчетСКДДляСравнениеСЭталоном | + | -->> тест Отчет.Тест_Отчет | + | -->> тест Отчет.Отчет2 | + | -->> тест Отчет.ОтчетСОбщейФормойПоУмолчанию | + | -->> тест Отчет.ОтчетССобственнымиФормами.Форма.ФормаОтчета | + | -->> тест Отчет.ОтчетССобственнымиФормами.Форма.ФормаНастроек | + | -->> тест Отчет.ОтчетССобственнымиФормами | + | -->> тест Отчет.ОтчетБезУказанияФорм | + | -->> тест Отчет.дт_ЭлементыСхемРазмещения | + | -->> тест Отчет.ВложенныеСхемыСКД | + |==>> набор тестов БизнесПроцессы | + | -->> тест БизнесПроцесс.БизнесПроцесс1 : открытие формы объекта при создании | + | -->> тест БизнесПроцесс.БизнесПроцесс1 : открытие формы записанного объекта | + | -->> тест БизнесПроцесс.БизнесПроцесс1 : открытие формы списка | + | -->> тест БизнесПроцесс.БизнесПроцесс2 : открытие формы объекта при создании | + | -->> тест БизнесПроцесс.БизнесПроцесс2 : открытие формы записанного объекта | + | -->> тест БизнесПроцесс.БизнесПроцесс2 : открытие формы списка | | ==>> набор тестов Прочее | | -->> тест ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение | - | ИНФОРМАЦИЯ - Все тесты выполнены! | - | Выполнение тестов завершено | + # | ИНФОРМАЦИЯ - Все тесты выполнены! | + # | Выполнение тестов завершено | - И Код возврата команды "vrunner" равен 0 + # И Код возврата команды "vrunner" равен 0 Сценарий: Тестирование документов - настроена проверка только избранных Когда Я добавляю параметр "xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | - | -->> тест Документ.Документ1 | + | -->> тест Документ.Документ2 | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит - | -->> тест Документ.ПриходнаяНакладная | | -->> тест Документ.ДокументСДвижениями | И Код возврата команды "vrunner" равен 0 @@ -119,24 +155,22 @@ Когда Я добавляю параметр "xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | - | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | - | -->> тест Документ.ПриходнаяНакладная | | -->> тест Документ.ДокументСДвижениями | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит - | -->> тест Документ.Документ1 | + | -->> тест Документ.Документ2 | И Код возврата команды "vrunner" равен 0 @@ -144,24 +178,21 @@ Когда Я добавляю параметр "xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-prefix.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | - | ==>> набор тестов Тесты "Открытие форм конфигурации" | - | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | | -->> тест Документ.ДокументСДвижениями | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит - | -->> тест Документ.ПриходнаяНакладная | - | -->> тест Документ.Документ1 | + | -->> тест Документ.Документ2 | И Код возврата команды "vrunner" равен 0 @@ -169,23 +200,24 @@ Когда Я добавляю параметр "xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ib" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" Когда Я выполняю команду "vrunner" - # И Я сообщаю вывод команды "vrunner" + И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | - | ==>> набор тестов Тесты "Открытие форм конфигурации" | - | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | - | ==>> набор тестов Документы | - | -->> тест Документ.ПриходнаяНакладная | - | -->> тест Документ.ДокументСДвижениями | + | ==>> набор тестов Обработки | + | -->> тест Обработка.Тест_Обработка.Форма.Форма | + | ==>> набор тестов Отчеты | + | -->> тест Отчет.Тест_Отчет | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит - | -->> тест Документ.Документ1 | + | ==>> набор тестов Документы | + # | -->> тест Документ.Документ2 | + # | -->> тест Документ.ДокументСДвижениями | И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-exclude.json b/spec/fixtures/smoke-exclude.json index 70c9c0cba..6d76f86f1 100644 --- a/spec/fixtures/smoke-exclude.json +++ b/spec/fixtures/smoke-exclude.json @@ -47,15 +47,15 @@ "ИсключатьПоИмени" : { "Документы": [ - "*умент1*" + "*умент2*" ] }, - - "Справочники1": false, + + "Справочники": false, "Документы1": false, - "БизнесПроцессы1": false, - "Отчеты1": false, - "Обработки1": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, "ПропускаемыеИсключения" : [ "Обработка не предназначена для непосредственного использования", diff --git a/spec/fixtures/smoke-include.json b/spec/fixtures/smoke-include.json index 36f9538c3..c74d89c3b 100644 --- a/spec/fixtures/smoke-include.json +++ b/spec/fixtures/smoke-include.json @@ -47,7 +47,7 @@ "ПроверятьТолькоИзбранные" : { "Документы": [ - "*умент1*" + "*умент2*" ] }, From 790936a250d4798fb30562e400c195ea5396c60d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 16:36:46 +0300 Subject: [PATCH 337/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=81=20=D0=BE=D0=B1=D1=89=D0=B8=D0=B5=20=D1=88=D0=B0=D0=B3?= =?UTF-8?q?=D0=B8=20=D0=B2=20=D0=9A=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81?= =?UTF-8?q?=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \321\204\320\276\321\200\320\274.feature" | 58 +++---------------- 1 file changed, 9 insertions(+), 49 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 19525eb3f..609f189f4 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -9,35 +9,25 @@ Допустим я подготовил репозиторий и рабочий каталог проекта # И я подготовил рабочую базу проекта "./build/ib" по умолчанию - # И Я копирую каталог "xdd_test" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога # И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога - # И Я копирую файл "xUnitParams.json" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога И Я копирую файл "env.json" из каталога "." проекта в подкаталог "build" рабочего каталога И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" Дано Я очищаю параметры команды "vrunner" в контексте -Сценарий: Тестирование всех метаданных - настроены исключения, индивидуально для каждого вида тестов - - # Дано файл "build/xdd_test.epf" не существует - # Дано Я очищаю параметры команды "vrunner" в контексте - # Когда Я выполняю команду "vrunner" с параметрами "<КаталогПроекта>/src/main.os compileepf build/xdd_test build --language ru" - # И Я очищаю параметры команды "vrunner" в контексте - # Дано файл "build/xdd_test.epf" существует - Когда Я добавляю параметр "xunit" для команды "vrunner" - # Когда Я добавляю параметр "<КаталогПроекта>/src/main.os xunit" для команды "vrunner" И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - # И Я добавляю параметр "build/xdd_test.epf" для команды "vrunner" И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" - И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke.json" для команды "vrunner" - # И Я добавляю параметр "--xddConfig build/xUnitParams.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" + +Сценарий: Тестирование всех метаданных - настроены исключения, индивидуально для каждого вида тестов + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke.json" для команды "vrunner" Когда Я выполняю команду "vrunner" - И Я сообщаю вывод команды "vrunner" + # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | | ==>> набор тестов Тесты "Открытие форм конфигурации" | @@ -129,16 +119,9 @@ Сценарий: Тестирование документов - настроена проверка только избранных - Когда Я добавляю параметр "xunit" для команды "vrunner" - И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" - И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include.json" для команды "vrunner" - И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" - И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" - И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" - # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | ==>> набор тестов Тесты "Открытие форм конфигурации" | | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | @@ -153,16 +136,9 @@ Сценарий: Тестирование документов - настроено исключение по имени для всех тестов - Когда Я добавляю параметр "xunit" для команды "vrunner" - И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" - И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" - И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" - И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" - И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" - # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | | ==>> набор тестов Документы | @@ -176,16 +152,9 @@ Сценарий: Тестирование документов - фильтр по префиксу - Когда Я добавляю параметр "xunit" для команды "vrunner" - И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" - И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-prefix.json" для команды "vrunner" - И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" - И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" - И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" - # И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | ==>> набор тестов Документы | | -->> тест Документ.ДокументСДвижениями | @@ -198,16 +167,9 @@ Сценарий: Тестирование документов - фильтр по подсистеме - Когда Я добавляю параметр "xunit" для команды "vrunner" - И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_ОткрытиеФормКонфигурации.epf" для команды "vrunner" - И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" - И Я добавляю параметр "--workspace ./build" для команды "vrunner" И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" - И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" - И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" - И Я добавляю параметр "--language ru" для команды "vrunner" + Когда Я выполняю команду "vrunner" - И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит | ==>> набор тестов Обработки | | -->> тест Обработка.Тест_Обработка.Форма.Форма | @@ -217,7 +179,5 @@ | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит | ==>> набор тестов Документы | - # | -->> тест Документ.Документ2 | - # | -->> тест Документ.ДокументСДвижениями | И Код возврата команды "vrunner" равен 0 From 2399f6c00ff0cfb711086503b44900ae3b4bafa5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 16:47:44 +0300 Subject: [PATCH 338/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BF=D0=B0=D0=B4=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B5=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\270\321\217 \321\204\320\276\321\200\320\274.feature" | 6 +++--- spec/fixtures/smoke-exclude.json | 3 +++ spec/fixtures/smoke.json | 8 ++++++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 609f189f4..4e8fe7c5e 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -112,10 +112,10 @@ | -->> тест БизнесПроцесс.БизнесПроцесс2 : открытие формы списка | | ==>> набор тестов Прочее | | -->> тест ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение | - # | ИНФОРМАЦИЯ - Все тесты выполнены! | - # | Выполнение тестов завершено | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | - # И Код возврата команды "vrunner" равен 0 + И Код возврата команды "vrunner" равен 0 Сценарий: Тестирование документов - настроена проверка только избранных diff --git a/spec/fixtures/smoke-exclude.json b/spec/fixtures/smoke-exclude.json index 6d76f86f1..e2d4dc420 100644 --- a/spec/fixtures/smoke-exclude.json +++ b/spec/fixtures/smoke-exclude.json @@ -48,6 +48,9 @@ "ИсключатьПоИмени" : { "Документы": [ "*умент2*" + ], + "Справочники": [ + "СправочникСОбязательнымРеквизитом" ] }, diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json index 572a21bed..8fbc315bb 100644 --- a/spec/fixtures/smoke.json +++ b/spec/fixtures/smoke.json @@ -59,11 +59,15 @@ "Удалить*" ] }, - "Справочники": {}, + "Справочники": { + "Существующие": [ + "СправочникСОбязательнымРеквизитом" + ] + }, "БизнесПроцессы": {}, "Отчеты": {}, "Обработки": {}, - + "ПропускаемыеИсключения" : [ "Обработка не предназначена для непосредственного использования", "Самостоятельное использование формы не предусмотрено" From a8eecef2615b8c455061ea1d71071e723af9607d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 16:58:45 +0300 Subject: [PATCH 339/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 5 ++- .../Ext/Form/Module.bsl" | 39 +++++++++++++------ 2 files changed, 32 insertions(+), 12 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 68c23a883..ca21d718b 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -644,7 +644,10 @@ #Область РаботаСФормами Процедура ЗакрытьФорму() - Если ТипЗнч(ТестируемаяФорма) <> Тип("Форма") И ТипЗнч(ТестируемаяФорма) <> Тип("УправляемаяФорма") Тогда + + ТипФормы = ТипЗнч(ТестируемаяФорма); + + Если ТипФормы <> Тип("Форма") И ТипФормы <> Тип("УправляемаяФорма") Тогда Возврат; КонецЕсли; ТестируемаяФорма.Модифицированность = Ложь; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 150d24381..62778868a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -19,11 +19,21 @@ #Область ИнтерфейсТестирования +// Функция - Ключ настройки +// +// Возвращаемое значение: +// Строка - smoke +// &НаКлиенте Функция КлючНастройки() Экспорт Возврат "smoke"; КонецФункции +// Процедура - Инициализация +// +// Параметры: +// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма +// &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; @@ -36,6 +46,12 @@ ЗагрузитьНастройки(); КонецПроцедуры +// Процедура - Заполнить набор тестов +// +// Параметры: +// НаборТестов - Произвольный - объект для подготовки тестов - класс ЗагрузчикХХХ +// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма +// &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт @@ -470,11 +486,13 @@ ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); + ДлинаКонстанты = СтрДлина("xddTestRunner"); + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - Если Лев(ИмяМетаОбъекта, СтрДлина("xddTestRunner")) = "xddTestRunner" Тогда + Если Лев(ИмяМетаОбъекта, ДлинаКонстанты) = "xddTestRunner" Тогда Продолжить; КонецЕсли; @@ -1053,11 +1071,8 @@ Возврат Истина; КонецЕсли; - Если ВключенОтборПоПодсистеме Тогда - Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); - КонецЕсли; - - Возврат Ложь; + Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + КонецЕсли; Если ВключенОтборПоПодсистеме Тогда @@ -1091,21 +1106,23 @@ &НаСервереБезКонтекста Функция НайтиПодсистему(Знач ИмяПодсистемы) + Результат = Неопределено; + Сегменты = СтрРазделить(ИмяПодсистемы, "."); ТекущаяПодсистема = Метаданные; Для Уровень = 0 По Сегменты.ВГраница() Цикл Сегмент = Сегменты[Уровень]; - Подсистема = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); - Если Подсистема = Неопределено Тогда + Результат = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); + Если Результат = Неопределено Тогда Возврат Неопределено; КонецЕсли; - ТекущаяПодсистема = Подсистема; + ТекущаяПодсистема = Результат; КонецЦикла; - Возврат Подсистема; + Возврат Результат; КонецФункции @@ -1561,7 +1578,7 @@ #КонецОбласти &НаКлиенте -Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт +Функция СтрСоединить_(МассивЭлементов, Символ = "") СтрокаРезультат = ""; Если МассивЭлементов.Количество() > 0 Тогда СтрокаРезультат = МассивЭлементов.Получить(0) + Символ; From 3f40933e481210034feebdcd7523988b0984425c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 17:11:02 +0300 Subject: [PATCH 340/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=20=D0=BF=D0=BE=20=D0=BF=D1=80=D0=B5=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=D1=83=20=D0=B8=20=D0=BF=D0=BE=D0=B4=D1=81?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=B5=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 5d0dbaad9..8c23cabf5 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -12,6 +12,8 @@ - [Настройка дымовых тестов форм объектов под конкретную конфигурацию](#настройка-дымовых-тестов-форм-объектов-под-конкретную-конфигурацию) - [Основные настройки](#основные-настройки) - [Исключения метаданных](#исключения-метаданных) + - [Включение тестов с отбором по префиксу имени метаданного](#включение-тестов-с-отбором-по-префиксу-имени-метаданного) + - [Включение тестов с отбором по подсистеме](#включение-тестов-с-отбором-по-подсистеме) - [Включение тестов по избранным метаданным](#включение-тестов-по-избранным-метаданным) - [Исключения по виду метаданных](#исключения-по-виду-метаданных) - [Исключения по виду объекта метаданных](#исключения-по-виду-объекта-метаданных) @@ -293,6 +295,37 @@ **Важно!** Не рекомендуется злоупотреблять исключениями и добавлять в исключения формы по другим причинам – например, если эти формы редко открываются, не работают в выбранном виде клиента и т.п., так как это приводит к ошибкам, которые постоянно существуют, что не всегда верно. +#### Включение тестов с отбором по префиксу имени метаданного + +Для того, чтобы включить тесты только с отбором по префиксу имени метаданного, нужно использовать 2 параметра - `ОтборПоПрефиксу` (булево) и `Префикс` (строка) + +Пример настройки проверки только для префиксов "инф" из тестирования - например, инфДокумент1 и т.п. +``` +{ + "smoke": { + "ОтборПоПрефиксу": true, + "Префикс": "инф" + } + } +} +``` + +#### Включение тестов с отбором по подсистеме + +Для того, чтобы включить тесты только с отбором всех метаданных, входящих в состав подсистемы, нужно использовать параметр `Подсистема` (строка). + +Нужно указывать полные путь подсистемы. Например, `Тестовая.Подсистема1` + +Пример настройки отбора всех метаданных по подсистеме +``` +{ + "smoke": { + "Подсистема": "Тестовая.Подсистема1" + } + } +} +``` + #### Включение тестов по избранным метаданным Для того, чтобы включить тесты только для избранных метаданных, нужно использовать параметр `ПроверятьТолькоИзбранные` From 2427f26c4ccea8eccfd5851313501330e77e32a9 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 19:17:04 +0300 Subject: [PATCH 341/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B9=20?= =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 1 + .../Ext/Form/Module.bsl" | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index ca21d718b..702cad905 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -939,6 +939,7 @@ Рез = Новый Структура; //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); + Рез.Вставить("СтрогийПорядокВыполнения", Истина); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); Рез.Вставить("ИсключатьПоИмени", Новый Структура); Рез.Вставить("ОтборПоПрефиксу", Ложь); diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 62778868a..2780c5dd6 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1029,7 +1029,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ВключаемПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра = Неопределено) +Функция ВключитьПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра = Неопределено) ИмяМетаданного = МетаОбъект.Имя; @@ -1153,7 +1153,7 @@ Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Или Не ПравоДоступа("Просмотр", МетаОбъект) - Или Не ВключаемПоИмени(КлючМетаданных, МетаОбъект, Настройки, КонтекстЯдра) Тогда + Или Не ВключитьПоИмени(КлючМетаданных, МетаОбъект, Настройки, КонтекстЯдра) Тогда Продолжить; КонецЕсли; From defdac2aed78cfea7ab57d08781994f74b499818 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 19:19:30 +0300 Subject: [PATCH 342/421] =?UTF-8?q?=D0=BE=D1=82=D0=B1=D0=BE=D1=80=20=D1=82?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B8=D0=B7=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\265\320\271\321\201\320\260.feature" | 57 +++++ spec/fixtures/smoke-include.json | 30 ++- spec/fixtures/smoke.json | 16 +- .../Ext/Form/Module.bsl" | 230 ++++++++++++++++-- 4 files changed, 291 insertions(+), 42 deletions(-) create mode 100644 "features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" new file mode 100644 index 000000000..92977657f --- /dev/null +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -0,0 +1,57 @@ +# language: ru + +Функционал: Дымовой тест командного интерфейса + Как Разработчик/Инженер по тестированию + Я Хочу иметь возможность автоматической проверки запуска тестов через Ванесса-АДД + Чтобы удостовериться в качестве подготовленной конфигурации + +Контекст: + Допустим я подготовил репозиторий и рабочий каталог проекта + И Я копирую файл "env.json" из каталога "." проекта в подкаталог "build" рабочего каталога + + И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" + Дано Я очищаю параметры команды "vrunner" в контексте + + Когда Я добавляю параметр "xunit" для команды "vrunner" + И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_КомандныйИнтерфейс.epf" для команды "vrunner" + И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" + И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" + И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" + И Я добавляю параметр "--language ru" для команды "vrunner" + +Сценарий: Тестирование всех метаданных - настроены исключения, индивидуально для каждого вида тестов + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke.json" для команды "vrunner" + Когда Я выполняю команду "vrunner" + # И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | Выполняю тесты с помощью фреймворка Vanessa-ADD (Vanessa Automation Driven Development) | + | ==>> набор тестов Тесты "Командный интерфейс" | + | ==>> набор тестов УпрФорма # тесты_КомандныйИнтерфейс | + | ==>> набор тестов Раздел: Главное | + | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + + И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - настроена проверка только избранных + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include.json" для команды "vrunner" + + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + + И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-include.json b/spec/fixtures/smoke-include.json index c74d89c3b..e5929fa95 100644 --- a/spec/fixtures/smoke-include.json +++ b/spec/fixtures/smoke-include.json @@ -66,23 +66,29 @@ "CommandInterface": { "Используется":true, "СтрогийПорядокВыполнения": true, - "Разделы": [ - "Настройки и администрирование" - ], - "ОбщиеКоманды":[ + "ПроверятьТолькоИзбранные" : { + "Разделы": [ + "Тестовая" + ], + "Справочники": + [ + "*равочник*" + ] + }, + "ОбщиеКоманды1":[ "ОбщаяКоманда1" ], - "ОбщиеФормы":[ + "ОбщиеФормы1":[ "ОбщаяФорма1" ], - "Справочники": + "Справочники1": [ "*ростой*равочник*" - ], - "Документы": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false, - "ВнешниеИсточникиДанных": false + ], + "Документы1": false, + "БизнесПроцессы1": false, + "Отчеты1": false, + "Обработки1": false, + "ВнешниеИсточникиДанных1": false } } diff --git a/spec/fixtures/smoke.json b/spec/fixtures/smoke.json index 8fbc315bb..019119f9d 100644 --- a/spec/fixtures/smoke.json +++ b/spec/fixtures/smoke.json @@ -81,19 +81,19 @@ "Настройки и администрирование" ], "ОбщиеКоманды":[ - "ОбщаяКоманда1" + "ОбщаяКоманда11" ], "ОбщиеФормы":[ - "ОбщаяФорма1" + "ОбщаяФорма11" ], "Справочники": [ - "*ростой*равочник*" + "*11ростой*равочник*" ], - "Документы": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false, - "ВнешниеИсточникиДанных": false + "Документы1": false, + "БизнесПроцессы1": false, + "Отчеты1": false, + "Обработки1": false, + "ВнешниеИсточникиДанных1": false } } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2fa4becb2..9e602e224 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -66,6 +66,11 @@ Рез = Новый Структура; Рез.Вставить("СтрогийПорядокВыполнения", Истина); + Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); + //Рез.Вставить("ИсключатьПоИмени", Новый Структура); + //Рез.Вставить("ОтборПоПрефиксу", Ложь); + //Рез.Вставить("Префикс", ""); + //Рез.Вставить("Подсистема", ""); Возврат Новый ФиксированнаяСтруктура(Рез); @@ -147,24 +152,29 @@ ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - ИсключаемыеОперации = Новый Массив; - ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); - ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); - ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); - ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); - ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); - ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); - ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); - ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); - - ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно); + //ИсключаемыеОперации = Новый Массив; + //ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); + //ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); + //ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); + //ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); + //ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); + //ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); + //ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); + //ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); + ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); + + ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл СписокДляСортировки = Новый СписокЗначений; Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл - Если Не ИсключитьИзПроверки(КлючЗначение.Ключ, ИсключаемыеОперации) Тогда + Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); КонецЕсли; + + //Если Не ИсключитьИзПроверки(КлючЗначение.Ключ, ФильтрПоИмени.ИсключаемыеОперации) Тогда + // СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); + //КонецЕсли; КонецЦикла; СписокДляСортировки.СортироватьПоПредставлению(); @@ -189,6 +199,170 @@ КонецПроцедуры +&НаКлиенте +Функция ПодготовитьФильтрыПоИмени() + + Результат = НовыйФильтрПоИмени(); + + ИсключаемыеОперации = Новый Массив; + ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); + ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); + ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); + ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); + ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); + ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); + ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); + ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); + + ИсключаемыеРазделы = Новый Массив; + ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); + + СтруктураПроверятьТолькоИзбранные = ЗначениеИзСтруктуры(Объект.Настройки, "ПроверятьТолькоИзбранные", Новый Структура); + ФильтроватьПоИзбранным = ЗначениеЗаполнено(СтруктураПроверятьТолькоИзбранные); + + Результат.Вставить("ФильтроватьПоИзбранным", ФильтроватьПоИзбранным); + Результат.Вставить("ИсключаемыеОперации", ИсключаемыеОперации); + Результат.Вставить("ИсключаемыеРазделы", ИсключаемыеРазделы); + Результат.Вставить("НастройкиОтбораПоИзбранным", СтруктураПроверятьТолькоИзбранные); + Результат.Вставить("ВидыМетаданных", ВидыМетаданных()); + + Возврат Результат; +КонецФункции + +&НаКлиенте +Функция НовыйФильтрПоИмени() + + Результат = Новый Структура; + Результат.Вставить("ФильтроватьПоИзбранным", Ложь); + Результат.Вставить("ВидыМетаданных", Новый Массив); + Результат.Вставить("ИсключаемыеОперации", Новый Массив); + Результат.Вставить("ИсключаемыеРазделы", Новый Массив); + Результат.Вставить("НастройкиОтбораПоИзбранным", Новый Структура); + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ВидыМетаданных() + + Результат = Новый Структура; + + Результат.Вставить("ОбщаяКоманда", "ОбщиеКоманды"); + Результат.Вставить("ОбщаяФорма", "ОбщиеФормы"); + Результат.Вставить("Справочник", "Справочники"); + Результат.Вставить("Документ", "Документы"); + Результат.Вставить("Отчет", "Отчеты"); + Результат.Вставить("Обработка", "Обработки"); + Результат.Вставить("БизнесПроцесс", "БизнесПроцессы"); + Результат.Вставить("ВнешнийИсточникДанных", "ВнешниеИсточникиДанных"); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +&НаКлиенте +Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) + + Результат = Неопределено; + + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ВключитьРаздел(Знач Имя, Знач ФильтрПоИмени) + + Возврат ВключитьПоИмени("Разделы", Имя, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеРазделы); + +КонецФункции + +&НаКлиенте +Функция ВключитьПоНавигационнойСсылке(Знач Имя, Знач ФильтрПоИмени) + + Результат = Не ФильтрПоИмени.ФильтроватьПоИзбранным; + + // - e1cib/command/Справочник.СправочникИерархияЭлементов.ОткрытьСписок + СегментыПути = СтрРазделить(Имя, "/"); + + КоличествоПравильныхСегментов = 3; + ТакуюСсылкуПропускаем = СегментыПути.Количество() < КоличествоПравильныхСегментов + Или СегментыПути[0] <> "e1cib" Или СегментыПути[1] <> "command"; + + Если ТакуюСсылкуПропускаем Тогда + Возврат Результат; + КонецЕсли; + + Сегменты = СтрРазделить(СегментыПути[КоличествоПравильныхСегментов - 1], "."); + //ИТакуюСсылкуПропускаем = Сегменты.Количество() <= КоличествоПравильныхСегментов; + //Если ИТакуюСсылкуПропускаем Тогда + // Возврат Истина; + //КонецЕсли; + + ИмяВида = Сегменты[0]; + ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; + + КлючВида = ЗначениеИзСтруктуры(ФильтрПоИмени.ВидыМетаданных, ИмяВида, Неопределено); + Если Не ЗначениеЗаполнено(КлючВида) Тогда + Возврат Результат; + КонецЕсли; + + Возврат ВключитьПоИмени(КлючВида, ИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); + +КонецФункции + +&НаКлиенте +Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) + + //ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(ИмяКорня, Объект.Настройки, "ПроверятьТолькоИзбранные"); + //ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); + //ФильтроватьПоИзбранным = ФильтрПоИмени.ФильтроватьПоИзбранным; + + Если ФильтрПоИмени.ФильтроватьПоИзбранным Тогда + ФильтрМетаданных = ЗначениеИзСтруктуры(ФильтрПоИмени.НастройкиОтбораПоИзбранным, ИмяКорня, Новый Массив); + Возврат НайтиИмяВКоллекции(Имя, ФильтрМетаданных, КонтекстЯдра); + КонецЕсли; + + Если ИсключитьИзПроверки(Имя, КоллекцияДляИсключения) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас + +КонецФункции + +&НаКлиенте +Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) + + // TODO использовать метод плагина Настройки.ЕстьНастройка + + ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); + + ЗначениеПоУмолчанию = Новый Массив; + + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); + +КонецФункции + +&НаКлиенте +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) + + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции + &НаКлиенте Процедура ДобавитьИсключения(Знач ИсключаемыеОперации, ИмяНастройки, ПрефиксШаблона) @@ -244,11 +418,12 @@ КонецПроцедуры &НаКлиенте -Функция ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно) +Функция ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени) - РезКоллекцияОписаний = Новый Массив; - ИсключаемыеРазделы = Новый Массив; - ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); + Результат = Новый Массив; + + //ИсключаемыеРазделы = Новый Массив; + //ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); Попытка КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); @@ -256,6 +431,7 @@ ВызватьИсключение "Не удалось получить командный интерфейс. |Возможно, сеанс тест-клиента заблокирован модальным окном"; КонецПопытки; + ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), НСтр("ru = 'Панель разделов'; en = 'Section panel'")); Если ПанельРазделов = Неопределено Тогда ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), "Section panel"); @@ -264,15 +440,25 @@ Если ТипЗнч(ПанельРазделов) = Тип("ТестируемаяГруппаКомандногоИнтерфейса") Тогда КнопкиРазделов = ПанельРазделов.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")); Для Каждого ТекКнопкаРаздел Из КнопкиРазделов Цикл - Если ИсключитьИзПроверки(ТекКнопкаРаздел.ТекстЗаголовка, ИсключаемыеРазделы) Тогда + ТекстЗаголовка = ТекКнопкаРаздел.ТекстЗаголовка; + + Если Не ВключитьРаздел(ТекстЗаголовка, ФильтрПоИмени) Тогда Продолжить; КонецЕсли; + + //Если ИсключитьИзПроверки(ТекстЗаголовка, ИсключаемыеРазделы) Тогда + // Продолжить; + //КонецЕсли; СтруктураГруппы = Новый Структура; - СтруктураГруппы.Вставить("ИмяГруппы", ТекКнопкаРаздел.ТекстЗаголовка); + СтруктураГруппы.Вставить("ИмяГруппы", ТекстЗаголовка); СтруктураГруппы.Вставить("Тесты", Новый Соответствие); - РезКоллекцияОписаний.Добавить(СтруктураГруппы); + + Результат.Добавить(СтруктураГруппы); + ТекКнопкаРаздел.Нажать(); + ДобавитьОписаниеТеста(СтруктураГруппы.Тесты, КомандныйИнтерфейс); + ТекКнопкаРаздел.Нажать(); КонецЦикла; @@ -282,7 +468,7 @@ КонецЕсли; КонецЕсли; - Возврат РезКоллекцияОписаний; + Возврат Результат; КонецФункции @@ -613,7 +799,7 @@ КонецФункции &НаКлиенте -Процедура РазвернутьВетвьДерева(ТаблицаФормы) +Функция РазвернутьВетвьДерева(ТаблицаФормы) ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); @@ -645,7 +831,7 @@ КонецЦикла; -КонецПроцедуры +КонецФункции &НаКлиенте Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) From db8eea0653cf304e81f5ff0e10bdda649f5fe60b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 19:23:41 +0300 Subject: [PATCH 343/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 36 +++---------------- 1 file changed, 4 insertions(+), 32 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9e602e224..5622799e3 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -152,15 +152,6 @@ ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - //ИсключаемыеОперации = Новый Массив; - //ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); - //ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); - //ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); - //ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); - //ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); - //ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); - //ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); - //ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); @@ -172,9 +163,6 @@ СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); КонецЕсли; - //Если Не ИсключитьИзПроверки(КлючЗначение.Ключ, ФильтрПоИмени.ИсключаемыеОперации) Тогда - // СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); - //КонецЕсли; КонецЦикла; СписокДляСортировки.СортироватьПоПредставлению(); @@ -298,10 +286,6 @@ КонецЕсли; Сегменты = СтрРазделить(СегментыПути[КоличествоПравильныхСегментов - 1], "."); - //ИТакуюСсылкуПропускаем = Сегменты.Количество() <= КоличествоПравильныхСегментов; - //Если ИТакуюСсылкуПропускаем Тогда - // Возврат Истина; - //КонецЕсли; ИмяВида = Сегменты[0]; ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; @@ -318,10 +302,6 @@ &НаКлиенте Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) - //ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(ИмяКорня, Объект.Настройки, "ПроверятьТолькоИзбранные"); - //ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); - //ФильтроватьПоИзбранным = ФильтрПоИмени.ФильтроватьПоИзбранным; - Если ФильтрПоИмени.ФильтроватьПоИзбранным Тогда ФильтрМетаданных = ЗначениеИзСтруктуры(ФильтрПоИмени.НастройкиОтбораПоИзбранным, ИмяКорня, Новый Массив); Возврат НайтиИмяВКоллекции(Имя, ФильтрМетаданных, КонтекстЯдра); @@ -412,9 +392,6 @@ &НаКлиенте Процедура ПослеЗапускаТеста() Экспорт - //ТестКлиент = КонтекстЯдра.Плагин("ТестКлиенты").ТестКлиентПоУмолчанию(); - //КонтекстЯдра.Плагин("ТестКлиенты").ЗакрытьВсеОткрытыеОкна(ТестКлиент); - КонецПроцедуры &НаКлиенте @@ -422,9 +399,6 @@ Результат = Новый Массив; - //ИсключаемыеРазделы = Новый Массив; - //ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); - Попытка КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); Исключение @@ -432,7 +406,8 @@ |Возможно, сеанс тест-клиента заблокирован модальным окном"; КонецПопытки; - ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), НСтр("ru = 'Панель разделов'; en = 'Section panel'")); + ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), + НСтр("ru = 'Панель разделов'; en = 'Section panel'")); Если ПанельРазделов = Неопределено Тогда ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), "Section panel"); КонецЕсли; @@ -446,9 +421,6 @@ Продолжить; КонецЕсли; - //Если ИсключитьИзПроверки(ТекстЗаголовка, ИсключаемыеРазделы) Тогда - // Продолжить; - //КонецЕсли; СтруктураГруппы = Новый Структура; СтруктураГруппы.Вставить("ИмяГруппы", ТекстЗаголовка); СтруктураГруппы.Вставить("Тесты", Новый Соответствие); @@ -799,7 +771,7 @@ КонецФункции &НаКлиенте -Функция РазвернутьВетвьДерева(ТаблицаФормы) +Процедура РазвернутьВетвьДерева(ТаблицаФормы) ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); @@ -831,7 +803,7 @@ КонецЦикла; -КонецФункции +КонецПроцедуры &НаКлиенте Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) From 45943a74971deed958004926943382d6e03dec03 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 19:35:26 +0300 Subject: [PATCH 344/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B9=20?= =?UTF-8?q?=D1=80=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BD?= =?UTF-8?q?=D0=B3=20+=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 97 +++++++++++-------- 1 file changed, 57 insertions(+), 40 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5622799e3..623690000 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -8,6 +8,13 @@ &НаКлиенте Перем ПлагинТестКлиенты; +// TODO расставить области + +// Процедура - Инициализация тестов +// +// Параметры: +// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма +// &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; @@ -50,7 +57,7 @@ КонецПроцедуры &НаКлиенте -Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт +Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Объект.Настройки; @@ -61,7 +68,7 @@ КонецФункции &НаСервере -Функция СоздатьНаборНастроекПоУмолчанию() Экспорт +Функция СоздатьНаборНастроекПоУмолчанию() Рез = Новый Структура; @@ -113,11 +120,22 @@ КонецФункции +// Функция - Ключ настройки +// +// Возвращаемое значение: +// Строка - CommandInterface +// &НаКлиенте -Функция КлючНастройки() Экспорт +Функция КлючНастройки() Возврат "CommandInterface"; КонецФункции +// Процедура - Заполнить набор тестов +// +// Параметры: +// НаборТестов - Произвольный - объект для подготовки тестов - класс ЗагрузчикХХХ +// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма +// &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт @@ -136,53 +154,69 @@ ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - ТестКлиент = Неопределено; + ТестКлиент = ПодключитьТестКлиент(); + Если ТестКлиент = Неопределено Тогда + Возврат; + КонецЕсли; + + ДобавитьТестыИзКомандногоИнтерфейса(НаборТестов, ТестКлиент); + +КонецПроцедуры +&НаКлиенте +Функция ПодключитьТестКлиент() + + Перем ИнфоОшибки; + + Результат = Неопределено; + Попытка - ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); Исключение ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Сообщить(ИнфоОшибки); - Возврат; + Сообщить(ИнфоОшибки); // TODO скрывается исключение КонецПопытки; + + Возврат Результат; - Если ТестКлиент = Неопределено Тогда - Возврат; - КонецЕсли; +КонецФункции +&НаКлиенте +Процедура ДобавитьТестыИзКомандногоИнтерфейса(Знач НаборТестов, ТестКлиент) + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - + ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); - + ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл - + СписокДляСортировки = Новый СписокЗначений; Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); КонецЕсли; - + КонецЦикла; СписокДляСортировки.СортироватьПоПредставлению(); - + Если СписокДляСортировки.Количество() Тогда НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"),ГруппаТестов.ИмяГруппы)); КонецЕсли; - + Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл - + КлючЗначение = ЭлементСпискаЗначений.Значение; Описание = КлючЗначение.Значение; ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; - + НаборТестов.Добавить( - Описание.ИмяТеста, - НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), - КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); - + Описание.ИмяТеста, + НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), + КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); + КонецЦикла; - + КонецЦикла; КонецПроцедуры @@ -315,23 +349,6 @@ КонецФункции -&НаКлиенте -Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) - - // TODO использовать метод плагина Настройки.ЕстьНастройка - - ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); - - ЗначениеПоУмолчанию = Новый Массив; - - Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда - Возврат ЗначениеПоУмолчанию; - КонецЕсли; - - Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); - -КонецФункции - &НаКлиенте Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) From 149fb44ca4ea321cbeba995a0c8f5443430b36fa Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 19:54:07 +0300 Subject: [PATCH 345/421] =?UTF-8?q?=D0=9E=D1=82=D0=B1=D0=BE=D1=80=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=B5=D1=84=D0=B8=D0=BA=D1=81=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\265\320\271\321\201\320\260.feature" | 52 +++++++++++++++++ spec/fixtures/smoke-prefix.json | 22 ++------ .../Ext/Form/Module.bsl" | 56 ++++++++++++++++++- 3 files changed, 109 insertions(+), 21 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index 92977657f..19e2d0182 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -7,6 +7,9 @@ Контекст: Допустим я подготовил репозиторий и рабочий каталог проекта + # И я подготовил рабочую базу проекта "./build/ib" по умолчанию + + # И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога И Я копирую файл "env.json" из каталога "." проекта в подкаталог "build" рабочего каталога И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" @@ -55,3 +58,52 @@ | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | И Код возврата команды "vrunner" равен 0 + +# Сценарий: Тестирование документов - настроено исключение по имени для всех тестов + +# И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" + +# Когда Я выполняю команду "vrunner" +# Тогда Вывод команды "vrunner" содержит +# | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | +# | ==>> набор тестов Документы | +# | -->> тест Документ.ДокументСДвижениями | +# | ИНФОРМАЦИЯ - Все тесты выполнены! | +# | Выполнение тестов завершено | +# И Вывод команды "vrunner" не содержит +# | -->> тест Документ.Документ2 | + +# И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - фильтр по префиксу + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-prefix.json" для команды "vrunner" + + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + + И Код возврата команды "vrunner" равен 0 + +# Сценарий: Тестирование документов - фильтр по подсистеме + +# И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" + +# Когда Я выполняю команду "vrunner" +# Тогда Вывод команды "vrunner" содержит +# | ==>> набор тестов Обработки | +# | -->> тест Обработка.Тест_Обработка.Форма.Форма | +# | ==>> набор тестов Отчеты | +# | -->> тест Отчет.Тест_Отчет | +# | ИНФОРМАЦИЯ - Все тесты выполнены! | +# | Выполнение тестов завершено | +# И Вывод команды "vrunner" не содержит +# | ==>> набор тестов Документы | + +# И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-prefix.json b/spec/fixtures/smoke-prefix.json index bbf4c088d..49c0d2fa6 100644 --- a/spec/fixtures/smoke-prefix.json +++ b/spec/fixtures/smoke-prefix.json @@ -57,23 +57,9 @@ "CommandInterface": { "Используется":true, "СтрогийПорядокВыполнения": true, - "Разделы": [ - "Настройки и администрирование" - ], - "ОбщиеКоманды":[ - "ОбщаяКоманда1" - ], - "ОбщиеФормы":[ - "ОбщаяФорма1" - ], - "Справочники": - [ - "*ростой*равочник*" - ], - "Документы": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false, - "ВнешниеИсточникиДанных": false + + "ОтборПоПрефиксу": true, + "Префикс": "СправочникИерархи" + } } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 623690000..fcc40aece 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -239,14 +239,20 @@ ИсключаемыеРазделы = Новый Массив; ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); - СтруктураПроверятьТолькоИзбранные = ЗначениеИзСтруктуры(Объект.Настройки, "ПроверятьТолькоИзбранные", Новый Структура); + НастройкиТеста = Объект.Настройки; + + СтруктураПроверятьТолькоИзбранные = ЗначениеИзСтруктуры(НастройкиТеста, "ПроверятьТолькоИзбранные", Новый Структура); ФильтроватьПоИзбранным = ЗначениеЗаполнено(СтруктураПроверятьТолькоИзбранные); + ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(НастройкиТеста, "ОтборПоПрефиксу", Ложь); + Префикс = ЗначениеИзСтруктуры(НастройкиТеста, "Префикс", ""); + Результат.Вставить("ФильтроватьПоИзбранным", ФильтроватьПоИзбранным); Результат.Вставить("ИсключаемыеОперации", ИсключаемыеОперации); Результат.Вставить("ИсключаемыеРазделы", ИсключаемыеРазделы); Результат.Вставить("НастройкиОтбораПоИзбранным", СтруктураПроверятьТолькоИзбранные); - Результат.Вставить("ВидыМетаданных", ВидыМетаданных()); + Результат.Вставить("ВключенОтборПоПрефиксу", ВключенОтборПоПрефиксу); + Результат.Вставить("Префикс", Префикс); Возврат Результат; КонецФункции @@ -255,11 +261,13 @@ Функция НовыйФильтрПоИмени() Результат = Новый Структура; + Результат.Вставить("ВидыМетаданных", ВидыМетаданных()); Результат.Вставить("ФильтроватьПоИзбранным", Ложь); - Результат.Вставить("ВидыМетаданных", Новый Массив); Результат.Вставить("ИсключаемыеОперации", Новый Массив); Результат.Вставить("ИсключаемыеРазделы", Новый Массив); Результат.Вставить("НастройкиОтбораПоИзбранным", Новый Структура); + Результат.Вставить("ВключенОтборПоПрефиксу", Ложь); + Результат.Вставить("Префикс", ""); Возврат Результат; @@ -329,10 +337,52 @@ Возврат Результат; КонецЕсли; + Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного); + Если ЗначениеЗаполнено(Отобрали) Тогда + Возврат Отобрали; + КонецЕсли; + Возврат ВключитьПоИмени(КлючВида, ИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); КонецФункции +&НаКлиенте +Функция ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного) + + //ИмяМетаданного = МетаОбъект.Имя; + + //ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); + ВключенОтборПоПрефиксу = ФильтрПоИмени.ВключенОтборПоПрефиксу; + + //ИмяПодсистемы = ЗначениеИзСтруктуры(Настройки, "Подсистема", ""); + //ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); + + Если ВключенОтборПоПрефиксу Тогда + + Возврат ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного); + //Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда + // Возврат Истина; + //КонецЕсли; + + //Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + + КонецЕсли; + + //Если ВключенОтборПоПодсистеме Тогда + // Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + //КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +&НаКлиенте +Функция ОтобралиПоПрефиксу(Знач ПрефиксДляОтбора, Знач ИмяМетаданного) + + Возврат СтрНайти(ИмяМетаданного, ПрефиксДляОтбора) = 1; + +КонецФункции + &НаКлиенте Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) From b3aad203ed4b56348dc74d58dd978c5c64170299 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 20:10:57 +0300 Subject: [PATCH 346/421] =?UTF-8?q?=D0=BE=D1=82=D0=B1=D0=BE=D1=80=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D0=BE=D0=B4=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\265\320\271\321\201\320\260.feature" | 29 ++++--- .../Ext/Form/Module.bsl" | 83 +++++++++++++++---- 2 files changed, 83 insertions(+), 29 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index 19e2d0182..4bdd9c73e 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -54,6 +54,8 @@ | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит + | ==>> набор тестов Раздел: Главное | + | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | @@ -91,19 +93,20 @@ И Код возврата команды "vrunner" равен 0 -# Сценарий: Тестирование документов - фильтр по подсистеме +Сценарий: Тестирование документов - фильтр по подсистеме -# И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-subsystem.json" для команды "vrunner" -# Когда Я выполняю команду "vrunner" -# Тогда Вывод команды "vrunner" содержит -# | ==>> набор тестов Обработки | -# | -->> тест Обработка.Тест_Обработка.Форма.Форма | -# | ==>> набор тестов Отчеты | -# | -->> тест Отчет.Тест_Отчет | -# | ИНФОРМАЦИЯ - Все тесты выполнены! | -# | Выполнение тестов завершено | -# И Вывод команды "vrunner" не содержит -# | ==>> набор тестов Документы | + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | ==>> набор тестов Раздел: Главное | + | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | -# И Код возврата команды "vrunner" равен 0 + И Код возврата команды "vrunner" равен 0 diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index fcc40aece..8076250fa 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -247,12 +247,17 @@ ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(НастройкиТеста, "ОтборПоПрефиксу", Ложь); Префикс = ЗначениеИзСтруктуры(НастройкиТеста, "Префикс", ""); + ИмяПодсистемы = ЗначениеИзСтруктуры(НастройкиТеста, "Подсистема", ""); + ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); + Результат.Вставить("ФильтроватьПоИзбранным", ФильтроватьПоИзбранным); Результат.Вставить("ИсключаемыеОперации", ИсключаемыеОперации); Результат.Вставить("ИсключаемыеРазделы", ИсключаемыеРазделы); Результат.Вставить("НастройкиОтбораПоИзбранным", СтруктураПроверятьТолькоИзбранные); Результат.Вставить("ВключенОтборПоПрефиксу", ВключенОтборПоПрефиксу); Результат.Вставить("Префикс", Префикс); + Результат.Вставить("ИмяПодсистемы", ИмяПодсистемы); + Результат.Вставить("ВключенОтборПоПодсистеме", ВключенОтборПоПодсистеме); Возврат Результат; КонецФункции @@ -268,6 +273,8 @@ Результат.Вставить("НастройкиОтбораПоИзбранным", Новый Структура); Результат.Вставить("ВключенОтборПоПрефиксу", Ложь); Результат.Вставить("Префикс", ""); + Результат.Вставить("ИмяПодсистемы", ""); + Результат.Вставить("ВключенОтборПоПодсистеме", Ложь); Возврат Результат; @@ -327,7 +334,8 @@ Возврат Результат; КонецЕсли; - Сегменты = СтрРазделить(СегментыПути[КоличествоПравильныхСегментов - 1], "."); + ПолноеИмяМетаданного = СегментыПути[КоличествоПравильныхСегментов - 1]; + Сегменты = СтрРазделить(ПолноеИмяМетаданного, "."); ИмяВида = Сегменты[0]; ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; @@ -337,7 +345,13 @@ Возврат Результат; КонецЕсли; - Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного); + ОписаниеМетаданного = Новый Структура; + ОписаниеМетаданного.Вставить("ПолноеИмя", ПолноеИмяМетаданного); + ОписаниеМетаданного.Вставить("КлючВида", КлючВида); + ОписаниеМетаданного.Вставить("ИмяВида", ИмяВида); + ОписаниеМетаданного.Вставить("Имя", ИмяМетаданного); + + Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного); Если ЗначениеЗаполнено(Отобрали) Тогда Возврат Отобрали; КонецЕсли; @@ -347,30 +361,27 @@ КонецФункции &НаКлиенте -Функция ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного) +Функция ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного) - //ИмяМетаданного = МетаОбъект.Имя; - - //ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); ВключенОтборПоПрефиксу = ФильтрПоИмени.ВключенОтборПоПрефиксу; - //ИмяПодсистемы = ЗначениеИзСтруктуры(Настройки, "Подсистема", ""); - //ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); + ИмяПодсистемы = ФильтрПоИмени.ИмяПодсистемы; + ВключенОтборПоПодсистеме = ФильтрПоИмени.ВключенОтборПоПодсистеме; Если ВключенОтборПоПрефиксу Тогда - Возврат ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного); - //Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда - // Возврат Истина; - //КонецЕсли; + //Возврат ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного); + Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда + Возврат Истина; + КонецЕсли; - //Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); + Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); КонецЕсли; - //Если ВключенОтборПоПодсистеме Тогда - // Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); - //КонецЕсли; + Если ВключенОтборПоПодсистеме Тогда + Возврат ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); + КонецЕсли; Возврат Неопределено; @@ -383,6 +394,46 @@ КонецФункции +&НаСервереБезКонтекста +Функция ОтобралиПоПодсистеме(Знач ОписаниеМетаданного, Знач ИмяПодсистемы) + + МетаОбъект = Метаданные.НайтиПоПолномуИмени(ОписаниеМетаданного.ПолноеИмя); + Если МетаОбъект = Неопределено Тогда + ВызватьИсключение "Неизвестное метаданное " + ОписаниеМетаданного.ПолноеИмя; + КонецЕсли; + + Подсистема = НайтиПодсистему(ИмяПодсистемы); + Если Подсистема = Неопределено Тогда + ВызватьИсключение "Не нашли подсистему по пути " + ИмяПодсистемы; + КонецЕсли; + + Возврат Подсистема.Состав.Содержит(МетаОбъект); + +КонецФункции + +&НаСервереБезКонтекста +Функция НайтиПодсистему(Знач ИмяПодсистемы) + + Результат = Неопределено; + + Сегменты = СтрРазделить(ИмяПодсистемы, "."); + ТекущаяПодсистема = Метаданные; + Для Уровень = 0 По Сегменты.ВГраница() Цикл + + Сегмент = Сегменты[Уровень]; + + Результат = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); + Если Результат = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + ТекущаяПодсистема = Результат; + КонецЦикла; + + Возврат Результат; + +КонецФункции + &НаКлиенте Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) From 1668cc5eabdaca5fa80031cd8fb3ff9c29061e68 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 20:14:14 +0300 Subject: [PATCH 347/421] =?UTF-8?q?=D0=BC=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8076250fa..3bd5b9bd7 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -75,9 +75,9 @@ Рез.Вставить("СтрогийПорядокВыполнения", Истина); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); //Рез.Вставить("ИсключатьПоИмени", Новый Структура); - //Рез.Вставить("ОтборПоПрефиксу", Ложь); - //Рез.Вставить("Префикс", ""); - //Рез.Вставить("Подсистема", ""); + Рез.Вставить("ОтборПоПрефиксу", Ложь); + Рез.Вставить("Префикс", ""); + Рез.Вставить("Подсистема", ""); Возврат Новый ФиксированнаяСтруктура(Рез); @@ -323,7 +323,7 @@ Результат = Не ФильтрПоИмени.ФильтроватьПоИзбранным; - // - e1cib/command/Справочник.СправочникИерархияЭлементов.ОткрытьСписок + // формат e1cib/command/Справочник.СправочникИерархияЭлементов.ОткрытьСписок СегментыПути = СтрРазделить(Имя, "/"); КоличествоПравильныхСегментов = 3; @@ -370,7 +370,6 @@ Если ВключенОтборПоПрефиксу Тогда - //Возврат ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного); Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда Возврат Истина; КонецЕсли; From ef0d0d666184ea42e9a32de5346cba6ba8b7fa32 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 21 Sep 2021 20:26:41 +0300 Subject: [PATCH 348/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?.=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 99 ++++++++++++++++--- .../Ext/Form/Module.bsl" | 2 +- 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 8c23cabf5..63bdb430f 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -25,7 +25,11 @@ - [Группировка дымовых тестов при запуске в интерактивном режиме](#группировка-дымовых-тестов-при-запуске-в-интерактивном-режиме) - [Дымовые тесты командного интерфейса](#дымовые-тесты-командного-интерфейса) - [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса) - - [Пример файла настройки](#пример-файла-настройки) + - [Включение тестов с отбором по префиксу имени метаданного](#включение-тестов-с-отбором-по-префиксу-имени-метаданного-1) + - [Включение тестов с отбором по подсистеме](#включение-тестов-с-отбором-по-подсистеме-1) + - [Включение тестов по избранным метаданным](#включение-тестов-по-избранным-метаданным-1) + - [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса-1) + - [Пример файла настройки для исключения метаданных](#пример-файла-настройки-для-исключения-метаданных) - [Дымовое тестирование ввода документов на основании](#дымовое-тестирование-ввода-документов-на-основании) - [Настройка дымовых тестов для запуска в tddTestRunner](#настройка-дымовых-тестов-для-запуска-в-tddtestrunner) - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) @@ -288,7 +292,7 @@ Подобные формы необходимо добавить в исключения. -Можно воспользоваться и другой возможность - проверять только избранные метаданные, а не все, что есть в конфигурации. +Можно воспользоваться и другой возможностью - проверять только избранные метаданные, а не все, что есть в конфигурации. Такая возможность полезная для современных больших типовых конфигураций, в которых много неиспользуемых форм и этих форм намного больше, чем используемых форм. Также с целью распараллеливания выполнения дымовых тестов удобно настроить несколько конфигурационных файлов, в каждом их которых оставить проверки какого-то одного вида метаданных, а другие - исключить. @@ -300,7 +304,7 @@ Для того, чтобы включить тесты только с отбором по префиксу имени метаданного, нужно использовать 2 параметра - `ОтборПоПрефиксу` (булево) и `Префикс` (строка) Пример настройки проверки только для префиксов "инф" из тестирования - например, инфДокумент1 и т.п. -``` +```json { "smoke": { "ОтборПоПрефиксу": true, @@ -317,7 +321,7 @@ Нужно указывать полные путь подсистемы. Например, `Тестовая.Подсистема1` Пример настройки отбора всех метаданных по подсистеме -``` +```json { "smoke": { "Подсистема": "Тестовая.Подсистема1" @@ -331,7 +335,7 @@ Для того, чтобы включить тесты только для избранных метаданных, нужно использовать параметр `ПроверятьТолькоИзбранные` Пример настройки проверки только для документов "*умент1*" из тестирования - например, Документ1 и т.п. -``` +```json { "smoke": { "ПроверятьТолькоИзбранные" : { @@ -358,7 +362,7 @@ Для того, чтобы исключить все формы определенного вида метаданных, нужно в настройках дымовых тестов для данного вида метаданных указать значение `false`. Пример: исключаем из проверки все отчеты и обработки: -``` +```json { "smoke": { "Отчеты": false, @@ -377,7 +381,7 @@ Для того, чтобы исключить тесты только для части метаданных, нужно использовать параметр `ИсключатьПоИмени` Пример настройки исключения документов "*умент1*" из тестирования - например, Документ1 и т.п. -``` +```json { "smoke": { "ИсключатьПоИмени" : { @@ -408,7 +412,7 @@ Для документов дополнительно поддерживается тип исключения для проверки `ПеренестиДату`. -``` +```json { "smoke": { "Справочники": { @@ -436,7 +440,7 @@ Для того, чтобы исключить конкретную форму конкретного вида объектов, нужно вместе с именем вида объекта метаданных указать путь к этой форме. Пример: -``` +```json { "smoke": { "Справочники": { @@ -484,7 +488,7 @@ Но когда владельцев два и более, то иногда бывает нужно указать вид справочника-владельца явно в файле настроек. Это делается в конфигурационном файле в разделе `Подчиненные`. Пример: -``` +```json { "smoke": { "Справочники": { @@ -573,14 +577,85 @@ * и не проверяются те формы и команды, которых нет в командном интерфейсе, но на которые у пользователя есть право просмотра. * выполняется двойная перезапись элементов вместо одинарной перезаписи. - ### Настройка исключений тестов командного интерфейса +Необходимость настройки исключений подробно описана в [Исключения метаданных](#исключения-метаданных) + Настройка исключений выполняется в общем json-файле. Все настройки задаются в объекте с ключом `CommandInterface`. * вложенный ключ `Используется` типа Булево. Отвечает за включение\выключение теста +#### Включение тестов с отбором по префиксу имени метаданного + +Для того, чтобы включить тесты только с отбором по префиксу имени метаданного, нужно использовать 2 параметра - `ОтборПоПрефиксу` (булево) и `Префикс` (строка) + +Пример настройки проверки только для префиксов "инф" из тестирования - например, инфДокумент1 и т.п. +```json +{ + "CommandInterface": { + "Использовать": true, + "ОтборПоПрефиксу": true, + "Префикс": "инф" + } + } +} +``` + +#### Включение тестов с отбором по подсистеме + +Для того, чтобы включить тесты только с отбором всех метаданных, входящих в состав подсистемы, нужно использовать параметр `Подсистема` (строка). + +Нужно указывать полные путь подсистемы. Например, `Тестовая.Подсистема1` + +Пример настройки отбора всех метаданных по подсистеме +```json +{ + "CommandInterface": { + "Использовать": true, + "Подсистема": "Тестовая.Подсистема1" + } + } +} +``` + +#### Включение тестов по избранным метаданным + +Для того, чтобы включить тесты только для избранных метаданных, нужно использовать параметр `ПроверятьТолькоИзбранные` + +Пример настройки проверки только для документов "*умент1*" из тестирования - например, Документ1 и т.п. +```json +{ + "smoke": { + "Использовать": true, + "ПроверятьТолькоИзбранные" : { + "Разделы": [ + "Тест*вая" + ], + "Справочники": + [ + "*равочник*" + ] + } + } +} +``` + +внутри коллекции `ПроверятьТолькоИзбранные` могут быть ключи с именами видов метаданных во множественном числе - Справочники, Документы и т.д. +Также есть спец.ключ `Разделы` для управления разделами. + +В настоящий момент поддерживаются следующие виды метаданных: `Справочники`, `Документы`, `Отчеты`, `Обработки`, `БизнесПроцессы`, `ВнешниеИсточникиДанных`. + +Каждый из этих ключей должен содержать в себе массив имен метаданных в любом формате (краткое или полное имя). + +Еще можно использовать шаблонную подстановку в имени с использованием * (звездочка). + - `Счет*` или `*Счет` или `*Счет*` или `*Счет*Реестр*` + +Пример файла с опцией `ПроверятьТолькоИзбранные` - [spec\fixtures\smoke-include.json](/spec/fixtures/smoke-include.json) + + +#### Настройка исключений тестов командного интерфейса + В настоящий момент поддерживаются несколько видов метаданных: - `ОбщиеКоманды` @@ -597,7 +672,7 @@ Возможность управления модальными окнами есть в разделе [Управление модальными окнами](#Возможности-управления-модальными-окнами). -### Пример файла настройки +##### Пример файла настройки для исключения метаданных ```json { diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3bd5b9bd7..3e36976f1 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -201,7 +201,7 @@ СписокДляСортировки.СортироватьПоПредставлению(); Если СписокДляСортировки.Количество() Тогда - НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"),ГруппаТестов.ИмяГруппы)); + НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"), ГруппаТестов.ИмяГруппы)); КонецЕсли; Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл From 2faf780e739e153af0524b2fe1e6d47d1991ba1c Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Tue, 21 Sep 2021 21:50:38 +0300 Subject: [PATCH 349/421] =?UTF-8?q?fix=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D1=81=D1=8B=D0=BB=D0=BA=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B2=20=D0=BE=D0=B3?= =?UTF-8?q?=D0=BB=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/smoke_tests_for_v8std.md | 96 ++++++++++++++++++---------- 1 file changed, 63 insertions(+), 33 deletions(-) diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index b33c1a071..3df6876e7 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -9,7 +9,37 @@ - [Введение](#введение) - [Описание тестов](#описание) - [Тесты для проверки объектов метаданных на соответствие стандартам 1C](#тесты_стандарты1с) + - [1.1. Проверка стандартных ролей](#Тесты_ПроверкаСтандартныхРолей) + - [1.2. Проверка общих реквизитов](#Тесты_ПроверкаОбщихРеквизитов) + - [1.3. Проверка права интерактивно удаления](#Тесты_ПроверкаПраваИнтерактивногоУдаления) + - [1.4. Проверка права интерактивно удаления помеченных](#Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных) + - [1.5. Проверка прав на предопределенные данные объектов](#Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов) + - [1.6. Проверка привилегированного режима объектов](#Тесты_ПроверкаПривилегированногоРежимаОбъектов) + - [1.7. Проверка регламентных заданий](#Тесты_ПроверкаРегламентныхЗаданий) + - [1.8. Проверка составных типов данных](#Тесты_ПроверкаСоставныхТиповДанных) + - [1.9. Проверка синонима устаревших объектов метаданных](#Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных) + - [1.10. Проверка прав к устаревшим объектам](#Тесты_ПроверкаПравКУстаревшимОбъектам) + - [1.11. Проверка прав на чтение объектов](#Тесты_ПроверкаПравНаЧтениеОбъектов) + - [1.12. Проверка пользовательских представлений новых объектов](#Тесты_ПроверкаПользовательскихПредставленийОбъектов) + - [1.13. Проверка реквизитов документов: комментарий, ответственный](#Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный) + - [1.14. Проверка включения объектов в командный интерфейс](#Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс) - [Тесты для проверки объектов метаданных на соответствие внутренним стандартам](#тесты_внутренние_стандарты) + - [2.1. Проверка префикса в новых объектах и реквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах) + - [2.2. Проверка включения новых объектов с префиксом в подсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему) + - [2.3. Проверка синонима новых объектов и реквизитов](#Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом) + - [2.4. Проверка префикса свойств новых объектов](#Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов) + - [2.5. Проверка основных форм отчетов](#Тесты_ПроверкаОсновныхФормОтчетов) + - [2.6. Проверка хранилища вариантов отчетов](#Тесты_ПроверкаХранилищаВариантовОтчетов) + - [2.7. Проверка прав на чтение объектов с RLS](#Тесты_ПроверкаПравНаЧтениеОбъектовRLS) + - [2.8. Проверка макетов СКД внешних отчетов и обработок](#Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок) + - [2.9. Проверка объектов метаданных конфигурации поставщика](#Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика) + - [2.10. Проверка каноничности префикса новых объектов и реквизитов](#Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств) + - [2.11. Проверка индексирования устаревших объектов метаданных](#Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных) + - [2.12. Проверка устаревших типов данных](#Тесты_ПроверкаУстаревшихТиповДанных) + - [2.13. Проверка авторегистрации планов обмена](#Тесты_ПроверкаАвтоРегистрацииПлановОбмена) + - [2.14. Переход на управляемые формы](#Тесты_ПереходНаУправляемыеФормы) + - [2.15. Проверка периодичности нумерации документов](#Тесты_ПроверкаПериодичностиНумерацииДокументов) + - [2.16. Проверка регистров для отчета "Движения документа"](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента) - [Настройка тестов](#настройка) @@ -32,10 +62,10 @@ -### 1. Тесты для проверки объектов метаданных на соответствие [стандартам 1С](https://its.1c.ru/db/v8std) +### [1.](#тесты) Тесты для проверки объектов метаданных на соответствие [стандартам 1С](https://its.1c.ru/db/v8std) -+ **1.1. Проверка [стандартных ролей](https://its.1c.ru/db/v8std#content:488:hdoc)** ++ **[1.1.]](#тесты) Проверка [стандартных ролей](https://its.1c.ru/db/v8std#content:488:hdoc)** ([Тесты_ПроверкаСтандартныхРолей](./Тесты_ПроверкаСтандартныхРолей)) + Тест проверяет состав основных ролей конфигурации, типовые роли и права на корень конфигурации, остальные роли и права на корень конфигурации. @@ -47,7 +77,7 @@ - [Стандартные роли](#Настройки_СтандартныеРоли) -+ **1.2. Проверка [общих реквизитов](https://its.1c.ru/db/v8std#content:677:hdoc)** ++ **[1.2.](#тесты) Проверка [общих реквизитов](https://its.1c.ru/db/v8std#content:677:hdoc)** ([Тесты_ПроверкаОбщихРеквизитов](./Тесты_ПроверкаОбщихРеквизитов)) + Тест проверяет, что у общих реквизитов включено использование разделения данных. @@ -59,7 +89,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.3. Проверка [права интерактивно удаления](https://its.1c.ru/db/v8std#content:689:hdoc)** ++ **[1.3.](#тесты) Проверка [права интерактивно удаления](https://its.1c.ru/db/v8std#content:689:hdoc)** ([Тесты_ПроверкаПраваИнтерактивногоУдаления](./Тесты_ПроверкаПраваИнтерактивногоУдаления)) + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление объектов базы данных. @@ -68,7 +98,7 @@ - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) -+ **1.4. Проверка [права интерактивно удаления помеченных](https://its.1c.ru/db/v8std#content:488:hdoc)** ++ **[1.4.](#тесты) Проверка [права интерактивно удаления помеченных](https://its.1c.ru/db/v8std#content:488:hdoc)** ([Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных](./Тесты_ПроверкаПраваИнтерактивногоУдаленияПомеченных)) + Тест проверяет, что у ролей кроме основных нет права на интерактивное удаление помеченных объектов базы данных. @@ -77,7 +107,7 @@ - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) -+ **1.5. Проверка [прав на предопределенные данные объектов](https://its.1c.ru/db/v8std#content:488:hdoc)** ++ **[1.5.](#тесты) Проверка [прав на предопределенные данные объектов](https://its.1c.ru/db/v8std#content:488:hdoc)** ([Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов](./Тесты_ПроверкаПравНаПредопределенныеДанныеОбъектов)) + Тест проверяет, что у ролей кроме основных нет следующих прав на предопределенные данные объектов: @@ -90,7 +120,7 @@ - [Проверять основные роли](#Настройки_ПроверятьОсновныеРоли) -+ **1.6. Проверка [привилегированного режима объектов](https://its.1c.ru/db/v8std#content:485:hdoc)** ++ **[1.6.](#тесты) Проверка [привилегированного режима объектов](https://its.1c.ru/db/v8std#content:485:hdoc)** ([Тесты_ПроверкаПривилегированногоРежимаОбъектов](./Тесты_ПроверкаПривилегированногоРежимаОбъектов)) + Тест проверяет, что у объектов метаданных установлен привилегированный режим. @@ -102,7 +132,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.7. Проверка [регламентных заданий](https://its.1c.ru/db/v8std#content:540:hdoc)** ++ **[1.7.](#тесты) Проверка [регламентных заданий](https://its.1c.ru/db/v8std#content:540:hdoc)** ([Тесты_ПроверкаРегламентныхЗаданий](./Тесты_ПроверкаРегламентныхЗаданий)) + Тест проверяет, что у регламентного задания не установлен признак "Использование". @@ -114,7 +144,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.8. Проверка [составных типов данных](https://its.1c.ru/db/v8std#content:728:hdoc)** ++ **[1.8.](#тесты) Проверка [составных типов данных](https://its.1c.ru/db/v8std#content:728:hdoc)** ([Тесты_ПроверкаСоставныхТиповДанных](./Тесты_ПроверкаСоставныхТиповДанных)) + Тест проверяет, что реквизиты и свойства объектов метаданных: @@ -130,7 +160,7 @@ - [Пропускать объекты с префиксом удалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) -+ **1.9. Проверка [синонима устаревших объектов метаданных](https://its.1c.ru/db/v8std#content:534:hdoc)** ++ **[1.9.](#тесты) Проверка [синонима устаревших объектов метаданных](https://its.1c.ru/db/v8std#content:534:hdoc)** ([Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных](./Тесты_ПроверкаСинонимаУстаревшихОбъектовМетаданных)) + Тест проверяет, что у устаревших (с префиксом "Удалить") объектов и свойств метаданных синоним содержит префикс "(не используется)". @@ -142,7 +172,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.10. Проверка [прав к устаревшим объектам](https://its.1c.ru/db/v8std#content:689:hdoc)** ++ **[1.10.](#тесты) Проверка [прав к устаревшим объектам](https://its.1c.ru/db/v8std#content:689:hdoc)** ([Тесты_ПроверкаПравКУстаревшимОбъектам](./Тесты_ПроверкаПравКУстаревшимОбъектам)) + Тест проверяет, что у неосновных ролей нет прав на объекты метаданных с префиксом "Удалить". @@ -152,7 +182,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.11. Проверка прав на чтение объектов** ++ **[1.11.](#тесты) Проверка прав на чтение объектов** ([Тесты_ПроверкаПравНаЧтениеОбъектов](./Тесты_ПроверкаПравНаЧтениеОбъектов)) + Тест проверяет, что у неосновных ролей есть право чтение объектов метаданных. @@ -166,7 +196,7 @@ - РольБазовыеПрава - Имя роли с минимальными правами для первоначального поиска по этой роли. -+ **1.12. Проверка [пользовательских представлений новых объектов](https://its.1c.ru/db/v8std#content:468:hdoc)** ++ **[1.12.](#тесты) Проверка [пользовательских представлений новых объектов](https://its.1c.ru/db/v8std#content:468:hdoc)** ([Тесты_ПроверкаПользовательскихПредставленийОбъектов](./Тесты_ПроверкаПользовательскихПредставленийОбъектов)) + Тест проверяет, что у нового объекта метаданных задано одно из следующих свойств: "Представление объекта", "Представление записи", "Представление списка". @@ -178,7 +208,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **1.13. Проверка [реквизитов документов: комментарий, ответственный](https://its.1c.ru/db/v8std#content:719:hdoc)** ++ **[1.13.](#тесты) Проверка [реквизитов документов: комментарий, ответственный](https://its.1c.ru/db/v8std#content:719:hdoc)** ([Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный](./Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный)) + Тест проверяет, что у документов есть реквизиты: "Комментарий", "Ответственный". @@ -193,7 +223,7 @@ - ОпределяемыйТипОтветственный - Имя определяемого типа "Ответственный" для проверки типа реквизита "Ответственный" документов. Настройка задается свойством "ОпределяемыйТипОтветственный": "ИмяОпределяемогоТипаОтветственный". -+ **1.14. Проверка включения объектов в [командный интерфейс](https://its.1c.ru/db/v8std#content:543:hdoc)** ++ **[1.14.](#тесты) Проверка включения объектов в [командный интерфейс](https://its.1c.ru/db/v8std#content:543:hdoc)** ([Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс](./Тесты_ПроверкаВключенияОбъектовВКомандныйИнтерфейс)) + Тест проверяет, что объекты конфигурации включены в командный интерфейс или в служебные подсистемы. @@ -206,9 +236,9 @@ -### 2. Тесты для проверки объектов метаданных на соответствие внутренним стандартам +### [2.](#тесты) Тесты для проверки объектов метаданных на соответствие внутренним стандартам -+ **2.1. Проверка префикса в новых объектах и реквизитах** ++ **[2.1.](#тесты) Проверка префикса в новых объектах и реквизитах** ([Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)) + Тест проверяет, что у нового объекта метаданных или реквизита установлен префикс. @@ -220,7 +250,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.2. Проверка включения новых объектов с префиксом в подсистему** ++ **[2.2.](#тесты) Проверка включения новых объектов с префиксом в подсистему** ([Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](./Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)) + Тест проверяет, что новый объект метаданных с префиксом включен в подсистему. @@ -232,7 +262,7 @@ - [Подсистема](#Настройки_Подсистема) -+ **2.3. Проверка синонима новых объектов и реквизитов** ++ **[2.3.](#тесты) Проверка синонима новых объектов и реквизитов** ([Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом](./Тесты_ПроверкаСинонимаОбъектовИСвойствСПрефиксом)) + Тест проверяет, что у новых объектов и свойств метаданных синоним не содержит префикса. @@ -243,7 +273,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.4. Проверка префикса свойств новых объектов** ++ **[2.4.](#тесты) Проверка префикса свойств новых объектов** ([Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов](./Тесты_ПроверкаПрефиксаСвойствНовыхОбъектов)) + Тест проверяет, что у новых с (префиксом) объектов метаданных табличные части и свойства не содержат префикса. @@ -254,7 +284,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.5. Проверка основных форм отчетов** ++ **[2.5.](#тесты) Проверка основных форм отчетов** ([Тесты_ПроверкаОсновныхФормОтчетов](./Тесты_ПроверкаОсновныхФормОтчетов)) + Тест проверяет, что у отчетов или конфигурации установлены основные формы: "ОсновнаяФорма/ОсновнаяФормаОтчета", "ОсновнаяФормаНастроек/ОсновнаяФормаНастроекОтчета", "ОсновнаяФормаВарианта/ОсновнаяФормаВариантаОтчета". @@ -271,7 +301,7 @@ - [Форма варианта](#Настройки_ФормаВариантаОтчета) -+ **2.6. Проверка хранилища вариантов отчетов** ++ **[2.6.](#тесты) Проверка хранилища вариантов отчетов** ([Тесты_ПроверкаХранилищаВариантовОтчетов](./Тесты_ПроверкаХранилищаВариантовОтчетов)) + Тест проверяет, что у отчетов или конфигурации установлено хранилище вариантов отчетов. @@ -286,7 +316,7 @@ - [Хранилище вариантов отчетов](#Настройки_ХранилищеВариантовОтчетов) -+ **2.7. Проверка прав на чтение объектов с RLS** ++ **[2.7.](#тесты) Проверка прав на чтение объектов с RLS** ([Тесты_ПроверкаПравНаЧтениеОбъектовRLS](./Тесты_ПроверкаПравНаЧтениеОбъектовRLS)) + Тест проверяет, что у неосновных ролей нет права чтение объектов метаданных без RLS. @@ -297,7 +327,7 @@ - [Объекты метаданных](#Настройки_ОбъектыМетаданных) -+ **2.8. Проверка макетов СКД внешних отчетов и обработок** ++ **[2.8.](#тесты) Проверка макетов СКД внешних отчетов и обработок** ([Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок](./Тесты_ПроверкаМакетовСКДВнешнихОтчетовОбработок)) + Тест проверяет макет СКД у внешних отчетов и обработок. @@ -309,7 +339,7 @@ - [Каталоги внешних обработок](#Настройки_КаталогиВнешнихОбработок) -+ **2.9. Проверка объектов метаданных конфигурации поставщика** ++ **[2.9.](#тесты) Проверка объектов метаданных конфигурации поставщика** ([Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](./Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)) + Тест проверяет, что объекты метаданных конфигурации поставщика не были удалены из конфигурации. @@ -318,7 +348,7 @@ - [Конфигурация поставщика](#Настройки_КонфигурацияПоставщика) -+ **2.10. Проверка каноничности префикса новых объектов и реквизитов** ++ **[2.10.](#тесты) Проверка каноничности префикса новых объектов и реквизитов** ([Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств](./Тесты_ПроверкаКаноничностиПрефиксаОбъектовСвойств)) + Тест проверяет, что префикс новых объектов метаданных соответствует каноничному написанию. @@ -329,7 +359,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.11. Проверка индексирования устаревших объектов метаданных** ++ **[2.11.](#тесты) Проверка индексирования устаревших объектов метаданных** ([Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных](./Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных)) + Тест проверяет, что у устаревших объектов метаданных отключено индексирование свойств. @@ -341,7 +371,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.12. Проверка устаревших типов данных** ++ **[2.12.](#тесты) Проверка устаревших типов данных** ([Тесты_ПроверкаУстаревшихТиповДанных](./Тесты_ПроверкаУстаревшихТиповДанных)) + Тест проверяет, что у реквизитов и свойств объектов метаданных с устаревшим типом данных установлен префикс имени "Удалить" и префикс синонима "(не используется)". @@ -353,7 +383,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.13. Проверка авторегистрации планов обмена** ++ **[2.13.](#тесты) Проверка авторегистрации планов обмена** ([Тесты_ПроверкаАвтоРегистрацииПлановОбмена](./Тесты_ПроверкаАвтоРегистрацииПлановОбмена)) + Тест проверяет, что у объектов метаданных входящих в состав планов обмена отключена авторегистрация. @@ -365,7 +395,7 @@ - [Исключения из проверок](#Настройки_ИсключенияИзПроверок) -+ **2.14. Переход на управляемые формы** ++ **[2.14.](#тесты) Переход на управляемые формы** ([Тесты_ПереходНаУправляемыеФормы](./Тесты_ПереходНаУправляемыеФормы)) + Тест проверяет, что все формы конфигурации управляемые. @@ -378,7 +408,7 @@ - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) -+ **2.15. Проверка периодичности нумерации документов** ++ **[2.15.](#тесты) Проверка периодичности нумерации документов** ([Тесты_ПроверкаПериодичностиНумерацииДокументов](./Тесты_ПроверкаПериодичностиНумерацииДокументов)) + Тест проверяет, что у всех документов в конфигурации установлена периодическая нумерация. @@ -391,7 +421,7 @@ - [ПропускатьОбъектыСПрефиксомУдалить](#Настройки_ПропускатьОбъектыСПрефиксомУдалить) -+ **2.16. Проверка регистров для отчета ["Движения документа"](https://its.1c.ru/db/bsp246doc#content:50:1)** ++ **[2.16.](#тесты) Проверка регистров для отчета ["Движения документа"](https://its.1c.ru/db/bsp246doc#content:50:1)** ([Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента](./Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента)) + Тест проверяет, что у регистров подчиненных регистратору: @@ -632,7 +662,7 @@ - **[Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему](#Тесты_ПроверкаВключенияОбъектовСПрефиксомВПодсистему)** -+ **"КонфигурацияПоставщика"** - Путь к файлу со структурой конфигурации поставщика. Настройка задается свойством "КонфигурацияПоставщика": "ПолноеИмяФайла.json" (можно указывать как относительный путь к файлу). Файл конфигурации поставщика можно получить путем интерактивного запуска обработки **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)**, и с помощью команды "Выбор файла" открыть файл отчета конфигурации поставщика в текстовом формате. Файл "ОтчетПоКонфигурации.txt" можно получить в конфигураторе: открыть конфигурацию поставщика, выполнить команду Конфигурация/Отчет по конфигурации/Выводить в текстовый документ. Настройка доступна для тестов: ++ **"КонфигурацияПоставщика"** - Путь к файлу со структурой конфигурации поставщика ([пример файла](../../tools/JSON/providerConfiguration.json)). Настройка задается свойством "КонфигурацияПоставщика": "ПолноеИмяФайла.json" (можно указывать как относительный путь к файлу). Файл конфигурации поставщика можно получить путем интерактивного запуска обработки **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](./Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)**, и с помощью команды "Выбор файла" открыть файл отчета конфигурации поставщика в текстовом формате. Файл "ОтчетПоКонфигурации.txt" можно получить в конфигураторе: открыть конфигурацию поставщика, выполнить команду Конфигурация/Отчет по конфигурации/Выводить в текстовый документ. Настройка доступна для тестов: - **[Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах](#Тесты_ПроверкаПрефиксаВНовыхОбъектахИРеквизитах)** - **[Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика](#Тесты_ПроверкаОбъектовМетаданныхКонфигурацииПоставщика)** From b23623612c00c0a9fd33c321169f1bc339f3b471 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 11:15:38 +0300 Subject: [PATCH 350/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BD=D0=B5=D0=B2=D0=B5=D1=80=D0=BD=D1=8B=D0=B9?= =?UTF-8?q?=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B9=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=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 --- ...4\320\265\320\271\321\201\320\260.feature" | 6 +++--- spec/fixtures/smoke-subsystem.json | 20 ++----------------- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index 4bdd9c73e..20b578b80 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -100,13 +100,13 @@ Когда Я выполняю команду "vrunner" Тогда Вывод команды "vrunner" содержит | ==>> набор тестов Раздел: Тестовая | - | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | - | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит | ==>> набор тестов Раздел: Главное | | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | - | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/smoke-subsystem.json b/spec/fixtures/smoke-subsystem.json index e198dd2ff..b219f6ca4 100644 --- a/spec/fixtures/smoke-subsystem.json +++ b/spec/fixtures/smoke-subsystem.json @@ -56,23 +56,7 @@ "CommandInterface": { "Используется":true, "СтрогийПорядокВыполнения": true, - "Разделы": [ - "Настройки и администрирование" - ], - "ОбщиеКоманды":[ - "ОбщаяКоманда1" - ], - "ОбщиеФормы":[ - "ОбщаяФорма1" - ], - "Справочники": - [ - "*ростой*равочник*" - ], - "Документы": false, - "БизнесПроцессы": false, - "Отчеты": false, - "Обработки": false, - "ВнешниеИсточникиДанных": false + + "Подсистема": "Тестовая.Подсистема1" } } From 7c358e3ed58fee870db7cc6c8abde5770364096e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 11:38:41 +0300 Subject: [PATCH 351/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=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=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit баг, когда задано true для вида метаданного --- ...4\320\265\320\271\321\201\320\260.feature" | 27 ++++++++++--------- spec/fixtures/smoke-exclude.json | 7 ++--- .../Ext/Form/Module.bsl" | 24 +++++++++++------ 3 files changed, 35 insertions(+), 23 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index 20b578b80..76d83784c 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -61,21 +61,24 @@ И Код возврата команды "vrunner" равен 0 -# Сценарий: Тестирование документов - настроено исключение по имени для всех тестов +Сценарий: Тестирование документов - настроено исключение по имени для всех тестов -# И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-exclude.json" для команды "vrunner" -# Когда Я выполняю команду "vrunner" -# Тогда Вывод команды "vrunner" содержит -# | ==>> набор тестов УпрФорма # Тесты_ОткрытиеФормКонфигурации | -# | ==>> набор тестов Документы | -# | -->> тест Документ.ДокументСДвижениями | -# | ИНФОРМАЦИЯ - Все тесты выполнены! | -# | Выполнение тестов завершено | -# И Вывод команды "vrunner" не содержит -# | -->> тест Документ.Документ2 | + Когда Я выполняю команду "vrunner" + И Я сообщаю вывод команды "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | ==>> набор тестов Раздел: Главное | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | -# И Код возврата команды "vrunner" равен 0 + И Код возврата команды "vrunner" равен 0 Сценарий: Тестирование документов - фильтр по префиксу diff --git a/spec/fixtures/smoke-exclude.json b/spec/fixtures/smoke-exclude.json index e2d4dc420..10c5fd58b 100644 --- a/spec/fixtures/smoke-exclude.json +++ b/spec/fixtures/smoke-exclude.json @@ -70,7 +70,7 @@ "Используется":true, "СтрогийПорядокВыполнения": true, "Разделы": [ - "Настройки и администрирование" + "Главное" ], "ОбщиеКоманды":[ "ОбщаяКоманда1" @@ -80,11 +80,12 @@ ], "Справочники": [ - "*ростой*равочник*" + "СправочникИерархияЭлементов" ], + "Отчеты": true, + "Документы": false, "БизнесПроцессы": false, - "Отчеты": false, "Обработки": false, "ВнешниеИсточникиДанных": false } diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 3e36976f1..aa0990b50 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -338,7 +338,9 @@ Сегменты = СтрРазделить(ПолноеИмяМетаданного, "."); ИмяВида = Сегменты[0]; - ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; + //ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; + ИмяМетаданного = Сегменты[1]; + ПолноеИмяМетаданного = ИмяВида + "." + ИмяМетаданного; КлючВида = ЗначениеИзСтруктуры(ФильтрПоИмени.ВидыМетаданных, ИмяВида, Неопределено); Если Не ЗначениеЗаполнено(КлючВида) Тогда @@ -356,7 +358,8 @@ Возврат Отобрали; КонецЕсли; - Возврат ВключитьПоИмени(КлючВида, ИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); + //Возврат ВключитьПоИмени(КлючВида, ИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); + Возврат ВключитьПоИмени(КлючВида, ПолноеИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); КонецФункции @@ -393,6 +396,8 @@ КонецФункции +// TODO Дубли кода с соседним тестом. нужно перенести в плагин - ОтобралиПоПодсистеме, НайтиПодсистему + &НаСервереБезКонтекста Функция ОтобралиПоПодсистеме(Знач ОписаниеМетаданного, Знач ИмяПодсистемы) @@ -463,11 +468,15 @@ &НаКлиенте Процедура ДобавитьИсключения(Знач ИсключаемыеОперации, ИмяНастройки, ПрефиксШаблона) + Если Не ЕстьНастройка(ИмяНастройки) Тогда + Возврат; + КонецЕсли; + Если ВидМетаданныхИсключенИзТестирования(ИмяНастройки) Тогда ИсключаемыеОперации.Добавить(ПрефиксШаблона); - - ИначеЕсли ЕстьНастройка(ИмяНастройки) Тогда + + ИначеЕсли ТипЗнч(Объект.Настройки[ИмяНастройки]) <> Тип("Булево") Тогда Для Каждого ПараметрНастройки Из Объект.Настройки[ИмяНастройки] Цикл ИсключаемыеОперации.Добавить(ПрефиксШаблона + ПараметрНастройки); @@ -599,10 +608,9 @@ &НаКлиенте Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) - Если ЕстьНастройка(ВидМетаданных) Тогда - Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); - КонецЕсли; - Возврат Ложь; + + Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); + КонецФункции &НаКлиенте From 093bcf8ad4237f715d0e1e2973ec21df6c2967ee Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 11:39:53 +0300 Subject: [PATCH 352/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=A1=D0=BE=D0=BD=D0=B0=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 3 --- 1 file changed, 3 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index aa0990b50..5d338d378 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -74,7 +74,6 @@ Рез.Вставить("СтрогийПорядокВыполнения", Истина); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); - //Рез.Вставить("ИсключатьПоИмени", Новый Структура); Рез.Вставить("ОтборПоПрефиксу", Ложь); Рез.Вставить("Префикс", ""); Рез.Вставить("Подсистема", ""); @@ -338,7 +337,6 @@ Сегменты = СтрРазделить(ПолноеИмяМетаданного, "."); ИмяВида = Сегменты[0]; - //ИмяМетаданного = Сегменты[1] + "." + Сегменты[КоличествоПравильныхСегментов - 1]; ИмяМетаданного = Сегменты[1]; ПолноеИмяМетаданного = ИмяВида + "." + ИмяМетаданного; @@ -358,7 +356,6 @@ Возврат Отобрали; КонецЕсли; - //Возврат ВключитьПоИмени(КлючВида, ИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); Возврат ВключитьПоИмени(КлючВида, ПолноеИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); КонецФункции From 9c8e666fb02bf49d422eb080b48b896fa9a5831f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 11:41:29 +0300 Subject: [PATCH 353/421] =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 63bdb430f..92c97bff2 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -29,7 +29,7 @@ - [Включение тестов с отбором по подсистеме](#включение-тестов-с-отбором-по-подсистеме-1) - [Включение тестов по избранным метаданным](#включение-тестов-по-избранным-метаданным-1) - [Настройка исключений тестов командного интерфейса](#настройка-исключений-тестов-командного-интерфейса-1) - - [Пример файла настройки для исключения метаданных](#пример-файла-настройки-для-исключения-метаданных) + - [Пример файла настройки для исключения метаданных - отчеты полностью пропускаются](#пример-файла-настройки-для-исключения-метаданных---отчеты-полностью-пропускаются) - [Дымовое тестирование ввода документов на основании](#дымовое-тестирование-ввода-документов-на-основании) - [Настройка дымовых тестов для запуска в tddTestRunner](#настройка-дымовых-тестов-для-запуска-в-tddtestrunner) - [Дымовое тестирование в BDD (bddRunner.epf)](#дымовое-тестирование-в-bdd-bddrunnerepf) @@ -672,7 +672,7 @@ Возможность управления модальными окнами есть в разделе [Управление модальными окнами](#Возможности-управления-модальными-окнами). -##### Пример файла настройки для исключения метаданных +##### Пример файла настройки для исключения метаданных - отчеты полностью пропускаются ```json { @@ -686,7 +686,8 @@ "Справочники": [ "ПростойСправочник" - ] + ], + "Отчеты": false } } ``` From 8e3265d9b4c41128198947b703ef830549f68b30 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 11:46:37 +0300 Subject: [PATCH 354/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D1=83=D1=8E=20=D1=88=D1=82=D0=B0=D1=82=D0=BD=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=A1=D1=82=D1=80=D0=A1=D0=BE=D0=B5=D0=B4=D0=B8=D0=BD=D0=B8?= =?UTF-8?q?=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2780c5dd6..d149a7956 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1571,29 +1571,12 @@ ТекстыЗаголовков.Добавить(ТекОбъект.ТекстЗаголовка); КонецЦикла; - Возврат СтрСоединить_(ТекстыЗаголовков, " "); + Возврат СтрСоединить(ТекстыЗаголовков, " "); КонецФункции #КонецОбласти -&НаКлиенте -Функция СтрСоединить_(МассивЭлементов, Символ = "") - СтрокаРезультат = ""; - Если МассивЭлементов.Количество() > 0 Тогда - СтрокаРезультат = МассивЭлементов.Получить(0) + Символ; - Для сч = 0 По МассивЭлементов.ВГраница() Цикл - Элемент = МассивЭлементов.Получить(сч); - Если ЗначениеЗаполнено(Элемент) Тогда - СтрокаРезультат = МассивЭлементов.Получить(сч) + Символ; - КонецЕсли; - КонецЦикла; - КонецЕсли; - - Возврат СтрокаРезультат; - -КонецФункции - &НаСервереБезКонтекста Функция КонтекстЯдраНаСервере(Знач КонтекстЯдра = Неопределено) From 1d338243381978fb9a690c72e6d700a2f4a8510e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 12:05:59 +0300 Subject: [PATCH 355/421] =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=BA=D0=BE=D0=B4=20=D0=BF=D0=BE=20=D0=BE?= =?UTF-8?q?=D0=B1=D0=BB=D0=B0=D1=81=D1=82=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 266 ++++++++++-------- 1 file changed, 149 insertions(+), 117 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5d338d378..1898de9a3 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1,4 +1,5 @@ - +#Область ОписаниеПеременных + &НаКлиенте Перем КонтекстЯдра; @@ -8,7 +9,21 @@ &НаКлиенте Перем ПлагинТестКлиенты; -// TODO расставить области +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +#Область ИнтерфейсТестирования + +// Функция - Ключ настройки +// +// Возвращаемое значение: +// Строка - CommandInterface +// +&НаКлиенте +Функция КлючНастройки() + Возврат "CommandInterface"; +КонецФункции // Процедура - Инициализация тестов // @@ -24,6 +39,47 @@ ЗагрузитьНастройки(); КонецПроцедуры +// Процедура - Заполнить набор тестов +// +// Параметры: +// НаборТестов - Произвольный - объект для подготовки тестов - класс ЗагрузчикХХХ +// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма +// +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не НужноВыполнятьТест() Тогда + Возврат; + КонецЕсли; + + Если Объект.СтрогийПорядокВыполнения Тогда + НаборТестов.СтрогийПорядокВыполнения(); + НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); + КонецЕсли; + + КонтекстЯдра = КонтекстЯдраПараметр; + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + + ТестКлиент = ПодключитьТестКлиент(); + Если ТестКлиент = Неопределено Тогда + Возврат; + КонецЕсли; + + ДобавитьТестыИзКомандногоИнтерфейса(НаборТестов, ТестКлиент); + +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Настройки + &НаКлиенте Процедура ЗагрузитьНастройки() @@ -119,106 +175,9 @@ КонецФункции -// Функция - Ключ настройки -// -// Возвращаемое значение: -// Строка - CommandInterface -// -&НаКлиенте -Функция КлючНастройки() - Возврат "CommandInterface"; -КонецФункции - -// Процедура - Заполнить набор тестов -// -// Параметры: -// НаборТестов - Произвольный - объект для подготовки тестов - класс ЗагрузчикХХХ -// КонтекстЯдраПараметр - Произвольный - ВнешниеОбработки.xddTestRunner.УпрФорма -// -&НаКлиенте -Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - - Инициализация(КонтекстЯдраПараметр); - - Если Не НужноВыполнятьТест() Тогда - Возврат; - КонецЕсли; - - Если Объект.СтрогийПорядокВыполнения Тогда - НаборТестов.СтрогийПорядокВыполнения(); - НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); - КонецЕсли; - - КонтекстЯдра = КонтекстЯдраПараметр; - - ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - - ТестКлиент = ПодключитьТестКлиент(); - Если ТестКлиент = Неопределено Тогда - Возврат; - КонецЕсли; - - ДобавитьТестыИзКомандногоИнтерфейса(НаборТестов, ТестКлиент); - -КонецПроцедуры - -&НаКлиенте -Функция ПодключитьТестКлиент() - - Перем ИнфоОшибки; - - Результат = Неопределено; - - Попытка - Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - Исключение - ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Сообщить(ИнфоОшибки); // TODO скрывается исключение - КонецПопытки; - - Возврат Результат; - -КонецФункции - -&НаКлиенте -Процедура ДобавитьТестыИзКомандногоИнтерфейса(Знач НаборТестов, ТестКлиент) - - ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - - ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); - - ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); - Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл - - СписокДляСортировки = Новый СписокЗначений; - Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл - Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда - СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); - КонецЕсли; - - КонецЦикла; - СписокДляСортировки.СортироватьПоПредставлению(); - - Если СписокДляСортировки.Количество() Тогда - НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"), ГруппаТестов.ИмяГруппы)); - КонецЕсли; - - Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл - - КлючЗначение = ЭлементСпискаЗначений.Значение; - Описание = КлючЗначение.Значение; - ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; - - НаборТестов.Добавить( - Описание.ИмяТеста, - НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), - КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); - - КонецЦикла; - - КонецЦикла; +#КонецОбласти -КонецПроцедуры +#Область Исключения &НаКлиенте Функция ПодготовитьФильтрыПоИмени() @@ -500,20 +459,53 @@ КонецФункции &НаКлиенте -Процедура ПередЗапускомТеста() Экспорт +Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) + + Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); - ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда - ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); - КонецЕсли; +КонецФункции - ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); +#КонецОбласти -КонецПроцедуры +#Область ФормированиеСпискаТестовыхСлучаев &НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт +Процедура ДобавитьТестыИзКомандногоИнтерфейса(Знач НаборТестов, ТестКлиент) + + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); + + ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); + + ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); + Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл + + СписокДляСортировки = Новый СписокЗначений; + Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл + Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда + СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); + КонецЕсли; + + КонецЦикла; + СписокДляСортировки.СортироватьПоПредставлению(); + + Если СписокДляСортировки.Количество() Тогда + НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"), ГруппаТестов.ИмяГруппы)); + КонецЕсли; + + Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл + + КлючЗначение = ЭлементСпискаЗначений.Значение; + Описание = КлючЗначение.Значение; + ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; + + НаборТестов.Добавить( + Описание.ИмяТеста, + НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), + КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); + + КонецЦикла; + + КонецЦикла; КонецПроцедуры @@ -603,13 +595,6 @@ КонецПроцедуры -&НаКлиенте -Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) - - Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); - -КонецФункции - &НаКлиенте Функция ИмяТеста(ПараметрНавигационнаяСсылка) @@ -658,6 +643,27 @@ КонецФункции +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); + КонецЕсли; + + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); + +КонецПроцедуры + +//&НаКлиенте +//Процедура ПослеЗапускаТеста() Экспорт +//КонецПроцедуры + &НаКлиенте Процедура ТестДолжен_ПропуститьВыполнение(ПараметрНавигационнаяСсылка) Экспорт @@ -703,6 +709,8 @@ КонецПроцедуры +#Область ТестыЧерезКлиентТестирования + &НаКлиенте Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) @@ -962,3 +970,27 @@ Возврат Истина; КонецФункции + +&НаКлиенте +Функция ПодключитьТестКлиент() + + Перем ИнфоОшибки; + + Результат = Неопределено; + + Попытка + Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + Исключение + ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Сообщить(ИнфоОшибки); // TODO скрывается исключение + КонецПопытки; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#КонецОбласти From 1668f574475350322fbd77a402fc572626704092 Mon Sep 17 00:00:00 2001 From: SidnevAV Date: Tue, 21 Sep 2021 21:56:04 +0300 Subject: [PATCH 356/421] =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=D1=82=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 34 ++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ce5c66ee4..12a995d2a 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\232\320\276\320\274\320\274\320\265\320\275\321\202\320\260\321\200\320\270\320\271\320\236\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\265\320\275\320\275\321\213\320\271/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -161,22 +161,32 @@ СтроковыеУтилиты = СтроковыеУтилиты(); РеквизитКомментарий = Документ.Реквизиты.Найти("Комментарий"); - Если РеквизитКомментарий <> Неопределено И ЗначениеЗаполнено(ИмяТипаКомментарий) Тогда - ОпределяемыйТипКомментарий = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаКомментарий); - Если РеквизитКомментарий.Тип <> ОпределяемыйТипКомментарий.Тип Тогда - ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Комментарий"" не соответствует определяемому типу %2'"); - ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаКомментарий); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Если РеквизитКомментарий = Неопределено Тогда + ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Комментарий""'"); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Иначе + Если РеквизитКомментарий <> Неопределено И ЗначениеЗаполнено(ИмяТипаКомментарий) Тогда + ОпределяемыйТипКомментарий = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаКомментарий); + Если РеквизитКомментарий.Тип <> ОпределяемыйТипКомментарий.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Комментарий"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаКомментарий); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + КонецЕсли; КонецЕсли; КонецЕсли; РеквизитОтветственный = Документ.Реквизиты.Найти("Ответственный"); - Если РеквизитОтветственный <> Неопределено И ЗначениеЗаполнено(ИмяТипаОтветственный) Тогда - ОпределяемыйТипОтветственный = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаОтветственный); - Если РеквизитОтветственный.Тип <> ОпределяемыйТипОтветственный.Тип Тогда - ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Ответственный"" не соответствует определяемому типу %2'"); - ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаОтветственный); - ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Если РеквизитОтветственный = Неопределено Тогда + ШаблонСообщения = НСтр("ru = '%1%2 не указан реквизит ""Ответственный""'"); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + Иначе + Если РеквизитОтветственный <> Неопределено И ЗначениеЗаполнено(ИмяТипаОтветственный) Тогда + ОпределяемыйТипОтветственный = Метаданные.ОпределяемыеТипы.Найти(ИмяТипаОтветственный); + Если РеквизитОтветственный.Тип <> ОпределяемыйТипОтветственный.Тип Тогда + ШаблонСообщения = НСтр("ru = '%1 тип реквизита ""Ответственный"" не соответствует определяемому типу %2'"); + ШаблонСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, "%1%2", ИмяТипаОтветственный); + ДобавитьСообщениеВРезультат(СтроковыеУтилиты, Результат, ШаблонСообщения) + КонецЕсли; КонецЕсли; КонецЕсли; From 00ba46efb6340155db3a4477b8c66f198131713f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 12:16:07 +0300 Subject: [PATCH 357/421] =?UTF-8?q?=D0=BE=D1=82=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D0=B0=D1=8F=20=D1=8F=D0=B2=D0=BD=D0=B0=D1=8F=20=D1=81?= =?UTF-8?q?=D1=81=D1=8B=D0=BB=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B5=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D0=B5?= =?UTF-8?q?=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index d2f70ec94..5411073f7 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -53,6 +53,7 @@ * [Дымовые тесты командного интерфейса](#Дымовые-тесты-командного-интерфейса) * [Дымовое тесты ввода документов на основании](#Дымовое-тестирование-ввода-документов-на-основании) * [Проверка макетов СКД](#Проверка-макетов-СКД) +* [Много тестов для проверки объектов метаданных на соответствие внутренним стандартам и стандартам 1С (https://its.1c.ru/db/v8std)](./smoke_tests_for_v8std.md) * [Дымовое тестирование настройки общих модулей и наличия подсистем](#Дымовое-тестирование-настройки-общих-модулей-и-наличия-подсистем) * [Проверка чтения метаданных обычными пользователями, без полных прав](#Проверка-чтения-метаданных-обычными-пользователями-без-полных-прав) * [Проверка режима управления блокировкой данных в транзакции по умолчанию](#Проверка-режима-управления-блокировкой-данных-в-транзакции-по-умолчанию) From ad44a30f18f5c6f950caee766667a8ebe714fa0c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 15:59:20 +0300 Subject: [PATCH 358/421] =?UTF-8?q?=D0=B7=D0=B0=D0=B1=D1=8B=D1=82=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B4=D0=B8=D1=80=D0=B5=D0=BA=D1=82=D0=B8=D0=B2=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 1 + 1 file changed, 1 insertion(+) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2cdf147d2..27e09382a 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1264,6 +1264,7 @@ КонецПроцедуры +&НаКлиенте Функция ПутьФайлаНастроек() Экспорт Возврат Объект.ПутьФайлаНастроек; КонецФункции From 6b5b9533aad17551182bc45234b5d30eb8f962d5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 22 Sep 2021 19:12:40 +0300 Subject: [PATCH 359/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BE=D0=B1=D0=BB=D0=B0=D1=81=D1=82=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 1386 +++++++++-------- .../Ext/Form/Module.bsl" | 364 ++--- 2 files changed, 879 insertions(+), 871 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1898de9a3..0d5cea3b0 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -15,16 +15,6 @@ #Область ИнтерфейсТестирования -// Функция - Ключ настройки -// -// Возвращаемое значение: -// Строка - CommandInterface -// -&НаКлиенте -Функция КлючНастройки() - Возврат "CommandInterface"; -КонецФункции - // Процедура - Инициализация тестов // // Параметры: @@ -76,921 +66,935 @@ #КонецОбласти -#Область СлужебныеПроцедурыИФункции +#Область СлужебныйПрограммныйИнтерфейс -#Область Настройки +#Область Тесты &НаКлиенте -Процедура ЗагрузитьНастройки() - - ПутьНастройки = КлючНастройки(); +Процедура ПередЗапускомТеста() Экспорт - Если ЗначениеЗаполнено(Объект.Настройки) Тогда - Возврат; + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); КонецЕсли; - ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); - - НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); - - Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); - Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда - Объект.Настройки = Новый Структура; - КонецЕсли; + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); - НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); +КонецПроцедуры - ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Объект.Настройки, НаборНастроекПоУмолчанию); +//&НаКлиенте +//Процедура ПослеЗапускаТеста() Экспорт +//КонецПроцедуры - Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) Тогда - Объект.СтрогийПорядокВыполнения = Объект.Настройки.СтрогийПорядокВыполнения; - КонецЕсли; +&НаКлиенте +Процедура ТестДолжен_ПропуститьВыполнение(ПараметрНавигационнаяСсылка) Экспорт - Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда - Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); - КонецЕсли; + КонтекстЯдра.ПропуститьТест(); КонецПроцедуры &НаКлиенте -Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) - - Если СтруктураНастроек = Неопределено Тогда - СтруктураНастроек = Объект.Настройки; - КонецЕсли; - - Возврат КонтекстЯдра.Плагин("Настройки").ЕстьНастройка(ПутьНастроек, СтруктураНастроек); - -КонецФункции - -&НаСервере -Функция СоздатьНаборНастроекПоУмолчанию() +Процедура ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса(ПараметрНавигационнаяСсылка) Экспорт - Рез = Новый Структура; + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - Рез.Вставить("СтрогийПорядокВыполнения", Истина); - Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); - Рез.Вставить("ОтборПоПрефиксу", Ложь); - Рез.Вставить("Префикс", ""); - Рез.Вставить("Подсистема", ""); + ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); - Возврат Новый ФиксированнаяСтруктура(Рез); + Попытка + ОсновноеОкно.ВыполнитьКоманду(ПараметрНавигационнаяСсылка); + Исключение + ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. + |Возможно, сеанс тест-клиента заблокирован модальным окном", ПараметрНавигационнаяСсылка); + КонецПопытки; -КонецФункции + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); -&НаКлиенте -Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) + ОписанияШаговСценария = Новый Массив; + ОписанияШаговСценария.Добавить(КликПоПервойСтрокеТаблицыФормы()); + ОписанияШаговСценария.Добавить(КликПоПоследнейСтрокеТаблицыФормы()); - Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл - Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда - Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + Для Каждого ШагСценария Из ОписанияШаговСценария Цикл + ОкноСТаблицейФормы = ТестКлиент.ПолучитьАктивноеОкно(); + Если ОкноСТаблицейФормы.НачальнаяСтраница Или ОкноСТаблицейФормы.Основное Тогда + Продолжить; + КонецЕсли; + Обработали = ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент); + Если Обработали Тогда + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); КонецЕсли; КонецЦикла; + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); + + ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); + КонецПроцедуры +#Область ТестыЧерезКлиентТестирования + &НаКлиенте -Функция НужноВыполнятьТест() - - ЗначениеПоУмолчанию = Истина; - - ЗагрузитьНастройки(); - - Настройки = ОБъект.Настройки; +Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) + + Результат = Ложь; + ТекстИсключенияДляГруппировки = НСтр("ru = 'Действие недоступно для строки группировки списка!'"); + + ТаблицыФормы = ОкноСТаблицейФормы.НайтиОбъекты(Тип("ТестируемаяТаблицаФормы")); - Если Не ЗначениеЗаполнено(Настройки) Тогда - Возврат ЗначениеПоУмолчанию; + Если ТаблицыФормы = Неопределено Тогда + Возврат Результат; КонецЕсли; - КлючНастройки = КлючНастройки(); - - ВыполнятьТест = Неопределено; - Если ТипЗнч(Настройки) = Тип("Структура") - И Настройки.Свойство("Используется", ВыполнятьТест) Тогда + Для Каждого ТаблицаФормы Из ТаблицыФормы Цикл - Возврат ВыполнятьТест = Истина; - КонецЕсли; - - Возврат ЗначениеПоУмолчанию; + ТаблицаФормы.Активизировать(); -КонецФункции + Если Не ТаблицаФормыДоступна(ТаблицаФормы) Тогда + Продолжить; + КонецЕсли; -#КонецОбласти + ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); -#Область Исключения + Если Не ЗначениеЗаполнено(ТаблицаФормы.ПолучитьВыделенныеСтроки()) Тогда + Результат = Истина; + Иначе + + РазвернутьВетвьДерева(ТаблицаФормы); + + ТаблицаФормы.Выбрать(); + + КонецЕсли; + + Пока ПлагинТестКлиенты.ПоявилосьОкноПредупрежденияСТекстом(ТестКлиент, ТекстИсключенияДляГруппировки) Цикл + + ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); + ТекущееОкно.Закрыть(); + + Если ТаблицаФормы.ВозможноРазвернуть() Тогда + Если Не ТаблицаФормы.Развернут() Тогда + ТаблицаФормы.Развернуть(); + КонецЕсли; + ТаблицаФормы.ПерейтиНаУровеньВниз(); + КонецЕсли; + + ТаблицаФормы.Выбрать(); + + КонецЦикла; + + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); + + ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); + Если ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) Тогда + Если ТаблицаФормы.ТекущийРежимРедактирование() Тогда + ТаблицаФормы.ЗакончитьРедактированиеСтроки(); + КонецЕсли; + Результат = Истина; + Иначе + НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); + КонецЕсли; + + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда + ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); + КонецЕсли; + + Если ОкноСТаблицейФормы <> ТекущееОкно Тогда + ТекущееОкно.Закрыть(); + КонецЕсли; + + КонецЦикла; -&НаКлиенте -Функция ПодготовитьФильтрыПоИмени() - - Результат = НовыйФильтрПоИмени(); - - ИсключаемыеОперации = Новый Массив; - ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); - ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); - ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); - ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); - ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); - ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); - ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); - ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); - - ИсключаемыеРазделы = Новый Массив; - ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); - - НастройкиТеста = Объект.Настройки; - - СтруктураПроверятьТолькоИзбранные = ЗначениеИзСтруктуры(НастройкиТеста, "ПроверятьТолькоИзбранные", Новый Структура); - ФильтроватьПоИзбранным = ЗначениеЗаполнено(СтруктураПроверятьТолькоИзбранные); - - ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(НастройкиТеста, "ОтборПоПрефиксу", Ложь); - Префикс = ЗначениеИзСтруктуры(НастройкиТеста, "Префикс", ""); - - ИмяПодсистемы = ЗначениеИзСтруктуры(НастройкиТеста, "Подсистема", ""); - ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); - - Результат.Вставить("ФильтроватьПоИзбранным", ФильтроватьПоИзбранным); - Результат.Вставить("ИсключаемыеОперации", ИсключаемыеОперации); - Результат.Вставить("ИсключаемыеРазделы", ИсключаемыеРазделы); - Результат.Вставить("НастройкиОтбораПоИзбранным", СтруктураПроверятьТолькоИзбранные); - Результат.Вставить("ВключенОтборПоПрефиксу", ВключенОтборПоПрефиксу); - Результат.Вставить("Префикс", Префикс); - Результат.Вставить("ИмяПодсистемы", ИмяПодсистемы); - Результат.Вставить("ВключенОтборПоПодсистеме", ВключенОтборПоПодсистеме); - Возврат Результат; + КонецФункции &НаКлиенте -Функция НовыйФильтрПоИмени() +Процедура ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент) - Результат = Новый Структура; - Результат.Вставить("ВидыМетаданных", ВидыМетаданных()); - Результат.Вставить("ФильтроватьПоИзбранным", Ложь); - Результат.Вставить("ИсключаемыеОперации", Новый Массив); - Результат.Вставить("ИсключаемыеРазделы", Новый Массив); - Результат.Вставить("НастройкиОтбораПоИзбранным", Новый Структура); - Результат.Вставить("ВключенОтборПоПрефиксу", Ложь); - Результат.Вставить("Префикс", ""); - Результат.Вставить("ИмяПодсистемы", ""); - Результат.Вставить("ВключенОтборПоПодсистеме", Ложь); + Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда - Возврат Результат; + ТаблицаФормы.ПерейтиКПервойСтроке(); + + ИначеЕсли ШагСценария = КликПоПоследнейСтрокеТаблицыФормы() Тогда + + ТаблицаФормы.ПерейтиКПоследнейСтроке(); + + Иначе + + ВызватьИсключение КонтекстЯдра.СтрШаблон_("Поведение для шага ""%1"" не определено", ШагСценария); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) + + Возврат ТекущееОкно = ОкноСТаблицейФормы; КонецФункции &НаКлиенте -Функция ВидыМетаданных() - - Результат = Новый Структура; - - Результат.Вставить("ОбщаяКоманда", "ОбщиеКоманды"); - Результат.Вставить("ОбщаяФорма", "ОбщиеФормы"); - Результат.Вставить("Справочник", "Справочники"); - Результат.Вставить("Документ", "Документы"); - Результат.Вставить("Отчет", "Отчеты"); - Результат.Вставить("Обработка", "Обработки"); - Результат.Вставить("БизнесПроцесс", "БизнесПроцессы"); - Результат.Вставить("ВнешнийИсточникДанных", "ВнешниеИсточникиДанных"); - - Возврат Новый ФиксированнаяСтруктура(Результат); - -КонецФункции +Процедура ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, МоментПроверки) -&НаКлиенте -Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) - - Результат = Неопределено; - - Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда - Результат = ЗначениеПоУмолчанию; + ТестируемаяФорма = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяФорма")); + ТекущаяМодифицированность = ТестируемаяФорма.ТекущаяМодифицированность(); + Если ТекущаяМодифицированность Тогда + ТекстИсключения = КонтекстЯдра.СтрШаблон_("%1 - %2 - %3 - %4: + |Ожидали, что форма не модифицирована сразу же после ее открытия или сразу же после записи, а это не так.", + ШагСценария, МоментПроверки, ТестируемаяФорма.ИмяФормы, ТестируемаяФорма.ТекстЗаголовка); + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); КонецЕсли; - - Возврат Результат; - -КонецФункции -&НаКлиенте -Функция ВключитьРаздел(Знач Имя, Знач ФильтрПоИмени) - - Возврат ВключитьПоИмени("Разделы", Имя, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеРазделы); - -КонецФункции +КонецПроцедуры &НаКлиенте -Функция ВключитьПоНавигационнойСсылке(Знач Имя, Знач ФильтрПоИмени) - - Результат = Не ФильтрПоИмени.ФильтроватьПоИзбранным; - - // формат e1cib/command/Справочник.СправочникИерархияЭлементов.ОткрытьСписок - СегментыПути = СтрРазделить(Имя, "/"); - - КоличествоПравильныхСегментов = 3; - ТакуюСсылкуПропускаем = СегментыПути.Количество() < КоличествоПравильныхСегментов - Или СегментыПути[0] <> "e1cib" Или СегментыПути[1] <> "command"; - - Если ТакуюСсылкуПропускаем Тогда - Возврат Результат; - КонецЕсли; - - ПолноеИмяМетаданного = СегментыПути[КоличествоПравильныхСегментов - 1]; - Сегменты = СтрРазделить(ПолноеИмяМетаданного, "."); - - ИмяВида = Сегменты[0]; - ИмяМетаданного = Сегменты[1]; - ПолноеИмяМетаданного = ИмяВида + "." + ИмяМетаданного; - - КлючВида = ЗначениеИзСтруктуры(ФильтрПоИмени.ВидыМетаданных, ИмяВида, Неопределено); - Если Не ЗначениеЗаполнено(КлючВида) Тогда - Возврат Результат; +Процедура НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент) + + КнопкаЗаписать = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Записать"); + Если КнопкаЗаписать = Неопределено Тогда + Возврат; КонецЕсли; - - ОписаниеМетаданного = Новый Структура; - ОписаниеМетаданного.Вставить("ПолноеИмя", ПолноеИмяМетаданного); - ОписаниеМетаданного.Вставить("КлючВида", КлючВида); - ОписаниеМетаданного.Вставить("ИмяВида", ИмяВида); - ОписаниеМетаданного.Вставить("Имя", ИмяМетаданного); - - Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного); - Если ЗначениеЗаполнено(Отобрали) Тогда - Возврат Отобрали; + + Если Не КнопкаЗаписать.ТекущаяВидимость() Или Не КнопкаЗаписать.ТекущаяДоступность() Тогда + Возврат; КонецЕсли; - - Возврат ВключитьПоИмени(КлючВида, ПолноеИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); -КонецФункции + // Платформа не позволяет заранее определить доступность кнопки. + // Поэтому нажимаем в попытке, а затем ловим исключение, если нажать кнопку не удалось. + Попытка + КнопкаЗаписать.Нажать(); + Исключение + ТекстИсключения = ОписаниеОшибки(); + Если Найти(ТекстИсключения, "Неподходящий тип элемента управления для вызванного действия") = 0 + // У формы установлен признак ТолькоПросмотр + И Найти(ТекстИсключения, "Невидимый пользователю элемент управления не может выполнять интерактивные действия") = 0 Тогда + КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); + КонецЕсли; + КонецПопытки; + + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( + ТестКлиент, + КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), + Ложь); + +КонецПроцедуры &НаКлиенте -Функция ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного) +Процедура ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент) - ВключенОтборПоПрефиксу = ФильтрПоИмени.ВключенОтборПоПрефиксу; - - ИмяПодсистемы = ФильтрПоИмени.ИмяПодсистемы; - ВключенОтборПоПодсистеме = ФильтрПоИмени.ВключенОтборПоПодсистеме; - - Если ВключенОтборПоПрефиксу Тогда - - Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда - Возврат Истина; - КонецЕсли; - - Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); + КомандныйИнтерфейс = ТекущееОкно.ПолучитьКомандныйИнтерфейс(); + Для Каждого ТекКнопка Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл - КонецЕсли; - - Если ВключенОтборПоПодсистеме Тогда - Возврат ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); - КонецЕсли; + ТекКнопка.Нажать(); - Возврат Неопределено; - -КонецФункции + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( + ТестКлиент, + КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), + Ложь); + + КонецЦикла; + +КонецПроцедуры &НаКлиенте -Функция ОтобралиПоПрефиксу(Знач ПрефиксДляОтбора, Знач ИмяМетаданного) - - Возврат СтрНайти(ИмяМетаданного, ПрефиксДляОтбора) = 1; +Функция ПереходПоКнопкеКомандногоИнтерфейса() + + Возврат "Переход по кнопке командного интерфейса"; КонецФункции -// TODO Дубли кода с соседним тестом. нужно перенести в плагин - ОтобралиПоПодсистеме, НайтиПодсистему +&НаКлиенте +Функция КликПоПервойСтрокеТаблицыФормы() -&НаСервереБезКонтекста -Функция ОтобралиПоПодсистеме(Знач ОписаниеМетаданного, Знач ИмяПодсистемы) - - МетаОбъект = Метаданные.НайтиПоПолномуИмени(ОписаниеМетаданного.ПолноеИмя); - Если МетаОбъект = Неопределено Тогда - ВызватьИсключение "Неизвестное метаданное " + ОписаниеМетаданного.ПолноеИмя; - КонецЕсли; + Возврат "Клик по первой строке таблицы формы"; - Подсистема = НайтиПодсистему(ИмяПодсистемы); - Если Подсистема = Неопределено Тогда - ВызватьИсключение "Не нашли подсистему по пути " + ИмяПодсистемы; - КонецЕсли; - - Возврат Подсистема.Состав.Содержит(МетаОбъект); +КонецФункции + +&НаКлиенте +Функция КликПоПоследнейСтрокеТаблицыФормы() + + Возврат "Клик по последней строке таблицы формы"; КонецФункции -&НаСервереБезКонтекста -Функция НайтиПодсистему(Знач ИмяПодсистемы) +&НаКлиенте +Функция ТаблицаФормыДоступна(ТаблицаФормы) + Возврат ТаблицаФормы.ТекущаяДоступность() И ТаблицаФормы.ТекущаяВидимость() И Не ТаблицаФормы.ТекущееТолькоПросмотр(); +КонецФункции - Результат = Неопределено; +&НаКлиенте +Процедура РазвернутьВетвьДерева(ТаблицаФормы) - Сегменты = СтрРазделить(ИмяПодсистемы, "."); - ТекущаяПодсистема = Метаданные; - Для Уровень = 0 По Сегменты.ВГраница() Цикл + ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); + + Пока ТаблицаФормы.ВозможноРазвернуть() Цикл - Сегмент = Сегменты[Уровень]; + Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда + ТаблицаФормы.Развернуть(ТекущаяСтрока); + Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда + Прервать; + КонецЕсли; + КонецЕсли; - Результат = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); - Если Результат = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; + ТаблицаФормы.ПерейтиКПоследнейСтроке(Истина); + Если ТаблицаФормы.ПолучитьВыделенныеСтроки().Количество() <= 1 Тогда + ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх); + Прервать; + КонецЕсли; + + Если ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх) Тогда + ТаблицаФормы.ПерейтиНаУровеньВниз(); + КонецЕсли; + + мТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); + Если СтрокиТаблицыРавны(ТекущаяСтрока, мТекущаяСтрока) Тогда + Прервать; + Иначе + ТекущаяСтрока = мТекущаяСтрока; + КонецЕсли; - ТекущаяПодсистема = Результат; КонецЦикла; - - Возврат Результат; - -КонецФункции + +КонецПроцедуры &НаКлиенте -Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) +Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) - Если ФильтрПоИмени.ФильтроватьПоИзбранным Тогда - ФильтрМетаданных = ЗначениеИзСтруктуры(ФильтрПоИмени.НастройкиОтбораПоИзбранным, ИмяКорня, Новый Массив); - Возврат НайтиИмяВКоллекции(Имя, ФильтрМетаданных, КонтекстЯдра); - КонецЕсли; - - Если ИсключитьИзПроверки(Имя, КоллекцияДляИсключения) Тогда - Возврат Ложь; + ВыделенныеСтроки = ТаблицаФормы.ПолучитьВыделенныеСтроки(); + + Если ВыделенныеСтроки.Количество() Тогда + ТекущаяСтрокаТаблицы = ВыделенныеСтроки[0]; + Иначе + ТекущаяСтрокаТаблицы = Новый Соответствие; КонецЕсли; - Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас - + Возврат ТекущаяСтрокаТаблицы; + КонецФункции &НаКлиенте -Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) +Функция СтрокиТаблицыРавны(Строка1, Строка2) - Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Если ТипЗнч(Строка1) <> Тип("Соответствие") Или ТипЗнч(Строка2) <> Тип("Соответствие") Тогда Возврат Ложь; КонецЕсли; - Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + Если Строка1.Количество() <> Строка2.Количество() Тогда + Возврат Ложь; + КонецЕсли; + + Для Каждого КлючЗначение Из Строка1 Цикл + Если КлючЗначение.Значение <> Строка2[КлючЗначение.Ключ] Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; КонецФункции &НаКлиенте -Процедура ДобавитьИсключения(Знач ИсключаемыеОперации, ИмяНастройки, ПрефиксШаблона) - - Если Не ЕстьНастройка(ИмяНастройки) Тогда - Возврат; - КонецЕсли; +Функция ПодключитьТестКлиент() - Если ВидМетаданныхИсключенИзТестирования(ИмяНастройки) Тогда + Перем ИнфоОшибки; + + Результат = Неопределено; + + Попытка + Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); + Исключение + ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); + Сообщить(ИнфоОшибки); // TODO скрывается исключение + КонецПопытки; + + Возврат Результат; - ИсключаемыеОперации.Добавить(ПрефиксШаблона); - - ИначеЕсли ТипЗнч(Объект.Настройки[ИмяНастройки]) <> Тип("Булево") Тогда +КонецФункции - Для Каждого ПараметрНастройки Из Объект.Настройки[ИмяНастройки] Цикл - ИсключаемыеОперации.Добавить(ПрефиксШаблона + ПараметрНастройки); - - Если СтрНайти(ПараметрНастройки, "*") Тогда - ИсключаемыеОперации.Добавить(ПараметрНастройки); - КонецЕсли; - КонецЦикла; +#КонецОбласти - КонецЕсли; -КонецПроцедуры +#КонецОбласти -&НаКлиенте -Функция ИсключитьИзПроверки(ОписаниеНавигационнаяСсылка, ИсключаемыеОперации) +#КонецОбласти - Для Каждого ШаблонИсключения Из ИсключаемыеОперации Цикл - Если Найти(ОписаниеНавигационнаяСсылка, ШаблонИсключения) <> 0 Тогда - Возврат Истина; - КонецЕсли; - КонецЦикла; +#Область СлужебныеПроцедурыИФункции - Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ОписаниеНавигационнаяСсылка, ИсключаемыеОперации); +#Область Настройки +// Функция - Ключ настройки +// +// Возвращаемое значение: +// Строка - CommandInterface +// +&НаКлиенте +Функция КлючНастройки() + Возврат "CommandInterface"; КонецФункции &НаКлиенте -Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) +Процедура ЗагрузитьНастройки() - Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); + ПутьНастройки = КлючНастройки(); -КонецФункции + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; -#КонецОбласти + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); -#Область ФормированиеСпискаТестовыхСлучаев + НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); -&НаКлиенте -Процедура ДобавитьТестыИзКомандногоИнтерфейса(Знач НаборТестов, ТестКлиент) - - ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); - - ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); - - ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); - Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл - - СписокДляСортировки = Новый СписокЗначений; - Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл - Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда - СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); - КонецЕсли; - - КонецЦикла; - СписокДляСортировки.СортироватьПоПредставлению(); - - Если СписокДляСортировки.Количество() Тогда - НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"), ГруппаТестов.ИмяГруппы)); - КонецЕсли; - - Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл - - КлючЗначение = ЭлементСпискаЗначений.Значение; - Описание = КлючЗначение.Значение; - ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; - - НаборТестов.Добавить( - Описание.ИмяТеста, - НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), - КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); - - КонецЦикла; - - КонецЦикла; + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда + Объект.Настройки = Новый Структура; + КонецЕсли; -КонецПроцедуры + НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); -&НаКлиенте -Функция ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени) + ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Объект.Настройки, НаборНастроекПоУмолчанию); - Результат = Новый Массив; - - Попытка - КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); - Исключение - ВызватьИсключение "Не удалось получить командный интерфейс. - |Возможно, сеанс тест-клиента заблокирован модальным окном"; - КонецПопытки; - - ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), - НСтр("ru = 'Панель разделов'; en = 'Section panel'")); - Если ПанельРазделов = Неопределено Тогда - ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), "Section panel"); + Если ЕстьНастройка("СтрогийПорядокВыполнения", Объект.Настройки) Тогда + Объект.СтрогийПорядокВыполнения = Объект.Настройки.СтрогийПорядокВыполнения; КонецЕсли; - Если ТипЗнч(ПанельРазделов) = Тип("ТестируемаяГруппаКомандногоИнтерфейса") Тогда - КнопкиРазделов = ПанельРазделов.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")); - Для Каждого ТекКнопкаРаздел Из КнопкиРазделов Цикл - ТекстЗаголовка = ТекКнопкаРаздел.ТекстЗаголовка; - - Если Не ВключитьРаздел(ТекстЗаголовка, ФильтрПоИмени) Тогда - Продолжить; - КонецЕсли; + Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда + Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); + КонецЕсли; - СтруктураГруппы = Новый Структура; - СтруктураГруппы.Вставить("ИмяГруппы", ТекстЗаголовка); - СтруктураГруппы.Вставить("Тесты", Новый Соответствие); - - Результат.Добавить(СтруктураГруппы); - - ТекКнопкаРаздел.Нажать(); - - ДобавитьОписаниеТеста(СтруктураГруппы.Тесты, КомандныйИнтерфейс); - - ТекКнопкаРаздел.Нажать(); - КонецЦикла; +КонецПроцедуры - Если КнопкиРазделов.Количество() > 1 Тогда - КнопкиРазделов[0].Нажать(); - КнопкиРазделов[0].Нажать(); - КонецЕсли; +&НаКлиенте +Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) + + Если СтруктураНастроек = Неопределено Тогда + СтруктураНастроек = Объект.Настройки; КонецЕсли; - Возврат Результат; + Возврат КонтекстЯдра.Плагин("Настройки").ЕстьНастройка(ПутьНастроек, СтруктураНастроек); КонецФункции -&НаКлиенте -Процедура ДобавитьОписаниеТеста(КоллекцияОписанийТестов, КомандныйИнтерфейс) - - Разделы = Новый Массив; - Разделы.Добавить(КомандныйИнтерфейс); - Для Каждого Раздел Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяГруппаКомандногоИнтерфейса")) Цикл - Если ЭтоСлужебныйРаздел(Раздел) Тогда - Продолжить; - КонецЕсли; - Разделы.Добавить(Раздел); - КонецЦикла; - - Для Каждого ТекРаздел Из Разделы Цикл +&НаСервере +Функция СоздатьНаборНастроекПоУмолчанию() - Для Каждого ТекКнопка Из ТекРаздел.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл + Рез = Новый Структура; - Если Найти(ТекКнопка.НавигационнаяСсылка, "e1cib/command/Подсистема.") > 0 - Или Не ЗначениеЗаполнено(ТекКнопка.НавигационнаяСсылка) - Или ЭтоСлужебныйРазделВерсия82(ТекКнопка) Тогда - Продолжить; - КонецЕсли; + Рез.Вставить("СтрогийПорядокВыполнения", Истина); + Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); + Рез.Вставить("ОтборПоПрефиксу", Ложь); + Рез.Вставить("Префикс", ""); + Рез.Вставить("Подсистема", ""); - ПредставлениеТеста = КонтекстЯдра.СтрШаблон_("%1->%2", ТекРаздел.ТекстЗаголовка, ТекКнопка.ТекстЗаголовка); + Возврат Новый ФиксированнаяСтруктура(Рез); - ДобавляемоеОписание = Новый Структура; - ДобавляемоеОписание.Вставить("ПредставлениеТеста", ПредставлениеТеста); - ДобавляемоеОписание.Вставить("НавигационнаяСсылка", ТекКнопка.НавигационнаяСсылка); - ДобавляемоеОписание.Вставить("ИмяТеста", ИмяТеста(ТекКнопка.НавигационнаяСсылка)); - КоллекцияОписанийТестов.Вставить(ТекКнопка.НавигационнаяСсылка, ДобавляемоеОписание); +КонецФункции - КонецЦикла; +&НаКлиенте +Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) + Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл + Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда + Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте -Функция ИмяТеста(ПараметрНавигационнаяСсылка) - - ПропускаемыеНавигационныеСсылки = Новый Массив; - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаAppStore"); - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаGooglePlay"); - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаПродуктаНаСайте1С"); - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаЧтоНовогоВВерсииВидео"); - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/Обработка.Ценообразование.Команда.Ценообразование"); - ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.Налоги_РегламентированнаяОтчетность"); +Функция НужноВыполнятьТест() + + ЗначениеПоУмолчанию = Истина; + + ЗагрузитьНастройки(); + + Настройки = ОБъект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ЗначениеПоУмолчанию; + КонецЕсли; + + КлючНастройки = КлючНастройки(); + + ВыполнятьТест = Неопределено; + Если ТипЗнч(Настройки) = Тип("Структура") + И Настройки.Свойство("Используется", ВыполнятьТест) Тогда - Если ПропускаемыеНавигационныеСсылки.Найти(ПараметрНавигационнаяСсылка) = Неопределено Тогда - Возврат "ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса"; - Иначе - Возврат "ТестДолжен_ПропуститьВыполнение"; + Возврат ВыполнятьТест = Истина; КонецЕсли; + + Возврат ЗначениеПоУмолчанию; КонецФункции -&НаКлиенте -Функция ЭтоСлужебныйРаздел(ГруппаКомандногоИнтерфейса) - - ЗаголовкиСлужебныхРазделов = Новый Соответствие; - - // Такси - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель разделов'")) , Истина); - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель инструментов'")) , Истина); - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель открытых'")) , Истина); - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Меню функций'")) , Истина); - - Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; +#КонецОбласти -КонецФункции +#Область Исключения &НаКлиенте -Функция ЭтоСлужебныйРазделВерсия82(ГруппаКомандногоИнтерфейса) - - ЗаголовкиСлужебныхРазделов = Новый Соответствие; - - // Версия 8.2 - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Отчеты'")) , Истина); - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Сервис'")) , Истина); - ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель действий'")), Истина); - - Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; - +Функция ПодготовитьФильтрыПоИмени() + + Результат = НовыйФильтрПоИмени(); + + ИсключаемыеОперации = Новый Массив; + ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеКоманды", "ОбщаяКоманда."); + ДобавитьИсключения(ИсключаемыеОперации, "ОбщиеФормы", "ОбщаяФорма."); + ДобавитьИсключения(ИсключаемыеОперации, "Справочники", "Справочник."); + ДобавитьИсключения(ИсключаемыеОперации, "Документы", "Документ."); + ДобавитьИсключения(ИсключаемыеОперации, "Отчеты", "Отчет."); + ДобавитьИсключения(ИсключаемыеОперации, "Обработки", "Обработка."); + ДобавитьИсключения(ИсключаемыеОперации, "БизнесПроцессы", "БизнесПроцесс."); + ДобавитьИсключения(ИсключаемыеОперации, "ВнешниеИсточникиДанных", "ВнешнийИсточникДанных."); + + ИсключаемыеРазделы = Новый Массив; + ДобавитьИсключения(ИсключаемыеРазделы, "Разделы", ""); + + НастройкиТеста = Объект.Настройки; + + СтруктураПроверятьТолькоИзбранные = ЗначениеИзСтруктуры(НастройкиТеста, "ПроверятьТолькоИзбранные", Новый Структура); + ФильтроватьПоИзбранным = ЗначениеЗаполнено(СтруктураПроверятьТолькоИзбранные); + + ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(НастройкиТеста, "ОтборПоПрефиксу", Ложь); + Префикс = ЗначениеИзСтруктуры(НастройкиТеста, "Префикс", ""); + + ИмяПодсистемы = ЗначениеИзСтруктуры(НастройкиТеста, "Подсистема", ""); + ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); + + Результат.Вставить("ФильтроватьПоИзбранным", ФильтроватьПоИзбранным); + Результат.Вставить("ИсключаемыеОперации", ИсключаемыеОперации); + Результат.Вставить("ИсключаемыеРазделы", ИсключаемыеРазделы); + Результат.Вставить("НастройкиОтбораПоИзбранным", СтруктураПроверятьТолькоИзбранные); + Результат.Вставить("ВключенОтборПоПрефиксу", ВключенОтборПоПрефиксу); + Результат.Вставить("Префикс", Префикс); + Результат.Вставить("ИмяПодсистемы", ИмяПодсистемы); + Результат.Вставить("ВключенОтборПоПодсистеме", ВключенОтборПоПодсистеме); + + Возврат Результат; КонецФункции -#КонецОбласти +&НаКлиенте +Функция НовыйФильтрПоИмени() -#Область Тесты + Результат = Новый Структура; + Результат.Вставить("ВидыМетаданных", ВидыМетаданных()); + Результат.Вставить("ФильтроватьПоИзбранным", Ложь); + Результат.Вставить("ИсключаемыеОперации", Новый Массив); + Результат.Вставить("ИсключаемыеРазделы", Новый Массив); + Результат.Вставить("НастройкиОтбораПоИзбранным", Новый Структура); + Результат.Вставить("ВключенОтборПоПрефиксу", Ложь); + Результат.Вставить("Префикс", ""); + Результат.Вставить("ИмяПодсистемы", ""); + Результат.Вставить("ВключенОтборПоПодсистеме", Ложь); + + Возврат Результат; + +КонецФункции &НаКлиенте -Процедура ПередЗапускомТеста() Экспорт +Функция ВидыМетаданных() + + Результат = Новый Структура; + + Результат.Вставить("ОбщаяКоманда", "ОбщиеКоманды"); + Результат.Вставить("ОбщаяФорма", "ОбщиеФормы"); + Результат.Вставить("Справочник", "Справочники"); + Результат.Вставить("Документ", "Документы"); + Результат.Вставить("Отчет", "Отчеты"); + Результат.Вставить("Обработка", "Обработки"); + Результат.Вставить("БизнесПроцесс", "БизнесПроцессы"); + Результат.Вставить("ВнешнийИсточникДанных", "ВнешниеИсточникиДанных"); + + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции - ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда - ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); +&НаКлиенте +Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) + + Результат = Неопределено; + + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда + Результат = ЗначениеПоУмолчанию; КонецЕсли; + + Возврат Результат; + +КонецФункции - ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); +&НаКлиенте +Функция ВключитьРаздел(Знач Имя, Знач ФильтрПоИмени) + + Возврат ВключитьПоИмени("Разделы", Имя, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеРазделы); -КонецПроцедуры +КонецФункции -//&НаКлиенте -//Процедура ПослеЗапускаТеста() Экспорт -//КонецПроцедуры +&НаКлиенте +Функция ВключитьПоНавигационнойСсылке(Знач Имя, Знач ФильтрПоИмени) + + Результат = Не ФильтрПоИмени.ФильтроватьПоИзбранным; + + // формат e1cib/command/Справочник.СправочникИерархияЭлементов.ОткрытьСписок + СегментыПути = СтрРазделить(Имя, "/"); + + КоличествоПравильныхСегментов = 3; + ТакуюСсылкуПропускаем = СегментыПути.Количество() < КоличествоПравильныхСегментов + Или СегментыПути[0] <> "e1cib" Или СегментыПути[1] <> "command"; + + Если ТакуюСсылкуПропускаем Тогда + Возврат Результат; + КонецЕсли; + + ПолноеИмяМетаданного = СегментыПути[КоличествоПравильныхСегментов - 1]; + Сегменты = СтрРазделить(ПолноеИмяМетаданного, "."); + + ИмяВида = Сегменты[0]; + ИмяМетаданного = Сегменты[1]; + ПолноеИмяМетаданного = ИмяВида + "." + ИмяМетаданного; + + КлючВида = ЗначениеИзСтруктуры(ФильтрПоИмени.ВидыМетаданных, ИмяВида, Неопределено); + Если Не ЗначениеЗаполнено(КлючВида) Тогда + Возврат Результат; + КонецЕсли; + + ОписаниеМетаданного = Новый Структура; + ОписаниеМетаданного.Вставить("ПолноеИмя", ПолноеИмяМетаданного); + ОписаниеМетаданного.Вставить("КлючВида", КлючВида); + ОписаниеМетаданного.Вставить("ИмяВида", ИмяВида); + ОписаниеМетаданного.Вставить("Имя", ИмяМетаданного); + + Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного); + Если ЗначениеЗаполнено(Отобрали) Тогда + Возврат Отобрали; + КонецЕсли; + + Возврат ВключитьПоИмени(КлючВида, ПолноеИмяМетаданного, ФильтрПоИмени, ФильтрПоИмени.ИсключаемыеОперации); + +КонецФункции &НаКлиенте -Процедура ТестДолжен_ПропуститьВыполнение(ПараметрНавигационнаяСсылка) Экспорт +Функция ОтобралиПоПрефиксуИлиПодсистеме(ФильтрПоИмени, ИмяМетаданного, ОписаниеМетаданного) - КонтекстЯдра.ПропуститьТест(); + ВключенОтборПоПрефиксу = ФильтрПоИмени.ВключенОтборПоПрефиксу; + + ИмяПодсистемы = ФильтрПоИмени.ИмяПодсистемы; + ВключенОтборПоПодсистеме = ФильтрПоИмени.ВключенОтборПоПодсистеме; + + Если ВключенОтборПоПрефиксу Тогда + + Если ОтобралиПоПрефиксу(ФильтрПоИмени.Префикс, ИмяМетаданного) Тогда + Возврат Истина; + КонецЕсли; + + Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); -КонецПроцедуры + КонецЕсли; + + Если ВключенОтборПоПодсистеме Тогда + Возврат ОтобралиПоПодсистеме(ОписаниеМетаданного, ИмяПодсистемы); + КонецЕсли; -&НаКлиенте -Процедура ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса(ПараметрНавигационнаяСсылка) Экспорт + Возврат Неопределено; + +КонецФункции - ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); +&НаКлиенте +Функция ОтобралиПоПрефиксу(Знач ПрефиксДляОтбора, Знач ИмяМетаданного) + + Возврат СтрНайти(ИмяМетаданного, ПрефиксДляОтбора) = 1; - ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); +КонецФункции - Попытка - ОсновноеОкно.ВыполнитьКоманду(ПараметрНавигационнаяСсылка); - Исключение - ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. - |Возможно, сеанс тест-клиента заблокирован модальным окном", ПараметрНавигационнаяСсылка); - КонецПопытки; +// TODO Дубли кода с соседним тестом. нужно перенести в плагин - ОтобралиПоПодсистеме, НайтиПодсистему - ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); +&НаСервереБезКонтекста +Функция ОтобралиПоПодсистеме(Знач ОписаниеМетаданного, Знач ИмяПодсистемы) + + МетаОбъект = Метаданные.НайтиПоПолномуИмени(ОписаниеМетаданного.ПолноеИмя); + Если МетаОбъект = Неопределено Тогда + ВызватьИсключение "Неизвестное метаданное " + ОписаниеМетаданного.ПолноеИмя; + КонецЕсли; - ОписанияШаговСценария = Новый Массив; - ОписанияШаговСценария.Добавить(КликПоПервойСтрокеТаблицыФормы()); - ОписанияШаговСценария.Добавить(КликПоПоследнейСтрокеТаблицыФормы()); + Подсистема = НайтиПодсистему(ИмяПодсистемы); + Если Подсистема = Неопределено Тогда + ВызватьИсключение "Не нашли подсистему по пути " + ИмяПодсистемы; + КонецЕсли; + + Возврат Подсистема.Состав.Содержит(МетаОбъект); - Для Каждого ШагСценария Из ОписанияШаговСценария Цикл - ОкноСТаблицейФормы = ТестКлиент.ПолучитьАктивноеОкно(); - Если ОкноСТаблицейФормы.НачальнаяСтраница Или ОкноСТаблицейФормы.Основное Тогда - Продолжить; - КонецЕсли; - Обработали = ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент); - Если Обработали Тогда - ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); - КонецЕсли; - КонецЦикла; +КонецФункции - ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); +&НаСервереБезКонтекста +Функция НайтиПодсистему(Знач ИмяПодсистемы) - ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); + Результат = Неопределено; + + Сегменты = СтрРазделить(ИмяПодсистемы, "."); + ТекущаяПодсистема = Метаданные; + Для Уровень = 0 По Сегменты.ВГраница() Цикл + + Сегмент = Сегменты[Уровень]; + + Результат = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); + Если Результат = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + ТекущаяПодсистема = Результат; + КонецЦикла; -КонецПроцедуры + Возврат Результат; -#Область ТестыЧерезКлиентТестирования +КонецФункции &НаКлиенте -Функция ВыполнитьШагПроверкиТаблицыФормы(ОкноСТаблицейФормы, ШагСценария, ТестКлиент) +Функция ВключитьПоИмени(Знач ИмяКорня, Знач Имя, Знач ФильтрПоИмени, Знач КоллекцияДляИсключения) + + Если ФильтрПоИмени.ФильтроватьПоИзбранным Тогда + ФильтрМетаданных = ЗначениеИзСтруктуры(ФильтрПоИмени.НастройкиОтбораПоИзбранным, ИмяКорня, Новый Массив); + Возврат НайтиИмяВКоллекции(Имя, ФильтрМетаданных, КонтекстЯдра); + КонецЕсли; - Результат = Ложь; - ТекстИсключенияДляГруппировки = НСтр("ru = 'Действие недоступно для строки группировки списка!'"); + Если ИсключитьИзПроверки(Имя, КоллекцияДляИсключения) Тогда + Возврат Ложь; + КонецЕсли; + + Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас - ТаблицыФормы = ОкноСТаблицейФормы.НайтиОбъекты(Тип("ТестируемаяТаблицаФормы")); +КонецФункции + +&НаКлиенте +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) - Если ТаблицыФормы = Неопределено Тогда - Возврат Результат; + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда + Возврат Ложь; КонецЕсли; - Для Каждого ТаблицаФормы Из ТаблицыФормы Цикл + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); + +КонецФункции - ТаблицаФормы.Активизировать(); +&НаКлиенте +Процедура ДобавитьИсключения(Знач ИсключаемыеОперации, ИмяНастройки, ПрефиксШаблона) - Если Не ТаблицаФормыДоступна(ТаблицаФормы) Тогда - Продолжить; - КонецЕсли; + Если Не ЕстьНастройка(ИмяНастройки) Тогда + Возврат; + КонецЕсли; + + Если ВидМетаданныхИсключенИзТестирования(ИмяНастройки) Тогда - ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент); + ИсключаемыеОперации.Добавить(ПрефиксШаблона); + + ИначеЕсли ТипЗнч(Объект.Настройки[ИмяНастройки]) <> Тип("Булево") Тогда - Если Не ЗначениеЗаполнено(ТаблицаФормы.ПолучитьВыделенныеСтроки()) Тогда - Результат = Истина; - Иначе + Для Каждого ПараметрНастройки Из Объект.Настройки[ИмяНастройки] Цикл + ИсключаемыеОперации.Добавить(ПрефиксШаблона + ПараметрНастройки); + + Если СтрНайти(ПараметрНастройки, "*") Тогда + ИсключаемыеОперации.Добавить(ПараметрНастройки); + КонецЕсли; + КонецЦикла; - РазвернутьВетвьДерева(ТаблицаФормы); + КонецЕсли; +КонецПроцедуры - ТаблицаФормы.Выбрать(); +&НаКлиенте +Функция ИсключитьИзПроверки(ОписаниеНавигационнаяСсылка, ИсключаемыеОперации) + Для Каждого ШаблонИсключения Из ИсключаемыеОперации Цикл + Если Найти(ОписаниеНавигационнаяСсылка, ШаблонИсключения) <> 0 Тогда + Возврат Истина; КонецЕсли; + КонецЦикла; - Пока ПлагинТестКлиенты.ПоявилосьОкноПредупрежденияСТекстом(ТестКлиент, ТекстИсключенияДляГруппировки) Цикл + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ОписаниеНавигационнаяСсылка, ИсключаемыеОперации); - ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); - ТекущееОкно.Закрыть(); +КонецФункции - Если ТаблицаФормы.ВозможноРазвернуть() Тогда - Если Не ТаблицаФормы.Развернут() Тогда - ТаблицаФормы.Развернуть(); - КонецЕсли; - ТаблицаФормы.ПерейтиНаУровеньВниз(); - КонецЕсли; +&НаКлиенте +Функция ВидМетаданныхИсключенИзТестирования(ВидМетаданных) + + Возврат (ТипЗнч(Объект.Настройки[ВидМетаданных]) = Тип("Булево") И НЕ Объект.Настройки[ВидМетаданных]); - ТаблицаФормы.Выбрать(); +КонецФункции - КонецЦикла; +#КонецОбласти - ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ШагСценария, Ложь); +#Область ФормированиеСпискаТестовыхСлучаев - ТекущееОкно = ТестКлиент.ПолучитьАктивноеОкно(); - Если ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) Тогда - Если ТаблицаФормы.ТекущийРежимРедактирование() Тогда - ТаблицаФормы.ЗакончитьРедактированиеСтроки(); +&НаКлиенте +Процедура ДобавитьТестыИзКомандногоИнтерфейса(Знач НаборТестов, ТестКлиент) + + ОсновноеОкно = ПлагинТестКлиенты.ОсновноеОкно(ТестКлиент); + + ФильтрПоИмени = ПодготовитьФильтрыПоИмени(); + + ОписаниеДобавляемыхТестов = ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени); + Для Каждого ГруппаТестов Из ОписаниеДобавляемыхТестов Цикл + + СписокДляСортировки = Новый СписокЗначений; + Для Каждого КлючЗначение Из ГруппаТестов.Тесты Цикл + Если ВключитьПоНавигационнойСсылке(КлючЗначение.Ключ, ФильтрПоИмени) Тогда + СписокДляСортировки.Добавить(КлючЗначение, КлючЗначение.Значение.ПредставлениеТеста); КонецЕсли; - Результат = Истина; - Иначе - НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент); - КонецЕсли; + + КонецЦикла; + СписокДляСортировки.СортироватьПоПредставлению(); - Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда - ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент); + Если СписокДляСортировки.Количество() Тогда + НаборТестов.НачатьГруппу(КонтекстЯдра.СтрШаблон_(НСтр("ru = 'Раздел: %1'"), ГруппаТестов.ИмяГруппы)); КонецЕсли; - Если ОкноСТаблицейФормы <> ТекущееОкно Тогда - ТекущееОкно.Закрыть(); - КонецЕсли; + Для Каждого ЭлементСпискаЗначений Из СписокДляСортировки Цикл + + КлючЗначение = ЭлементСпискаЗначений.Значение; + Описание = КлючЗначение.Значение; + ОписаниеНавигационнаяСсылка = Описание.НавигационнаяСсылка; + + НаборТестов.Добавить( + Описание.ИмяТеста, + НаборТестов.ПараметрыТеста(ОписаниеНавигационнаяСсылка), + КонтекстЯдра.СтрШаблон_(НСтр("ru = '%1: проверка элемента командного интерфейса'"), Описание.ПредставлениеТеста)); + + КонецЦикла; КонецЦикла; - Возврат Результат; - -КонецФункции +КонецПроцедуры &НаКлиенте -Процедура ПерейтиКЗаданнойСтрокеТаблицыФормы(ШагСценария, ТаблицаФормы, ТестКлиент) - - Если ШагСценария = КликПоПервойСтрокеТаблицыФормы() Тогда - - ТаблицаФормы.ПерейтиКПервойСтроке(); - - ИначеЕсли ШагСценария = КликПоПоследнейСтрокеТаблицыФормы() Тогда +Функция ОписаниеДобавляемыхТестов(ТестКлиент, ОсновноеОкно, ФильтрПоИмени) - ТаблицаФормы.ПерейтиКПоследнейСтроке(); + Результат = Новый Массив; + + Попытка + КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); + Исключение + ВызватьИсключение "Не удалось получить командный интерфейс. + |Возможно, сеанс тест-клиента заблокирован модальным окном"; + КонецПопытки; + + ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), + НСтр("ru = 'Панель разделов'; en = 'Section panel'")); + Если ПанельРазделов = Неопределено Тогда + ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), "Section panel"); + КонецЕсли; - Иначе + Если ТипЗнч(ПанельРазделов) = Тип("ТестируемаяГруппаКомандногоИнтерфейса") Тогда + КнопкиРазделов = ПанельРазделов.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")); + Для Каждого ТекКнопкаРаздел Из КнопкиРазделов Цикл + ТекстЗаголовка = ТекКнопкаРаздел.ТекстЗаголовка; + + Если Не ВключитьРаздел(ТекстЗаголовка, ФильтрПоИмени) Тогда + Продолжить; + КонецЕсли; - ВызватьИсключение КонтекстЯдра.СтрШаблон_("Поведение для шага ""%1"" не определено", ШагСценария); + СтруктураГруппы = Новый Структура; + СтруктураГруппы.Вставить("ИмяГруппы", ТекстЗаголовка); + СтруктураГруппы.Вставить("Тесты", Новый Соответствие); + + Результат.Добавить(СтруктураГруппы); + + ТекКнопкаРаздел.Нажать(); + + ДобавитьОписаниеТеста(СтруктураГруппы.Тесты, КомандныйИнтерфейс); + + ТекКнопкаРаздел.Нажать(); + КонецЦикла; + Если КнопкиРазделов.Количество() > 1 Тогда + КнопкиРазделов[0].Нажать(); + КнопкиРазделов[0].Нажать(); + КонецЕсли; КонецЕсли; -КонецПроцедуры - -&НаКлиенте -Функция ПриКликеВТаблицеФормыНовоеОкноНеОткрылось(ТекущееОкно, ОкноСТаблицейФормы) - - Возврат ТекущееОкно = ОкноСТаблицейФормы; + Возврат Результат; КонецФункции &НаКлиенте -Процедура ПроверитьМодифицированность(ШагСценария, ТекущееОкно, ТестКлиент, МоментПроверки) - - ТестируемаяФорма = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяФорма")); - ТекущаяМодифицированность = ТестируемаяФорма.ТекущаяМодифицированность(); - Если ТекущаяМодифицированность Тогда - ТекстИсключения = КонтекстЯдра.СтрШаблон_("%1 - %2 - %3 - %4: - |Ожидали, что форма не модифицирована сразу же после ее открытия или сразу же после записи, а это не так.", - ШагСценария, МоментПроверки, ТестируемаяФорма.ИмяФормы, ТестируемаяФорма.ТекстЗаголовка); - КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура НажатьКнопкуЗаписать(ШагСценария, ТекущееОкно, ТестКлиент) - - КнопкаЗаписать = ТекущееОкно.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Записать"); - Если КнопкаЗаписать = Неопределено Тогда - Возврат; - КонецЕсли; - - Если Не КнопкаЗаписать.ТекущаяВидимость() Или Не КнопкаЗаписать.ТекущаяДоступность() Тогда - Возврат; - КонецЕсли; +Процедура ДобавитьОписаниеТеста(КоллекцияОписанийТестов, КомандныйИнтерфейс) - // Платформа не позволяет заранее определить доступность кнопки. - // Поэтому нажимаем в попытке, а затем ловим исключение, если нажать кнопку не удалось. - Попытка - КнопкаЗаписать.Нажать(); - Исключение - ТекстИсключения = ОписаниеОшибки(); - Если Найти(ТекстИсключения, "Неподходящий тип элемента управления для вызванного действия") = 0 - // У формы установлен признак ТолькоПросмотр - И Найти(ТекстИсключения, "Невидимый пользователю элемент управления не может выполнять интерактивные действия") = 0 Тогда - КонтекстЯдра.ВызватьОшибкуПроверки(ТекстИсключения); + Разделы = Новый Массив; + Разделы.Добавить(КомандныйИнтерфейс); + Для Каждого Раздел Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяГруппаКомандногоИнтерфейса")) Цикл + Если ЭтоСлужебныйРаздел(Раздел) Тогда + Продолжить; КонецЕсли; - КонецПопытки; + Разделы.Добавить(Раздел); + КонецЦикла; - ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( - ТестКлиент, - КонтекстЯдра.СтрШаблон_("%1: Кнопка ""Записать""", ШагСценария), - Ложь); + Для Каждого ТекРаздел Из Разделы Цикл -КонецПроцедуры + Для Каждого ТекКнопка Из ТекРаздел.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл -&НаКлиенте -Процедура ПроверитьКомандныйИнтерфейсОкна(ТекущееОкно, ТестКлиент) + Если Найти(ТекКнопка.НавигационнаяСсылка, "e1cib/command/Подсистема.") > 0 + Или Не ЗначениеЗаполнено(ТекКнопка.НавигационнаяСсылка) + Или ЭтоСлужебныйРазделВерсия82(ТекКнопка) Тогда + Продолжить; + КонецЕсли; - КомандныйИнтерфейс = ТекущееОкно.ПолучитьКомандныйИнтерфейс(); - Для Каждого ТекКнопка Из КомандныйИнтерфейс.НайтиОбъекты(Тип("ТестируемаяКнопкаКомандногоИнтерфейса")) Цикл + ПредставлениеТеста = КонтекстЯдра.СтрШаблон_("%1->%2", ТекРаздел.ТекстЗаголовка, ТекКнопка.ТекстЗаголовка); - ТекКнопка.Нажать(); + ДобавляемоеОписание = Новый Структура; + ДобавляемоеОписание.Вставить("ПредставлениеТеста", ПредставлениеТеста); + ДобавляемоеОписание.Вставить("НавигационнаяСсылка", ТекКнопка.НавигационнаяСсылка); + ДобавляемоеОписание.Вставить("ИмяТеста", ИмяТеста(ТекКнопка.НавигационнаяСсылка)); + КоллекцияОписанийТестов.Вставить(ТекКнопка.НавигационнаяСсылка, ДобавляемоеОписание); - ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение( - ТестКлиент, - КонтекстЯдра.СтрШаблон_("Командный интерфейс формы: ""%1""", ТекКнопка.ТекстЗаголовка), - Ложь); + КонецЦикла; КонецЦикла; КонецПроцедуры &НаКлиенте -Функция ПереходПоКнопкеКомандногоИнтерфейса() - - Возврат "Переход по кнопке командного интерфейса"; - -КонецФункции +Функция ИмяТеста(ПараметрНавигационнаяСсылка) -&НаКлиенте -Функция КликПоПервойСтрокеТаблицыФормы() + ПропускаемыеНавигационныеСсылки = Новый Массив; + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаAppStore"); + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаМобильноеПриложениеНаGooglePlay"); + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаПродуктаНаСайте1С"); + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.СтраницаЧтоНовогоВВерсииВидео"); + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/Обработка.Ценообразование.Команда.Ценообразование"); + ПропускаемыеНавигационныеСсылки.Добавить("e1cib/command/ОбщаяКоманда.Налоги_РегламентированнаяОтчетность"); - Возврат "Клик по первой строке таблицы формы"; + Если ПропускаемыеНавигационныеСсылки.Найти(ПараметрНавигационнаяСсылка) = Неопределено Тогда + Возврат "ТестДолжен_ПерейтиПоКнопкеКомандногоИнтерфейса"; + Иначе + Возврат "ТестДолжен_ПропуститьВыполнение"; + КонецЕсли; КонецФункции &НаКлиенте -Функция КликПоПоследнейСтрокеТаблицыФормы() +Функция ЭтоСлужебныйРаздел(ГруппаКомандногоИнтерфейса) - Возврат "Клик по последней строке таблицы формы"; + ЗаголовкиСлужебныхРазделов = Новый Соответствие; -КонецФункции + // Такси + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель разделов'")) , Истина); + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель инструментов'")) , Истина); + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель открытых'")) , Истина); + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Меню функций'")) , Истина); + + Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; -&НаКлиенте -Функция ТаблицаФормыДоступна(ТаблицаФормы) - Возврат ТаблицаФормы.ТекущаяДоступность() И ТаблицаФормы.ТекущаяВидимость() И Не ТаблицаФормы.ТекущееТолькоПросмотр(); КонецФункции &НаКлиенте -Процедура РазвернутьВетвьДерева(ТаблицаФормы) - - ТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); - - Пока ТаблицаФормы.ВозможноРазвернуть() Цикл - - Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда - ТаблицаФормы.Развернуть(ТекущаяСтрока); - Если Не ТаблицаФормы.Развернут(ТекущаяСтрока) Тогда - Прервать; - КонецЕсли; - КонецЕсли; - - ТаблицаФормы.ПерейтиКПоследнейСтроке(Истина); - Если ТаблицаФормы.ПолучитьВыделенныеСтроки().Количество() <= 1 Тогда - ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх); - Прервать; - КонецЕсли; - - Если ТаблицаФормы.ПерейтиКСтроке(ТекущаяСтрока, НаправлениеПереходаКСтроке.Вверх) Тогда - ТаблицаФормы.ПерейтиНаУровеньВниз(); - КонецЕсли; - - мТекущаяСтрока = ТекущаяСтрокаТаблицы(ТаблицаФормы); - Если СтрокиТаблицыРавны(ТекущаяСтрока, мТекущаяСтрока) Тогда - Прервать; - Иначе - ТекущаяСтрока = мТекущаяСтрока; - КонецЕсли; - - КонецЦикла; - -КонецПроцедуры +Функция ЭтоСлужебныйРазделВерсия82(ГруппаКомандногоИнтерфейса) -&НаКлиенте -Функция ТекущаяСтрокаТаблицы(ТаблицаФормы) - - ВыделенныеСтроки = ТаблицаФормы.ПолучитьВыделенныеСтроки(); - - Если ВыделенныеСтроки.Количество() Тогда - ТекущаяСтрокаТаблицы = ВыделенныеСтроки[0]; - Иначе - ТекущаяСтрокаТаблицы = Новый Соответствие; - КонецЕсли; - - Возврат ТекущаяСтрокаТаблицы; - -КонецФункции + ЗаголовкиСлужебныхРазделов = Новый Соответствие; -&НаКлиенте -Функция СтрокиТаблицыРавны(Строка1, Строка2) - - Если ТипЗнч(Строка1) <> Тип("Соответствие") Или ТипЗнч(Строка2) <> Тип("Соответствие") Тогда - Возврат Ложь; - КонецЕсли; - - Если Строка1.Количество() <> Строка2.Количество() Тогда - Возврат Ложь; - КонецЕсли; - - Для Каждого КлючЗначение Из Строка1 Цикл - Если КлючЗначение.Значение <> Строка2[КлючЗначение.Ключ] Тогда - Возврат Ложь; - КонецЕсли; - КонецЦикла; - - Возврат Истина; - -КонецФункции + // Версия 8.2 + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Отчеты'")) , Истина); + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Сервис'")) , Истина); + ЗаголовкиСлужебныхРазделов.Вставить(НРег(НСтр("ru = 'Панель действий'")), Истина); -&НаКлиенте -Функция ПодключитьТестКлиент() - - Перем ИнфоОшибки; - - Результат = Неопределено; - - Попытка - Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - Исключение - ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Сообщить(ИнфоОшибки); // TODO скрывается исключение - КонецПопытки; - - Возврат Результат; + Возврат ЗаголовкиСлужебныхРазделов.Получить(НРег(ГруппаКомандногоИнтерфейса.ТекстЗаголовка)) = Истина; КонецФункции #КонецОбласти #КонецОбласти - -#КонецОбласти diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d149a7956..1fc2409be 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -19,16 +19,6 @@ #Область ИнтерфейсТестирования -// Функция - Ключ настройки -// -// Возвращаемое значение: -// Строка - smoke -// -&НаКлиенте -Функция КлючНастройки() Экспорт - Возврат "smoke"; -КонецФункции - // Процедура - Инициализация // // Параметры: @@ -183,6 +173,174 @@ #КонецОбласти +#Область СлужебныйПрограммныйИнтерфейс + +#Область Тесты + +// TODO перенести область Тесты в СлужебныйПрограммныйИнтерфейс + +&НаКлиенте +Процедура ПередЗапускомТеста() Экспорт + + СоздаваемыйЭлемент = Неопределено; + + ОбновитьПовторноИспользуемыеЗначения(); + + НужноИсключениеЕслиНеНайденоДокументов = Ложь; + + СоздатьИменаОсновныхФорм(); + + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); + Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда + ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаТеста() Экспорт + + ЗакрытьФорму(); + + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); + +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт + КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт + ТестироватьФорму(ПолноеИмяФормы, Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт + СуществующийЭлемент = ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя); + Если ЗначениеЗаполнено(СуществующийЭлемент) Тогда + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СуществующийЭлемент); + Иначе + СоздаваемыйЭлемент = СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя); + Если ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СоздаваемыйЭлемент); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя) + ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); + + ОсновнойОбъект = Объект(); + Возврат ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий"); + +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт + Док = ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя); + Если Док <> Неопределено Тогда + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя) + ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); + + ОсновнойОбъект = Объект(); + Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, + "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); + Возврат Док; +КонецФункции + +&НаСервере +Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя) + ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); + + ОсновнойОбъект = Объект(); + + Отбор = Новый Структура; + МетаданныеОбъекта = Метаданные.Справочники[ИД]; + Если МетаданныеОбъекта.Иерархический + И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда + Отбор.Вставить("ЭтоГруппа", "Ложь"); + Если МетаданныеОбъекта.ОсновнаяФормаГруппы <> Неопределено + И Найти(Мета_ПолноеИмя, МетаданныеОбъекта.ОсновнаяФормаГруппы.Имя) <> 0 Тогда + Отбор.Вставить("ЭтоГруппа", "Истина"); + КонецЕсли; + КонецЕсли; + + Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, Ложь, + "ТестДолжен_ОткрытьФормуСуществующегоЭлементСправочника", Отбор); + Возврат Элем; +КонецФункции + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса(Мета_ПолноеИмя) Экспорт + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); +КонецПроцедуры + +&НаКлиенте +Процедура ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса(Мета_ПолноеИмя) Экспорт + СуществующийЭлемент = ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя); + Если ЗначениеЗаполнено(СуществующийЭлемент) Тогда + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СуществующийЭлемент); + Иначе + СоздаваемыйЭлемент = СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя); + Если ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда + ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СоздаваемыйЭлемент); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя) + ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); + + ОсновнойОбъект = Объект(); + Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, Ложь, + "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса"); + Возврат Элем; +КонецФункции + +&НаСервере +Функция СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя) + ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); + + ОсновнойОбъект = Объект(); + Возврат ОсновнойОбъект.СоздатьБизнесПроцессИВернутьСсылку(ИД); +КонецФункции + +// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 +&НаКлиенте +Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт + Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма"; + ошибка = ""; + Попытка + ОткрытьФорму(Мета_ПолноеИмя); + Исключение + ошибка = ОписаниеОшибки(); + КонецПопытки; + Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка"); +КонецПроцедуры + +#КонецОбласти + +#КонецОбласти + #Область СлужебныеПроцедурыИФункции #Область ФормированиеСпискаТестовыхСлучаев @@ -706,7 +864,7 @@ КонецФункции &НаКлиенте -Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Экспорт +Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда ВыполнитьЗаписьВЖурналРегистрацииСервер(ПолноеИмяФормы); @@ -721,7 +879,7 @@ КонецПроцедуры &НаКлиенте -Процедура ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы) Экспорт +Процедура ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы) ПредыдущиеОкна = ПолучитьОкна(); @@ -871,6 +1029,16 @@ #Область Настройки +// Функция - Ключ настройки +// +// Возвращаемое значение: +// Строка - smoke +// +&НаКлиенте +Функция КлючНастройки() + Возврат "smoke"; +КонецФункции + &НаКлиенте Процедура ЗагрузитьНастройки() @@ -904,11 +1072,11 @@ КонецПроцедуры &НаСервере -Функция СоздатьНаборНастроекПоУмолчанию() Экспорт +Функция СоздатьНаборНастроекПоУмолчанию() Возврат Объект().СоздатьНаборНастроекПоУмолчанию(); -КонецФункции // () +КонецФункции &НаКлиенте Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) @@ -938,7 +1106,7 @@ // В результате получим ВремЗнач == 42 // &НаКлиенте -Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Экспорт +Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Объект.Настройки; @@ -1224,170 +1392,6 @@ #КонецОбласти -#Область Тесты - -// TODO перенести область Тесты в СлужебныйПрограммныйИнтерфейс - -&НаКлиенте -Процедура ПередЗапускомТеста() Экспорт - - СоздаваемыйЭлемент = Неопределено; - - ОбновитьПовторноИспользуемыеЗначения(); - - НужноИсключениеЕслиНеНайденоДокументов = Ложь; - - СоздатьИменаОсновныхФорм(); - - ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда - ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); - КонецЕсли; - -КонецПроцедуры - -&НаКлиенте -Процедура ПослеЗапускаТеста() Экспорт - - ЗакрытьФорму(); - - УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); - -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт - КонтекстЯдра.ПропуститьТест(ПричинаПропускаТеста); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуПоПолномуИмениФормы(ПолноеИмяФормы) Экспорт - ТестироватьФорму(ПолноеИмяФормы, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - СуществующийЭлемент = ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя); - Если ЗначениеЗаполнено(СуществующийЭлемент) Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СуществующийЭлемент); - Иначе - СоздаваемыйЭлемент = СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя); - Если ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СоздаваемыйЭлемент); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -&НаСервере -Функция СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Возврат ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий"); - -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоДокумента(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента(Мета_ПолноеИмя) Экспорт - Док = ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя); - Если Док <> Неопределено Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Док); - КонецЕсли; -КонецПроцедуры - -&НаСервере -Функция ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, - "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); - Возврат Док; -КонецФункции - -&НаСервере -Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - - Отбор = Новый Структура; - МетаданныеОбъекта = Метаданные.Справочники[ИД]; - Если МетаданныеОбъекта.Иерархический - И МетаданныеОбъекта.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда - Отбор.Вставить("ЭтоГруппа", "Ложь"); - Если МетаданныеОбъекта.ОсновнаяФормаГруппы <> Неопределено - И Найти(Мета_ПолноеИмя, МетаданныеОбъекта.ОсновнаяФормаГруппы.Имя) <> 0 Тогда - Отбор.Вставить("ЭтоГруппа", "Истина"); - КонецЕсли; - КонецЕсли; - - Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, Ложь, - "ТестДолжен_ОткрытьФормуСуществующегоЭлементСправочника", Отбор); - Возврат Элем; -КонецФункции - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса(Мета_ПолноеИмя) Экспорт - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, Неопределено); -КонецПроцедуры - -&НаКлиенте -Процедура ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса(Мета_ПолноеИмя) Экспорт - СуществующийЭлемент = ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя); - Если ЗначениеЗаполнено(СуществующийЭлемент) Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СуществующийЭлемент); - Иначе - СоздаваемыйЭлемент = СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя); - Если ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда - ТестироватьФормуСсылочногоОбъекта(Мета_ПолноеИмя, СоздаваемыйЭлемент); - КонецЕсли; - КонецЕсли; -КонецПроцедуры - -&НаСервере -Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, Ложь, - "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса"); - Возврат Элем; -КонецФункции - -&НаСервере -Функция СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя) - ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - - ОсновнойОбъект = Объект(); - Возврат ОсновнойОбъект.СоздатьБизнесПроцессИВернутьСсылку(ИД); -КонецФункции - -// проверка бага https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 -&НаКлиенте -Процедура ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение() Экспорт - Мета_ПолноеИмя = "Обработка.ТестОбработка_Форма_ИсключениеПриОткрытии.Форма.УправляемаяФорма"; - ошибка = ""; - Попытка - ОткрытьФорму(Мета_ПолноеИмя); - Исключение - ошибка = ОписаниеОшибки(); - КонецПопытки; - Утверждения.ПроверитьЗаполненность(ошибка, "Ошибка"); -КонецПроцедуры - -#КонецОбласти - #Область ВспомогательныеМетоды &НаСервереБезКонтекста @@ -1508,7 +1512,7 @@ #Область ТестыЧерезКлиентТестирования &НаКлиенте -Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) Экспорт +Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); From 424ebc59c028e1d902a671f19ea9b7f02106a420 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Thu, 23 Sep 2021 13:35:31 +0200 Subject: [PATCH 360/421] Bug/issue 904 (#905) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Исправлена ошибка вызова оповещения * Добавлена функция Удалить файлы из асинх модуля XDD * Улучшена диагностика ошибок выполнения шага --- .../Ext/Form/Module.bsl" | 24 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 12 ++++++---- .../Ext/Form/Module.bsl" | 2 +- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index ef1b0a16c..315def93a 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -896,6 +896,30 @@ КонецПроцедуры +&НаКлиенте +Процедура смв_УдалитьФайлы(ОписаниеОповещенияОЗавершении, Путь, Маска = Неопределено) Экспорт + + #Если ВебКлиент Тогда + + НачатьУдалениеФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска); + + #Иначе + + Если МодальностьЗапрещена Тогда + + Выполнить("НачатьУдалениеФайлов(ОписаниеОповещенияОЗавершении, Путь, Маска)"); + + Иначе + + УдалитьФайлы(Путь, Маска); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, , 1); + + КонецЕсли; + + #КонецЕсли + +КонецПроцедуры + &НаКлиенте Процедура смв_КаталогВременныхФайлов(ОписаниеОповещенияОЗавершении) Экспорт diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 2ac53053d..7e7b99105 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11057,12 +11057,16 @@ КонецЕсли; Исключение - Отладка("ОписаниеОшибки()=" + ОписаниеОшибки()); - ОписаниеОшибкиСтр = ОписаниеОшибки(); + + ИнформацияОбОшибке = ИнформацияОбОшибке(); + КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + Отладка("ОписаниеОшибки()=" + КраткийТекстОшибки); СтрокаСценария = ПолучитьСтрокуСценарияИзДанныхФормы(ИДСтрокиСценария); - Если Найти(ОписаниеОшибкиСтр, "}: Не реализовано.") > 0 Тогда //тогда это Pending + Если Найти(КраткийТекстОшибки, "}: Не реализовано.") > 0 Тогда //тогда это Pending ТекстСообщения = "Шаг (%1) не реализован."; ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", ТекШаг.Имя); @@ -11091,7 +11095,7 @@ НомерСтрокиВФиче = XMlСтрока(ТекШаг.НомерСтрокиВФиче); ИнфоОбОшибке = Неопределено; - СтрОшибка = СформироватьОписаниеОшибки(ОписаниеОшибкиСтр, ТекШаг.АдресСнипета, ИмяПроцедуры, ИнфоОбОшибке, + СтрОшибка = СформироватьОписаниеОшибки(ПодробныйТекстОшибки, ТекШаг.АдресСнипета, ИмяПроцедуры, ИнфоОбОшибке, ПолныйПутьФичи, ИмяСценария, НомерСтрокиВФиче); СделатьСообщение(СтрОшибка); diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" index dab587c88..eef460f04 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\234\320\276\320\264\321\203\320\273\321\214\320\220\321\201\320\270\320\275\320\272/Ext/Form/Module.bsl" @@ -1012,7 +1012,7 @@ Иначе УдалитьФайлы(Путь, Маска); - смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении); + смв_ВыполнитьОбработкуОповещения(ОписаниеОповещенияОЗавершении, , 1); КонецЕсли; From 4acb84cd99740e11ae7518df5918156ed93757b6 Mon Sep 17 00:00:00 2001 From: SidnevAV <56798144+SidnevAV@users.noreply.github.com> Date: Thu, 23 Sep 2021 14:37:46 +0300 Subject: [PATCH 361/421] =?UTF-8?q?Fix=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE?= =?UTF-8?q?=D0=BD=20=D1=82=D0=B5=D1=81=D1=82=D0=B0=20=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20=D0=BE=D0=B1=D1=89=D0=B8?= =?UTF-8?q?=D1=85=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20(#903)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add Шаблон теста * fix Проверка общих реквизитов * fix Добавил шаблон теста в документацию --- tests/smoke/smoke_tests_for_v8std.md | 7 + .../Ext/Form/Module.bsl" | 6 +- ...0\242\320\265\321\201\321\202\320\260.xml" | 100 ++++++++ .../Ext/ObjectModule.bsl" | 1 + ...0\244\320\276\321\200\320\274\320\260.xml" | 22 ++ .../Ext/Form.xml" | 12 + .../Ext/Form/Module.bsl" | 238 ++++++++++++++++++ 7 files changed, 383 insertions(+), 3 deletions(-) create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Ext/ObjectModule.bsl" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" diff --git a/tests/smoke/smoke_tests_for_v8std.md b/tests/smoke/smoke_tests_for_v8std.md index 3df6876e7..da7bfb6b0 100644 --- a/tests/smoke/smoke_tests_for_v8std.md +++ b/tests/smoke/smoke_tests_for_v8std.md @@ -40,6 +40,7 @@ - [2.14. Переход на управляемые формы](#Тесты_ПереходНаУправляемыеФормы) - [2.15. Проверка периодичности нумерации документов](#Тесты_ПроверкаПериодичностиНумерацииДокументов) - [2.16. Проверка регистров для отчета "Движения документа"](#Тесты_ПроверкаРегистровДляОтчетаДвиженияДокумента) + - [Шаблон теста](#шаблон_теста) - [Настройка тестов](#настройка) @@ -439,6 +440,12 @@ +### [3.](#тесты) Шаблон теста. + ++ **[3.1.](#тесты) Шаблон теста** ([Тесты_ШаблонТеста](./Тесты_ШаблонТеста)) + + + Шаблон теста для создания новых тестов. + ## Настройка тестов diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c2e033a98..9658c1bf7 100644 --- "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/\320\242\320\265\321\201\321\202\321\213_\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\236\320\261\321\211\320\270\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -138,7 +138,7 @@ Функция ПроверитьОбщийРеквизит(ПолноеИмяМетаданных) ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных); - Возврат Строка(ОбъектМетаданных.РазделениеДанных) = "Разделять"; + Возврат ОбъектМетаданных.РазделениеДанных = Метаданные.СвойстваОбъектов.РазделениеДанныхОбщегоРеквизита.Разделять; КонецФункции @@ -169,10 +169,10 @@ Результат = Ложь; МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); - ИслючениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + ИсключениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено - Или ИсключенияИзПроверок.Получить(ВРег(ИслючениеВсехОбъектов)) <> Неопределено Тогда + Или ИсключенияИзПроверок.Получить(ВРег(ИсключениеВсехОбъектов)) <> Неопределено Тогда Результат = Истина; КонецЕсли; diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.xml" new file mode 100644 index 000000000..56577b5af --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260.xml" @@ -0,0 +1,100 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + 0c32756f-68ca-4b55-9a9f-f3b415ad0b72 + + + 374454b4-1df5-4b67-9e85-800ed93937ff + 95383c60-00b2-4dc5-af00-0832ae567804 + + + + Тесты_ШаблонТеста + + + ru + Тесты "Шаблон теста" + + + + ExternalDataProcessor.Тесты_ШаблонТеста.Form.Форма + + + + + + Настройки + + + ru + Настройки + + + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ИмяТеста + + + ru + Имя теста + + + + + xs:string + + 250 + Variable + + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Ext/ObjectModule.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Ext/ObjectModule.bsl" new file mode 100644 index 000000000..5f282702b --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Ext/ObjectModule.bsl" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 000000000..1c52a2854 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PersonalComputer + MobileDevice + + + +
+
\ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 000000000..c17af9b96 --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,12 @@ + +
+ + + + + cfg:ExternalDataProcessorObject.Тесты_ШаблонТеста + + true + + + \ No newline at end of file diff --git "a/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 000000000..ae9c68f7e --- /dev/null +++ "b/tests/smoke/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/\320\242\320\265\321\201\321\202\321\213_\320\250\320\260\320\261\320\273\320\276\320\275\320\242\320\265\321\201\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,238 @@ +#Область ОписаниеПеременных + +&НаКлиенте +Перем КонтекстЯдра; +&НаКлиенте +Перем Утверждения; +&НаКлиенте +Перем СтроковыеУтилиты; +&НаКлиенте +Перем ИсключенияИзПроверок; +&НаКлиенте +Перем ВыводитьИсключения; +&НаКлиенте +Перем ОтборПоПрефиксу; +&НаКлиенте +Перем ПрефиксОбъектов; + +#КонецОбласти + +#Область ИнтерфейсТестирования + +&НаКлиенте +Процедура Инициализация(КонтекстЯдраПараметр) Экспорт + + КонтекстЯдра = КонтекстЯдраПараметр; + Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); + СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); + + Настройки(КонтекстЯдра, ИмяТеста()); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт + + Инициализация(КонтекстЯдраПараметр); + + Если Не ВыполнятьТест(КонтекстЯдра) Тогда + Возврат; + КонецЕсли; + + НаборТестов.НачатьГруппу("ИмяГруппы", Ложь); + + НаборТестов.Добавить("ТестДолжен_ПроверитьЧто", НаборТестов.ПараметрыТеста("ПараметрТеста"), "ИмяТеста"); + +КонецПроцедуры + +#КонецОбласти + +#Область РаботаСНастройками + +&НаКлиенте +Процедура Настройки(КонтекстЯдра, Знач ПутьНастройки) + + Если ЗначениеЗаполнено(Объект.Настройки) Тогда + Возврат; + КонецЕсли; + + ПрефиксОбъектов = ""; + ОтборПоПрефиксу = Ложь; + ИсключенияИзПроверок = Новый Соответствие; + ВыводитьИсключения = Истина; + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Объект.Настройки = Новый Структура(ПутьНастройки, Неопределено); + Возврат; + КонецЕсли; + + Если Настройки.Свойство("Префикс") Тогда + ПрефиксОбъектов = ВРег(Настройки.Префикс); + КонецЕсли; + + Если Настройки.Свойство("ОтборПоПрефиксу") Тогда + ОтборПоПрефиксу = Настройки.ОтборПоПрефиксу; + КонецЕсли; + + Если Настройки.Свойство("ВыводитьИсключения") Тогда + ВыводитьИсключения = Настройки.ВыводитьИсключения; + КонецЕсли; + + Если Настройки.Свойство("ИсключенияИзПроверок") Тогда + ИсключенияИзПроверок(Настройки); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ИсключенияИзПроверок(Настройки) + + Для Каждого ИсключенияИзПроверокПоОбъектам Из Настройки.ИсключенияИзПроверок Цикл + Для Каждого ИсключениеИзПроверок Из ИсключенияИзПроверокПоОбъектам.Значение Цикл + ИсключенияИзПроверок.Вставить(ВРег(ИсключенияИзПроверокПоОбъектам.Ключ + "." + ИсключениеИзПроверок), Истина); + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область Тесты + +&НаКлиенте +Процедура ТестДолжен_ПроверитьЧто(ПолноеИмяМетаданных) Экспорт + + ПропускатьТест = ПропускатьТест(ПолноеИмяМетаданных); + + Результат = ПроверитьЧто(); + Если Не Результат И ПропускатьТест.Пропустить Тогда + Утверждения.ПропуститьТест(ТекстСообщения(ПолноеИмяМетаданных)); + Иначе + Утверждения.Проверить(Результат, ТекстСообщения(ПолноеИмяМетаданных)); + КонецЕсли; + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПроверитьЧто() + + Результат = Истина; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаКлиенте +Функция ПропускатьТест(ПолноеИмяМетаданных) + + Результат = Новый Структура; + Результат.Вставить("ТекстСообщения", ""); + Результат.Вставить("Пропустить", Ложь); + + Если ИсключенИзПроверок(ВРег(ПолноеИмяМетаданных)) Тогда + ШаблонСообщения = НСтр("ru = '""%1"" исключен из проверки.'"); + Результат.ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + Результат.Пропустить = Истина; + Возврат Результат; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ИсключенИзПроверок(ПолноеИмяМетаданных) + + Результат = Ложь; + МассивСтрокИмени = СтроковыеУтилиты.РазложитьСтрокуВМассивПодстрок(ПолноеИмяМетаданных, "."); + ИсключениеВсехОбъектов = СтроковыеУтилиты.ПодставитьПараметрыВСтроку("%1.*", МассивСтрокИмени[0]); + + Если ИсключенияИзПроверок.Получить(ВРег(ПолноеИмяМетаданных)) <> Неопределено + Или ИсключенияИзПроверок.Получить(ВРег(ИсключениеВсехОбъектов)) <> Неопределено Тогда + Результат = Истина; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция УбратьИсключения(МассивТестов) + + Результат = Новый Массив; + + Для Каждого Тест Из МассивТестов Цикл + Если Не ИсключенИзПроверок(Тест.ПолноеИмя) Тогда + Результат.Добавить(Тест); + КонецЕсли; + КонецЦикла; + + Возврат Результат; + +КонецФункции + +&НаКлиенте +Функция ТекстСообщения(ПолноеИмяМетаданных) + + ШаблонСообщения = НСтр("ru = 'Тест не пройден: %1.'"); + ТекстСообщения = СтроковыеУтилиты.ПодставитьПараметрыВСтроку(ШаблонСообщения, ПолноеИмяМетаданных); + + Возврат ТекстСообщения; + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ИмяСодержитПрефикс(Имя, Префикс) + + Если Не ЗначениеЗаполнено(Префикс) Тогда + Возврат Ложь; + КонецЕсли; + + ДлинаПрефикса = СтрДлина(Префикс); + Возврат СтрНайти(ВРег(Лев(Имя, ДлинаПрефикса)), Префикс) > 0; + +КонецФункции + +&НаКлиенте +Функция ИмяТеста() + + Если Не ЗначениеЗаполнено(Объект.ИмяТеста) Тогда + Объект.ИмяТеста = ИмяТестаНаСервере(); + КонецЕсли; + + Возврат Объект.ИмяТеста; + +КонецФункции + +&НаСервере +Функция ИмяТестаНаСервере() + Возврат РеквизитФормыВЗначение("Объект").Метаданные().Имя; +КонецФункции + +&НаКлиенте +Функция ВыполнятьТест(КонтекстЯдра) + + ВыполнятьТест = Ложь; + Настройки(КонтекстЯдра, ИмяТеста()); + Настройки = Объект.Настройки; + + Если Не ЗначениеЗаполнено(Настройки) Тогда + Возврат ВыполнятьТест; + КонецЕсли; + + Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется") Тогда + ВыполнятьТест = Настройки.Используется; + КонецЕсли; + + Возврат ВыполнятьТест; + +КонецФункции + +#КонецОбласти \ No newline at end of file From d086717fa502b6b981a0069b63640a15d0c0f3ca Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 23 Sep 2021 18:31:01 +0300 Subject: [PATCH 362/421] =?UTF-8?q?=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D0=B2=D1=8B=D0=B7=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 68 +++++++++++++++---------------------- 1 file changed, 27 insertions(+), 41 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index 69bdb63b9..fc8161783 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -180,7 +180,7 @@ "*еНаОбработку*" ] }, - + "ФормированиеПечатныхФорм": { "Используется" : true, "КоличествоДокументов" : 2, @@ -245,7 +245,7 @@ } }, - + "Тесты_ПереходНаУправляемыеФормы": { "Используется": true, @@ -326,7 +326,7 @@ } }, - + "Тесты_ПроверкаПериодичностиНумерацииДокументов": { "Используется": true, @@ -344,7 +344,7 @@ } }, - + "Тесты_ПроверкаРеквизитовДокументовКомментарийОтветственный":{ "Используется": true, @@ -364,14 +364,14 @@ } }, - + "Тесты_ПроверкаИндексированияУстаревшихОбъектовМетаданных":{ - + "Используется": true, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, - + "ИсключенияИзПроверок":{ "Справочник":[ @@ -420,26 +420,12 @@ "ПраваНеобходимыеДляТестирования":[ "Администрирование", "АдминистрированиеДанных", - // "ОбновлениеКонфигурацииБазыДанных", - // "МонопольныйРежим", - // "АктивныеПользователи", - // "ЖурналРегистрации", - // "ТонкийКлиент", - // "ВебКлиент", "МобильныйКлиент", - // "ТолстыйКлиент", - // "ВнешнееСоединение", - // "Automation", - // "РежимВсеФункции", - // "РегистрацияИнформационнойБазыСистемыВзаимодействия", - // "СохранениеДанныхПользователя", - // "АдминистрированиеРасширенийКонфигурации", "ИнтерактивноеОткрытиеВнешнихОбработок", - // "ИнтерактивноеОткрытиеВнешнихОтчетов", "Вывод" ] }, - + "ИсключенияИзПроверок":{ "Роль":[ @@ -610,7 +596,7 @@ "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, - + "ИсключенияИзПроверок":{ "ПланОбмена":[ @@ -663,11 +649,11 @@ "Префикс": "Префикс", "ОтборПоПрефиксу": false, "ПропускатьОбъектыСПрефиксомУдалить": false, - + "ИсключенияИзПроверок":{ "ПланОбмена" : [ - "ПланОбмена1" + "ПланОбмена1" ], "Константа" : [ @@ -888,7 +874,7 @@ "ХранилищеВариантовОтчетов": "ХранилищеВариантовОтчетов", "КаталогиВнешнихОтчетов":[ - "Каталог1", + "Каталог1", ".\\Каталог2" ], @@ -917,7 +903,7 @@ "ФормаВарианта": "ФормаВариантаОтчета", "КаталогиВнешнихОтчетов":[ - "Каталог1", + "Каталог1", "Каталог2" ], @@ -996,14 +982,14 @@ "Используется": true, "ВыводитьИсключения": true, - + "КаталогиВнешнихОтчетов":[ - "Каталог1", + "Каталог1", "Каталог2" ], "КаталогиВнешнихОбработок":[ - "Каталог1", + "Каталог1", "Каталог2" ], @@ -1027,22 +1013,22 @@ "ОбъектыМетаданных":{ - "РегистрНакопления": [ - // "РегистрНакопления1" + "РегистрНакопления1": [ + "РегистрНакопления1" ] - //, + , - // "Справочник": [ - // "*" - // ] + "Справочник1": [ + "*" + ] }, "ИсключенияИзПроверок":{ - "РегистрНакопления": [ - // "РегистрНакопления1" + "РегистрНакопления1": [ + "РегистрНакопления1" ], - + "Справочник":[ "*" ] @@ -1062,7 +1048,7 @@ "ОбщийМодуль": [ "ОбщийМодуль1" ], - + "Справочник":[ "*" ] @@ -1086,7 +1072,7 @@ "ПакетXDTO":[ "ПакетXDTO1" ], - + "ПланОбмена":[ "ПланОбмена" ], From ca0c2ad7c5029d306020919e7b26a2e8e75b6ce7 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 23 Sep 2021 18:32:23 +0300 Subject: [PATCH 363/421] =?UTF-8?q?=D0=B2=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BC?= =?UTF-8?q?=D0=BE=D0=B6=D0=BD=D0=BE=20=D1=83=D0=BA=D0=B0=D0=B7=D1=8B=D0=B2?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D0=BD=D0=B0=20=D0=BB=D1=8E=D0=B1=D0=BE?= =?UTF-8?q?=D0=BC=20=D1=83=D1=80=D0=BE=D0=B2=D0=BD=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9a747b131..a6c886837 100644 --- "a/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -329,11 +329,14 @@ ПутьДопФайлаНастроек = Неопределено; Если Значение.Свойство(ИмяКлючаФайлаНастройки, ПутьДопФайлаНастроек) Тогда Значение = ПрочитатьНастройкиИзФайлаJSon(КаталогРодительскойНастройки + "/" + ПутьДопФайлаНастроек); + Иначе + Значение = ДобавитьВНастройкиДанныеИзВложенныхФайловНастроек(Значение, ИмяКлючаФайлаНастройки, + КаталогРодительскойНастройки); КонецЕсли; КонецЕсли; Если ТипЗнч(Значение) = Тип("Строка") Тогда - Значение = Заменить_workspaceRoot_на_РабочийКаталогПроекта(Значение); + Значение = Заменить_workspaceRoot_на_РабочийКаталогПроекта(Значение); // TODO доп.функция, которой нет в названии метода! КонецЕсли; Результат.Вставить(Настройка.Ключ, Значение); From b98b0aee10e92e0665fda491cb3738ad332d6346 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 23 Sep 2021 18:34:01 +0300 Subject: [PATCH 364/421] =?UTF-8?q?=D1=87=D1=82=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20=D0=B4=D1=8B?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2=D1=8B=D1=85=20=D0=B8=D0=B7=20=D0=BE=D1=82?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B=D1=85=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\265\320\271\321\201\320\260.feature" | 18 ++++ ... \321\204\320\276\321\200\320\274.feature" | 15 ++++ .../changed-from-support-command-gui.json | 9 ++ spec/fixtures/changed-from-support.json | 5 ++ spec/fixtures/smoke-include-from-support.json | 86 +++++++++++++++++++ 5 files changed, 133 insertions(+) create mode 100644 spec/fixtures/changed-from-support-command-gui.json create mode 100644 spec/fixtures/changed-from-support.json create mode 100644 spec/fixtures/smoke-include-from-support.json diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index 76d83784c..dcb75b1d6 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -113,3 +113,21 @@ | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - настроена проверка только избранных из отдельного файла настройки метаданных + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include-from-support.json" для команды "vrunner" + + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Раздел: Тестовая | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | ==>> набор тестов Раздел: Главное | + | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | + | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | + | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | + + И Код возврата команды "vrunner" равен 0 diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 4e8fe7c5e..179c12747 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -181,3 +181,18 @@ | ==>> набор тестов Документы | И Код возврата команды "vrunner" равен 0 + +Сценарий: Тестирование документов - настроена проверка только избранных из отдельного файла настройки метаданных + + И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include-from-support.json" для команды "vrunner" + + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Документы | + | -->> тест Документ.Документ2 | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.ДокументСДвижениями | + + И Код возврата команды "vrunner" равен 0 diff --git a/spec/fixtures/changed-from-support-command-gui.json b/spec/fixtures/changed-from-support-command-gui.json new file mode 100644 index 000000000..d48215474 --- /dev/null +++ b/spec/fixtures/changed-from-support-command-gui.json @@ -0,0 +1,9 @@ +{ + "Разделы": [ + "Тестовая" + ], + "Справочники": + [ + "*равочник*" + ] +} diff --git a/spec/fixtures/changed-from-support.json b/spec/fixtures/changed-from-support.json new file mode 100644 index 000000000..fcba9ffcd --- /dev/null +++ b/spec/fixtures/changed-from-support.json @@ -0,0 +1,5 @@ +{ + "Документы": [ + "*умент2*" + ] +} diff --git a/spec/fixtures/smoke-include-from-support.json b/spec/fixtures/smoke-include-from-support.json new file mode 100644 index 000000000..c1ed96fe4 --- /dev/null +++ b/spec/fixtures/smoke-include-from-support.json @@ -0,0 +1,86 @@ +{ + "$schema":"https://raw.githubusercontent.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", + "Отладка":false, + "ВыводитьПодробноеПредставлениеОшибки": true, + "ДобавлятьИмяПользователяВПредставлениеТеста":true, + "ДелатьЛогВыполненияСценариевВТекстовыйФайл":true, + "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + + "МодальныеОкна": { + "ШаблонПомощника":{ + "Заголовки" : [ + "Демо: Шаблон помощника" + ], + "Поля" : [ + "Закрыть помощник?", + "Завершить работу с помощником?" + ], + "Кнопка": 0 + }, + "ФормаСВопросом":{ + "Поля" : [ + "Закрыть*?", + "Завершить работу с*?" + ], + "Кнопка": 0 + } + }, + + "ПоказПолногоСтекаВызововВОшибках" : { + "Показывать": false, + "ИсключаемыеСтрокиСтекаВызовов": [ + "ВнешняяОбработка.xddTestRunner.", + "ВнешняяОбработка.ЗагрузчикФайла." + ] + }, + + "smoke": { + "Используется":true, + "СтрогийПорядокВыполнения":true, + "ОткрываемФормыНаКлиентеТестирования":true, + + "ВыводитьСообщенияВЖурналРегистрации":true, + "ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций":false, + + "СпособГруппировки":"ПоВидуМетаданных", + "КоличествоВГруппе":1, + + "ПроверятьТолькоИзбранные" : { + "configpath": "changed-from-support.json" + }, + + "Справочники": false, + "Документы1": false, + "БизнесПроцессы": false, + "Отчеты": false, + "Обработки": false, + + "ПропускаемыеИсключения" : [ + "Обработка не предназначена для непосредственного использования", + "Самостоятельное использование формы не предусмотрено" + ] + }, + + "CommandInterface": { + "Используется":true, + "СтрогийПорядокВыполнения": true, + "ПроверятьТолькоИзбранные" : { + "configpath": "changed-from-support-command-gui.json" + }, + "ОбщиеКоманды1":[ + "ОбщаяКоманда1" + ], + "ОбщиеФормы1":[ + "ОбщаяФорма1" + ], + "Справочники1": + [ + "*ростой*равочник*" + ], + "Документы1": false, + "БизнесПроцессы1": false, + "Отчеты1": false, + "Обработки1": false, + "ВнешниеИсточникиДанных1": false + } +} From 65bae6f2e85e1bc0df415ba219522a58278668df Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 24 Sep 2021 19:26:54 +0300 Subject: [PATCH 365/421] =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B5=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8F=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ДобавлятьИмяПользователяВПредставлениеТеста #893 --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 27e09382a..d865892af 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2399,7 +2399,7 @@ Если Не ПустаяСтрока(ПутьФайлаНастроек()) Тогда Попытка - Плагин("Настройки").Обновить(); + ПервичнаяНастройка(); Исключение Сообщить("Не удалось загрузить настройки из файла '" + ПутьФайлаНастроек() + "' по причине: "); Сообщить(ОписаниеОшибки()); From 1b417f1916d79bbfb7be5786f9ce6c7e0475bbb8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 24 Sep 2021 19:43:20 +0300 Subject: [PATCH 366/421] =?UTF-8?q?=D0=B2=20=D0=B0=D1=81=D0=B8=D0=BD=D1=85?= =?UTF-8?q?=D1=80=D0=BE=D0=BD=D0=BD=D0=BE=D0=BC=20=D1=80=D0=B5=D0=B6=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=20=D0=BD=D0=B5=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D1=8F=D0=BB=D0=BE=D1=81=D1=8C=20=D0=BF=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #893 --- .../Ext/Form/Module.bsl" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d865892af..1b5d7a1db 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -662,6 +662,11 @@ &НаКлиенте Функция ВыполнитьТесты(Знач Загрузчик, Знач КонтейнерДереваТестов, Знач Фильтр = Неопределено, Знач Подписчик = Неопределено, ИерархияИсполнения = Неопределено, ПараметрыПотоковыхОтчетов = Неопределено) Экспорт + Отладка("КонтейнерДереваТестов.Ключ " + КонтейнерДереваТестов.Ключ); + Отладка("КонтейнерДереваТестов.Имя " + КонтейнерДереваТестов.Имя); + Отладка("КонтейнерДереваТестов.Тип " + КонтейнерДереваТестов.Тип); + Отладка("ИерархияИсполнения " + ИерархияИсполнения); + Родитель = Новый Структура("Родитель, Ключ, Тип, Имя", ИерархияИсполнения); ЗаполнитьЗначенияСвойств(Родитель, КонтейнерДереваТестов, "Ключ, Тип, Имя"); @@ -692,7 +697,7 @@ ДочернийРезультатТестирования = ВыполнитьТесты(Загрузчик, ДочернийУзел, ФильтрДляДочернихУзлов, Подписчик, Родитель, ПараметрыПотоковыхОтчетов); ИначеЕсли ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда - + ВывестиСообщениеВЛогФайл(". -->> тест " + ДочернийУзел.Представление); Если ПутьИзКонтейнера = ДочернийУзел.Путь Тогда @@ -1522,6 +1527,8 @@ Параметры_xddStreamReport = Неопределено; ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Свойство("Параметры_xddStreamReport", Параметры_xddStreamReport); + ОбновитьИменаИПредставлениеТестов(ДеревоТестовОтЗагрузчика); + РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика,,,,Параметры_xddStreamReport); Если РезультатыТестирования = Неопределено Тогда @@ -2039,6 +2046,8 @@ &НаКлиенте Процедура ЗагрузкаТестовЗавершение(Знач ДеревоОтЗагрузчика, Знач ДополнительныеПараметры) Экспорт + ОбновитьИменаИПредставлениеТестов(ДеревоОтЗагрузчика); + ЭтаФорма.ДеревоОтЗагрузчика = ДеревоОтЗагрузчика; ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); ЭлементыДереваТестов.Очистить(); From ecfe68d22f8b3f246e677a4a576f83007dd528d1 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 24 Sep 2021 19:43:48 +0300 Subject: [PATCH 367/421] =?UTF-8?q?=D0=B8=D0=BD=D0=BE=D0=B3=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA=D0=B0=D0=BB=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20=D1=81=D0=B5=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D0=B2=20xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #893 --- .../Ext/ObjectModule.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" index a9ba5bcc6..22503fb5f 100644 --- "a/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" +++ "b/plugins/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/\320\223\320\265\320\275\320\265\321\200\320\260\321\202\320\276\321\200\320\236\321\202\321\207\320\265\321\202\320\260JUnitXML/Ext/ObjectModule.bsl" @@ -133,9 +133,9 @@ ЗаписьXML.ЗаписатьАтрибут("skipped", XMLСтрока(?(РезультатТеста.Состояние = СостоянияТестов.НеизвестнаяОшибка, 1, 0))); ЗаписьXML.ЗаписатьНачалоЭлемента("testsuite"); - ЗаписьXML.ЗаписатьАтрибут("name", РезультатТеста.Родитель.Родитель.Имя); + ЗаписьXML.ЗаписатьАтрибут("name", XMLСтрока(РезультатТеста.Родитель.Родитель.Имя)); ЗаписьXML.ЗаписатьНачалоЭлемента("testsuite"); - ЗаписьXML.ЗаписатьАтрибут("name", РезультатТеста.Родитель.Имя); + ЗаписьXML.ЗаписатьАтрибут("name", XMLСтрока(РезультатТеста.Родитель.Имя)); ВывестиРезультатЭлемента(ЗаписьXML, РезультатТеста, РезультатТеста.Родитель.Имя); From 212c95eb362d9a98fb87326610ae430c4e2cd700 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 26 Sep 2021 19:24:51 +0300 Subject: [PATCH 368/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=85=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index fc8161783..51125222d 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -358,7 +358,9 @@ "ИсключенияИзПроверок":{ "Документ":[ - "Документ1" + "Документ1", + "Документ2", + "ДокументСДвижениями" ] } @@ -460,7 +462,7 @@ "ИсключенияИзПроверок":{ "ОбщийМодуль" :[ - "ОбщийМодуль1" + "ТестовыйМодуль" ], "ПараметрСеанса" :[ @@ -893,7 +895,7 @@ "Тесты_ПроверкаОсновныхФормОтчетов":{ - "Используется": true, + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, From 329ab2e6c92289f2c934f81811bf4b480a7563e2 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 26 Sep 2021 19:29:12 +0300 Subject: [PATCH 369/421] =?UTF-8?q?=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=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=D1=8F=20=D0=B2=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #893 --- ...\321\200\321\204\320\265\320\271\321\201\320\260.feature" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index dcb75b1d6..f4e6c08f8 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -119,9 +119,10 @@ И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include-from-support.json" для команды "vrunner" Когда Я выполняю команду "vrunner" + И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | ==>> набор тестов Раздел: Тестовая | - | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ==>> набор тестов Раздел: Тестовая - | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса - | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит From 9b10351c93233ce3196dafc21d518d033526438b Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 26 Sep 2021 19:24:51 +0300 Subject: [PATCH 370/421] =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=85=20=D0=B4=D1=8B=D0=BC=D0=BE=D0=B2=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/JSON/xUnitParams.json | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/JSON/xUnitParams.json b/tools/JSON/xUnitParams.json index fc8161783..51125222d 100644 --- a/tools/JSON/xUnitParams.json +++ b/tools/JSON/xUnitParams.json @@ -358,7 +358,9 @@ "ИсключенияИзПроверок":{ "Документ":[ - "Документ1" + "Документ1", + "Документ2", + "ДокументСДвижениями" ] } @@ -460,7 +462,7 @@ "ИсключенияИзПроверок":{ "ОбщийМодуль" :[ - "ОбщийМодуль1" + "ТестовыйМодуль" ], "ПараметрСеанса" :[ @@ -893,7 +895,7 @@ "Тесты_ПроверкаОсновныхФормОтчетов":{ - "Используется": true, + "Используется": false, "ВыводитьИсключения": true, "Префикс": "Префикс", "ОтборПоПрефиксу": false, From 7f5c99000476413aa27f44cb2f13ca7b7f7f674f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 26 Sep 2021 19:29:12 +0300 Subject: [PATCH 371/421] =?UTF-8?q?=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B8=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=D1=8F=20=D0=B2=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #893 --- ...\321\200\321\204\320\265\320\271\321\201\320\260.feature" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index dcb75b1d6..f4e6c08f8 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -119,9 +119,10 @@ И Я добавляю параметр "--xddConfig <КаталогПроекта>/spec/fixtures/smoke-include-from-support.json" для команды "vrunner" Когда Я выполняю команду "vrunner" + И Я сообщаю вывод команды "vrunner" Тогда Вывод команды "vrunner" содержит - | ==>> набор тестов Раздел: Тестовая | - | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | + | ==>> набор тестов Раздел: Тестовая - | + | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса - | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | И Вывод команды "vrunner" не содержит From 3b8932eef949559ccf1fa3c41c92b8d2b2461f96 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 29 Sep 2021 20:58:05 +0300 Subject: [PATCH 372/421] =?UTF-8?q?=D0=B0=D0=BD=D0=B0=D0=BB=D0=B8=D0=B7=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BD=D1=8F=D1=82=D0=BE=D1=81=D1=82=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D1=82=D0=B0=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=BE=D0=BC=20=D1=82=D0=B5?= =?UTF-8?q?=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + новый публичный метод НайтиСвободныйПортЕслиТекущийЗанят + если порт занят, выделяется новый порт из диапазона 48000-50000 + если при подключении возникают проблемы, то их описание пишется как предупреждение в ЖР --- .../Ext/Form/Module.bsl" | 348 +++++++++++++++--- 1 file changed, 306 insertions(+), 42 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ddbe70f11..8f4609c5c 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -40,7 +40,7 @@ &НаКлиенте Функция ПортПоУмолчанию() Экспорт Если Не ЗначениеЗаполнено(ПортПоУмолчанию) Тогда - УстановитьПортПоУмолчанию(52010); + УстановитьПортПоУмолчанию(49538); КонецЕсли; Возврат ПортПоУмолчанию; КонецФункции @@ -70,46 +70,76 @@ Попытка ПользовательПарольПорт = РазложитьСтрокуВМассивПодстрок(ОчередныеПараметры[0], ":"); Если ПользовательПарольПорт.Количество() = 3 Тогда - ТестКлиент = ПодключитьТестКлиент( + ОписаниеТестКлиента = ПодключитьТестКлиент( ПользовательПарольПорт[0], ПользовательПарольПорт[1], ПользовательПарольПорт[2], ДопПараметры); - ЗапомнитьДанныеТестКлиента(ТестКлиент, ПользовательПарольПорт[0], ПользовательПарольПорт[2], + ТестКлиент = ОписаниеТестКлиента.Клиент; + + ЗапомнитьДанныеТестКлиента(ТестКлиент, ПользовательПарольПорт[0], ОписаниеТестКлиента.Порт, ДопПараметры); Иначе - ТестКлиент = ПодключитьТестКлиент("", "", "", ДопПараметры); - ЗапомнитьДанныеТестКлиента(ТестКлиент, "", "", ДопПараметры); + ОписаниеТестКлиента = ПодключитьТестКлиент("", "", 0, ДопПараметры); + ТестКлиент = ОписаниеТестКлиента.Клиент; + + ЗапомнитьДанныеТестКлиента(ТестКлиент, "", ОписаниеТестКлиента.Порт, ДопПараметры); КонецЕсли; Исключение Инфо = ИнформацияОбОшибке(); - ОписаниеОшибки = "Ошибка подключения тест-клиента в пакетном режиме + ОписаниеОшибки = "Ошибка подключения тест-клиента в пакетном режиме. |" + ПодробноеПредставлениеОшибки(Инфо); - ЗафиксироватьОшибкуВЖурналеРегистрации("VanessaADD.ПодключитьТестКлиент", ОписаниеОшибки); + ЗаписатьОшибкуВЖурналеРегистрации(ОписаниеОшибки); + Сообщить(ОписаниеОшибки, СтатусСообщения.ОченьВажное); КонецПопытки; КонецЦикла; КонецПроцедуры +// Подключить тест-клиент +// +// Параметры: +// ИмяПользователя - Строка - имя\логин пользователя +// Пароль - Строка - пароль пользователя +// Порт - Число - порт подключения. Порт может быть изменен. +// ДопПараметры - Произвольный - доп.параметры, которые допустимы на клиенте +// +// Возвращаемое значение: +// Структура - описание тест-клиента, если удалось подключить, или Неопределено +// * Клиент - ТестируемоеПриложение, Неопределено - тестовый клиент, если удалось подключиться +// * Порт - Число - порт подключения. Совпадет с переданным, если порт был не занят, и выдается новый, если исходный порт был занят +// &НаКлиенте Функция ПодключитьТестКлиент(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0, Знач ДопПараметры = "") Экспорт + + Перем ПодключенныйТестКлиент; + + Результат = НовоеОписаниеТестКлиента(); + Порт = ПолучитьПорт(Порт); + Порт = НайтиСвободныйПортЕслиТекущийЗанят(Порт); Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда СписокПропускаемыхФорм = Новый СписокЗначений; КонецЕсли; - Результат = Неопределено; + ПодключенныйТестКлиент = Неопределено; Попытка - Выполнить "Результат = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; + Выполнить "ПодключенныйТестКлиент = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение - Результат = Неопределено; + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка подключения тест-клиента по порту " + Порт + " + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + + ПодключенныйТестКлиент = Неопределено; КонецПопытки; - Если Результат = Неопределено Тогда + Если ПодключенныйТестКлиент = Неопределено Тогда ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение. |Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER) |При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; @@ -118,16 +148,25 @@ // Попытка подключиться к уже запущенному приложению. Подключен = Ложь; Попытка - Результат.УстановитьСоединение(); + ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; Исключение + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка соединения с тест-клиентом. Порт " + Порт + " + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + Подключен = Ложь; КонецПопытки; Если Подключен Тогда + Результат.Вставить("Клиент", ПодключенныйТестКлиент); + Результат.Вставить("Порт", Порт); + Возврат Результат; КонецЕсли; - + СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт, ДопПараметры); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); @@ -137,48 +176,71 @@ ОписаниеОшибкиСоединения = ""; Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка - Результат.УстановитьСоединение(); + ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; Прервать; Исключение - ОписаниеОшибкиСоединения = ОписаниеОшибки(); + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка подключения тест-клиента. Порт " + Порт + " + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + КонецПопытки; КонецЦикла; Если Не Подключен Тогда Попытка - Результат.УстановитьСоединение(); + ПодключенныйТестКлиент.УстановитьСоединение(); Исключение - ОписаниеОшибкиСоединения = ОписаниеОшибки(); - ВызватьИсключение КонтекстЯдра.СтрШаблон_( - "Не смогли установить соединение с тестовым приложением для пользователя %1! - |%2", - ИмяПользователя, - ОписаниеОшибкиСоединения); + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); + + ВызватьИсключение СтрШаблон( + "Не смогли установить соединение с тестовым приложением для пользователя %1! + |%2", + ИмяПользователя, ОписаниеОшибкиСоединения); КонецПопытки; КонецЕсли; - Если Подключен И ОсновноеОкно(Результат) = Неопределено Тогда + Если Подключен И ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда Таймаут = 5; ДлительностьОжидания = 0; Попытка - Пока ОсновноеОкно(Результат) = Неопределено И ДлительностьОжидания < ТаймаутВСекундах() Цикл - Результат.ПолучитьАктивноеОкно().Активизировать(); + Пока ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено И ДлительностьОжидания < ТаймаутВСекундах() Цикл + ПодключенныйТестКлиент.ПолучитьАктивноеОкно().Активизировать(); ДлительностьОжидания = ДлительностьОжидания + Таймаут; - Пауза(Результат, Таймаут); + + Пауза(ПодключенныйТестКлиент, Таймаут); КонецЦикла; + Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); + ВызватьИсключение КонтекстЯдра.СтрШаблон_( - НСтр("ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1!'"), - ИмяПользователя); + "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 + |%2!", + ИмяПользователя, ОписаниеОшибкиСоединения); + КонецПопытки; - Если ОсновноеОкно(Результат) = Неопределено Тогда - Результат.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); - Результат.РазорватьСоединение(); + Если ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда + ПодключенныйТестКлиент.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); + ПодключенныйТестКлиент.РазорватьСоединение(); + ВызватьИсключение НСтр("ru = 'Превышено время ожидания ввода пароля.'"); КонецЕсли; КонецЕсли; + Результат.Вставить("Клиент", ПодключенныйТестКлиент); + Результат.Вставить("Порт", Порт); + Возврат Результат; КонецФункции @@ -186,15 +248,29 @@ &НаКлиенте Процедура ЗавершитьВсеТестКлиенты() Экспорт + КонтекстЯдра.Отладка("Перед завершением всех тест-клиентов"); + Если Не ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда + + КонтекстЯдра.Отладка(" - Не найдено запущенных тест-клиентов"); Возврат; + КонецЕсли; Для Каждого ТекЗначение Из ЗапущенныеТестКлиенты Цикл + + Порт = XMLСтрока(ТекЗначение.Порт); + КонтекстЯдра.Отладка(" - Нашли тест-клиент. Порт " + Порт); + Если ЭтоLinux() Тогда ЗапуститьПриложение("kill -9 `ps aux | grep -ie TESTCLIENT | grep -ie 1cv8c | awk '{print $2}'`"); Иначе - ЗапуститьПриложение(ТекстСкриптаЗавершитьТестКлиент(ТекЗначение.Порт)); + ТекстСкрипта = ТекстСкриптаЗавершитьТестКлиент(Порт); + КонтекстЯдра.Отладка(" - текст скрипта удаления. " + ТекстСкрипта); + + ЗапуститьПриложение(ТекстСкрипта); + + КонтекстЯдра.Отладка(" - После запуска команды завершения тест-клиента. Порт " + Порт); КонецЕсли; КонецЦикла; @@ -207,8 +283,10 @@ Возврат ЗапущенныеТестКлиенты[0].ТестКлиент; КонецЕсли; - Результат = ПодключитьТестКлиент(); - ЗапомнитьДанныеТестКлиента(Результат, "", "", ""); + ОписаниеТестКлиента = ПодключитьТестКлиент(); + Результат = ОписаниеТестКлиента.Клиент; + + ЗапомнитьДанныеТестКлиента(Результат, "", ОписаниеТестКлиента.Порт, ""); Возврат Результат; @@ -224,8 +302,10 @@ Возврат Результат; КонецЕсли; - Результат = ПодключитьТестКлиент(ИмяПользователя, Пароль, Порт, ДопПараметры); - ЗапомнитьДанныеТестКлиента(Результат, ИмяПользователя, Порт, ДопПараметры); + ОписаниеТестКлиента = ПодключитьТестКлиент(ИмяПользователя, Пароль, Порт, ДопПараметры); + Результат = ОписаниеТестКлиента.Клиент; + + ЗапомнитьДанныеТестКлиента(Результат, ИмяПользователя, ОписаниеТестКлиента.Порт, ДопПараметры); Возврат Результат; @@ -340,6 +420,12 @@ КонецЕсли; КонецЦикла; Исключение + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка поиска основного окна тест-клиента. + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + Возврат Неопределено; КонецПопытки; @@ -478,8 +564,15 @@ Прервать; КонецЦикла; Исключение + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка поиска основного окна тест-клиента. + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + КонтекстЯдра.ВывестиСообщение("Не удалось проверить модальные окна ", СтатусСообщения.ОченьВажное); + Возврат; КонецПопытки; @@ -538,6 +631,54 @@ Возврат "МодальныеОкна"; КонецФункции +// Найти свободный порт, если текущий\указанный порт занят другим процессом +// +// Параметры: +// Порт - Число - Необязательный. По умолчанию 1538 +// НачалоДиапазонаПортов - Число - Необязательный. По умолчанию 48000 +// ОкончаниеДиапазонаПортов - Число - Необязательный. По умолчанию 50000 +// +// Возвращаемое значение: +// Число - текущий порт или новый порт, если текущий занят +// +&НаКлиенте +Функция НайтиСвободныйПортЕслиТекущийЗанят(Знач Порт = 1538, Знач НачалоДиапазонаПортов = 48000, Знач ОкончаниеДиапазонаПортов = 50000) Экспорт + + Если Порт <= 0 Или Порт > 65536 Тогда + Порт = 1538; + КонецЕсли; + + //НачалоДиапазонаПортов = 48000; + //ОкончаниеДиапазонаПортов = 50000; + + //Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда + // //там должна быть строка вида 48000-48020 + // МассивЗначений = СтрРазделить(Объект.ДиапазонПортовTestclient, "-"); + // Если МассивЗначений.Количество() <> 2 Тогда + // ТекстСообщения = "Указан неверный диапазон портов: <%1>"; + // ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Объект.ДиапазонПортовTestclient); + // ВызватьИсключение ТекстСообщения; + // КонецЕсли; + // НачалоДиапазонаПортов = Число(МассивЗначений[0]); + // ОкончаниеДиапазонаПортов = Число(МассивЗначений[1]); + //КонецЕсли; + + МассивЗанятыхПортов = МассивЗанятыхПортов(); + Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда + + Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл + Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда + + Возврат СвободныйПорт; + + КонецЕсли; + КонецЦикла; + КонецЕсли; + + Возврат Порт; + +КонецФункции + // } Plugin interface // { Helpers @@ -604,9 +745,9 @@ КонецЕсли; Возврат СтрЗаменить( - Результат, - "%/TESTCLIENT%", - "%/TESTCLIENT -TPort" + НомерПорта + "%"); + Результат, + "%/TESTCLIENT%", + "%/TESTCLIENT -TPort" + НомерПорта + "%"); КонецФункции @@ -641,11 +782,27 @@ КонецФункции -&НаСервере -Процедура ЗафиксироватьОшибкуВЖурналеРегистрации(Знач ИдентификаторГенератораОтчета, Знач ОписаниеОшибки) - ЗаписьЖурналаРегистрации(ИдентификаторГенератораОтчета, УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки); +&НаСервереБезКонтекста +Процедура ЗаписатьОшибкуВЖурналеРегистрации(Знач ОписаниеОшибки) + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки); КонецПроцедуры +&НаСервереБезКонтекста +Процедура ЗаписатьПредупреждениеВЖурналРегистрации(Знач ТекстОшибки) + + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), + УровеньЖурналаРегистрации.Предупреждение, , , + ТекстОшибки); + +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ИмяСобытияЖР() + + Возврат "VanessaADD.ПодключитьТестКлиент"; + +КонецФункции + &НаКлиенте Процедура ЗапомнитьДанныеТестКлиента(ТестКлиент, ИмяПользователя, Порт, ДопПараметры) @@ -716,6 +873,12 @@ Попытка Кнопки[ИндексКнопки].Нажать(); Исключение + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = "Ошибка поиска основного окна тест-клиента. + |" + ПодробноеПредставлениеОшибки(Инфо); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + КонтекстЯдра.ВывестиСообщение("Не удалось нажать кнопку в форме с заголовком " + ПроверяемыйТекст, СтатусСообщения.ОченьВажное); КонецПопытки; @@ -925,4 +1088,105 @@ КонецПроцедуры +&НаКлиенте +Функция МассивЗанятыхПортов() + + Результат = Новый Массив; + + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); + + Если НЕ ЭтоLinux() Тогда + + СтрокаЗапуска = "netstat -ano > """ + ИмяВременногоФайла + """"; + + //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); + //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + + Текст = Новый ЧтениеТекста; + Текст.Открыть(ИмяВременногоФайла, "UTF-8"); + + Пока Истина Цикл + Стр = Текст.ПрочитатьСтроку(); + Если Стр = Неопределено Тогда + Прервать; + КонецЕсли; + + Если Стр = "" Тогда + Продолжить; + КонецЕсли; + + Порт_ = Сред(Сред(СокрЛП(Стр), 8), 1, Найти(Сред(СокрЛП(Стр), 8), " ")); + Порт = ""; + Для НомерСимвола = 0 По СтрДлина(Порт_) - 1 Цикл + СимволСтроки = Сред(Порт_, СтрДлина(Порт_) - НомерСимвола, 1); + Если СимволСтроки = ":" Тогда + Прервать; + КонецЕсли; + Если Найти("0123456789", СимволСтроки) > 0 Тогда + Порт = СимволСтроки + Порт; + КонецЕсли; + КонецЦикла; + + Попытка + Порт = Число(Порт); + Результат.Добавить(Порт); + Исключение + Продолжить; + КонецПопытки; + КонецЦикла; + + Текст.Закрыть(); + + Иначе + + СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """"; // взято из #383 + //ВыполнитьКомандуОС(СтрокаЗапуска); + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + + Текст = Новый ЧтениеТекста; + Текст.Открыть(ИмяВременногоФайла, "UTF-8"); + + Пока Истина Цикл + Стр = Текст.ПрочитатьСтроку(); + Если Стр = Неопределено Тогда + Прервать; + КонецЕсли; + + Если Стр = "" Тогда + Продолжить; + КонецЕсли; + + Порт = СокрЛП(Стр); + Попытка + Порт = Число(Порт); + Результат.Добавить(Порт); + Исключение + Продолжить; + КонецПопытки; + КонецЦикла; + + Текст.Закрыть(); + КонецЕсли; + + //Для каждого СтрокаДанныеКлиентовТестирования Из ДанныеКлиентовТестирования Цикл // TODO + // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); + //КонецЦикла; + + Возврат Результат; + +КонецФункции + +Функция НовоеОписаниеТестКлиента() + + Результат = Новый Структура; + Результат.Вставить("Клиент", Неопределено); + Результат.Вставить("Порт", 0); + + Возврат Результат; + +КонецФункции + // } Helpers From 9444be6881001bfe7de8a384f838efc13e2caeec Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 29 Sep 2021 21:00:19 +0300 Subject: [PATCH 373/421] =?UTF-8?q?=D0=B2=20=D1=84=D0=B8=D1=87=D0=B5=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D1=8E=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20env.json=20=D0=B8=D0=B7=20=D0=BF=D1=80=D0=BE=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\204\320\265\320\271\321\201\320\260.feature" | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" index f4e6c08f8..4f0e835ff 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\272\320\276\320\274\320\260\320\275\320\264\320\275\320\276\320\263\320\276 \320\270\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\260.feature" @@ -10,7 +10,7 @@ # И я подготовил рабочую базу проекта "./build/ib" по умолчанию # И Я копирую каталог "feature" из каталога "tests/fixtures" проекта в подкаталог "build" рабочего каталога - И Я копирую файл "env.json" из каталога "." проекта в подкаталог "build" рабочего каталога + И Я копирую файл "env.json" из каталога "." проекта в подкаталог "." рабочего каталога И Я сохраняю значение "INFO" в переменную окружения "LOGOS_LEVEL" Дано Я очищаю параметры команды "vrunner" в контексте @@ -19,6 +19,7 @@ И Я добавляю параметр "<КаталогПроекта>/tests/smoke/тесты_КомандныйИнтерфейс.epf" для команды "vrunner" И Я добавляю параметр "--ibconnection /F<КаталогПроекта>/build/ibservicexdd" для команды "vrunner" И Я добавляю параметр "--workspace ./build" для команды "vrunner" + И Я добавляю параметр "--settings <КаталогПроекта>/env.json" для команды "vrunner" И Я добавляю параметр "--xddExitCodePath ./build/xddExitCodePath.txt" для команды "vrunner" И Я добавляю параметр "--pathxunit $addRoot/xddTestRunner.epf" для команды "vrunner" И Я добавляю параметр "--language ru" для команды "vrunner" @@ -40,6 +41,8 @@ | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Код возврата команды "vrunner" равен 0 @@ -53,6 +56,8 @@ | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Вывод команды "vrunner" не содержит | ==>> набор тестов Раздел: Главное | | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | @@ -72,6 +77,8 @@ | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Вывод команды "vrunner" не содержит | ==>> набор тестов Раздел: Главное | | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | @@ -90,6 +97,8 @@ | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Вывод команды "vrunner" не содержит | -->> тест Отчеты->Отчет2: проверка элемента командного интерфейса | | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | @@ -106,6 +115,8 @@ | -->> тест Сервис->Тест обработка: проверка элемента командного интерфейса | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Вывод команды "vrunner" не содержит | ==>> набор тестов Раздел: Главное | | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | @@ -125,6 +136,8 @@ | -->> тест Панель функций текущего раздела->Справочник иерархия элементов: проверка элемента командного интерфейса - | | ИНФОРМАЦИЯ - Все тесты выполнены! | | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | Не найдено результатов тестирования | И Вывод команды "vrunner" не содержит | ==>> набор тестов Раздел: Главное | | -->> тест Панель функций текущего раздела->Простой справочник: проверка элемента командного интерфейса | From cb713fdac472720e7075868ffabe809cb0533763 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 29 Sep 2021 21:01:59 +0300 Subject: [PATCH 374/421] =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B0=D0=B5=D1=82=D1=81=D1=8F=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=20=D0=BF=D0=BE=20=D1=83?= =?UTF-8?q?=D0=BC=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 - ранее каждый раз запускался новый тест-клиент + если при подключении возникают проблемы, то их описание пишется как предупреждение в ЖР --- .../Ext/Form/Module.bsl" | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0d5cea3b0..152056a1d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -53,7 +53,7 @@ ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - ТестКлиент = ПодключитьТестКлиент(); + ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); Если ТестКлиент = Неопределено Тогда Возврат; КонецЕсли; @@ -105,8 +105,15 @@ Попытка ОсновноеОкно.ВыполнитьКоманду(ПараметрНавигационнаяСсылка); Исключение - ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. - |Возможно, сеанс тест-клиента заблокирован модальным окном", ПараметрНавигационнаяСсылка); + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); + + ВызватьИсключение СтрШаблон("Не удалось выполнить команду %1 на тест-клиенте. + |Возможно, сеанс тест-клиента заблокирован модальным окном + |%2", ПараметрНавигационнаяСсылка, ТекстСообщения); КонецПопытки; ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); @@ -404,8 +411,14 @@ Попытка Результат = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); Исключение - ИнфоОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Сообщить(ИнфоОшибки); // TODO скрывается исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрации(ТекстСообщения); + + ПоказатьПредупреждение( , НСтр("ru = 'Операция не может быть выполнена по причине:'") + Символы.ПС + + ТекстСообщения); + КонецПопытки; Возврат Результат; @@ -869,8 +882,15 @@ Попытка КомандныйИнтерфейс = ОсновноеОкно.ПолучитьКомандныйИнтерфейс(); Исключение + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ТекстСообщения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); + ВызватьИсключение "Не удалось получить командный интерфейс. - |Возможно, сеанс тест-клиента заблокирован модальным окном"; + |Возможно, сеанс тест-клиента заблокирован модальным окном + |" + ТекстСообщения; КонецПопытки; ПанельРазделов = КомандныйИнтерфейс.НайтиОбъект(Тип("ТестируемаяГруппаКомандногоИнтерфейса"), @@ -997,4 +1017,13 @@ #КонецОбласти +&НаСервереБезКонтекста +Процедура ЗаписатьПредупреждениеВЖурналРегистрации(Знач ТекстОшибки) + + ЗаписьЖурналаРегистрации("VanessaADD.Дымовые.тесты_КомандныйИнтерфейс", + УровеньЖурналаРегистрации.Предупреждение, , , + ТекстОшибки); + +КонецПроцедуры + #КонецОбласти From 9f40043b1c407fb26ddb2fb747a181aadafec30e Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 29 Sep 2021 21:04:22 +0300 Subject: [PATCH 375/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=20=D1=82=D0=B5=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - не нужный на этапе подготовки тестов --- .../Ext/Form/Module.bsl" | 8 -------- 1 file changed, 8 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1fc2409be..e3aa38771 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -53,14 +53,6 @@ Возврат; КонецЕсли; - Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда - ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); - ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); - - ОсновноеОкно = ОсновноеОкно(ТестКлиент); - КонецЕсли; - ОписанияТестов = Новый Массив; НужноИсключениеЕслиНеНайденоДокументов = Ложь; From 9e3cc5b4f531b9590fb7112153aa74977ce3e614 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Fri, 8 Oct 2021 23:25:27 +0200 Subject: [PATCH 376/421] =?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=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D0=B2=D0=B5=D1=80=D1=82=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B8=20=D0=BC=D0=B0=D0=BA=D0=B5=D1=82=D0=B0=20=D0=B8=D0=B7=20?= =?UTF-8?q?MXL=20=D0=B2=20JSON?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form.xml" | 20 +++++++++++++++++++ .../Ext/Form/Module.bsl" | 13 ++++++++++++ 2 files changed, 33 insertions(+) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" index 34a036b44..c7954d54f 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -53,6 +53,11 @@ Form.StandardCommand.CustomizeForm +
@@ -1359,5 +1364,20 @@ ПроставитьОтборПодчиненныхСсылок + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Конвертировать в JSON</v8:content> + </v8:item> + + + + ru + Конвертировать макет из MXL в JSON + + + КонвертироватьВJSON + \ No newline at end of file diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index f4a9c1a2b..c04c13612 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1329,6 +1329,19 @@ ЗагрузитьДанныеМакетаВБазуНаСервере(МакетДляЗагрузки); КонецПроцедуры +&НаКлиенте +Процедура КонвертироватьВJSON(Команда) + КонвертироватьВJSONНаСервере(); +КонецПроцедуры + +&НаСервере +Процедура КонвертироватьВJSONНаСервере() + + ТекстJSON = Объект().ПреобразоватьМакетДанныхВСтроку(Макет); + МакетТекстовый.УстановитьТекст(ТекстJSON); + +КонецПроцедуры + #КонецОбласти #Область ПоддержкаАсинхронныхВызовов From 694da697f11c9506e0fac2550cd72e9e2f14aad2 Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Sat, 9 Oct 2021 00:19:25 +0200 Subject: [PATCH 377/421] =?UTF-8?q?=D0=9E=D0=BF=D1=82=D0=B8=D0=BC=D0=B8?= =?UTF-8?q?=D0=B7=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=20=D0=BA=D0=BB?= =?UTF-8?q?=D0=B8=D0=B5=D0=BD=D1=82-=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=B2=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE=D0=B4?= =?UTF-8?q?=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 67 ++++++++++--------- 1 file changed, 36 insertions(+), 31 deletions(-) diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c04c13612..36663bd05 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -47,8 +47,8 @@ КонецФункции &НаСервере -Функция СоздатьДанныеПоТабличномуДокументуСервер(ТабличныйДокументИлиМассивТабличныхДокументов, - РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения, ВозвращатьДанные) +Функция СоздатьДанныеПоТабличномуДокументуСервер(Знач ТабличныйДокументИлиМассивТабличныхДокументов, + Знач РежимыЗагрузкиИлиИмяКолонкиЗамещения, Знач ИмяКолонкиЗамещения, Знач ВозвращатьДанные) Данные = Объект().СоздатьДанныеПоТабличномуДокументу(ТабличныйДокументИлиМассивТабличныхДокументов, РежимыЗагрузкиИлиИмяКолонкиЗамещения, ИмяКолонкиЗамещения, Истина); @@ -96,7 +96,7 @@ &НаКлиенте Процедура КоманднаяПанель1СоздатьМакетДанныхПоТаблицеДанных() Если ПроверитьЗаполнение() Тогда - НовыйМакет = СоздатьМакетДанныхПоТаблицеДанныхСервер(); + СоздатьМакетДанныхПоТаблицеДанныхСервер(); КонецЕсли; КонецПроцедуры @@ -104,7 +104,7 @@ Процедура КоманднаяПанель1СоздатьМакетДанныхПоМетаданным() СохранитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); - НовыйМакет = СоздатьМакетДанныхПоМетаданнымСервер(); + СоздатьМакетДанныхПоМетаданнымСервер(); ВосстановитьОтображениеДерева(Объект.ДеревоМетаданных.ПолучитьЭлементы()); КонецПроцедуры @@ -117,19 +117,13 @@ Строка = Объект.ПользователиИБ.НайтиПоИдентификатору(ИдентификаторСтроки); МассивИменПользователей.Добавить(Строка.Имя); КонецЦикла; - НовыйМакет = СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей); + СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей); КонецПроцедуры &НаКлиенте Процедура ПротестироватьЗагрузкуМакета(Команда) - - МакетДляЗагрузки = Макет; - Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда - МакетДляЗагрузки = МакетТекстовый; - КонецЕсли; - - ПроверитьЗагрузкуМакетаСервер(МакетДляЗагрузки); + ПроверитьЗагрузкуМакетаСервер(); КонецПроцедуры &НаКлиенте @@ -199,12 +193,12 @@ КонецПроцедуры &НаСервере -Функция СоздатьМакетДанныхПоТаблицеДанныхСервер() - Возврат Объект().СоздатьМакетДанныхПоТаблицеДанных(Макет); -КонецФункции +Процедура СоздатьМакетДанныхПоТаблицеДанныхСервер() + Объект().СоздатьМакетДанныхПоТаблицеДанных(Макет); +КонецПроцедуры &НаСервере -Функция СоздатьМакетДанныхПоМетаданнымСервер() +Процедура СоздатьМакетДанныхПоМетаданнымСервер() ОбъектНаСервере = Объект(); ЗаполнитьДеревоМетаданныхНаСервере(ОбъектНаСервере); @@ -212,17 +206,24 @@ МакетТекстовый.УстановитьТекст(ОбъектНаСервере.ПреобразоватьМакетДанныхВСтроку(НовыйМакет)); ЗначениеВРеквизитФормы(ОбъектНаСервере.ДеревоМетаданных, "Объект.ДеревоМетаданных"); - Возврат НовыйМакет; - -КонецФункции +КонецПроцедуры -Функция СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей) - Возврат Объект().СоздатьМакетДанныхПоПользователямИБ(Макет, МассивИменПользователей); -КонецФункции +&НаСервере +Процедура СоздатьМакетДанныхПоПользователямИБСервер(МассивИменПользователей) + Объект().СоздатьМакетДанныхПоПользователямИБ(Макет, МассивИменПользователей); +КонецПроцедуры &НаСервере -Процедура ПроверитьЗагрузкуМакетаСервер(ТабличныйДокумент) - Объект().ПроверитьЗагрузкуМакета(ТабличныйДокумент); +Процедура ПроверитьЗагрузкуМакетаСервер() + + Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда + МакетДляЗагрузки = МакетТекстовый; + Иначе + МакетДляЗагрузки = Макет; + КонецЕсли; + + Объект().ПроверитьЗагрузкуМакета(МакетДляЗагрузки, Ложь); + КонецПроцедуры &НаСервере @@ -1316,17 +1317,21 @@ Конецпроцедуры &НаСервере -Процедура ЗагрузитьДанныеМакетаВБазуНаСервере(Макет) - Объект().ПроверитьЗагрузкуМакета(Макет, Истина); +Процедура ЗагрузитьДанныеМакетаВБазуНаСервере() + + Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда + МакетДляЗагрузки = МакетТекстовый; + Иначе + МакетДляЗагрузки = Макет; + КонецЕсли; + + Объект().ПроверитьЗагрузкуМакета(МакетДляЗагрузки, Истина); + КонецПроцедуры &НаКлиенте Процедура ЗагрузитьДанныеМакетаВБазу(Команда) - МакетДляЗагрузки = Макет; - Если Элементы.ГруппаСтраницыМакеты.ТекущаяСтраница = Элементы.ГруппаТекстовыйДокумент Тогда - МакетДляЗагрузки = МакетТекстовый; - КонецЕсли; - ЗагрузитьДанныеМакетаВБазуНаСервере(МакетДляЗагрузки); + ЗагрузитьДанныеМакетаВБазуНаСервере(); КонецПроцедуры &НаКлиенте From dc52a95c76f07c70463b99bdaaef63f24762c87b Mon Sep 17 00:00:00 2001 From: Yuri Goncharuk Date: Mon, 11 Oct 2021 11:48:15 +0200 Subject: [PATCH 378/421] =?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=BE=20=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=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=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D1=8F=D0=B5?= =?UTF-8?q?=D0=BC=D0=BE=D0=B3=D0=BE=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D1=81=D0=BA=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82=D0=B0=20=D0=A3=D1=82=D0=B2=D0=B5=D1=80=D0=B6?= =?UTF-8?q?=D0=B4=D0=B5=D0=BD=D0=B8=D1=8FBDD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 512c9aae9..4706c4436 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217BDD/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -8,6 +8,9 @@ &НаКлиенте Перем ПроверяемоеЗначение; +&НаКлиенте +Перем ПараметрыМетода; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт @@ -50,9 +53,9 @@ КонецФункции &НаКлиенте -Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт +Функция Метод(Знач ИмяМетода, Знач ПараметрыМетодаПараметр = Неопределено) Экспорт Объект.ИмяМетода = ИмяМетода; - Объект.ПараметрыМетода = ПараметрыМетода; + ПараметрыМетода = ПараметрыМетодаПараметр; Возврат ЭтаФорма; КонецФункции @@ -292,8 +295,8 @@ Функция ВыбрасываетИсключение(Знач ФрагментИсключения = "") Экспорт Контекст = ПроверяемоеЗначение; СтрокаПараметры = ""; - Если ТипЗнч(Объект.ПараметрыМетода) = Тип("Массив") Тогда - Для Сч = 0 По Объект.ПараметрыМетода.Количество() - 1 Цикл + Если ТипЗнч(ПараметрыМетода) = Тип("Массив") Тогда + Для Сч = 0 По ПараметрыМетода.Количество() - 1 Цикл СтрокаПараметры = СтрокаПараметры + ",ПараметрыМетода[" + Сч + "]"; КонецЦикла; СтрокаПараметры = Сред(СтрокаПараметры, 2); From 957e754358b564d17a57175c1646cb43bc39019c Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 18:44:12 +0300 Subject: [PATCH 379/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 244 +++++++++--------- 1 file changed, 122 insertions(+), 122 deletions(-) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" index 9865da4cb..9727f54d3 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" @@ -7,7 +7,7 @@ Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); Результат.Вставить("Представление", "УтвержденияПроверкаТаблиц"); - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции @@ -16,46 +16,46 @@ // } Plugin interface Процедура ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки = "", ДопПараметры = Неопределено) Экспорт - + Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда ВызватьИсключение "ПроверитьРавенствоТаблиц: Первый параметр-таблица таблицей не является"; КонецЕсли; Если ТипЗнч(Таб2) <> Тип("ТаблицаЗначений") Тогда ВызватьИсключение "ПроверитьРавенствоТаблиц: Второй параметр-таблица таблицей не является"; КонецЕсли; - + Различия = Новый ТаблицаЗначений; РезультатСравнения = СравнитьТаблицы(Таб1, Таб2, Различия, ДопСообщениеОшибки, ДопПараметры); - + Если РезультатыСравненияТаблиц.ТаблицыСовпадают <> РезультатСравнения Тогда - + ИменаРезультатов = Новый Соответствие; Для Каждого КлючЗначение Из РезультатыСравненияТаблиц Цикл ИменаРезультатов.Вставить(КлючЗначение.Значение, КлючЗначение.Ключ); - КонецЦикла; + КонецЦикла; СтрокаОшибок = "Различия в таблицах:" + Символы.ПС; СтрокаОшибок = СтрокаОшибок + "Ожидали статус <" + ИменаРезультатов[РезультатыСравненияТаблиц.ТаблицыСовпадают] + ">, а получили <" + ИменаРезультатов[РезультатСравнения] + ">" + Символы.ПС; Для Каждого Строка Из Различия Цикл СтрокаОшибок = СтрокаОшибок + "Значение [" + Строка.Колонка + ":" + Строка.Строка + "]. Ожидали <" + Строка.Ожидание + ">, а получили <" + Строка.Результат + ">" + Символы.ПС; КонецЦикла; - + ВызватьОшибкуПроверки("Таблицы должны совпадать, а они различны" + Символы.ПС + СтрокаОшибок + Символы.ПС + ДопСообщениеОшибки); - + КонецЕсли; - + КонецПроцедуры -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "", Знач ДопПараметры = Неопределено) Экспорт - + Если ТипЗнч(ТабДок1) <> Тип("ТабличныйДокумент") Тогда ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Первый параметр-таблица не является табличным документов"; КонецЕсли; Если ТипЗнч(ТабДок2) <> Тип("ТабличныйДокумент") Тогда ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Второй параметр-таблица не является табличным документов"; КонецЕсли; - + УчитыватьТолькоВидимыеКолонки = Ложь; Если ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Булево") Тогда УчитыватьТолькоВидимыеКолонки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; @@ -68,34 +68,34 @@ ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Строка") Тогда ДопСообщениеОшибки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; КонецЕсли; - + Таб1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок1, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); Таб2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок2, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); - + ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки, ДопПараметры); - + КонецПроцедуры // портирован из Functest Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь) Экспорт - + ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент); Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента"; КонецЕсли; - + НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы; - + НоваяТаблицаЗначений = Новый ТаблицаЗначений; Колонки = НоваяТаблицаЗначений.Колонки; ТипСтрока = Новый ОписаниеТипов("Строка"); - + // TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимоcть колонки определяется по формату первой строки УчитываемыеКолонки = Новый Массив; Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки); - + УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость; Если УчитыватьКолонку Тогда УчитываемыеКолонки.Добавить(НомерКолонки); @@ -107,46 +107,46 @@ Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки); КонецЕсли; КонецЦикла; - + ГраницаКолонок = УчитываемыеКолонки.ВГраница(); Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл - - Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки,, НомерСтроки).Видимость Тогда + + Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки, , НомерСтроки).Видимость Тогда Продолжить; КонецЕсли; - + НоваяСтрока = НоваяТаблицаЗначений.Добавить(); - + Для Индекс = 0 По ГраницаКолонок Цикл НомерКолонки = УчитываемыеКолонки[Индекс]; Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); НоваяСтрока[Индекс] = Область.Текст; КонецЦикла; КонецЦикла; - + Возврат НоваяТаблицаЗначений; - + КонецФункции // портирован из Functest Функция СравнитьТаблицы(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопСообщениеОшибки = "", ДопПараметры = Неопределено) - + Перем Итог; - + Если ДопПараметры = Неопределено ИЛИ ТипЗнч(ДопПараметры) <> Тип("Структура") Тогда ДопПараметры = Новый Структура; КонецЕсли; - //Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда + // Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда // Возврат РезультатыСравненияТаблиц.РазноеКоличествоСтрок; //КонецЕсли; - + Если ТаблицаОжиданий.Количество() = 0 И ТаблицаРезультатов.Количество() = 0 Тогда - Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; //Пустые таблицы всегда одинаковы + Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; // Пустые таблицы всегда одинаковы КонецЕсли; - - //Проверим структуру колонок - - //TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, + + // Проверим структуру колонок + + // TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, // так что для абсолютного точного сравнения нужно добавить проверку совпадения количества колонок. ОжидаемыеКолонки = ТаблицаОжиданий.Колонки; КолонкиРезультата = ТаблицаРезультатов.Колонки; @@ -156,76 +156,76 @@ Возврат РезультатыСравненияТаблиц.РазличаютсяКолонки; КонецЕсли; КонецЦикла; - + Если ДопПараметры.Свойство("НечеткоеСравнение") Тогда Итог = СравнитьТаблицыБезУчетаПоследовательностиСтрок(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопПараметры); Иначе Итог = СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопПараметры); - КонецЕсли; + КонецЕсли; Возврат Итог; - + КонецФункции Функция СравнитьТаблицыБезУчетаПоследовательностиСтрок(ТаблицаОжиданий, ТаблицаРезультатов, Различия, ДопПараметры) РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; - + Различия = Новый ТаблицаЗначений; Различия.Колонки.Очистить(); - Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); - Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); + Различия.Колонки.Добавить("Строка", Новый ОписаниеТипов("Число")); + Различия.Колонки.Добавить("Колонка", Новый ОписаниеТипов("Строка")); Различия.Колонки.Добавить("Ожидание"); Различия.Колонки.Добавить("Результат"); - - ТаблицаОжиданийСлужебная = ТаблицаОжиданий.Скопировать(); + + ТаблицаОжиданийСлужебная = ТаблицаОжиданий.Скопировать(); ТаблицаОжиданийСлужебная.Колонки.Добавить("Обработано", Новый ОписаниеТипов("Булево")); ТаблицаРезультатовСлужебная = ТаблицаРезультатов.Скопировать(); ТаблицаРезультатовСлужебная.Колонки.Добавить("Обработано", Новый ОписаниеТипов("Булево")); - + ПараметрыПоиска = ПараметрыПоискаВТаблицы(ТаблицаОжиданийСлужебная); ПараметрыПоиска.Удалить("Обработано"); Индекс = 0; Для каждого СтрокаОжиданий Из ТаблицаОжиданийСлужебная Цикл - + Если СтрокаОжиданий.Обработано Тогда Продолжить; - КонецЕсли; - ЗаполнитьЗначенияСвойств(ПараметрыПоиска, СтрокаОжиданий); - + КонецЕсли; + ЗаполнитьЗначенияСвойств(ПараметрыПоиска, СтрокаОжиданий); + СтрокиОжиданий = ТаблицаОжиданийСлужебная.НайтиСтроки(ПараметрыПоиска); СтрокиРезультата = ТаблицаРезультатовСлужебная.НайтиСтроки(ПараметрыПоиска); Если СтрокиОжиданий.Количество() <> СтрокиРезультата.Количество() Тогда - + Различие = Различия.Добавить(); - Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(СтрокаОжиданий)+1; + Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(СтрокаОжиданий) + 1; Различие.Колонка = ""; - Различие.Ожидание = "Количество строк = "+СтрокиОжиданий.Количество(); - Различие.Результат = "Количество строк = "+СтрокиРезультата.Количество() + " для строки:" + Различие.Ожидание = "Количество строк = " + СтрокиОжиданий.Количество(); + Различие.Результат = "Количество строк = " + СтрокиРезультата.Количество() + " для строки:" + Символы.ПС + Символы.Таб + ПредставлениеСтроки(СтрокаОжиданий, ПараметрыПоиска); РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - - КонецЕсли; - + + КонецЕсли; + УстановитьФлагОбработано(СтрокиОжиданий); УстановитьФлагОбработано(СтрокиРезультата); - - КонецЦикла; - + + КонецЦикла; + НенайденныеСтрокиВРезультате = ТаблицаРезультатовСлужебная.НайтиСтроки(Новый Структура("Обработано", Ложь)); Для каждого НеобработаннаяСтрока Из НенайденныеСтрокиВРезультате Цикл - + Различие = Различия.Добавить(); - Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(НеобработаннаяСтрока)+1; + Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(НеобработаннаяСтрока) + 1; Различие.Колонка = ""; Различие.Ожидание = "Есть в таблице эталоне"; Различие.Результат = "Нет в таблице эталоне для строки: " + Символы.ПС + Символы.Таб + ПредставлениеСтроки(НеобработаннаяСтрока, ПараметрыПоиска); - РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - - КонецЦикла; - + РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; + + КонецЦикла; + Возврат РезультатСравнения; КонецФункции @@ -233,8 +233,8 @@ Процедура УстановитьФлагОбработано(НаборСрок) Для каждого СтрокаНабора Из НаборСрок Цикл - СтрокаНабора.Обработано = Истина; - КонецЦикла; + СтрокаНабора.Обработано = Истина; + КонецЦикла; КонецПроцедуры @@ -242,13 +242,13 @@ Представление = Новый Массив; Для каждого КлючЗначение Из ПараметрыСравнения Цикл - - Представление.Добавить(КлючЗначение.Ключ+" = "+СтрокаТаблицы[КлючЗначение.Ключ]); - - КонецЦикла; - Возврат СтрСоединить_(Представление, Символы.ПС+Символы.Таб); -КонецФункции + Представление.Добавить(КлючЗначение.Ключ + " = " + СтрокаТаблицы[КлючЗначение.Ключ]); + + КонецЦикла; + Возврат СтрСоединить_(Представление, Символы.ПС + Символы.Таб); + +КонецФункции Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт СтрокаРезультат = ""; @@ -272,10 +272,10 @@ Для каждого Колонка Из Таблица.Колонки Цикл ПараметрыПоиска.Вставить(Колонка.Имя); КонецЦикла; - + Возврат ПараметрыПоиска; -КонецФункции +КонецФункции Процедура ВТаблицеЕстьСтрока(Таблица, ПредставлениеСтроки) Экспорт @@ -283,11 +283,11 @@ Если Строки.Количество() = 0 Тогда ПредставлениеКлючаПоиска = ""; Для каждого КлючЗначение Из ПредставлениеСтроки Цикл - ПредставлениеКлючаПоиска = ПредставлениеКлючаПоиска + КлючЗначение.Ключ+":"+КлючЗначение.Значение+"," - КонецЦикла; - ПредставлениеКлючаПоиска = Лев(ПредставлениеКлючаПоиска, СтрДлина(ПредставлениеКлючаПоиска)-1); - ВызватьОшибкуПроверки("Не найдена строка по ключу поиска: "+ПредставлениеКлючаПоиска); - КонецЕсли; + ПредставлениеКлючаПоиска = ПредставлениеКлючаПоиска + КлючЗначение.Ключ + ":" + КлючЗначение.Значение + "," + КонецЦикла; + ПредставлениеКлючаПоиска = Лев(ПредставлениеКлючаПоиска, СтрДлина(ПредставлениеКлючаПоиска) - 1); + ВызватьОшибкуПроверки("Не найдена строка по ключу поиска: " + ПредставлениеКлючаПоиска); + КонецЕсли; КонецПроцедуры @@ -310,19 +310,19 @@ СпецСимволы.Добавить("."); СпецСимволы.Добавить("+"); СпецСимволы.Добавить("?"); - + Для Каждого СпецСимвол Из СпецСимволы Цикл - Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); + Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); КонецЦикла; - + // Трактуем * по-нашему. Шаблон = СтрЗаменить(Шаблон, "*", ".+"); - + Возврат Шаблон; -КонецФункции +КонецФункции -//взято из https://infostart.ru/public/464971/ +// взято из https://infostart.ru/public/464971/ Функция ПроверитьСтрокуRexExpLinux(Строка, Фасет) Чтение = Новый ЧтениеXML; Чтение.УстановитьСтроку( @@ -350,26 +350,26 @@ КонецПопытки; КонецФункции -//позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" -//при этом подстрока "Шаблон" может содержать символы * -//например СтрокаСоответствуетШаблону("Привет","*вет") +// позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" +// при этом подстрока "Шаблон" может содержать символы * +// например СтрокаСоответствуетШаблону("Привет","*вет") Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); ЭтоLinux = Истина; Если ЭтоLinux Тогда - Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока,Шаблон); - Иначе + Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока, Шаблон); + Иначе Если Регулярка = Неопределено Тогда Регулярка = Новый COMОбъект("VBScript.RegExp"); КонецЕсли; - + Регулярка.Global = Истина; - //для VBScript.RegExp явно указываем что есть начало и конец строки + // для VBScript.RegExp явно указываем что есть начало и конец строки Шаблон = "^" + Шаблон + "$"; Регулярка.Pattern = Шаблон; Возврат Регулярка.Test(ПроверяемаяСтрока); - КонецЕсли; -КонецФункции + КонецЕсли; +КонецФункции // портирован из Functest Функция СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, Различия, ДопПараметры) @@ -380,71 +380,71 @@ СравнениеПоШаблону = ДопПараметры.СравнениеПоШаблону; КонецЕсли; КонецЕсли; - - + + Различия = Новый ТаблицаЗначений; Различия.Колонки.Очистить(); - Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); - Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); + Различия.Колонки.Добавить("Строка", Новый ОписаниеТипов("Число")); + Различия.Колонки.Добавить("Колонка", Новый ОписаниеТипов("Строка")); Различия.Колонки.Добавить("Ожидание"); Различия.Колонки.Добавить("Результат"); - + РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; - + Колонки = ТаблицаОжиданий.Колонки; ГраницаСтрокОжиданий = ТаблицаОжиданий.Количество() - 1; ГраницаСтрокРезультата = ТаблицаРезультатов.Количество() - 1; ГраницаСтрок = Макс(ГраницаСтрокОжиданий, ГраницаСтрокРезультата); Для Индекс = 0 По ГраницаСтрок Цикл - + ОжидаемаяСтрока = ?(Индекс <= ГраницаСтрокОжиданий, ТаблицаОжиданий[Индекс], ТаблицаОжиданий.Добавить()); СтрокаРезультата = ?(Индекс <= ГраницаСтрокРезультата, ТаблицаРезультатов[Индекс], ТаблицаРезультатов.Добавить()); - + Для Каждого Колонка Из Колонки Цикл ИмяКолонки = Колонка.Имя; - + ОжидаемоеЗначение = ОжидаемаяСтрока[ИмяКолонки]; ЗначениеРезультата = СтрокаРезультата[ИмяКолонки]; - + Если ОжидаемоеЗначение = "*" Тогда Продолжить; КонецЕсли; - ОжидаемоеЗначение = СтрЗаменить(ОжидаемоеЗначение,Символы.НПП," "); - ЗначениеРезультата = СтрЗаменить(ЗначениеРезультата,Символы.НПП," "); - + ОжидаемоеЗначение = СтрЗаменить(ОжидаемоеЗначение, Символы.НПП, " "); + ЗначениеРезультата = СтрЗаменить(ЗначениеРезультата, Символы.НПП, " "); + Если НЕ СравнениеПоШаблону Тогда Если ОжидаемоеЗначение = ЗначениеРезультата - Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда //Пустые значения разных типов 1С-м не считаются равными :( + Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда // Пустые значения разных типов 1С-м не считаются равными :( Продолжить; КонецЕсли; - Иначе - Если СтрокаСоответствуетШаблону(ЗначениеРезультата,ОжидаемоеЗначение) Тогда + Иначе + Если СтрокаСоответствуетШаблону(ЗначениеРезультата, ОжидаемоеЗначение) Тогда Продолжить; - КонецЕсли; - КонецЕсли; - + КонецЕсли; + КонецЕсли; + Различие = Различия.Добавить(); Различие.Строка = Индекс + 1; Различие.Колонка = ИмяКолонки; Различие.Ожидание = ОжидаемоеЗначение; Различие.Результат = ЗначениеРезультата; РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - + КонецЦикла; - + КонецЦикла; - + Возврат РезультатСравнения; - + КонецФункции Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") - - Префикс = "["+ СтатусыРезультатаТестирования().ОшибкаПроверки + "]"; + + Префикс = "[" + СтатусыРезультатаТестирования().ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; - + КонецПроцедуры Функция СтатусыРезультатаТестирования() @@ -452,7 +452,7 @@ СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); - + Возврат Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); КонецФункции From 801c24e64d2353fa4044a8f873f06ead1b190852 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 18:44:12 +0300 Subject: [PATCH 380/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 244 +++++++++--------- 1 file changed, 122 insertions(+), 122 deletions(-) diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" index 9865da4cb..9727f54d3 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" @@ -7,7 +7,7 @@ Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); Результат.Вставить("Представление", "УтвержденияПроверкаТаблиц"); - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции @@ -16,46 +16,46 @@ // } Plugin interface Процедура ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки = "", ДопПараметры = Неопределено) Экспорт - + Если ТипЗнч(Таб1) <> Тип("ТаблицаЗначений") Тогда ВызватьИсключение "ПроверитьРавенствоТаблиц: Первый параметр-таблица таблицей не является"; КонецЕсли; Если ТипЗнч(Таб2) <> Тип("ТаблицаЗначений") Тогда ВызватьИсключение "ПроверитьРавенствоТаблиц: Второй параметр-таблица таблицей не является"; КонецЕсли; - + Различия = Новый ТаблицаЗначений; РезультатСравнения = СравнитьТаблицы(Таб1, Таб2, Различия, ДопСообщениеОшибки, ДопПараметры); - + Если РезультатыСравненияТаблиц.ТаблицыСовпадают <> РезультатСравнения Тогда - + ИменаРезультатов = Новый Соответствие; Для Каждого КлючЗначение Из РезультатыСравненияТаблиц Цикл ИменаРезультатов.Вставить(КлючЗначение.Значение, КлючЗначение.Ключ); - КонецЦикла; + КонецЦикла; СтрокаОшибок = "Различия в таблицах:" + Символы.ПС; СтрокаОшибок = СтрокаОшибок + "Ожидали статус <" + ИменаРезультатов[РезультатыСравненияТаблиц.ТаблицыСовпадают] + ">, а получили <" + ИменаРезультатов[РезультатСравнения] + ">" + Символы.ПС; Для Каждого Строка Из Различия Цикл СтрокаОшибок = СтрокаОшибок + "Значение [" + Строка.Колонка + ":" + Строка.Строка + "]. Ожидали <" + Строка.Ожидание + ">, а получили <" + Строка.Результат + ">" + Символы.ПС; КонецЦикла; - + ВызватьОшибкуПроверки("Таблицы должны совпадать, а они различны" + Символы.ПС + СтрокаОшибок + Символы.ПС + ДопСообщениеОшибки); - + КонецЕсли; - + КонецПроцедуры -Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, +Процедура ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям(ТабДок1, ТабДок2, УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки = Ложь, УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки = Ложь, Знач ДопСообщениеОшибки = "", Знач ДопПараметры = Неопределено) Экспорт - + Если ТипЗнч(ТабДок1) <> Тип("ТабличныйДокумент") Тогда ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Первый параметр-таблица не является табличным документов"; КонецЕсли; Если ТипЗнч(ТабДок2) <> Тип("ТабличныйДокумент") Тогда ВызватьИсключение "ПроверитьРавенствоТабличныхДокументовТолькоПоЗначениям: Второй параметр-таблица не является табличным документов"; КонецЕсли; - + УчитыватьТолькоВидимыеКолонки = Ложь; Если ТипЗнч(УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки) = Тип("Булево") Тогда УчитыватьТолькоВидимыеКолонки = УчитыватьТолькоВидимыеКолонкиИлиДопСообщениеОшибки; @@ -68,34 +68,34 @@ ИначеЕсли ТипЗнч(УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки) = Тип("Строка") Тогда ДопСообщениеОшибки = УчитыватьТолькоВидимыеСтрокиИлиДопСообщениеОшибки; КонецЕсли; - + Таб1 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок1, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); Таб2 = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок2, УчитыватьТолькоВидимыеКолонки, УчитыватьТолькоВидимыеСтроки); - + ПроверитьРавенствоТаблиц(Таб1, Таб2, ДопСообщениеОшибки, ДопПараметры); - + КонецПроцедуры // портирован из Functest Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабличныйДокумент, УчитыватьТолькоВидимыеКолонки = Ложь, УчитыватьТолькоВидимыеСтроки = Ложь) Экспорт - + ТипТабличногоДокумента = ТипЗнч(ТабличныйДокумент); Если ТипТабличногоДокумента <> Тип("ТабличныйДокумент") И ТипТабличногоДокумента <> Тип("ПолеТабличногоДокумента") Тогда ВызватьИсключение "ПолучитьТаблицуЗначенийИзТабличногоДокумента: Требуется тип ТабличныйДокумент или ПолеТабличногоДокумента"; КонецЕсли; - + НомерПоследнейКолонки = ТабличныйДокумент.ШиринаТаблицы; НомерПоследнейСтроки = ТабличныйДокумент.ВысотаТаблицы; - + НоваяТаблицаЗначений = Новый ТаблицаЗначений; Колонки = НоваяТаблицаЗначений.Колонки; ТипСтрока = Новый ОписаниеТипов("Строка"); - + // TODO При определении видимости не учитывается наличие нескольких форматов строк, сейчас видимоcть колонки определяется по формату первой строки УчитываемыеКолонки = Новый Массив; Для НомерКолонки = 1 По НомерПоследнейКолонки Цикл ОбластьКолонки = ТабличныйДокумент.Область(0, НомерКолонки, 1, НомерКолонки); - + УчитыватьКолонку = Не УчитыватьТолькоВидимыеКолонки Или ОбластьКолонки.Видимость; Если УчитыватьКолонку Тогда УчитываемыеКолонки.Добавить(НомерКолонки); @@ -107,46 +107,46 @@ Колонки.Добавить(ИмяКолонки, ТипСтрока, ИмяКолонки, ШиринаКолонки); КонецЕсли; КонецЦикла; - + ГраницаКолонок = УчитываемыеКолонки.ВГраница(); Для НомерСтроки = 1 По НомерПоследнейСтроки Цикл - - Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки,, НомерСтроки).Видимость Тогда + + Если УчитыватьТолькоВидимыеСтроки И Не ТабличныйДокумент.Область(НомерСтроки, , НомерСтроки).Видимость Тогда Продолжить; КонецЕсли; - + НоваяСтрока = НоваяТаблицаЗначений.Добавить(); - + Для Индекс = 0 По ГраницаКолонок Цикл НомерКолонки = УчитываемыеКолонки[Индекс]; Область = ТабличныйДокумент.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки); НоваяСтрока[Индекс] = Область.Текст; КонецЦикла; КонецЦикла; - + Возврат НоваяТаблицаЗначений; - + КонецФункции // портирован из Functest Функция СравнитьТаблицы(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопСообщениеОшибки = "", ДопПараметры = Неопределено) - + Перем Итог; - + Если ДопПараметры = Неопределено ИЛИ ТипЗнч(ДопПараметры) <> Тип("Структура") Тогда ДопПараметры = Новый Структура; КонецЕсли; - //Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда + // Если ТаблицаОжиданий.Количество() <> ТаблицаРезультатов.Количество() Тогда // Возврат РезультатыСравненияТаблиц.РазноеКоличествоСтрок; //КонецЕсли; - + Если ТаблицаОжиданий.Количество() = 0 И ТаблицаРезультатов.Количество() = 0 Тогда - Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; //Пустые таблицы всегда одинаковы + Возврат РезультатыСравненияТаблиц.ТаблицыСовпадают; // Пустые таблицы всегда одинаковы КонецЕсли; - - //Проверим структуру колонок - - //TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, + + // Проверим структуру колонок + + // TODO При этом сравнении в структуре ТаблицаРезультатов может оказаться больше колонок, чем в ТаблицаОжиданий, // так что для абсолютного точного сравнения нужно добавить проверку совпадения количества колонок. ОжидаемыеКолонки = ТаблицаОжиданий.Колонки; КолонкиРезультата = ТаблицаРезультатов.Колонки; @@ -156,76 +156,76 @@ Возврат РезультатыСравненияТаблиц.РазличаютсяКолонки; КонецЕсли; КонецЦикла; - + Если ДопПараметры.Свойство("НечеткоеСравнение") Тогда Итог = СравнитьТаблицыБезУчетаПоследовательностиСтрок(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопПараметры); Иначе Итог = СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, ТаблицаРазличий, ДопПараметры); - КонецЕсли; + КонецЕсли; Возврат Итог; - + КонецФункции Функция СравнитьТаблицыБезУчетаПоследовательностиСтрок(ТаблицаОжиданий, ТаблицаРезультатов, Различия, ДопПараметры) РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; - + Различия = Новый ТаблицаЗначений; Различия.Колонки.Очистить(); - Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); - Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); + Различия.Колонки.Добавить("Строка", Новый ОписаниеТипов("Число")); + Различия.Колонки.Добавить("Колонка", Новый ОписаниеТипов("Строка")); Различия.Колонки.Добавить("Ожидание"); Различия.Колонки.Добавить("Результат"); - - ТаблицаОжиданийСлужебная = ТаблицаОжиданий.Скопировать(); + + ТаблицаОжиданийСлужебная = ТаблицаОжиданий.Скопировать(); ТаблицаОжиданийСлужебная.Колонки.Добавить("Обработано", Новый ОписаниеТипов("Булево")); ТаблицаРезультатовСлужебная = ТаблицаРезультатов.Скопировать(); ТаблицаРезультатовСлужебная.Колонки.Добавить("Обработано", Новый ОписаниеТипов("Булево")); - + ПараметрыПоиска = ПараметрыПоискаВТаблицы(ТаблицаОжиданийСлужебная); ПараметрыПоиска.Удалить("Обработано"); Индекс = 0; Для каждого СтрокаОжиданий Из ТаблицаОжиданийСлужебная Цикл - + Если СтрокаОжиданий.Обработано Тогда Продолжить; - КонецЕсли; - ЗаполнитьЗначенияСвойств(ПараметрыПоиска, СтрокаОжиданий); - + КонецЕсли; + ЗаполнитьЗначенияСвойств(ПараметрыПоиска, СтрокаОжиданий); + СтрокиОжиданий = ТаблицаОжиданийСлужебная.НайтиСтроки(ПараметрыПоиска); СтрокиРезультата = ТаблицаРезультатовСлужебная.НайтиСтроки(ПараметрыПоиска); Если СтрокиОжиданий.Количество() <> СтрокиРезультата.Количество() Тогда - + Различие = Различия.Добавить(); - Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(СтрокаОжиданий)+1; + Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(СтрокаОжиданий) + 1; Различие.Колонка = ""; - Различие.Ожидание = "Количество строк = "+СтрокиОжиданий.Количество(); - Различие.Результат = "Количество строк = "+СтрокиРезультата.Количество() + " для строки:" + Различие.Ожидание = "Количество строк = " + СтрокиОжиданий.Количество(); + Различие.Результат = "Количество строк = " + СтрокиРезультата.Количество() + " для строки:" + Символы.ПС + Символы.Таб + ПредставлениеСтроки(СтрокаОжиданий, ПараметрыПоиска); РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - - КонецЕсли; - + + КонецЕсли; + УстановитьФлагОбработано(СтрокиОжиданий); УстановитьФлагОбработано(СтрокиРезультата); - - КонецЦикла; - + + КонецЦикла; + НенайденныеСтрокиВРезультате = ТаблицаРезультатовСлужебная.НайтиСтроки(Новый Структура("Обработано", Ложь)); Для каждого НеобработаннаяСтрока Из НенайденныеСтрокиВРезультате Цикл - + Различие = Различия.Добавить(); - Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(НеобработаннаяСтрока)+1; + Различие.Строка = ТаблицаРезультатовСлужебная.Индекс(НеобработаннаяСтрока) + 1; Различие.Колонка = ""; Различие.Ожидание = "Есть в таблице эталоне"; Различие.Результат = "Нет в таблице эталоне для строки: " + Символы.ПС + Символы.Таб + ПредставлениеСтроки(НеобработаннаяСтрока, ПараметрыПоиска); - РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - - КонецЦикла; - + РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; + + КонецЦикла; + Возврат РезультатСравнения; КонецФункции @@ -233,8 +233,8 @@ Процедура УстановитьФлагОбработано(НаборСрок) Для каждого СтрокаНабора Из НаборСрок Цикл - СтрокаНабора.Обработано = Истина; - КонецЦикла; + СтрокаНабора.Обработано = Истина; + КонецЦикла; КонецПроцедуры @@ -242,13 +242,13 @@ Представление = Новый Массив; Для каждого КлючЗначение Из ПараметрыСравнения Цикл - - Представление.Добавить(КлючЗначение.Ключ+" = "+СтрокаТаблицы[КлючЗначение.Ключ]); - - КонецЦикла; - Возврат СтрСоединить_(Представление, Символы.ПС+Символы.Таб); -КонецФункции + Представление.Добавить(КлючЗначение.Ключ + " = " + СтрокаТаблицы[КлючЗначение.Ключ]); + + КонецЦикла; + Возврат СтрСоединить_(Представление, Символы.ПС + Символы.Таб); + +КонецФункции Функция СтрСоединить_(МассивЭлементов, Символ = "") Экспорт СтрокаРезультат = ""; @@ -272,10 +272,10 @@ Для каждого Колонка Из Таблица.Колонки Цикл ПараметрыПоиска.Вставить(Колонка.Имя); КонецЦикла; - + Возврат ПараметрыПоиска; -КонецФункции +КонецФункции Процедура ВТаблицеЕстьСтрока(Таблица, ПредставлениеСтроки) Экспорт @@ -283,11 +283,11 @@ Если Строки.Количество() = 0 Тогда ПредставлениеКлючаПоиска = ""; Для каждого КлючЗначение Из ПредставлениеСтроки Цикл - ПредставлениеКлючаПоиска = ПредставлениеКлючаПоиска + КлючЗначение.Ключ+":"+КлючЗначение.Значение+"," - КонецЦикла; - ПредставлениеКлючаПоиска = Лев(ПредставлениеКлючаПоиска, СтрДлина(ПредставлениеКлючаПоиска)-1); - ВызватьОшибкуПроверки("Не найдена строка по ключу поиска: "+ПредставлениеКлючаПоиска); - КонецЕсли; + ПредставлениеКлючаПоиска = ПредставлениеКлючаПоиска + КлючЗначение.Ключ + ":" + КлючЗначение.Значение + "," + КонецЦикла; + ПредставлениеКлючаПоиска = Лев(ПредставлениеКлючаПоиска, СтрДлина(ПредставлениеКлючаПоиска) - 1); + ВызватьОшибкуПроверки("Не найдена строка по ключу поиска: " + ПредставлениеКлючаПоиска); + КонецЕсли; КонецПроцедуры @@ -310,19 +310,19 @@ СпецСимволы.Добавить("."); СпецСимволы.Добавить("+"); СпецСимволы.Добавить("?"); - + Для Каждого СпецСимвол Из СпецСимволы Цикл - Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); + Шаблон = СтрЗаменить(Шаблон, СпецСимвол, "\" + СпецСимвол); КонецЦикла; - + // Трактуем * по-нашему. Шаблон = СтрЗаменить(Шаблон, "*", ".+"); - + Возврат Шаблон; -КонецФункции +КонецФункции -//взято из https://infostart.ru/public/464971/ +// взято из https://infostart.ru/public/464971/ Функция ПроверитьСтрокуRexExpLinux(Строка, Фасет) Чтение = Новый ЧтениеXML; Чтение.УстановитьСтроку( @@ -350,26 +350,26 @@ КонецПопытки; КонецФункции -//позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" -//при этом подстрока "Шаблон" может содержать символы * -//например СтрокаСоответствуетШаблону("Привет","*вет") +// позволяет сделать поиск в строке "ПроверяемаяСтрока" подстроки "Шаблон" +// при этом подстрока "Шаблон" может содержать символы * +// например СтрокаСоответствуетШаблону("Привет","*вет") Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); ЭтоLinux = Истина; Если ЭтоLinux Тогда - Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока,Шаблон); - Иначе + Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока, Шаблон); + Иначе Если Регулярка = Неопределено Тогда Регулярка = Новый COMОбъект("VBScript.RegExp"); КонецЕсли; - + Регулярка.Global = Истина; - //для VBScript.RegExp явно указываем что есть начало и конец строки + // для VBScript.RegExp явно указываем что есть начало и конец строки Шаблон = "^" + Шаблон + "$"; Регулярка.Pattern = Шаблон; Возврат Регулярка.Test(ПроверяемаяСтрока); - КонецЕсли; -КонецФункции + КонецЕсли; +КонецФункции // портирован из Functest Функция СравнитьЗначенияТаблиц(ТаблицаОжиданий, ТаблицаРезультатов, Различия, ДопПараметры) @@ -380,71 +380,71 @@ СравнениеПоШаблону = ДопПараметры.СравнениеПоШаблону; КонецЕсли; КонецЕсли; - - + + Различия = Новый ТаблицаЗначений; Различия.Колонки.Очистить(); - Различия.Колонки.Добавить("Строка",Новый ОписаниеТипов("Число")); - Различия.Колонки.Добавить("Колонка",Новый ОписаниеТипов("Строка")); + Различия.Колонки.Добавить("Строка", Новый ОписаниеТипов("Число")); + Различия.Колонки.Добавить("Колонка", Новый ОписаниеТипов("Строка")); Различия.Колонки.Добавить("Ожидание"); Различия.Колонки.Добавить("Результат"); - + РезультатСравнения = РезультатыСравненияТаблиц.ТаблицыСовпадают; - + Колонки = ТаблицаОжиданий.Колонки; ГраницаСтрокОжиданий = ТаблицаОжиданий.Количество() - 1; ГраницаСтрокРезультата = ТаблицаРезультатов.Количество() - 1; ГраницаСтрок = Макс(ГраницаСтрокОжиданий, ГраницаСтрокРезультата); Для Индекс = 0 По ГраницаСтрок Цикл - + ОжидаемаяСтрока = ?(Индекс <= ГраницаСтрокОжиданий, ТаблицаОжиданий[Индекс], ТаблицаОжиданий.Добавить()); СтрокаРезультата = ?(Индекс <= ГраницаСтрокРезультата, ТаблицаРезультатов[Индекс], ТаблицаРезультатов.Добавить()); - + Для Каждого Колонка Из Колонки Цикл ИмяКолонки = Колонка.Имя; - + ОжидаемоеЗначение = ОжидаемаяСтрока[ИмяКолонки]; ЗначениеРезультата = СтрокаРезультата[ИмяКолонки]; - + Если ОжидаемоеЗначение = "*" Тогда Продолжить; КонецЕсли; - ОжидаемоеЗначение = СтрЗаменить(ОжидаемоеЗначение,Символы.НПП," "); - ЗначениеРезультата = СтрЗаменить(ЗначениеРезультата,Символы.НПП," "); - + ОжидаемоеЗначение = СтрЗаменить(ОжидаемоеЗначение, Символы.НПП, " "); + ЗначениеРезультата = СтрЗаменить(ЗначениеРезультата, Символы.НПП, " "); + Если НЕ СравнениеПоШаблону Тогда Если ОжидаемоеЗначение = ЗначениеРезультата - Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда //Пустые значения разных типов 1С-м не считаются равными :( + Или (Не ЗначениеЗаполнено(ОжидаемоеЗначение) И Не ЗначениеЗаполнено(ЗначениеРезультата)) Тогда // Пустые значения разных типов 1С-м не считаются равными :( Продолжить; КонецЕсли; - Иначе - Если СтрокаСоответствуетШаблону(ЗначениеРезультата,ОжидаемоеЗначение) Тогда + Иначе + Если СтрокаСоответствуетШаблону(ЗначениеРезультата, ОжидаемоеЗначение) Тогда Продолжить; - КонецЕсли; - КонецЕсли; - + КонецЕсли; + КонецЕсли; + Различие = Различия.Добавить(); Различие.Строка = Индекс + 1; Различие.Колонка = ИмяКолонки; Различие.Ожидание = ОжидаемоеЗначение; Различие.Результат = ЗначениеРезультата; РезультатСравнения = РезультатыСравненияТаблиц.НеСовпадаютЗначенияВЯчейкеТаблицы; - + КонецЦикла; - + КонецЦикла; - + Возврат РезультатСравнения; - + КонецФункции Процедура ВызватьОшибкуПроверки(СообщениеОшибки = "") - - Префикс = "["+ СтатусыРезультатаТестирования().ОшибкаПроверки + "]"; + + Префикс = "[" + СтатусыРезультатаТестирования().ОшибкаПроверки + "]"; ВызватьИсключение Префикс + " " + СообщениеОшибки; - + КонецПроцедуры Функция СтатусыРезультатаТестирования() @@ -452,7 +452,7 @@ СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); СтатусыРезультатаТестирования.Вставить("НеизвестнаяОшибка", "Broken"); СтатусыРезультатаТестирования.Вставить("ТестПропущен", "Pending"); - + Возврат Новый ФиксированнаяСтруктура(СтатусыРезультатаТестирования); КонецФункции From 4ea2ad8548988fd045711d2083809e1925220019 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 19:36:47 +0300 Subject: [PATCH 381/421] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20=D0=AD=D1=82=D0=BE=D0=9B=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=D0=BA=D1=81()=20=D0=B4=D0=BB=D1=8F=20xdd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xddTestRunner/Ext/ObjectModule.bsl | 22 +++++++++++++++ .../Ext/Form/Module.bsl" | 28 ++++++++++++++++--- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index a6641251b..6860c46b4 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -1163,6 +1163,28 @@ КонецФункции +// Функция - Это линукс +// +// Возвращаемое значение: +// Булево - Линукс или нет +// +Функция ЭтоЛинукс() Экспорт + + // на случай первичной инициализации + Если Не ЭтоLinux Тогда + + ЭтоLinux = Ложь; // реквизит обработки + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда + ЭтоLinux = Истина; + КонецЕсли; + КонецЕсли; + + Возврат ЭтоLinux; + +КонецФункции + #КонецОбласти Инициализация(); diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1b5d7a1db..be56134df 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -66,10 +66,7 @@ СкрыватьПолныйСтекВызововПриОшибкахТестирования = Истина; - ЭтоLinux = Ложь; - Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда - ЭтоLinux = Истина; - КонецЕсли; + ЭтоLinux = ЭтоЛинукс(); ЗагрузитьПлагины(); @@ -2831,6 +2828,29 @@ Возврат Версия1БольшеИлиРавно; КонецФункции +// Функция - Это линукс +// +// Возвращаемое значение: +// Булево - Линукс или нет +// +&НаКлиенте +Функция ЭтоЛинукс() Экспорт + + // на случай первичной инициализации + Если ЭтоLinux = Неопределено Тогда + + ЭтоLinux = Ложь; // реквизит формы + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда + ЭтоLinux = Истина; + КонецЕсли; + КонецЕсли; + + Возврат ЭтоLinux; + +КонецФункции + // Универсальная функция для проверки наличия свойств у значения любого типа данных // // Параметры: From eabc402a57c6d7dcfa96077a3f413c5e29e89ec0 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 19:38:08 +0300 Subject: [PATCH 382/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=20=D0=9B=D0=B8=D0=BD=D1=83=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + ускорение из-за отключения лишнего создания КонтекстаЯдра --- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 48 ++++++++++--------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 152056a1d..b025a4afb 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/\321\202\320\265\321\201\321\202\321\213_\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -776,7 +776,7 @@ КонецФункции &НаКлиенте -Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда Возврат Ложь; diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e3aa38771..c04c58fac 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -85,6 +85,7 @@ ОписанияТестов = Новый Массив; ДобавитьТестыДляСправочниковСервер( + КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); @@ -102,6 +103,7 @@ НастройкиГруппыТестов.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); ДобавитьТестыДляДокументовСервер( + КонтекстЯдра.Объект, ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); @@ -119,8 +121,9 @@ ОписанияТестов = Новый Массив; - ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, Описание.ДобавлятьОбработки, - НастройкаГруппировки); + ДобавитьТестыДляОтчетовОбработокСервер( + КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, + Описание.ДобавлятьОбработки, НастройкаГруппировки); Если ЗначениеЗаполнено(ОписанияТестов) Тогда @@ -141,6 +144,7 @@ ДобавлятьОбработки = Ложь; ДобавитьТестыДляБизнесПроцессовСервер( + КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); @@ -397,11 +401,11 @@ КонецФункции &НаСервере -Процедура ДобавитьТестыДляСправочниковСервер(ОписанияТестов, ТолькоУправляемыеФормы, +Процедура ДобавитьТестыДляСправочниковСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); - КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); @@ -478,11 +482,11 @@ КонецФункции &НаСервере -Процедура ДобавитьТестыДляДокументовСервер(ОписанияТестов, НастройкиГруппыТестов, +Процедура ДобавитьТестыДляДокументовСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); - КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); @@ -533,7 +537,7 @@ КонецПроцедуры &НаСервере -Процедура ДобавитьТестыДляОтчетовОбработокСервер(ОписанияТестов, ТолькоУправляемыеФормы, Знач ДобавлятьОбработки, +Процедура ДобавитьТестыДляОтчетовОбработокСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, Знач ДобавлятьОбработки, Знач НастройкаГруппировки) ОсновнойОбъект = Объект(); @@ -556,8 +560,11 @@ СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(); КонецЕсли; + + КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( + КонтекстЯдра, ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, СписокИсключений, @@ -568,11 +575,11 @@ КонецПроцедуры &НаСервере -Процедура ДобавитьТестыДляБизнесПроцессовСервер(ОписанияТестов, ТолькоУправляемыеФормы, +Процедура ДобавитьТестыДляБизнесПроцессовСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, ИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) ОсновнойОбъект = Объект(); - КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); + КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Новые(); @@ -625,12 +632,11 @@ КонецПроцедуры &НаСервере -Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( +Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(КонтекстЯдра, ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста, НастройкаГруппировки) - КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Счетчик = 0; ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, @@ -707,7 +713,7 @@ СписокИсключений = НастройкиТеста.СписокИсключений; - Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений) Тогда + Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений, КонтекстЯдра) Тогда Возврат Ложь; КонецЕсли; @@ -1166,7 +1172,7 @@ КонецФункции &НаСервереБезКонтекста -Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) +Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) Если КоллекцияДляПоиска = Ложь Тогда // TODO для включения не подходит ( Возврат Истина; @@ -1177,19 +1183,18 @@ КонецФункции &НаСервереБезКонтекста -Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра = Неопределено) +Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда Возврат Ложь; КонецЕсли; - КонтекстЯдра = КонтекстЯдраНаСервере(КонтекстЯдра); Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); КонецФункции &НаСервереБезКонтекста -Функция ВключитьПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра = Неопределено) +Функция ВключитьПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра) ИмяМетаданного = МетаОбъект.Имя; @@ -1202,7 +1207,7 @@ ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); Если ЕстьОтборТолькоДляВключенияМетаданных Тогда - Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных , КонтекстЯдра); + Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных, КонтекстЯдра); КонецЕсли; ФильтрИсключаемыхМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); @@ -1574,13 +1579,12 @@ #КонецОбласти &НаСервереБезКонтекста -Функция КонтекстЯдраНаСервере(Знач КонтекстЯдра = Неопределено) +Функция КонтекстЯдраНаСервере(Знач ОбъектКонтекстаЯдра) - Если КонтекстЯдра = Неопределено Тогда - Возврат ВнешниеОбработки.Создать("xddTestRunner"); - КонецЕсли; + КонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner"); + КонтекстЯдра.ИнициализацияНаСервере(ОбъектКонтекстаЯдра); Возврат КонтекстЯдра; - + КонецФункции &НаСервереБезКонтекста From c106bf301ca7bb3feca9fd3125f4236508243505 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 19:44:14 +0300 Subject: [PATCH 383/421] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BB=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=20=D0=9B=D0=B8=D0=BD=D1=83=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 12 ++++++------ .../Ext/Form/Module.bsl" | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" index b14ef7a21..80a45dafe 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Ext/ObjectModule.bsl" @@ -1,7 +1,7 @@ Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу Перем КонтекстЯдра; -Перем ЭтоLinux; +Перем ЭтоЛинукс; Перем РегулярноеВыражение; @@ -21,7 +21,7 @@ Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонтекстЯдра = КонтекстЯдраПараметр; - ЭтоLinux = КонтекстЯдраПараметр.ЭтоLinux; + ЭтоЛинукс = КонтекстЯдраПараметр.ЭтоЛинукс(); КонецПроцедуры // } Plugin interface @@ -33,7 +33,7 @@ // Шаблон - Строка - шаблон регулярного выражения // Процедура Подготовить(Знач Шаблон) Экспорт - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда ПодготовитьШаблонRexExpLinux(Шаблон); Иначе Если РегулярноеВыражение = Неопределено Тогда @@ -81,7 +81,7 @@ КонецЕсли; Если ЗначениеЗаполнено(Шаблон) Тогда Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); - Если Не ЭтоLinux Тогда + Если Не ЭтоЛинукс Тогда //для VBScript.RegExp явно указываем что есть начало и конец строки Шаблон = "^" + Шаблон + "$"; КонецЕсли; @@ -91,7 +91,7 @@ ПроверитьПодготовленность(); - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока); Иначе Возврат РегулярноеВыражение.Test(ПроверяемаяСтрока); @@ -143,7 +143,7 @@ // { Helpers Процедура ПроверитьПодготовленность() - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда Значение = ТестерЛинукс; Иначе Значение = РегулярноеВыражение; diff --git "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 5ee520eea..934213c79 100644 --- "a/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/\320\240\320\265\320\263\321\203\320\273\321\217\321\200\320\275\321\213\320\265\320\222\321\213\321\200\320\260\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2,7 +2,7 @@ Перем ПутьКФайлуПолный Экспорт;// в эту переменную будет установлен правильный клиентский путь к текущему файлу &НаКлиенте -Перем ЭтоLinux; +Перем ЭтоЛинукс; &НаКлиенте Перем РегулярноеВыражение; @@ -21,7 +21,7 @@ &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт - ЭтоLinux = КонтекстЯдраПараметр.ЭтоLinux; + ЭтоЛинукс = КонтекстЯдраПараметр.ЭтоЛинукс(); Ожидаем = КонтекстЯдраПараметр.Плагин("УтвержденияBDD"); КонецПроцедуры @@ -41,7 +41,7 @@ // &НаКлиенте Процедура Подготовить(Знач Шаблон) Экспорт - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда ПодготовитьШаблонRexExpLinux(Шаблон); Иначе Если РегулярноеВыражение = Неопределено Тогда @@ -93,7 +93,7 @@ Если ЗначениеЗаполнено(Шаблон) Тогда Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); //для VBScript.RegExp не нужно явно указывать, что есть начало и конец строки - //Если Не ЭтоLinux Тогда + //Если Не ЭтоЛинукс Тогда // Шаблон = "^" + Шаблон + "$"; //КонецЕсли; @@ -102,7 +102,7 @@ ПроверитьПодготовленность(); - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока); Иначе Возврат РегулярноеВыражение.Test(ПроверяемаяСтрока); @@ -160,7 +160,7 @@ &НаКлиенте Процедура ПроверитьПодготовленность() - Если ЭтоLinux Тогда + Если ЭтоЛинукс Тогда Значение = ТестерЛинукс; Иначе Значение = РегулярноеВыражение; From 8413b8fab1e7b37ec7ac75364b5bbd5798b197e8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 19:44:56 +0300 Subject: [PATCH 384/421] =?UTF-8?q?todo=20=D0=BF=D0=BE=20=D0=9B=D0=B8?= =?UTF-8?q?=D0=BD=D1=83=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 90 +++++++++---------- .../LoadSettings/Ext/ObjectModule.bsl | 8 +- .../Ext/ObjectModule.bsl" | 6 +- .../Ext/Form/Module.bsl" | 4 +- 4 files changed, 50 insertions(+), 58 deletions(-) diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7e7b99105..23e2fbf40 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,7 @@ Перем ХостСистема Экспорт; &НаКлиенте -Перем ЭтоLinux Экспорт; +Перем ЭтоLinux Экспорт; // todo добавить метод КонтекстЯдра.ЭтоЛинукс() &НаКлиенте Перем ЭтоЗапускВРежимеКоманднойСтроки Экспорт; @@ -1003,7 +1003,7 @@ УстановитьПеременныеТелаМодуля(); Объект.ИспользоватьПрямыеПутиФайлов = Объект.ИспользоватьПрямыеПути И КлиентИСерверРасположеныНаОднойМашине(); - + // видимость колонок Дерева тестов Если НЕ Объект.РежимСамотестирования Тогда ПоказатьСкрытьСтрокаРеальнойПроцедуры(""); @@ -4345,16 +4345,16 @@ &НаКлиенте Функция ПодходящийРежимСовместимостиПлатформыКлиент(Знач НеобходимаяВерсияПриложения) Экспорт - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда Возврат Ложь; КонецЕсли; ВерсияРежимаСовместимости = ВерсияРежимаСовместимостиКлиент(); - + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); - + КонецФункции &НаКлиенте @@ -4444,17 +4444,17 @@ КонецЕсли; ДвоичныеДанныеИлиПутьФайла = ПутьФайлаИлиДвоичныеДанныеДляСервера(ИмяФайла); - + Если ЭтоФайлДжейсон(ИмяФайла) Тогда - + ИскомыйМакет = ПолучитьТекстовыйДокументНаСервере(ДвоичныеДанныеИлиПутьФайла); - + Иначе - + ИскомыйМакет = ПолучитьТабличныйДокументНаСервере(ДвоичныеДанныеИлиПутьФайла); - + КонецЕсли; - + Возврат ИскомыйМакет; КонецФункции @@ -11191,7 +11191,7 @@ Если БылаОшибка Тогда СтатусЗапускаСценариев = Ложь; СтрокаСценария.Статус = "Failed"; - + РезультатПрохожденияТестовСценария.Вставить("ОписаниеОшибки", ОписаниеОшибки); ВывестиВЛогФайл("Ошибка в процедуре ПередОкончаниемСценария()."); @@ -11664,7 +11664,7 @@ РезультатПрохожденияШага.Вставить("ВремяОкончания", ТекущаяУниверсальнаяДатаВМиллисекундах()); РезультатПрохожденияШага.Вставить("Статус", СтрокаШага.Статус); РезультатПрохожденияШага.Вставить("НомерСтрокиВФиче", СтрокаШага.НомерСтрокиВФиче); - + СтрокаШага.ВремяВыполнения = (ТекущаяУниверсальнаяДатаВМиллисекундах() - РезультатПрохожденияШага.ВремяНачала) / 1000; КонецЕсли; КонецЕсли; @@ -12293,7 +12293,7 @@ &НаКлиенте Функция НайтиМакетВКаталогеПроектаСлужебный(ИмяМакета, ИмяФайла) - + Нашли = Ложь; СостояниеVanessaADD = ПолучитьСостояниеVanessaADD(); @@ -12301,68 +12301,68 @@ КаталогСценария = ДобавитьНулей(ИдСценария + 1, 4); ДопКаталог = ""; - + // Какой-то старый варинат поиска макета видимо - + Если ФайлСуществуетКомандаСистемы(Объект.КаталогПроекта + "\Файлы\" + КаталогСценария) Тогда - + ДопКаталог = КаталогСценария; - + КонецЕсли; ИмяФайла = Объект.КаталогПроекта + "\Файлы\" + ?(ДопКаталог = "", "", ДопКаталог + "\") + ИмяМакета; - Если НЕ (ЭтоФайлМоксель(ИмяФайла) + Если НЕ (ЭтоФайлМоксель(ИмяФайла) ИЛИ ЭтоФайлДжейсон(ИмяФайла)) Тогда - + ИмяФайла = ИмяФайла + ".mxl"; - + КонецЕсли; - + Если ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда - + Нашли = Истина; - + КонецЕсли; - + // Поиск макета в каталоге проекта Если Не Нашли Тогда - + ИмяФайла = Объект.КаталогПроекта + "\" + ИмяМакета; - - Если НЕ (ЭтоФайлМоксель(ИмяФайла) + + Если НЕ (ЭтоФайлМоксель(ИмяФайла) ИЛИ ЭтоФайлДжейсон(ИмяФайла)) Тогда - + ИмяФайла = ИмяФайла + ".mxl"; - + КонецЕсли; - + Если ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда - + Нашли = Истина; - + КонецЕсли; - + КонецЕсли; Возврат Нашли; - + КонецФункции &НаКлиентеНаСервереБезКонтекста Функция ЭтоФайлМоксель(ИмяФайла) - + ДлинаРасширенияМоксель = 4; // .mxl Возврат НРег(Прав(ИмяФайла, ДлинаРасширенияМоксель)) = ".mxl"; - + КонецФункции &НаКлиентеНаСервереБезКонтекста Функция ЭтоФайлДжейсон(ИмяФайла) - + ДлинаРасширенияДжейсон = 5; // .json Возврат НРег(Прав(ИмяФайла, ДлинаРасширенияДжейсон)) = ".json"; - + КонецФункции &НаСервереБезКонтекста @@ -19587,21 +19587,21 @@ &НаСервереБезКонтекста Функция ПутьФайлаПоДвоичнымДаннымСервер(Знач ДвоичныеДанныеИлиПутьФичи, Знач Расширение = "", ИмяВременногоФайла = Неопределено) - + Если ТипЗнч(ДвоичныеДанныеИлиПутьФичи) = Тип("ДвоичныеДанные") Тогда - + Если Расширение = "" Тогда Расширение = "feature"; КонецЕсли; - + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(Расширение); ДвоичныеДанныеИлиПутьФичи.Записать(ИмяВременногоФайла); ДвоичныеДанныеИлиПутьФичи = ИмяВременногоФайла; - + КонецЕсли; - + Возврат ДвоичныеДанныеИлиПутьФичи; - + КонецФункции // Универсальная функция для проверки наличия свойств у значения любого типа данных diff --git a/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl b/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl index 1f2cdfcee..e47e400b8 100644 --- a/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl +++ b/plugins/LoadSettings/LoadSettings/Ext/ObjectModule.bsl @@ -1,17 +1,13 @@ -Перем ЭтоLinux; - -// { Plugin interface +// { Plugin interface Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); Результат.Вставить("Представление", "LoadSettings"); - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры // } Plugin interface - - diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" index 557f0762d..7da868a95 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Ext/ObjectModule.bsl" @@ -6,20 +6,16 @@ // ////////////////////////////////////////////////////////////////// -Перем ЭтоLinux; - // { Plugin interface Функция ОписаниеПлагина(КонтекстЯдра, ВозможныеТипыПлагинов) Экспорт Результат = Новый Структура; Результат.Вставить("Тип", ВозможныеТипыПлагинов.Утилита); Результат.Вставить("Идентификатор", Метаданные().Имя); Результат.Вставить("Представление", "ЗагрузчикПользовательскихНастроек"); - + Возврат Новый ФиксированнаяСтруктура(Результат); КонецФункции Процедура Инициализация(КонтекстЯдраПараметр) Экспорт КонецПроцедуры // } Plugin interface - - diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0207d7eb6..7f527b521 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -309,7 +309,7 @@ &НаКлиенте Функция КаталогРепозитория() Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоLinux Тогда // todo добавить метод КонтекстЯдра.ЭтоЛинукс() Возврат ""; // TODO исправить получение каталога репозитория для Linux КонецЕсли; @@ -344,4 +344,4 @@ ЗагрузитьНастройки(ПоставщикПользовательскихНастроек, АдресПользовательскихНастроек); КонецПроцедуры -#КонецОбласти \ No newline at end of file +#КонецОбласти From 089a6782d77d48cf097c300d1918172abc0af806 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 19:47:46 +0300 Subject: [PATCH 385/421] =?UTF-8?q?todo=20=D0=BF=D0=BE=20=D0=9B=D0=B8?= =?UTF-8?q?=D0=BD=D1=83=D0=BA=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 16 ++++++++-------- .../Ext/ObjectModule.bsl" | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" index b15e3ccad..fecb4a544 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" @@ -34,10 +34,10 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкна(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоLinux Тогда // todo заменить на Контекст.ЭтоЛинукс() КодВозврата = 0; ЗапуститьПриложение(ТекстКоманды,, ЖдатьОкончания, КодВозврата); - Возврат КодВозврата; + Возврат КодВозврата; КонецЕсли; Если ЖдатьОкончания = -1 Тогда @@ -97,7 +97,7 @@ Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт Если КонтекстЯдра.ЭтоLinux Тогда - + КодВозврата = 0; ИмяФайлаВывода = ПолучитьИмяВременногоФайла("txt"); @@ -158,7 +158,7 @@ Попытка Рез = WshShell.Run(ИмяВременногоФайлаКоманды, 0, ?(ЖдатьОкончания, -1, 0)); - + Если Рез = 0 Тогда // команда выполнилась успешно КонсольныйВывод = ПрочитатьФайлКакТекст(ИмяФайлаВывода, ИспользоватьКодировкуТекстаUTF8); @@ -244,7 +244,7 @@ МассивProcessID = Новый Массив; Если КонтекстЯдра.ЭтоLinux Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDПроцессов не доступно в Linux"); - Возврат МассивProcessID; + Возврат МассивProcessID; КонецЕсли; ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); @@ -355,7 +355,7 @@ // Функция ПолучитьМассивPIDОкон1С(УчитыватьЗаголовокПриложения = Ложь) Экспорт Рез = Новый Массив; - + Если КонтекстЯдра.ЭтоLinux Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDОкон1С не доступно в Linux"); Возврат Рез; @@ -469,7 +469,7 @@ КонецФункции Процедура УдалитьВременныйФайл(ИмяФайла) - + Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяФайла); Иначе @@ -478,4 +478,4 @@ КонецПроцедуры -// } Helpers \ No newline at end of file +// } Helpers diff --git "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" index 9727f54d3..d7b4bc216 100644 --- "a/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\242\320\260\320\261\320\273\320\270\321\206/Ext/ObjectModule.bsl" @@ -355,7 +355,7 @@ // например СтрокаСоответствуетШаблону("Привет","*вет") Функция СтрокаСоответствуетШаблону(ПроверяемаяСтрока, Знач Шаблон) Экспорт Шаблон = ПодготовитьШаблонКИспользованиюВРегулярке(Шаблон); - ЭтоLinux = Истина; + ЭтоLinux = Истина; // todo безусловная установка ЭтоLinux = Истина Если ЭтоLinux Тогда Возврат ПроверитьСтрокуRexExpLinux(ПроверяемаяСтрока, Шаблон); Иначе From 5865d1144365d1bd65caa2cff8872065d9d086e6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 22:22:37 +0300 Subject: [PATCH 386/421] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BC?= =?UTF-8?q?=D0=B5=D1=82=D0=BE=D0=B4=20=D0=AD=D1=82=D0=BE=D0=9B=D0=B8=D0=BD?= =?UTF-8?q?=D1=83=D0=BA=D1=81=20=D0=B8=20=D0=B2=20=D0=B1=D0=B4=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit упростил метод --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 11 ++++++++ .../Ext/Form/Module.bsl" | 25 ++++++++++++++++++- .../xddTestRunner/Ext/ObjectModule.bsl | 19 ++++++-------- 3 files changed, 43 insertions(+), 12 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index dcf8507b1..733fab8de 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -2304,6 +2304,17 @@ КонецФункции +// Функция - Это линукс +// +// Возвращаемое значение: +// Булево - Линукс или нет +// +Функция ЭтоЛинукс() Экспорт + + Возврат ЭтоLinux; + +КонецФункции + #КонецОбласти СтатусыРезультатаТестирования = Новый Структура; diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 23e2fbf40..bec08ed49 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,7 @@ Перем ХостСистема Экспорт; &НаКлиенте -Перем ЭтоLinux Экспорт; // todo добавить метод КонтекстЯдра.ЭтоЛинукс() +Перем ЭтоLinux Экспорт; &НаКлиенте Перем ЭтоЗапускВРежимеКоманднойСтроки Экспорт; @@ -6828,6 +6828,29 @@ |<> Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.Использовать"); КонецФункции +// Функция - Это линукс +// +// Возвращаемое значение: +// Булево - Линукс или нет +// +&НаКлиенте +Функция ЭтоЛинукс() Экспорт + + // на случай первичной инициализации + Если ЭтоLinux = Неопределено Тогда + + ЭтоLinux = Ложь; // реквизит формы + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда + ЭтоLinux = Истина; + КонецЕсли; + КонецЕсли; + + Возврат ЭтоLinux; + +КонецФункции + &НаКлиенте Процедура ОбновитьКнопкуЗагрузитьФичи() Если Объект.текЗначениеОперации = "ЗагрузитьФичиИзКаталога" Тогда diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 6860c46b4..168844c0d 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -17,6 +17,14 @@ КонецФункции Процедура Инициализация() + + ЭтоLinux = Ложь; // реквизит обработки + + СистемнаяИнформация = Новый СистемнаяИнформация; + Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда + ЭтоLinux = Истина; + КонецЕсли; + ЗапустилиУФ = ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; ЭтоВстроеннаяОбработка = ОбработкаЯвляетсяВстроеннойВКонфигурацию(); @@ -1170,17 +1178,6 @@ // Функция ЭтоЛинукс() Экспорт - // на случай первичной инициализации - Если Не ЭтоLinux Тогда - - ЭтоLinux = Ложь; // реквизит обработки - - СистемнаяИнформация = Новый СистемнаяИнформация; - Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда - ЭтоLinux = Истина; - КонецЕсли; - КонецЕсли; - Возврат ЭтоLinux; КонецФункции From 91c78ba9450eeac0bc632e52e2d4c6812b31d332 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 14 Oct 2021 22:32:41 +0300 Subject: [PATCH 387/421] =?UTF-8?q?=D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=9A=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82?= =?UTF-8?q?.=D0=AD=D1=82=D0=BE=D0=9B=D0=B8=D0=BD=D1=83=D0=BA=D1=81()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit избавился от экспортной ЭтоLinux --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 22 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 238 +++++++++--------- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 8 +- .../Ext/Form/Module.bsl" | 2 +- .../Ext/Form/Module.bsl" | 88 +++---- .../Ext/ObjectModule.bsl" | 14 +- .../Ext/Form/Module.bsl" | 24 +- .../Ext/Form/Module.bsl" | 71 +++--- 11 files changed, 236 insertions(+), 237 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 733fab8de..5ba68495e 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -2,7 +2,7 @@ Перем СтатусыРезультатаТестирования Экспорт; Перем ПараметрыОтчетаУФ; Перем ОтчетВРежимеУФ; -Перем ЭтоLinux Экспорт; +Перем ЭтоLinux; Перем РазницаВМилисекундахМеждуЮниксИНачалЭпохи; Перем КешРежимСовместимости; @@ -2261,33 +2261,33 @@ КонецФункции Функция ПодходящийРежимСовместимостиПлатформы(Знач НеобходимаяВерсияПриложения) Экспорт - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда Возврат Ложь; КонецЕсли; ВерсияРежимаСовместимости = ВерсияРежимаСовместимости(); - + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); - + КонецФункции Функция ВерсияРежимаСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт - + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда РежимСовместимостиВерсия = СтрЗаменить(РежимСовместимости(ЗначениеПоУмолчанию), "Версия", ""); КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); КонецЕсли; Возврат КешВерсияРежимСовместимости; - + КонецФункции Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт - + Если Не ЗначениеЗаполнено(КешРежимСовместимости) Тогда - + Если ЗначениеПоУмолчанию = Неопределено Тогда ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; КонецЕсли; @@ -2299,13 +2299,13 @@ КонецПопытки; КонецЕсли; - + Возврат КешРежимСовместимости; КонецФункции // Функция - Это линукс -// +// // Возвращаемое значение: // Булево - Линукс или нет // @@ -2315,7 +2315,7 @@ КонецФункции -#КонецОбласти +#КонецОбласти СтатусыРезультатаТестирования = Новый Структура; СтатусыРезультатаТестирования.Вставить("ОшибкаПроверки", "Failed"); diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bec08ed49..53e20eb72 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -11,7 +11,7 @@ Перем ХостСистема Экспорт; &НаКлиенте -Перем ЭтоLinux Экспорт; +Перем ЭтоLinux; &НаКлиенте Перем ЭтоЗапускВРежимеКоманднойСтроки Экспорт; diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index be56134df..ecd127643 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -4,7 +4,7 @@ Перем ПодключенныеВнешниеОбработки; &НаКлиенте -Перем ЭтоLinux Экспорт; +Перем ЭтоLinux; &НаКлиенте Перем Версия836ИлиВыше Экспорт; @@ -63,15 +63,15 @@ СистемнаяИнформация = Новый СистемнаяИнформация; Версия836ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.6.0"); Версия8315ИлиВыше = ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, "8.3.15.0"); - + СкрыватьПолныйСтекВызововПриОшибкахТестирования = Истина; ЭтоLinux = ЭтоЛинукс(); ЗагрузитьПлагины(); - + ОбновитьДекорацияНастройкиЗагружены(); - + ГлобальныйКонтекстИнициализировать(); КонецПроцедуры @@ -663,7 +663,7 @@ Отладка("КонтейнерДереваТестов.Имя " + КонтейнерДереваТестов.Имя); Отладка("КонтейнерДереваТестов.Тип " + КонтейнерДереваТестов.Тип); Отладка("ИерархияИсполнения " + ИерархияИсполнения); - + Родитель = Новый Структура("Родитель, Ключ, Тип, Имя", ИерархияИсполнения); ЗаполнитьЗначенияСвойств(Родитель, КонтейнерДереваТестов, "Ключ, Тип, Имя"); @@ -694,7 +694,7 @@ ДочернийРезультатТестирования = ВыполнитьТесты(Загрузчик, ДочернийУзел, ФильтрДляДочернихУзлов, Подписчик, Родитель, ПараметрыПотоковыхОтчетов); ИначеЕсли ДочернийУзел.Тип = Объект.ТипыУзловДереваТестов.Элемент Тогда Если УзелДереваТестовУдовлетворяетФильтру(ДочернийУзел, ФильтрДляДочернихУзлов) Тогда - + ВывестиСообщениеВЛогФайл(". -->> тест " + ДочернийУзел.Представление); Если ПутьИзКонтейнера = ДочернийУзел.Путь Тогда @@ -748,11 +748,11 @@ НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; Попытка - + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполненияДляКонтейнера, ЭлементДеструктор.ИмяМетода); - + Исключение - + ИнформацияОбОшибке = ИнформацияОбОшибке(); ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); НовыйДочернийРезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); @@ -763,7 +763,7 @@ Иначе НовыйДочернийРезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; - + КонецПопытки; РезультатТестирования.Строки.Добавить(НовыйДочернийРезультатТестирования); @@ -855,23 +855,23 @@ РезультатТестирования.Состояние = Объект.СостоянияТестов.Пройден; Исключение - + ИнформацияОбОшибке = ИнформацияОбОшибке(); - + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда - + РезультатТестирования.Состояние = Объект.СостоянияТестов.НеРеализован; Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); - + Иначе - + РезультатТестирования.Сообщение = КраткийТекстОшибки; РезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; - + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда @@ -879,7 +879,7 @@ Иначе РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; КонецЕсли; - + КонецЕсли; ВывестиСообщениеВЛогФайл(" "); @@ -888,19 +888,19 @@ ВывестиСообщениеВЛогФайл(" =======:"); ВывестиСообщениеВЛогФайл(" "); КонецПопытки; - + Попытка - + ВыполнитьНеобязательнуюПроцедуруТестовогоСлучая(КонтекстВыполнения, ЭлементДереваТестов.ПослеЗапускаТеста); - + Исключение - + ИнформацияОбОшибке = ИнформацияОбОшибке(); РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = Объект.СостоянияТестов.Сломан; Иначе @@ -910,7 +910,7 @@ ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); КонецПопытки; - + КонецЕсли; ОкончаниеВыполнения = ТекущаяУниверсальнаяДатаВМиллисекундах(); @@ -923,35 +923,35 @@ &НаКлиенте Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) - + ИмяПроцедуры = "Инициализация"; ПараметрыИнициализации = Новый Массив(); ПараметрыИнициализации.Добавить(ЭтотОбъект); - + Попытка - + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры, ПараметрыИнициализации); - + Исключение - + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); - + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") И ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда - + Возврат Истина; - + Иначе - + РезультатТестирования.Сообщение = ТекстОшибки; РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; Возврат Ложь; КонецЕсли; - + КонецПопытки; - + Возврат Истина; КонецФункции @@ -964,12 +964,12 @@ МассивСообщений = Новый Массив; Попытка - + ОписаниеРезультатаТестирования = ВыполнитьТестовыйМетодНаСервере(КонтекстВыполнения, ЭлементДереваТестов); - + РезультатТестирования = ОписаниеРезультатаТестирования.РезультатТестирования; МассивСообщений = ОписаниеРезультатаТестирования.МассивСообщений; - + Если ТестУпалИлиНеРеализован(РезультатТестирования.Состояние) Тогда ВывестиНакопленныеСообщенияОтСервера(МассивСообщений); Иначе @@ -977,20 +977,20 @@ КонецЕсли; Исключение - + РезультатТестирования = СоздатьЭлементРезультатовТестирования(ЭлементДереваТестов); - + ИнформацияОбОшибке = ИнформацияОбОшибке(); - + РезультатТестирования.Сообщение = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); РезультатТестирования.ПодробноеСообщение = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); РезультатТестирования.Состояние = Объект.СостоянияТестов.НеизвестнаяОшибка; - + ВывестиНакопленныеСообщенияОтСервераВРежимеОтладки(МассивСообщений); ВывестиОписаниеОшибкиВЛогФайл(РезультатТестирования); - + КонецПопытки; - + Возврат РезультатТестирования; КонецФункции @@ -999,37 +999,37 @@ Если Не Объект.ФлагОтладки Тогда Возврат; КонецЕсли; - + ВывестиНакопленныеСообщенияОтСервера(МассивСообщений); КонецПроцедуры &НаКлиенте Процедура ВывестиНакопленныеСообщенияОтСервера(Знач МассивСообщений) Экспорт - + Для Каждого Сообщение Из МассивСообщений Цикл Сообщение.Текст = ПолучитьСообщениеБезСтекаВызововОтБраузераТестов(Сообщение.Текст); Сообщение.Сообщить(); ВывестиСообщениеВЛогФайл(Сообщение.Текст); КонецЦикла; - + КонецПроцедуры &НаСервере Функция ВыполнитьТестовыйМетодНаСервере(Знач ОписаниеКонтекста, Знач ЭлементДереваТестов) - + Результат = Новый Структура("РезультатТестирования, МассивСообщений", Неопределено, Новый Массив); - + ОбъектНаСервере = ЭтотОбъектНаСервере(); Если ОписаниеКонтекста.ЭтоОбщийМодуль Тогда - + УстановитьБезопасныйРежим(Истина); КонтекстВыполнения = Вычислить(ОписаниеКонтекста.Идентификатор); УстановитьБезопасныйРежим(Ложь); Иначе - + Если ОписаниеКонтекста.ЭтоВнутренняяОбработка Тогда ЭтоОтчет = (Метаданные.Отчеты.Найти(ОписаниеКонтекста.Идентификатор) <> Неопределено); Иначе @@ -1037,17 +1037,17 @@ ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = ".erf"); КонецЕсли; - КонтекстВыполнения = СоздатьОбъектПлагина(ОписаниеКонтекста.Идентификатор, + КонтекстВыполнения = СоздатьОбъектПлагина(ОписаниеКонтекста.Идентификатор, ОписаниеКонтекста.ЭтоВнутренняяОбработка, ЭтоОтчет); КонтекстВыполнения.Инициализация(ОбъектНаСервере); // Заполняем служебные поля, если они имеются ЗаполнитьСвойствоПриНаличии(КонтекстВыполнения, "ПутьКФайлуПолный", ЭлементДереваТестов.Путь); - + КонецЕсли; Результат.РезультатТестирования = ОбъектНаСервере.ВыполнитьТестовыйМетод(КонтекстВыполнения, ЭлементДереваТестов); - + Результат.МассивСообщений = ПолучитьСообщенияПользователю(Истина); Возврат Результат; @@ -1067,10 +1067,10 @@ &НаКлиенте Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) - + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров); - + ИсполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; Выполнить(ИсполняемыйКод); @@ -1078,17 +1078,17 @@ &НаКлиенте Процедура ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров) - + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") Тогда - + Если ПустаяСтрока(СтрокаПараметров) Тогда СтрокаПараметров = "ЭтаФорма"; Иначе СтрокаПараметров = "ЭтаФорма, " + СтрокаПараметров; - КонецЕсли; - + КонецЕсли; + КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -1525,7 +1525,7 @@ ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Свойство("Параметры_xddStreamReport", Параметры_xddStreamReport); ОбновитьИменаИПредставлениеТестов(ДеревоТестовОтЗагрузчика); - + РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика,,,,Параметры_xddStreamReport); Если РезультатыТестирования = Неопределено Тогда @@ -1715,7 +1715,7 @@ ПутьКТестам = Параметры_xddRun[1]; ДеревоТестовОтЗагрузчика = Загрузчик.Загрузить(ЭтаФорма, ПутьКТестам); - + Если ЗначениеЗаполнено(ДеревоТестовОтЗагрузчика.Строки) Тогда ОбновитьИменаИПредставлениеТестов(ДеревоТестовОтЗагрузчика); @@ -1883,7 +1883,7 @@ // // Параметры: // Сообщение - Строка - исходная строка -// +// // Возвращаемое значение: // Строка - строка, в которой удалены подстроки, указанные в массиве настроек по ключу "ИсключаемыеСтрокиСтекаВызовов" // @@ -1893,13 +1893,13 @@ Если Не СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда Возврат Сообщение; КонецЕсли; - + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда ИсключаемыеСтрокиСтекаВызовов = Новый Массив; КонецЕсли; Результат = Плагин("СтроковыеУтилиты").ПолучитьСообщениеБезСтекаВызовов(Сообщение, ИсключаемыеСтрокиСтекаВызовов); Возврат Результат; - + КонецФункции // { Внешние интерфейсные инструменты @@ -2044,7 +2044,7 @@ Процедура ЗагрузкаТестовЗавершение(Знач ДеревоОтЗагрузчика, Знач ДополнительныеПараметры) Экспорт ОбновитьИменаИПредставлениеТестов(ДеревоОтЗагрузчика); - + ЭтаФорма.ДеревоОтЗагрузчика = ДеревоОтЗагрузчика; ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); ЭлементыДереваТестов.Очистить(); @@ -2094,36 +2094,36 @@ &НаКлиенте Функция ПолучитьОписаниеКонтекстаВыполнения(Знач Идентификатор, Знач ЭтоВнутренняяОбработка = Ложь) Экспорт - + ОписаниеКонтекстаВыполнения = НовоеОписаниеКонтекстаВыполнения(); ОписаниеКонтекстаВыполнения.Идентификатор = Идентификатор; ОписаниеКонтекстаВыполнения.ЭтоВнутренняяОбработка = ЭтоВнутренняяОбработка; Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); - + КонецФункции &НаКлиенте Функция НовыйКонтекстВыполненияОбщегоМодуля(Знач Идентификатор) Экспорт - + ОписаниеКонтекстаВыполнения = НовоеОписаниеКонтекстаВыполнения(); ОписаниеКонтекстаВыполнения.Идентификатор = Идентификатор; ОписаниеКонтекстаВыполнения.ЭтоОбщийМодуль = Истина; - + Возврат Новый ФиксированнаяСтруктура(ОписаниеКонтекстаВыполнения); - + КонецФункции &НаКлиенте Функция НовоеОписаниеКонтекстаВыполнения() - + ОписаниеКонтекста = Новый Структура(); ОписаниеКонтекста.Вставить("Идентификатор", ""); ОписаниеКонтекста.Вставить("ЭтоВнутренняяОбработка", Ложь); ОписаниеКонтекста.Вставить("ЭтоОбщийМодуль", Ложь); - - Возврат ОписаниеКонтекста; - + + Возврат ОписаниеКонтекста; + КонецФункции &НаСервере @@ -2392,7 +2392,7 @@ ПлагинНастроек = Плагин("Настройки"); ПлагинНастроек.Обновить(); - + ОбновитьДекорацияНастройкиЗагружены(); КонецПроцедуры @@ -2453,7 +2453,7 @@ Отладка(СтрШаблон_("ВыводитьЛогВыполненияСценариевВТекстовыйФайл <%1>", Объект.ВыводитьЛогВыполненияСценариевВТекстовыйФайл)); Отладка(СтрШаблон_("ИмяФайлаЛогВыполненияСценариев <%1>", Объект.ИмяФайлаЛогВыполненияСценариев)); - + ПодготовитьИсключаемыеСтрокиСтекаВызовов(); КонецПроцедуры @@ -2475,11 +2475,11 @@ &НаКлиенте Процедура ПодготовитьИсключаемыеСтрокиСтекаВызовов() - + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; ПоказПолногоСтекаВызововВОшибках = Плагин("Настройки").ПолучитьНастройку("ПоказПолногоСтекаВызововВОшибках"); - + Если ЗначениеЗаполнено(ПоказПолногоСтекаВызововВОшибках) Тогда ПоказыватьПолныйСтек = Истина; Если ПоказПолногоСтекаВызововВОшибках.Свойство("Показывать", ПоказыватьПолныйСтек) Тогда @@ -2487,22 +2487,22 @@ Иначе СкрыватьПолныйСтекВызововПриОшибкахТестирования = Истина; КонецЕсли; - + Если СкрыватьПолныйСтекВызововПриОшибкахТестирования Тогда - + ИсключаемыеСтрокиСтекаВызовов = Новый Массив; Если ПоказПолногоСтекаВызововВОшибках.Свойство("ИсключаемыеСтрокиСтекаВызовов", ИсключаемыеСтрокиСтекаВызовов) Тогда - + Если Не ЗначениеЗаполнено(ИсключаемыеСтрокиСтекаВызовов) Тогда ИсключаемыеСтрокиСтекаВызовов = Новый Массив; КонецЕсли; ИсключаемыеСтрокиСтекаВызовов.Добавить("ВнешняяОбработка.xddTestRunner."); ИсключаемыеСтрокиСтекаВызовов.Добавить("ExternalDataProcessor.xddTestRunner."); - + КонецЕсли; КонецЕсли; - + КонецЕсли; КонецПроцедуры @@ -2510,24 +2510,24 @@ &НаКлиенте Функция ПутьФайлаНастроекПредставление() Перем сПредставление; - + сПредставление = "<Настройки не загружены>"; - + Если НЕ ПустаяСтрока(ЭтотОбъект.Объект.ПутьФайлаНастроек) Тогда сПредставление = СтрШаблон_("%1: %2","Настройки загружены из файла", ЭтотОбъект.Объект.ПутьФайлаНастроек); КонецЕсли; - + Возврат сПредставление; КонецФункции &НаКлиенте Процедура ОбновитьДекорацияНастройкиЗагружены() - + ЭтотОбъект.Элементы.ДекорацияНастройкиЗагружены.Заголовок = ПутьФайлаНастроекПредставление(); Если ЭтотОбъект.Элементы.Найти("ДеревоТестов") <> Неопределено Тогда ЭтотОбъект.ТекущийЭлемент = ЭтотОбъект.Элементы.ДеревоТестов; КонецЕсли; - + КонецПроцедуры // } работа с настройками @@ -2653,16 +2653,16 @@ &НаКлиенте Функция ПодходящийРежимСовместимостиПлатформыКлиент(Знач НеобходимаяВерсияПриложения) Экспорт - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда Возврат Ложь; КонецЕсли; ВерсияРежимаСовместимости = ВерсияРежимаСовместимостиКлиент(); - + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); - + КонецФункции &НаКлиентеНаСервереБезКонтекста @@ -2772,7 +2772,7 @@ &НаСервереБезКонтекста Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) - + Если ЗначениеПоУмолчанию = Неопределено Тогда ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; КонецЕсли; @@ -2829,7 +2829,7 @@ КонецФункции // Функция - Это линукс -// +// // Возвращаемое значение: // Булево - Линукс или нет // @@ -2838,9 +2838,9 @@ // на случай первичной инициализации Если ЭтоLinux = Неопределено Тогда - + ЭтоLinux = Ложь; // реквизит формы - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда ЭтоLinux = Истина; @@ -2877,38 +2877,38 @@ // Параметры: // ЧтоИщем - Строка - искомое значение // КоллекцияДляПоиска - Массив, СписокЗначений - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками -// +// // Возвращаемое значение: // Булево - нашли или нет // &НаКлиенте Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) Экспорт - + Перем СтрокаГдеИщем; - + ТипКоллекции = ТипЗнч(КоллекцияДляПоиска); Если ТипКоллекции = Тип("СписокЗначений") Тогда Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда Возврат Истина; КонецЕсли; - + Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, ЭлементСписка.Значение) Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + ИначеЕсли ТипКоллекции = Тип("Массив") Тогда Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + Иначе ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции; КонецЕсли; - + Возврат Ложь; КонецФункции @@ -2958,7 +2958,7 @@ // // Существует проблема: // Некоторые объекты, например СертификатКриптографии, не поддерживают передачу с клиента на сервер -// и обратно. При модульном тестировании клиентских методов между которыми через КонтекстЯдра +// и обратно. При модульном тестировании клиентских методов между которыми через КонтекстЯдра // СохранитьКонтекст() / ПолучитьКонтекст() передаем подобные объекты получаем ошибку отображения. // // Хотелось бы иметь следующую функциональность: @@ -2969,18 +2969,18 @@ // // Параметры: // Ключ - Строка - ключ элемента контекста, который требуется получить -// +// // Возвращаемое значение: // Произвольный - значение Глобального контекста // &НаКлиенте Функция ГлобальныйКонтекстЗначение(Знач Ключ) Экспорт Перем ЗначениеКонтекста; - + Если ГлобальныйКонтекст.Свойство(Ключ, ЗначениеКонтекста) Тогда Возврат ЗначениеКонтекста; КонецЕсли; - + ЗначениеКонтекста = Неопределено; Возврат ЗначениеКонтекста; КонецФункции @@ -2993,9 +2993,9 @@ // &НаКлиенте Процедура ГлобальныйКонтекстДобавить(Знач Ключ, Знач ЗначениеКонтекста) Экспорт - + ГлобальныйКонтекст.Вставить(Ключ, ЗначениеКонтекста); - + КонецПроцедуры // Удалить элемент из Глобального контекста @@ -3005,39 +3005,39 @@ // &НаКлиенте Процедура ГлобальныйКонтекстУдалить(Знач Ключ) Экспорт - + Если ГлобальныйКонтекст.Свойство(Ключ) Тогда ГлобальныйКонтекст.Удалить(Ключ); КонецЕсли; - + КонецПроцедуры // Получить глобальный контекст вцелом -// +// // Возвращаемое значение: // Произвольный - значение приватного поля "ГлобальныйКонтекст" // &НаКлиенте Функция ГлобальныйКонтекст() Экспорт - + Возврат ГлобальныйКонтекст; - + КонецФункции // Очистить глобальный контекст (пустая структура) // &НаКлиенте Процедура ГлобальныйКонтекстОчистить() Экспорт - + ГлобальныйКонтекст = Новый Структура(); - + КонецПроцедуры &НаКлиенте Процедура ГлобальныйКонтекстИнициализировать() - + ГлобальныйКонтекст = Новый Структура(); - + КонецПроцедуры #КонецОбласти diff --git "a/features/Core/TestClient/step_definitions/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/Core/TestClient/step_definitions/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a5e46f837..2dff7870e 100644 --- "a/features/Core/TestClient/step_definitions/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/Core/TestClient/step_definitions/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Issue_464_\320\227\320\260\320\277\321\203\321\201\320\272_\321\202\320\276\320\273\321\201\321\202\320\276\320\263\320\276_\320\272\320\273\320\270\320\265\320\275\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -123,7 +123,7 @@ Если НайденныеСтрока.Количество() > 0 Тогда НайденнаяСтрока = НайденныеСтрока[0]; Если ЗначениеЗаполнено(ПутьКПлатформе) Тогда - Если Не Ванесса.ЭтоLinux Тогда + Если Не Ванесса.ЭтоЛинукс() Тогда ПутьКПлатформе = ПутьКПлатформе + ".exe"; КонецЕсли; Если Сред(НайденнаяСтрока.ПутьКПлатформе, СтрДлина(НайденнаяСтрока.ПутьКПлатформе) - СтрДлина(ПутьКПлатформе)+1) <> ПутьКПлатформе Тогда diff --git "a/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 0cbc4029d..b2ce0cb9c 100644 --- "a/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/UITestRunner/step_definitions/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/\320\236\321\202\320\272\321\200\321\213\321\202\321\214TestClient/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -95,7 +95,7 @@ ВерсияПриложения = СисИнфо.ВерсияПриложения; ИмяФайлаПриложения1С = ""; - Если Ванесса.ЭтоLinux Тогда + Если Ванесса.ЭтоЛинукс() Тогда ИмяФайлаПриложения1С = "1cv8c"; КаталогПрограммы = КаталогПрограммы(); Иначе diff --git "a/features/libraries/\320\244\320\260\320\271\320\273\321\213/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/features/libraries/\320\244\320\260\320\271\320\273\321\213/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7b2f34cfa..81d56a5ef 100644 --- "a/features/libraries/\320\244\320\260\320\271\320\273\321\213/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/features/libraries/\320\244\320\260\320\271\320\273\321\213/step_definitions/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/\320\244\320\260\320\271\320\273\320\276\320\262\321\213\320\265_\320\276\320\277\320\265\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -493,7 +493,7 @@ Функция ЭтоАбсолютныйПуть(Знач Путь) Результат = Ложь; ПервыйСимвол = Лев(Путь, 1); - Если Ванесса.ЭтоLinux Тогда + Если Ванесса.ЭтоЛинукс() Тогда Результат = ПервыйСимвол = "/"; Иначе Если ПервыйСимвол = "\" Или ПервыйСимвол = "/" @@ -507,7 +507,7 @@ &НаКлиенте Функция ЗаменитьРазделителиПути(Знач Путь) - Если Ванесса.ЭтоLinux Тогда + Если Ванесса.ЭтоЛинукс() Тогда ЗаменяемыйРазделитель = "\"; Иначе ЗаменяемыйРазделитель = "/"; @@ -658,7 +658,7 @@ ИмяФайлаЛога = ПолучитьПутьВременногоФайла(КаталогДляВременныхФайлов); КонецЕсли; - Если Ванесса.ЭтоLinux Тогда + Если Ванесса.ЭтоЛинукс() Тогда КомандаКаталоги = "find """ + Путь + """ "+ ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type d -name '" + МаскаФайлов + "'" + " > """ + ИмяФайлаЛога + """"; КомандаСистемы(КомандаКаталоги); @@ -677,7 +677,7 @@ //получение файлов - Если Ванесса.ЭтоLinux Тогда + Если Ванесса.ЭтоЛинукс() Тогда КомандаКаталоги = "find """ + Путь + """ "+ ?(ИскатьВПодкаталогах, "", "-maxdepth 1") + "-type f -name '" + МаскаФайлов + "'" + " > """ + ИмяФайлаЛога + """"; КомандаСистемы(КомандаКаталоги); diff --git "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 7f527b521..8b58c44b1 100644 --- "a/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\227\320\260\320\263\321\200\321\203\320\267\321\207\320\270\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -309,7 +309,7 @@ &НаКлиенте Функция КаталогРепозитория() Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда // todo добавить метод КонтекстЯдра.ЭтоЛинукс() + Если КонтекстЯдра.ЭтоЛинукс() Тогда Возврат ""; // TODO исправить получение каталога репозитория для Linux КонецЕсли; diff --git "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index bb59de348..f67893bc9 100644 --- "a/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/\320\237\320\265\321\200\320\265\320\274\320\265\320\275\320\275\321\213\320\265\320\236\320\272\321\200\321\203\320\266\320\265\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -10,13 +10,13 @@ &НаКлиенте Процедура Инициализация(КонтекстЯдраПараметр) Экспорт - + КонтекстЯдра = КонтекстЯдраПараметр; СтроковыеУтилиты = КонтекстЯдра.Плагин("СтроковыеУтилиты"); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); - + // Инициализация параметров - + КонецПроцедуры &НаКлиенте @@ -34,7 +34,7 @@ &НаКлиенте Процедура ПустоеОповещение(ДополнительныеПараметры = Неопределено) Экспорт - + КонецПроцедуры &НаКлиенте @@ -48,40 +48,40 @@ Функция ВсеПеременныеОкружения() Экспорт ПеременныеОкружения = Новый Соответствие; - + ФайлСПеременными = СчитатьПеременныеОкруженияВФайл(); - + Текст = Новый ЧтениеТекста; Текст.Открыть(ФайлСПеременными); Стр = Текст.ПрочитатьСтроку(); Пока Стр <> Неопределено Цикл - + ПозРазделителя = СтрНайти(Стр, "="); - + Если ПозРазделителя = 0 Тогда - + Стр = Текст.ПрочитатьСтроку(); Продолжить; - + КонецЕсли; - + ИмяНайденнойПеременной = ВРег(Лев(Стр, ПозРазделителя - 1)); ЗначениеПеременнойОкружения = Сред(Стр, ПозРазделителя + 1); ПеременныеОкружения.Вставить(ИмяНайденнойПеременной , ЗначениеПеременнойОкружения); - + Стр = Текст.ПрочитатьСтроку(); - + КонецЦикла; Текст.Закрыть(); - + Описание = КонтекстЯдра.АСинк().смв_НовыйОписаниеОповещения("ПустоеОповещение", ЭтаФорма); - - КонтекстЯдра.АСинк().смв_УдалитьФайлы(Описание, ФайлСПеременными); - + + КонтекстЯдра.АСинк().смв_УдалитьФайлы(Описание, ФайлСПеременными); + Возврат ПеременныеОкружения; КонецФункции // ПолучитьПеременныеОкружения() @@ -101,11 +101,11 @@ Результат = ВсеПеременныеОкружения()[ВРег(ИмяПеременной)]; Если Результат = Неопределено Тогда - + Результат = ЗначениеПоУмолчанию; - + КонецЕсли; - + Возврат Результат; КонецФункции // ПолучитьЗначениеПеременнойОкружения() @@ -119,16 +119,16 @@ // Процедура УстановитьЗначениеПеременнойОкружения(ИмяПеременной, Значение) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда - + Если КонтекстЯдра.ЭтоЛинукс() Тогда + ТекстКоманды = "export " + ИмяПеременной + "=" + Строка(Значение); - + Иначе - + ТекстКоманды = "setx /M " + ИмяПеременной + " """ + Строка(Значение) + """"; - + КонецЕсли; - + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды); КонецПроцедуры // УстановитьЗначениеПеременнойОкружения() @@ -136,23 +136,23 @@ &НаКлиенте Функция СчитатьПеременныеОкруженияВФайл() - + ИмяВременногоФайла = ПолучитьИмяВременногоФайла(); - - Если КонтекстЯдра.ЭтоLinux Тогда - + + Если КонтекстЯдра.ЭтоЛинукс() Тогда + ТекстКоманды = "sh -c 'env = > " + ИмяВременногоФайла + "'"; - + Иначе - + ТекстКоманды = "SET > """ + ИмяВременногоФайла + """"; - + КонецЕсли; - + УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды); Возврат ИмяВременногоФайла; - + КонецФункции // { Helpers @@ -163,23 +163,23 @@ &НаКлиенте Процедура Отладка(ТекстСообщения) - + КонтекстЯдра.Отладка(ТекстСообщения); - + КонецПроцедуры &НаКлиенте Процедура Лог(ТекстСообщения, Важное = Ложь) - + Если Важное Тогда - + КонтекстЯдра.ВывестиСообщение(ТекстСообщения, СтатусСообщения.Важное); - + Иначе - + КонтекстЯдра.ВывестиСообщение(ТекстСообщения); - - КонецЕсли; - + + КонецЕсли; + КонецПроцедуры // } Helpers diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" index fecb4a544..62705e135 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" @@ -34,7 +34,7 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкна(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда // todo заменить на Контекст.ЭтоЛинукс() + Если КонтекстЯдра.ЭтоЛинукс() Тогда КодВозврата = 0; ЗапуститьПриложение(ТекстКоманды,, ЖдатьОкончания, КодВозврата); Возврат КодВозврата; @@ -96,7 +96,7 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкнаСВыводом(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс()) Тогда КодВозврата = 0; @@ -242,7 +242,7 @@ Функция ПолучитьМассивPIDПроцессов(ИмяОбраза) Экспорт МассивProcessID = Новый Массив; - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDПроцессов не доступно в Linux"); Возврат МассивProcessID; КонецЕсли; @@ -285,7 +285,7 @@ Процедура ЗавершитьСеансыTestClientПринудительно() Экспорт ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); - Если НЕ КонтекстЯдра.ЭтоLinux Тогда + Если НЕ КонтекстЯдра.ЭтоЛинукс() Тогда ИмяВременногоBat = ПолучитьИмяВременногоФайла("bat"); ЗТ = Новый ЗаписьТекста(ИмяВременногоBat, "windows-1251", , Истина); ЗТ.ЗаписатьСтроку("chcp 65001"); @@ -356,7 +356,7 @@ Функция ПолучитьМассивPIDОкон1С(УчитыватьЗаголовокПриложения = Ложь) Экспорт Рез = Новый Массив; - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDОкон1С не доступно в Linux"); Возврат Рез; КонецЕсли; @@ -369,7 +369,7 @@ КонецФункции Процедура СделатьОкноПроцессаАктивным(PID) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("СделатьОкноПроцессаАктивным не доступно в Linux"); Возврат; КонецЕсли; @@ -384,7 +384,7 @@ КонецПроцедуры Процедура TASKKILL(ИмяПриложения) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("TASKKILL не доступно в Linux"); Возврат; КонецЕсли; diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e15d07e25..1c938127e 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -44,10 +44,10 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкна(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КодВозврата = 0; ЗапуститьПриложение(ТекстКоманды,, ЖдатьОкончания, КодВозврата); - Возврат КодВозврата; + Возврат КодВозврата; КонецЕсли; Если ЖдатьОкончания = -1 Тогда @@ -113,8 +113,8 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкнаСВыводом(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда - + Если КонтекстЯдра.ЭтоЛинукс() Тогда + КодВозврата = 0; ИмяФайлаВывода = ПолучитьИмяВременногоФайла("txt"); @@ -262,9 +262,9 @@ &НаКлиенте Функция ПолучитьМассивPIDПроцессов(ИмяОбраза) Экспорт МассивProcessID = Новый Массив; - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDПроцессов не доступно в Linux"); - Возврат МассивProcessID; + Возврат МассивProcessID; КонецЕсли; ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); @@ -306,7 +306,7 @@ Процедура ЗавершитьСеансыTestClientПринудительно() Экспорт ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); - Если НЕ КонтекстЯдра.ЭтоLinux Тогда + Если НЕ КонтекстЯдра.ЭтоЛинукс() Тогда ИмяВременногоBat = ПолучитьИмяВременногоФайла("bat"); ЗТ = Новый ЗаписьТекста(ИмяВременногоBat, "windows-1251", , Истина); ЗТ.ЗаписатьСтроку("chcp 65001"); @@ -377,8 +377,8 @@ // Функция ПолучитьМассивPIDОкон1С(УчитыватьЗаголовокПриложения = Ложь) Экспорт Рез = Новый Массив; - - Если КонтекстЯдра.ЭтоLinux Тогда + + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("ПолучитьМассивPIDОкон1С не доступно в Linux"); Возврат Рез; КонецЕсли; @@ -393,7 +393,7 @@ &НаКлиенте Процедура СделатьОкноПроцессаАктивным(PID) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("СделатьОкноПроцессаАктивным не доступно в Linux"); Возврат; КонецЕсли; @@ -409,7 +409,7 @@ &НаКлиенте Процедура TASKKILL(ИмяПриложения) Экспорт - Если КонтекстЯдра.ЭтоLinux Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("TASKKILL не доступно в Linux"); Возврат; КонецЕсли; @@ -503,7 +503,7 @@ &НаКлиенте Процедура УдалитьВременныйФайл(ИмяФайла) - + Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда // для скорости не удаляем временный файл, сервер потом удалит КонтекстЯдра.УдалитьФайлыКомандаСистемы(ИмяФайла); Иначе diff --git "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 1b3330d2d..2eb9da13c 100644 --- "a/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\244\320\260\320\271\320\273\321\213/\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -31,16 +31,16 @@ // Функция - Объединить пути // // Параметры: -// Каталог - Строка - -// Файл - Строка - -// +// Каталог - Строка - +// Файл - Строка - +// // Возвращаемое значение: -// Строка - +// Строка - // Функция ОбъединитьПути(Знач Каталог, Знач Файл) Экспорт Если Прав(Каталог, 1) <> ПолучитьРазделительПути() Тогда Каталог = Каталог + ПолучитьРазделительПути(); - КонецЕсли; + КонецЕсли; Возврат Каталог + Файл; КонецФункции // ОбъединитьПути() @@ -54,11 +54,11 @@ // Булево - Истина, если файл/каталог существует // Функция Существует(Знач Путь) Экспорт - + Файл = Новый Файл(Путь); - + Возврат Файл.Существует(); - + КонецФункции // Существует() &НаКлиенте @@ -71,11 +71,11 @@ // Булево - Истина, если файл существует // Функция ФайлСуществует(Знач Путь) Экспорт - + Файл = Новый Файл(Путь); - + Возврат Файл.Существует() и Файл.ЭтоФайл(); - + КонецФункции // ФайлСуществует() &НаКлиенте @@ -88,11 +88,11 @@ // Булево - Истина, если каталог существует // Функция КаталогСуществует(Знач Путь) Экспорт - + Файл = Новый Файл(Путь); - + Возврат Файл.Существует() и Файл.ЭтоКаталог(); - + КонецФункции // КаталогСуществует() &НаКлиенте @@ -102,10 +102,10 @@ // Путь - Строка - Путь к каталогу // Процедура ОбеспечитьПустойКаталог(Знач Путь) Экспорт - + ОбеспечитьКаталог(Путь); УдалитьФайлы(Путь, ПолучитьМаскуВсеФайлы()); - + КонецПроцедуры // ОбеспечитьПустойКаталог() &НаКлиенте @@ -115,11 +115,11 @@ // Путь - Строка - Путь к каталогу // Процедура ОбеспечитьКаталог(Знач Путь) Экспорт - + Файл = Новый Файл(Путь); Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда - СоздатьКаталогКомандаСистемы(Путь); + СоздатьКаталогКомандаСистемы(Путь); Иначе Если Не Файл.Существует() Тогда СоздатьКаталог(Путь); @@ -127,7 +127,7 @@ ВызватьИсключение "Не удается создать каталог " + Путь + ". По данному пути уже существует файл."; КонецЕсли; КонецЕсли; - + КонецПроцедуры // ОбеспечитьКаталог() &НаКлиенте @@ -177,11 +177,11 @@ // Булево - Истина, если каталог пуст // Функция КаталогПустой(Знач Путь) Экспорт - + Если НЕ КаталогСуществует(Путь) Тогда ВызватьИсключение "Каталог <" + Путь + "> не существует"; КонецЕсли; - + МассивФайлов = НайтиФайлы(Путь, ПолучитьМаскуВсеФайлы(), Ложь); Возврат МассивФайлов.Количество() = 0; @@ -202,10 +202,10 @@ // Функция ОтносительныйПуть(Знач ПутьКорневогоКаталога, Знач ПутьВнутреннегоФайла, Знач РазделительПути = Неопределено) Экспорт - Если ПустаяСтрока(ПутьКорневогоКаталога) Тогда + Если ПустаяСтрока(ПутьКорневогоКаталога) Тогда ВызватьИсключение "Не указан корневой путь в методе ФС.ОтносительныйПуть"; КонецЕсли; - + ФайлКорень = Новый Файл(ПутьКорневогоКаталога); ФайлВнутреннийКаталог = Новый Файл(ПутьВнутреннегоФайла); Рез = СтрЗаменить(ФайлВнутреннийКаталог.ПолноеИмя, ФайлКорень.ПолноеИмя, ""); @@ -245,8 +245,8 @@ // Процедура - Записать файл в кодировке UTF-8 // // Параметры: -// ПутьФайла - Строка - -// ТекстФайла - Строка - +// ПутьФайла - Строка - +// ТекстФайла - Строка - // Процедура ЗаписатьФайл(Знач ПутьФайла, Знач ТекстФайла) Экспорт Запись = Новый ЗаписьТекста(ПутьФайла, КодировкаТекста.UTF8); @@ -258,11 +258,11 @@ // Функция - Прочитать файл в кодировке UTF-8 // // Параметры: -// Путь - Строка - -// МонопольныйРежим - Булево - -// +// Путь - Строка - +// МонопольныйРежим - Булево - +// // Возвращаемое значение: -// - +// - // Функция ПрочитатьФайл(Знач Путь, Знач МонопольныйРежим = Истина) Экспорт @@ -280,9 +280,9 @@ &НаКлиенте // Функция - Каталог запускателя тестов -// +// // Возвращаемое значение: -// Строка - +// Строка - // Функция КаталогЗапускателяТестов() Экспорт ФайлЗапускателяТестов = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); @@ -291,9 +291,9 @@ &НаКлиенте // Функция - Имя запускателя тестов -// +// // Возвращаемое значение: -// Строка - +// Строка - // Функция ИмяЗапускателяТестов() Экспорт ФайлЗапускателяТестов = Новый Файл(КонтекстЯдра.ИспользуемоеИмяФайла); @@ -304,7 +304,7 @@ Процедура СоздатьКаталогКомандаСистемы(Знач ИмяФайла) Экспорт Если КонтекстЯдра.ЕстьПоддержкаАсинхронныхВызовов Тогда ИмяФайла = СтрЗаменить(ИмяФайла, "/", "\"); - Если НЕ КонтекстЯдра.ЭтоLinux Тогда + Если НЕ КонтекстЯдра.ЭтоЛинукс() Тогда СоздатьПлагины(); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна("MKDIR """ + ИмяФайла + """"); Иначе @@ -329,8 +329,7 @@ Процедура СоздатьПлагины() Если УправлениеПриложениями = Неопределено Тогда УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); - КонецЕсли; + КонецЕсли; КонецПроцедуры // } Helpers - From 4c927a4ceadc4b6b5486d4942398a5e6a65c970a Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 15 Oct 2021 11:54:44 +0300 Subject: [PATCH 388/421] =?UTF-8?q?=D1=81=D0=B8=D0=BD=D1=82=D0=B0=D0=BA?= =?UTF-8?q?=D1=81-=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" index 62705e135..10fafb961 100644 --- "a/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" +++ "b/plugins/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217\320\274\320\270/Ext/ObjectModule.bsl" @@ -96,7 +96,7 @@ Функция ВыполнитьКомандуОСБезПоказаЧерногоОкнаСВыводом(Знач ТекстКоманды, Знач ЖдатьОкончания = Истина, Знач ИспользоватьКодировкуТекстаUTF8 = Истина, КонсольныйВывод = "") Экспорт - Если КонтекстЯдра.ЭтоЛинукс()) Тогда + Если КонтекстЯдра.ЭтоЛинукс() Тогда КодВозврата = 0; @@ -386,7 +386,7 @@ Процедура TASKKILL(ИмяПриложения) Экспорт Если КонтекстЯдра.ЭтоЛинукс() Тогда КонтекстЯдра.СделатьСообщение("TASKKILL не доступно в Linux"); - Возврат; + Возврат; КонецЕсли; СтрокаКоманды = "TASKKILL /F /IM " + ИмяПриложения; ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаКоманды); From 9fc2f10a6be93292ba1fa96ac24fd9d3bc6f5a4d Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Sun, 17 Oct 2021 12:30:38 +0300 Subject: [PATCH 389/421] =?UTF-8?q?=D1=82=D0=B0=D0=B9=D0=BC=D0=B0=D1=83?= =?UTF-8?q?=D1=82=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82-=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0?= =?UTF-8?q?=2060=20=D1=81=D0=B5=D0=BA=D1=83=D0=BD=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit вместо 120 --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8f4609c5c..ec9363f45 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -730,7 +730,7 @@ &НаКлиенте Функция ТаймаутВСекундах() - Возврат 120; + Возврат 60; КонецФункции From c61fe625cc29af4d1271848f4f3c75d5c12fe331 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 28 Oct 2021 15:25:02 +0300 Subject: [PATCH 390/421] =?UTF-8?q?=D0=B8=D0=BD=D0=BE=D0=B3=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA=D0=B0=D0=BB=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BA=D0=B0=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BF=D0=BE=D1=80=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #906 closes #914 --- .../Ext/Form/Module.bsl" | 4 ++++ 1 file changed, 4 insertions(+) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ec9363f45..9a807534b 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -841,6 +841,10 @@ Если Не ЗначениеЗаполнено(Порт) Тогда Порт = ПортПоУмолчанию(); КонецЕсли; + Если ТипЗнч(Порт) <> Тип("Число") Тогда + Порт = Число(Порт); + КонецЕсли; + Возврат Порт; КонецФункции From f1601367b69ebef861b38912210c9072ff6026e8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Thu, 28 Oct 2021 15:36:38 +0300 Subject: [PATCH 391/421] =?UTF-8?q?=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D0=B9=20=D0=A2=D0=B5=D1=81=D1=82-=D0=BA=D0=BB=D0=B8?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=20=D0=BF=D0=BE=20=D1=81=D0=BF=D0=B5=D1=86-?= =?UTF-8?q?=D0=BF=D0=BE=D1=80=D1=82=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #906 #914 --- ...\217 \321\204\320\276\321\200\320\274.feature" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" index 179c12747..a124d3822 100644 --- "a/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" +++ "b/features/1bdd/\320\224\321\213\320\274\320\276\320\262\320\276\320\271 \321\202\320\265\321\201\321\202 \320\276\321\202\320\272\321\200\321\213\321\202\320\270\321\217 \321\204\320\276\321\200\320\274.feature" @@ -196,3 +196,18 @@ | -->> тест Документ.ДокументСДвижениями | И Код возврата команды "vrunner" равен 0 + +Сценарий: Тест-клиент по спец-порту и Тестирование документов - настроена проверка только избранных из отдельного файла настройки метаданных + + И Я добавляю параметр "--testclient Admin::42769 --xddConfig <КаталогПроекта>/spec/fixtures/smoke-include-from-support.json" для команды "vrunner" + + Когда Я выполняю команду "vrunner" + Тогда Вывод команды "vrunner" содержит + | ==>> набор тестов Документы | + | -->> тест Документ.Документ2 | + | ИНФОРМАЦИЯ - Все тесты выполнены! | + | Выполнение тестов завершено | + И Вывод команды "vrunner" не содержит + | -->> тест Документ.ДокументСДвижениями | + + И Код возврата команды "vrunner" равен 0 From b364405eab24736dc9b4a3f4a8414c819c73f78e Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 16:58:51 +0300 Subject: [PATCH 392/421] =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=20=D0=BB=D0=BE=D0=B1=20#917?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ecd127643..928e7a250 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -32,7 +32,7 @@ // Поле в котором можно хранить клиентский контекст на протяжении сеанса // данный контекст можно использовать для передачи данных между тестами -&НаКлиенте +&НаКлиенте Перем ГлобальныйКонтекст; // { События формы @@ -1272,13 +1272,13 @@ КонецФункции // } История загрузки тестов + // { Пакетный запуск &НаКлиенте Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) Перем РезультатыТестирования; Попытка - ПарсерКоманднойСтроки = Плагин("ПарсерКоманднойСтроки"); ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); @@ -1339,6 +1339,12 @@ СобратьНастройкиОтчетовТестирования(НастройкиШагов, ПараметрыЗапуска); + Область = ПолучитьОбластьДанных(); + Если Область <> Неопределено Тогда + ВходВОбластьНаСервере(Область); + КонецЕсли; + + Если Не ЕстьПоддержкаАсинхронныхВызовов Тогда ВыполнитьПакетныйЗапускСинхронно(НастройкиШагов); Иначе @@ -2950,6 +2956,34 @@ КонецФункции + +&НаСервереБезКонтекста +Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) + МРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) + МСтроковыеФункцииКлиентСервер = ОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); + + Если МСтроковыеФункцииКлиентСервер <> Неопределено И ТипЗнч(ОбластьДанных) <> Тип("Число") Тогда + ОбластьДанных = МСтроковыеФункцииКлиентСервер.СтрокаВЧисло(ОбластьДанных); + КонецЕсли; + + Если ОбластьДанных <> Неопределено И МРаботаВМоделиСервиса <> Неопределено И МРаботаВМоделиСервиса.СеансЗапущенБезРазделителей() Тогда + МРаботаВМоделиСервиса.ВойтиВОбластьДанных(ОбластьДанных); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьОбластьДанных() + Перем ОбластьДанныхМенеджера, ПлагинНастроек; + + ПлагинНастроек = Плагин("Настройки"); + ПлагинНастроек.Обновить(); + + ПлагинНастроек.ПолучитьНастройки().Свойство("ОбластьДанныхМенеджера", ОбластьДанныхМенеджера); + + Возврат ОбластьДанныхМенеджера; +КонецФункции + + // } Вспомогательные методы #Область Глобальный_контекст From a74318100eae37fc085e03409b3b0049c7ae099b Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 19:57:27 +0300 Subject: [PATCH 393/421] fix #919 --- .../Ext/ObjectModule.bsl" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 702cad905..57fe20a5e 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1324,6 +1324,12 @@ ВызватьИсключение СтрШаблон_(НСтр("ru = 'Не удалось найти объект метаданных по имени ""%1"".'"), ИД); КонецЕсли; Мета = Элем.Метаданные(); + + Если Не РазрешеноИзменятьОбъект(Мета) Тогда + ВывестиСообщение(СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя()), УровеньЖурналаРегистрации.Информация); + Возврат Неопределено; + КонецЕсли; + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; @@ -1361,6 +1367,24 @@ КонецФункции +Функция РазрешеноИзменятьОбъект(МетаОбъект) + Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда + МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); + + // В сеансе без разделителей меняем только общие МД, в сеансе с разделителем меняет только разделенные + // в базе где вообще не включено разделение меняем все подряд + Возврат Не МодульРаботаВМоделиСервиса.РазделениеВключено() ИЛИ + (Не МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + Не МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)) + ИЛИ (МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)); + Иначе + Возврат Истина; + КонецЕсли; +КонецФункции + + + Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); From 87e1637a01a7c00f662269c2ed3873e2c7248f63 Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 21:18:56 +0300 Subject: [PATCH 394/421] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B0=20=D1=8F=D0=B2=D0=BD=D1=83=D1=8E=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20=D0=B2=20=D0=96=D0=A0=20=D0=B8?= =?UTF-8?q?=D0=B7-=D0=B7=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=20=D0=9C?= =?UTF-8?q?=D0=94=20#919?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 57fe20a5e..d9dd7250d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1326,7 +1326,7 @@ Мета = Элем.Метаданные(); Если Не РазрешеноИзменятьОбъект(Мета) Тогда - ВывестиСообщение(СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя()), УровеньЖурналаРегистрации.Информация); + ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, Мета, , СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя())); Возврат Неопределено; КонецЕсли; From 387f1d9a69a718991b84fcf836a4328fc67cc60b Mon Sep 17 00:00:00 2001 From: Artem Date: Fri, 5 Nov 2021 00:24:13 +0300 Subject: [PATCH 395/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20#920?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c04c58fac..6d5573fda 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1392,30 +1392,32 @@ #Область ВспомогательныеМетоды &НаСервереБезКонтекста -Процедура УдалитьСозданныеОбъекты(СоздаваемыйЭлемент) +Процедура УдалитьСозданныеОбъекты(Знач СоздаваемыйЭлемент) + Перем Владелец; - Если СоздаваемыйЭлемент = Неопределено Тогда + Если Не ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда Возврат; КонецЕсли; Попытка + // не у всех метаданных есть свойство Владельцы, например у ПВХ нет и тогда получим ошибку поле объекта не обноркжено, а ПВХ может выступать владельцем у справочника + // лучше проверять через реквизиты + // у СтандартныеРеквизиты нет метода Найти. В попытке, это принцип EAFP + Попытка + Владелец = СоздаваемыйЭлемент.Метаданные().СтандартныеРеквизиты["Владелец"]; + Исключение + КонецПопытки; - СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); - - Если ЗначениеЗаполнено(СоздаваемыйЭлемент.Владелец) Тогда - - Если СоздаваемыйЭлемент.Метаданные().Владельцы.Количество() > 0 - И Не СоздаваемыйЭлемент.Владелец.Пустая() Тогда - УдалитьСозданныеОбъекты(СозданныйОбъект.Владелец); - Возврат; - КонецЕсли; - + Если Владелец <> Неопределено Тогда + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент.Владелец); КонецЕсли; - СозданныйОбъект.Удалить(); - - Исключение + СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); // обязательно объект нужно получить непосредственно перед удалением + Если СозданныйОбъект <> Неопределено Тогда + СозданныйОбъект.Удалить(); + КонецЕсли; + Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ЗаписьЖурналаРегистрации( ИмяТеста(), @@ -1425,11 +1427,7 @@ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - КонецПопытки; - - СоздаваемыйЭлемент = Неопределено; - КонецПроцедуры &НаСервере @@ -1589,7 +1587,8 @@ &НаСервереБезКонтекста Функция ИмяТеста() - Возврат "Тесты_ОткрытиеФормКонфигурации"; + // в модуле объекта для имени события используется Метаданные().Синоним, логично что бы и тут был синоним, все должно быть единообразно, а то в ЖР 2 события создаются. + Возврат "Тесты ""Открытие форм конфигурации"""; КонецФункции #КонецОбласти From 727f62325418623986810f106973adc26147b435 Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 16:21:18 +0300 Subject: [PATCH 396/421] =?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=D1=8F=20#921=20+=20=D0=B1=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D1=88=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=96=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 83 ++++++++++++------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9a807534b..8855c17fd 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -278,18 +278,22 @@ &НаКлиенте Функция ТестКлиентПоУмолчанию() Экспорт - + Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. + |ИмяПользователя: %1 + |Порт: %2 + |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); Возврат ЗапущенныеТестКлиенты[0].ТестКлиент; КонецЕсли; - + ОписаниеТестКлиента = ПодключитьТестКлиент(); Результат = ОписаниеТестКлиента.Клиент; ЗапомнитьДанныеТестКлиента(Результат, "", ОписаниеТестКлиента.Порт, ""); - + Возврат Результат; - + КонецФункции &НаКлиенте @@ -643,14 +647,14 @@ // &НаКлиенте Функция НайтиСвободныйПортЕслиТекущийЗанят(Знач Порт = 1538, Знач НачалоДиапазонаПортов = 48000, Знач ОкончаниеДиапазонаПортов = 50000) Экспорт - + Если Порт <= 0 Или Порт > 65536 Тогда Порт = 1538; КонецЕсли; - + //НачалоДиапазонаПортов = 48000; //ОкончаниеДиапазонаПортов = 50000; - + //Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда // //там должна быть строка вида 48000-48020 // МассивЗначений = СтрРазделить(Объект.ДиапазонПортовTestclient, "-"); @@ -662,21 +666,23 @@ // НачалоДиапазонаПортов = Число(МассивЗначений[0]); // ОкончаниеДиапазонаПортов = Число(МассивЗначений[1]); //КонецЕсли; - - МассивЗанятыхПортов = МассивЗанятыхПортов(); + + ПортПид = Новый Соответствие(); + МассивЗанятыхПортов = МассивЗанятыхПортов(ПортПид); Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда - + ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПортПид[Порт])); + Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; - КонецЕсли; КонецЦикла; КонецЕсли; - + Возврат Порт; - + КонецФункции // } Plugin interface @@ -796,6 +802,15 @@ КонецПроцедуры +&НаСервереБезКонтекста +Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) + + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), + УровеньЖурналаРегистрации.Информация, , , + Текст); + +КонецПроцедуры + &НаСервереБезКонтекста Функция ИмяСобытияЖР() @@ -841,10 +856,12 @@ Если Не ЗначениеЗаполнено(Порт) Тогда Порт = ПортПоУмолчанию(); КонецЕсли; + Если ТипЗнч(Порт) <> Тип("Число") Тогда Порт = Число(Порт); КонецЕсли; + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции @@ -1093,35 +1110,41 @@ КонецПроцедуры &НаКлиенте -Функция МассивЗанятыхПортов() - +Функция МассивЗанятыхПортов(ПортПид = Неопределено) + Результат = Новый Массив; ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); Если НЕ ЭтоLinux() Тогда - + СтрокаЗапуска = "netstat -ano > """ + ИмяВременногоФайла + """"; //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); - + Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - - Порт_ = Сред(Сред(СокрЛП(Стр), 8), 1, Найти(Сред(СокрЛП(Стр), 8), " ")); + + Разбивка = СтрРазделить(Стр, " ", Ложь); + Если Разбивка.Количество() <> 5 Тогда + Продолжить; + КонецЕсли; + Порт_ = Разбивка[1]; + PID = Разбивка[Разбивка.ВГраница()]; + Порт = ""; Для НомерСимвола = 0 По СтрДлина(Порт_) - 1 Цикл СимволСтроки = Сред(Порт_, СтрДлина(Порт_) - НомерСимвола, 1); @@ -1132,10 +1155,13 @@ Порт = СимволСтроки + Порт; КонецЕсли; КонецЦикла; - + Попытка Порт = Число(Порт); Результат.Добавить(Порт); + Если ПортПид <> Неопределено Тогда + ПортПид.Вставить(Порт, PID); + КонецЕсли; Исключение Продолжить; КонецПопытки; @@ -1152,17 +1178,17 @@ Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - + Порт = СокрЛП(Стр); Попытка Порт = Число(Порт); @@ -1174,13 +1200,14 @@ Текст.Закрыть(); КонецЕсли; - + //Для каждого СтрокаДанныеКлиентовТестирования Из ДанныеКлиентовТестирования Цикл // TODO // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); //КонецЦикла; - + + УдалитьФайлы(ИмяВременногоФайла); Возврат Результат; - + КонецФункции Функция НовоеОписаниеТестКлиента() From a6f448c663a865e630958cfe399a8683526f990a Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 18:07:07 +0300 Subject: [PATCH 397/421] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D0=BC=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8855c17fd..c88e78d43 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -98,6 +98,7 @@ КонецПроцедуры + // Подключить тест-клиент // // Параметры: @@ -120,31 +121,31 @@ Порт = ПолучитьПорт(Порт); Порт = НайтиСвободныйПортЕслиТекущийЗанят(Порт); - + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда СписокПропускаемыхФорм = Новый СписокЗначений; КонецЕсли; - + ПодключенныйТестКлиент = Неопределено; - + Попытка Выполнить "ПодключенныйТестКлиент = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка подключения тест-клиента по порту " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); ПодключенныйТестКлиент = Неопределено; КонецПопытки; - + Если ПодключенныйТестКлиент = Неопределено Тогда ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение. |Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER) |При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; КонецЕсли; - + // Попытка подключиться к уже запущенному приложению. Подключен = Ложь; Попытка @@ -154,12 +155,12 @@ Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка соединения с тест-клиентом. Порт " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); Подключен = Ложь; КонецПопытки; - + Если Подключен Тогда Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); @@ -168,27 +169,30 @@ КонецЕсли; СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт, ДопПараметры); - + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; + СчетчикПопыток = 0; Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка + СчетчикПопыток = СчетчикПопыток + 1; + ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; Прервать; Исключение - Инфо = ИнформацияОбОшибке(); - ОписаниеОшибки = "Ошибка подключения тест-клиента. Порт " + Порт + " - |" + ПодробноеПредставлениеОшибки(Инфо); - - ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = СтрШаблон("Попытка %1. Ошибка подключения тест-клиента. Порт %2 + |%3", СчетчикПопыток, Порт, ПодробноеПредставлениеОшибки(Инфо)); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + КонецПопытки; КонецЦикла; - + Если Не Подключен Тогда Попытка ПодключенныйТестКлиент.УстановитьСоединение(); @@ -200,12 +204,12 @@ ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); ВызватьИсключение СтрШаблон( - "Не смогли установить соединение с тестовым приложением для пользователя %1! - |%2", - ИмяПользователя, ОписаниеОшибкиСоединения); + "Не смогли установить соединение с тестовым приложением для пользователя %1! + |%2", + ИмяПользователя, ОписаниеОшибкиСоединения); КонецПопытки; КонецЕсли; - + Если Подключен И ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда Таймаут = 5; ДлительностьОжидания = 0; @@ -225,10 +229,10 @@ ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); ВызватьИсключение КонтекстЯдра.СтрШаблон_( - "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 - |%2!", - ИмяПользователя, ОписаниеОшибкиСоединения); - + "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 + |%2!", + ИмяПользователя, ОписаниеОшибкиСоединения); + КонецПопытки; Если ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда ПодключенныйТестКлиент.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); @@ -237,12 +241,12 @@ ВызватьИсключение НСтр("ru = 'Превышено время ожидания ввода пароля.'"); КонецЕсли; КонецЕсли; - + Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); Возврат Результат; - + КонецФункции &НаКлиенте From 8031b5654cb391056d145661da83a8dff28cdfcd Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 18:27:13 +0300 Subject: [PATCH 398/421] =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=A2=D0=B5=D1=81=D1=82=D0=9A=D0=BB=D0=B8=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=9F=D0=BE=D0=A3=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=B2=20=D0=96=D0=A0,=20=D0=B2=D1=8B=D0=BD?= =?UTF-8?q?=D0=B5=D1=81=20=D0=B8=D1=85=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D0=B4=D0=BE=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=BD=D0=B5=D0=B5=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c88e78d43..830ebfd9b 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -284,7 +284,7 @@ Функция ТестКлиентПоУмолчанию() Экспорт Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. + ЗаписатьИнформациюВЖурналРегистрации("ТестКлиентПоУмолчанию", СтрШаблон("Был использован один из запущенных ранее тест клиентов. |ИмяПользователя: %1 |Порт: %2 |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); @@ -679,7 +679,7 @@ Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); + ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; КонецЕсли; КонецЦикла; @@ -807,9 +807,10 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) +Процедура ЗаписатьИнформациюВЖурналРегистрации(ПостфиксСобытия, Знач Текст) + ИмяСобытия = СтрРазделить(ИмяСобытияЖР()+"."+ПостфиксСобытия, ".", Ложь); // эта пляска для случаев когда ПостфиксСобытия будет пустой, что б в конце не осталась точка - ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), + ЗаписьЖурналаРегистрации(СтрСоединить(ИмяСобытия, "."), УровеньЖурналаРегистрации.Информация, , , Текст); @@ -865,7 +866,7 @@ Порт = Число(Порт); КонецЕсли; - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); + ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции From f0ec7d19c529bba262d47b9a763ba529cc3b2770 Mon Sep 17 00:00:00 2001 From: Artem Date: Mon, 8 Nov 2021 12:41:00 +0300 Subject: [PATCH 399/421] =?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=D1=86=D0=B5=D0=B4=D1=83=D1=80=D1=83?= =?UTF-8?q?=20=D0=97=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D1=82=D1=8C=D0=9F=D1=80?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B5=D0=92=D0=96?= =?UTF-8?q?=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=A0=D0=B5=D0=B3=D0=B8=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 830ebfd9b..e72f3d739 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -182,6 +182,8 @@ ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; + + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Тест-клиент подключен успешно. Порт %1", Порт)); Прервать; Исключение Инфо = ИнформацияОбОшибке(); @@ -196,6 +198,7 @@ Если Не Подключен Тогда Попытка ПодключенныйТестКлиент.УстановитьСоединение(); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Тест-клиент подключен успешно. Порт %1", Порт)); Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); @@ -284,7 +287,7 @@ Функция ТестКлиентПоУмолчанию() Экспорт Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда - ЗаписатьИнформациюВЖурналРегистрации("ТестКлиентПоУмолчанию", СтрШаблон("Был использован один из запущенных ранее тест клиентов. + ЗаписатьПримечаниеВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. |ИмяПользователя: %1 |Порт: %2 |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); @@ -679,7 +682,7 @@ Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда - ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; КонецЕсли; КонецЦикла; @@ -807,13 +810,13 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ЗаписатьИнформациюВЖурналРегистрации(ПостфиксСобытия, Знач Текст) - ИмяСобытия = СтрРазделить(ИмяСобытияЖР()+"."+ПостфиксСобытия, ".", Ложь); // эта пляска для случаев когда ПостфиксСобытия будет пустой, что б в конце не осталась точка - - ЗаписьЖурналаРегистрации(СтрСоединить(ИмяСобытия, "."), - УровеньЖурналаРегистрации.Информация, , , - Текст); - +Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Информация,,, Текст); +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ЗаписатьПримечаниеВЖурналРегистрации(Знач Текст) + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Примечание,,, Текст); КонецПроцедуры &НаСервереБезКонтекста @@ -866,7 +869,7 @@ Порт = Число(Порт); КонецЕсли; - ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован порт: ""%1""", Порт)); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции @@ -1128,7 +1131,11 @@ //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); - УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + КодОтвета = УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + Если КодОтвета <> 0 Тогда + ЗаписатьОшибкуВЖурналеРегистрации(СтрШаблон("Не удалось выполнить команду ""%1"", код ответа = %2", СтрокаЗапуска, КодОтвета)); + Возврат Результат; + КонецЕсли; Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); From 3aa09ce8f4884ff11139257067983793b7527ad5 Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 9 Nov 2021 21:52:20 +0300 Subject: [PATCH 400/421] =?UTF-8?q?=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=20=D0=BE=D0=B1=D1=89=D0=B5=D0=BC?= =?UTF-8?q?=D1=83=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8E=20=D0=9E=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=B3=D0=BE=D0=9D=D0=B0=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 12 +++++++++--- .../Ext/ObjectModule.bsl" | 11 +++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 928e7a250..29baac29e 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2959,8 +2959,15 @@ &НаСервереБезКонтекста Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) - МРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) - МСтроковыеФункцииКлиентСервер = ОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); + МОбщегоНазначения = Неопределено; + Попытка + МОбщегоНазначения = Вычислить("ОбщегоНазначения"); + Исключение + Возврат; + КонецПопытки; + + МРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) + МСтроковыеФункцииКлиентСервер = МОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); Если МСтроковыеФункцииКлиентСервер <> Неопределено И ТипЗнч(ОбластьДанных) <> Тип("Число") Тогда ОбластьДанных = МСтроковыеФункцииКлиентСервер.СтрокаВЧисло(ОбластьДанных); @@ -2983,7 +2990,6 @@ Возврат ОбластьДанныхМенеджера; КонецФункции - // } Вспомогательные методы #Область Глобальный_контекст diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index d9dd7250d..685c2e72a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1368,8 +1368,15 @@ КонецФункции Функция РазрешеноИзменятьОбъект(МетаОбъект) - Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда - МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); + МОбщегоНазначения = Неопределено; + Попытка + МОбщегоНазначения = Вычислить("ОбщегоНазначения"); + Исключение + Возврат Истина; // Если нет модуля ОбщегоНазначения, врядли там включено разделение по областям + КонецПопытки; + + Если МОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда + МодульРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // В сеансе без разделителей меняем только общие МД, в сеансе с разделителем меняет только разделенные // в базе где вообще не включено разделение меняем все подряд From 7765327c907f5b251b3d6b4125b6af887eed3f05 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 21:56:39 +0300 Subject: [PATCH 401/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=BD=D0=B5=D0=BD=D1=83=D0=B6=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 208 +++--- .../Ext/Form/Module.bsl" | 670 +++++++++--------- 2 files changed, 439 insertions(+), 439 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e72f3d739..a791e717f 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -53,7 +53,7 @@ &НаКлиенте Процедура ПодключитьТестКлиент_ПакетныйРежим(Параметры_xddTestClient, ДопПараметры = Неопределено) Экспорт - Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") + Если ЗначениеЗаполнено(Параметры_xddTestClient) И ТипЗнч(Параметры_xddTestClient[0]) <> Тип("ФиксированныйМассив") Тогда НовыйМассивПараметров = Новый Массив; НовыйМассивПараметров.Добавить(Параметры_xddTestClient); @@ -76,13 +76,13 @@ ПользовательПарольПорт[2], ДопПараметры); ТестКлиент = ОписаниеТестКлиента.Клиент; - + ЗапомнитьДанныеТестКлиента(ТестКлиент, ПользовательПарольПорт[0], ОписаниеТестКлиента.Порт, ДопПараметры); Иначе ОписаниеТестКлиента = ПодключитьТестКлиент("", "", 0, ДопПараметры); ТестКлиент = ОписаниеТестКлиента.Клиент; - + ЗапомнитьДанныеТестКлиента(ТестКлиент, "", ОписаниеТестКлиента.Порт, ДопПараметры); КонецЕсли; Исключение @@ -91,7 +91,7 @@ |" + ПодробноеПредставлениеОшибки(Инфо); ЗаписатьОшибкуВЖурналеРегистрации(ОписаниеОшибки); - + Сообщить(ОписаниеОшибки, СтатусСообщения.ОченьВажное); КонецПопытки; КонецЦикла; @@ -106,7 +106,7 @@ // Пароль - Строка - пароль пользователя // Порт - Число - порт подключения. Порт может быть изменен. // ДопПараметры - Произвольный - доп.параметры, которые допустимы на клиенте -// +// // Возвращаемое значение: // Структура - описание тест-клиента, если удалось подключить, или Неопределено // * Клиент - ТестируемоеПриложение, Неопределено - тестовый клиент, если удалось подключиться @@ -114,38 +114,38 @@ // &НаКлиенте Функция ПодключитьТестКлиент(Знач ИмяПользователя = "", Знач Пароль = "", Знач Порт = 0, Знач ДопПараметры = "") Экспорт - + Перем ПодключенныйТестКлиент; - + Результат = НовоеОписаниеТестКлиента(); - + Порт = ПолучитьПорт(Порт); Порт = НайтиСвободныйПортЕслиТекущийЗанят(Порт); - + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда СписокПропускаемыхФорм = Новый СписокЗначений; КонецЕсли; - + ПодключенныйТестКлиент = Неопределено; - + Попытка Выполнить "ПодключенныйТестКлиент = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка подключения тест-клиента по порту " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + ПодключенныйТестКлиент = Неопределено; КонецПопытки; - + Если ПодключенныйТестКлиент = Неопределено Тогда ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение. |Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER) |При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; КонецЕсли; - + // Попытка подключиться к уже запущенному приложению. Подключен = Ложь; Попытка @@ -155,46 +155,46 @@ Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка соединения с тест-клиентом. Порт " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + Подключен = Ложь; КонецПопытки; - + Если Подключен Тогда Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); - + Возврат Результат; КонецЕсли; - + СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт, ДопПараметры); - + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; СчетчикПопыток = 0; Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка СчетчикПопыток = СчетчикПопыток + 1; - + ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; - + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Тест-клиент подключен успешно. Порт %1", Порт)); Прервать; Исключение Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = СтрШаблон("Попытка %1. Ошибка подключения тест-клиента. Порт %2 |%3", СчетчикПопыток, Порт, ПодробноеПредставлениеОшибки(Инфо)); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + КонецПопытки; КонецЦикла; - + Если Не Подключен Тогда Попытка ПодключенныйТестКлиент.УстановитьСоединение(); @@ -203,16 +203,16 @@ ИнформацияОбОшибке = ИнформацияОбОшибке(); ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); - + ВызватьИсключение СтрШаблон( "Не смогли установить соединение с тестовым приложением для пользователя %1! |%2", ИмяПользователя, ОписаниеОшибкиСоединения); КонецПопытки; КонецЕсли; - + Если Подключен И ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда Таймаут = 5; ДлительностьОжидания = 0; @@ -220,63 +220,63 @@ Пока ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено И ДлительностьОжидания < ТаймаутВСекундах() Цикл ПодключенныйТестКлиент.ПолучитьАктивноеОкно().Активизировать(); ДлительностьОжидания = ДлительностьОжидания + Таймаут; - + Пауза(ПодключенныйТестКлиент, Таймаут); КонецЦикла; - + Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); ПолныйТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - + ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); - + ВызватьИсключение КонтекстЯдра.СтрШаблон_( "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 |%2!", ИмяПользователя, ОписаниеОшибкиСоединения); - + КонецПопытки; Если ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда ПодключенныйТестКлиент.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); ПодключенныйТестКлиент.РазорватьСоединение(); - + ВызватьИсключение НСтр("ru = 'Превышено время ожидания ввода пароля.'"); КонецЕсли; КонецЕсли; - + Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); - + Возврат Результат; - + КонецФункции &НаКлиенте Процедура ЗавершитьВсеТестКлиенты() Экспорт КонтекстЯдра.Отладка("Перед завершением всех тест-клиентов"); - + Если Не ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда КонтекстЯдра.Отладка(" - Не найдено запущенных тест-клиентов"); Возврат; - + КонецЕсли; Для Каждого ТекЗначение Из ЗапущенныеТестКлиенты Цикл - + Порт = XMLСтрока(ТекЗначение.Порт); КонтекстЯдра.Отладка(" - Нашли тест-клиент. Порт " + Порт); - + Если ЭтоLinux() Тогда ЗапуститьПриложение("kill -9 `ps aux | grep -ie TESTCLIENT | grep -ie 1cv8c | awk '{print $2}'`"); Иначе ТекстСкрипта = ТекстСкриптаЗавершитьТестКлиент(Порт); КонтекстЯдра.Отладка(" - текст скрипта удаления. " + ТекстСкрипта); - + ЗапуститьПриложение(ТекстСкрипта); - + КонтекстЯдра.Отладка(" - После запуска команды завершения тест-клиента. Порт " + Порт); КонецЕсли; КонецЦикла; @@ -285,22 +285,22 @@ &НаКлиенте Функция ТестКлиентПоУмолчанию() Экспорт - + Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда ЗаписатьПримечаниеВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. |ИмяПользователя: %1 |Порт: %2 - |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); + |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); Возврат ЗапущенныеТестКлиенты[0].ТестКлиент; КонецЕсли; - + ОписаниеТестКлиента = ПодключитьТестКлиент(); Результат = ОписаниеТестКлиента.Клиент; - + ЗапомнитьДанныеТестКлиента(Результат, "", ОписаниеТестКлиента.Порт, ""); - + Возврат Результат; - + КонецФункции &НаКлиенте @@ -315,7 +315,7 @@ ОписаниеТестКлиента = ПодключитьТестКлиент(ИмяПользователя, Пароль, Порт, ДопПараметры); Результат = ОписаниеТестКлиента.Клиент; - + ЗапомнитьДанныеТестКлиента(Результат, ИмяПользователя, ОписаниеТестКлиента.Порт, ДопПараметры); Возврат Результат; @@ -323,7 +323,7 @@ КонецФункции &НаКлиенте -Процедура ИдентифицироватьОкноПредупреждение(Знач ТестКлиент, Знач Пояснение = "", +Процедура ИдентифицироватьОкноПредупреждение(Знач ТестКлиент, Знач Пояснение = "", Знач ПропускатьПриОтсутствииПрав = Истина) Экспорт ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); @@ -359,17 +359,17 @@ &НаКлиенте Функция ПоявилосьОкноПредупрежденияСТекстом(Знач ТестКлиент, Знач ТекстИсключенияДляПроверки) Экспорт - + ОкноПредупреждение = ОкноПредупреждение(ТестКлиент); - + Если ТипЗнч(ОкноПредупреждение) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Возврат Ложь; КонецЕсли; - + ТекстИсключения = ТекстИсключения(ОкноПредупреждение); - + Возврат Найти(ВРег(ТекстИсключения), ВРег(ТекстИсключенияДляПроверки)) > 0; - + КонецФункции &НаКлиенте @@ -382,7 +382,7 @@ Если ТипЗнч(ПодчиненныйОбъект) <> Тип("ТестируемоеОкноКлиентскогоПриложения") Тогда Продолжить; КонецЕсли; - ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(ЗаголовкиМодальныхОкон, + ОписаниеМодальногоОкна = НайтиПодходящееЗначениеПоКлючуВКоллекции(ЗаголовкиМодальныхОкон, ПодчиненныйОбъект.Заголовок); Если ОписаниеМодальногоОкна <> Неопределено Тогда ОкноПредупреждение = ПодчиненныйОбъект; @@ -436,7 +436,7 @@ |" + ПодробноеПредставлениеОшибки(Инфо); ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + Возврат Неопределено; КонецПопытки; @@ -570,7 +570,7 @@ Или ОткрытыеОкнаДо.Получить(ТекОкно.Заголовок) <> Неопределено Тогда Продолжить; КонецЕсли; - + НужноВыброситьИсключение = Истина; Прервать; КонецЦикла; @@ -580,10 +580,10 @@ |" + ПодробноеПредставлениеОшибки(Инфо); ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + КонтекстЯдра.ВывестиСообщение("Не удалось проверить модальные окна ", СтатусСообщения.ОченьВажное); - + Возврат; КонецПопытки; @@ -648,20 +648,20 @@ // Порт - Число - Необязательный. По умолчанию 1538 // НачалоДиапазонаПортов - Число - Необязательный. По умолчанию 48000 // ОкончаниеДиапазонаПортов - Число - Необязательный. По умолчанию 50000 -// +// // Возвращаемое значение: // Число - текущий порт или новый порт, если текущий занят // &НаКлиенте Функция НайтиСвободныйПортЕслиТекущийЗанят(Знач Порт = 1538, Знач НачалоДиапазонаПортов = 48000, Знач ОкончаниеДиапазонаПортов = 50000) Экспорт - + Если Порт <= 0 Или Порт > 65536 Тогда Порт = 1538; КонецЕсли; - + //НачалоДиапазонаПортов = 48000; //ОкончаниеДиапазонаПортов = 50000; - + //Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда // //там должна быть строка вида 48000-48020 // МассивЗначений = СтрРазделить(Объект.ДиапазонПортовTestclient, "-"); @@ -673,23 +673,23 @@ // НачалоДиапазонаПортов = Число(МассивЗначений[0]); // ОкончаниеДиапазонаПортов = Число(МассивЗначений[1]); //КонецЕсли; - + ПортПид = Новый Соответствие(); МассивЗанятыхПортов = МассивЗанятыхПортов(ПортПид); Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПортПид[Порт])); - + Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда - + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; КонецЕсли; КонецЦикла; КонецЕсли; - + Возврат Порт; - + КонецФункции // } Plugin interface @@ -750,7 +750,7 @@ &НаКлиенте Функция ТекстСкриптаЗавершитьТестКлиент(НомерПорта) - Результат = + Результат = "wmic process where (CommandLine Like ""%/TESTCLIENT%"" And ExecutablePath Like ""%1cv8c%"") call terminate"; Если Не ЗначениеЗаполнено(НомерПорта) Тогда @@ -816,7 +816,7 @@ &НаСервереБезКонтекста Процедура ЗаписатьПримечаниеВЖурналРегистрации(Знач Текст) - ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Примечание,,, Текст); + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Примечание,,, Текст); КонецПроцедуры &НаСервереБезКонтекста @@ -864,11 +864,11 @@ Если Не ЗначениеЗаполнено(Порт) Тогда Порт = ПортПоУмолчанию(); КонецЕсли; - + Если ТипЗнч(Порт) <> Тип("Число") Тогда Порт = Число(Порт); КонецЕсли; - + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции @@ -972,7 +972,7 @@ КонецФункции &НаКлиенте -Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", +Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт Результат = Новый Массив; @@ -1119,44 +1119,44 @@ &НаКлиенте Функция МассивЗанятыхПортов(ПортПид = Неопределено) - + Результат = Новый Массив; - + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); - + Если НЕ ЭтоLinux() Тогда - + СтрокаЗапуска = "netstat -ano > """ + ИмяВременногоФайла + """"; - + //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); - //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); + //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); КодОтвета = УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); - Если КодОтвета <> 0 Тогда + Если КодОтвета <> 0 Тогда ЗаписатьОшибкуВЖурналеРегистрации(СтрШаблон("Не удалось выполнить команду ""%1"", код ответа = %2", СтрокаЗапуска, КодОтвета)); Возврат Результат; КонецЕсли; - + Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - + Разбивка = СтрРазделить(Стр, " ", Ложь); Если Разбивка.Количество() <> 5 Тогда - Продолжить; + Продолжить; КонецЕсли; Порт_ = Разбивка[1]; PID = Разбивка[Разбивка.ВГраница()]; - + Порт = ""; Для НомерСимвола = 0 По СтрДлина(Порт_) - 1 Цикл СимволСтроки = Сред(Порт_, СтрДлина(Порт_) - НомерСимвола, 1); @@ -1167,7 +1167,7 @@ Порт = СимволСтроки + Порт; КонецЕсли; КонецЦикла; - + Попытка Порт = Число(Порт); Результат.Добавить(Порт); @@ -1178,29 +1178,29 @@ Продолжить; КонецПопытки; КонецЦикла; - + Текст.Закрыть(); - + Иначе - + СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """"; // взято из #383 //ВыполнитьКомандуОС(СтрокаЗапуска); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); - + Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - + Порт = СокрЛП(Стр); Попытка Порт = Число(Порт); @@ -1209,25 +1209,25 @@ Продолжить; КонецПопытки; КонецЦикла; - + Текст.Закрыть(); КонецЕсли; - + //Для каждого СтрокаДанныеКлиентовТестирования Из ДанныеКлиентовТестирования Цикл // TODO // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); //КонецЦикла; - + УдалитьФайлы(ИмяВременногоФайла); Возврат Результат; - + КонецФункции Функция НовоеОписаниеТестКлиента() - + Результат = Новый Структура; Результат.Вставить("Клиент", Неопределено); Результат.Вставить("Порт", 0); - + Возврат Результат; КонецФункции diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 6d5573fda..d16ab58be 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -30,9 +30,9 @@ Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); - + Объект.ОткрываемФормыНаКлиентеТестирования = Истина; - + ЗагрузитьНастройки(); КонецПроцедуры @@ -44,30 +44,30 @@ // &НаКлиенте Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - + Инициализация(КонтекстЯдраПараметр); - + КонтекстЯдра.Плагин("Настройки").ПоказатьСвойстваВРежимеОтладки(Объект.Настройки); - + Если Не НужноВыполнятьТест() Тогда Возврат; КонецЕсли; - + ОписанияТестов = Новый Массив; - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + ВключенСтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + Если ВключенСтрогийПорядокВыполнения Тогда НаборТестов.СтрогийПорядокВыполнения(); НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); КонецЕсли; - + СоздатьИменаОсновныхФорм(); - + НастройкаГруппировки = ПолучитьНастройкуГруппировки(); - + ТолькоУправляемыеФормы = Истина; #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда ТолькоУправляемыеФормы = Ложь; @@ -75,94 +75,94 @@ Если Не ИспользоватьОбычныеФормыВТолстомКлиентеВУправляемомРежимеСервер() Тогда ТолькоУправляемыеФормы = Истина; КонецЕсли; - + ИменаОсновныхФорм_Объекты_Сервер = ИменаОсновныхФорм_Объекты_Сервер(); мИменаОсновныхФорм_Списки_Сервер = мИменаОсновныхФорм_Списки_Сервер(); - + ОчереднойВидМетаданного = "Справочники"; Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда - + ОписанияТестов = Новый Массив; - + ДобавитьТестыДляСправочниковСервер( КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - - ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) КонецЕсли; - + ОчереднойВидМетаданного = "Документы"; Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда - + ОписанияТестов = Новый Массив; - + НастройкиГруппыТестов = НовыеНастройкиГруппыТестов(); НастройкиГруппыТестов.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); - + ДобавитьТестыДляДокументовСервер( - КонтекстЯдра.Объект, + КонтекстЯдра.Объект, ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - - ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) КонецЕсли; - + ОписанияОтчетовОбработок = Новый Массив; ОписанияОтчетовОбработок.Добавить(Новый Структура("Вид,ДобавлятьОбработки", "Обработки", Истина)); ОписанияОтчетовОбработок.Добавить(Новый Структура("Вид,ДобавлятьОбработки", "Отчеты", Ложь)); - + Для каждого Описание Из ОписанияОтчетовОбработок Цикл Если НЕ ВидМетаданныхИсключенИзТестирования(Описание.Вид) Тогда - + ОписанияТестов = Новый Массив; - + ДобавитьТестыДляОтчетовОбработокСервер( - КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, + КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, Описание.ДобавлятьОбработки, НастройкаГруппировки); - + Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу(Описание.Вид, ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; КонецЕсли; - КонецЦикла; - + КонецЦикла; + ОчереднойВидМетаданного = "БизнесПроцессы"; Если НЕ ВидМетаданныхИсключенИзТестирования(ОчереднойВидМетаданного) Тогда - + ОписанияТестов = Новый Массив; - + ДобавлятьОбработки = Ложь; ДобавитьТестыДляБизнесПроцессовСервер( КонтекстЯдра.Объект, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки); - - ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, + + ДобавитьТестыПоОписанию(ОчереднойВидМетаданного, ОписанияТестов, НаборТестов, НастройкаГруппировки, ВключенСтрогийПорядокВыполнения) - + КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Или НастройкаГруппировки.ГруппироватьПоКоличеству Или НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда - + НаборТестов.НачатьГруппу("Прочее", ВключенСтрогийПорядокВыполнения); - + КонецЕсли; - + ИмяТеста = "ТестДолжен_ПроверитьБагПлатформыПриОткрытииУправляемойФормыПриОткрытииКоторойЕстьИсключение"; НаборТестов.Добавить(ИмяТеста, , ИмяТеста); - + КонецПроцедуры #КонецОбласти @@ -177,29 +177,29 @@ &НаКлиенте Процедура ПередЗапускомТеста() Экспорт - + СоздаваемыйЭлемент = Неопределено; - + ОбновитьПовторноИспользуемыеЗначения(); - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + СоздатьИменаОсновныхФорм(); - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); Если ЕстьНастройка(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), Объект.Настройки) Тогда ПлагинТестКлиенты.УстановитьНастройкиМодальныхОкон(Объект.Настройки[ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()]); КонецЕсли; - + КонецПроцедуры &НаКлиенте Процедура ПослеЗапускаТеста() Экспорт - + ЗакрытьФорму(); - + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент); - + КонецПроцедуры &НаКлиенте @@ -228,10 +228,10 @@ &НаСервере Функция СоздатьЭлементИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Возврат ОсновнойОбъект.СоздатьЭлементИВернутьСсылку(ИД, "существующий"); - + КонецФункции &НаКлиенте @@ -255,7 +255,7 @@ &НаСервере Функция ПолучитьСуществующийДокументОбъектИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Док = ОсновнойОбъект.ПолучитьСуществующийДокументОбъектИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоДокументов, "ТестДолжен_ОткрытьФормуСуществующегоДокумента"); @@ -265,9 +265,9 @@ &НаСервере Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); - + Отбор = Новый Структура; МетаданныеОбъекта = Метаданные.Справочники[ИД]; Если МетаданныеОбъекта.Иерархический @@ -278,7 +278,7 @@ Отбор.Вставить("ЭтоГруппа", "Истина"); КонецЕсли; КонецЕсли; - + Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, Ложь, "ТестДолжен_ОткрытьФормуСуществующегоЭлементСправочника", Отбор); Возврат Элем; @@ -305,7 +305,7 @@ &НаСервере Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Элем = ОсновнойОбъект.ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, Ложь, "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса"); @@ -315,7 +315,7 @@ &НаСервере Функция СоздатьБизнесПроцессИВернутьСсылкуСервер(Мета_ПолноеИмя) ИД = ПолучитьВидМетаданного(Мета_ПолноеИмя); - + ОсновнойОбъект = Объект(); Возврат ОсновнойОбъект.СоздатьБизнесПроцессИВернутьСсылку(ИД); КонецФункции @@ -342,17 +342,17 @@ #Область ФормированиеСпискаТестовыхСлучаев &НаКлиенте -Процедура ДобавитьТестыПоОписанию(Знач ОчереднойВидМетаданного, Знач ОписанияТестов, Знач НаборТестов, +Процедура ДобавитьТестыПоОписанию(Знач ОчереднойВидМетаданного, Знач ОписанияТестов, Знач НаборТестов, Знач НастройкаГруппировки, Знач ВключенСтрогийПорядокВыполнения) Если ЗначениеЗаполнено(ОписанияТестов) Тогда - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу(ОчереднойВидМетаданного, ВключенСтрогийПорядокВыполнения); КонецЕсли; - + ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, ВключенСтрогийПорядокВыполнения); - + КонецЕсли; КонецПроцедуры @@ -361,16 +361,16 @@ Процедура ДобавитьОписанияТестовВНаборТестов(НаборТестов, ОписанияТестов, СтрогийПорядокВыполнения) Для Каждого Описание Из ОписанияТестов Цикл Если ТипЗнч(Описание) = Тип("Строка") Тогда - + ПредставлениеТеста = Описание; НаборТестов.Добавить(Описание, , ПредставлениеТеста); - + ИначеЕсли ТипЗнч(Описание) = Тип("Структура") И Описание.Свойство("Набор") Тогда НаборТестов.НачатьГруппу(Описание.Имя, СтрогийПорядокВыполнения); ДобавитьОписанияТестовВНаборТестов(НаборТестов, Описание.Набор, СтрогийПорядокВыполнения); - + Иначе - + НаборТестов.Добавить(Описание.ИмяТеста, НаборТестов.ПараметрыТеста(Описание.Параметр), Описание.ПредставлениеТеста); КонецЕсли; @@ -379,76 +379,76 @@ &НаСервереБезКонтекста Функция ПодробноеПредставлениеПрефикса(ПрефиксТеста) - + Если ПрефиксТеста = "Новые" Тогда - + Результат = "открытие формы объекта при создании"; - + ИначеЕсли ПрефиксТеста = "Существующие" Тогда - + Результат = "открытие формы записанного объекта"; - + ИначеЕсли ПрефиксТеста = "Списки" Тогда - + Результат = "открытие формы списка"; - + Иначе Результат = ""; КонецЕсли; - + Возврат Результат; - + КонецФункции &НаСервере Процедура ДобавитьТестыДляСправочниковСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); - + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Справочники_Списки(); - + Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("Справочники", Метаданные.Справочники, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); - + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Справочники", "Справочник." + МетаОбъект.Имя, ОписанияТестов, НастройкаГруппировки, Счетчик); - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуНовогоЭлементаСправочника", "Новые"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + КонецЕсли; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуСуществующегоЭлементаСправочника", "Существующие"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -459,7 +459,7 @@ Функция ДобавитьГруппировкуЕслиНужно(Знач ИмяВидаМетаданного, Знач ИмяМетаданного, Знач ОписанияТестов, Знач НастройкаГруппировки, Счетчик) - + НаборОписанийТестов = ОписанияТестов; Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда @@ -475,59 +475,59 @@ НаборОписанийТестов.Добавить(ОписаниеГруппы); НаборОписанийТестов = ОписаниеГруппы.Набор; КонецЕсли; - + Счетчик = Счетчик + 1; - + Возврат НаборОписанийТестов; КонецФункции &НаСервере Процедура ДобавитьТестыДляДокументовСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, НастройкиГруппыТестов, ИменаОсновныхФорм_Объекты_Сервер, мИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); - + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_Документы_Списки(); - + ТолькоУправляемыеФормы = НастройкиГруппыТестов.ТолькоУправляемыеФормы; - + Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("Документы", Метаданные.Документы, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); - + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("Документы", "Документ." + ИмяМетаОбъекта, ОписанияТестов, НастройкаГруппировки, Счетчик); - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуНовогоДокумента", "Новые"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); КонецЕсли; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуСуществующегоЭлементаДокумента", "Существующие"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, мИменаОсновныхФорм_Списки_Сервер, "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -539,30 +539,30 @@ &НаСервере Процедура ДобавитьТестыДляОтчетовОбработокСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, Знач ДобавлятьОбработки, Знач НастройкаГруппировки) - + ОсновнойОбъект = Объект(); ОписаниеВидаМетаданного = Новый Структура; - + Если ДобавлятьОбработки Тогда - + ОписаниеВидаМетаданного.Вставить("Менеджер", Метаданные.Обработки); ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Обработки"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Обработка"); - + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_Обработки(); - + Иначе - + ОписаниеВидаМетаданного.Вставить("Менеджер", Метаданные.Отчеты); ОписаниеВидаМетаданного.Вставить("ИмяВидаМнЧисло", "Отчеты"); ОписаниеВидаМетаданного.Вставить("ИмяВидаЕдЧисло", "Отчет"); - + СписокИсключений = ОсновнойОбъект.ПолучитьСписокИсключений_Отчеты(); - + КонецЕсли; - + КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); - + ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных( КонтекстЯдра, ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, @@ -571,58 +571,58 @@ мИменаОсновныхФорм_Сервер(), "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "", НастройкаГруппировки); - + КонецПроцедуры &НаСервере Процедура ДобавитьТестыДляБизнесПроцессовСервер(Знач ОбъектКонтекстаЯдра, ОписанияТестов, ТолькоУправляемыеФормы, ИменаОсновныхФорм_Объекты_Сервер, ИменаОсновныхФорм_Списки_Сервер, НастройкаГруппировки) - + ОсновнойОбъект = Объект(); КонтекстЯдра = КонтекстЯдраНаСервере(ОбъектКонтекстаЯдра); - + СписокИсключений_Существующие = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Существующие(); СписокИсключений_Новые = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Новые(); СписокИсключений_Списки = ОсновнойОбъект.ПолучитьСписокИсключений_БизнесПроцессы_Списки(); - + Счетчик = 0; - + ОтобранныеМетаданные = ОтобратьМетаданные("БизнесПроцессы", Метаданные.БизнесПроцессы, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); - + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно("БизнесПроцессы", "БизнесПроцесс." + МетаОбъект.Имя, ОписанияТестов, НастройкаГруппировки, Счетчик); - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Новые, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуНовогоБизнесПроцесса", "Новые"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + КонецЕсли; - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Существующие, ИменаОсновныхФорм_Объекты_Сервер, "ТестДолжен_ОткрытьФормуСуществующегоБизнесПроцесса", "Существующие"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений_Списки, ИменаОсновныхФорм_Списки_Сервер, "ТестДолжен_ОткрытьФормуПоПолномуИмениФормы", "Списки"); - + ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не ЗначениеЗаполнено(НаборОписанийТестов) И ЗначениеЗаполнено(ОписанияТестов) Тогда Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); @@ -632,45 +632,45 @@ КонецПроцедуры &НаСервере -Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(КонтекстЯдра, +Процедура ДобавитьТестыПереданныхВидовФормДляКаждогоОбъектаМенеджераМетаданных(КонтекстЯдра, ОписанияТестов, ОсновнойОбъект, ОписаниеВидаМетаданного, ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста, НастройкаГруппировки) - + Счетчик = 0; - - ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, + + ОтобранныеМетаданные = ОтобратьМетаданные(ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.Менеджер, Объект.Настройки, ОсновнойОбъект, КонтекстЯдра); - + ДлинаКонстанты = СтрДлина("xddTestRunner"); - + Для Каждого ОписаниеМетаданного Из ОтобранныеМетаданные Цикл МетаОбъект = ОписаниеМетаданного.МетаОбъект; ИмяМетаОбъекта = ОписаниеМетаданного.Имя; - + Если Лев(ИмяМетаОбъекта, ДлинаКонстанты) = "xddTestRunner" Тогда Продолжить; КонецЕсли; - + КоличествоЭлементовДо = ОписанияТестов.Количество(); - + НаборОписанийТестов = ДобавитьГруппировкуЕслиНужно( ОписаниеВидаМетаданного.ИмяВидаМнЧисло, ОписаниеВидаМетаданного.ИмяВидаЕдЧисло + "." + ИмяМетаОбъекта, ОписанияТестов, НастройкаГруппировки, Счетчик); - + НастройкиТеста = НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста); - + Добавили = ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных( НаборОписанийТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + Если Не Добавили Тогда - + Для Счетчик = КоличествоЭлементовДо По ОписанияТестов.Количество() - 1 Цикл ОписанияТестов.Удалить(ОписанияТестов.ВГраница()); КонецЦикла; - + КонецЕсли; КонецЦикла; КонецПроцедуры @@ -678,29 +678,29 @@ &НаСервереБезКонтекста Функция ДобавитьТестыПереданныхВидовФормПоОдномОбъектуМетаданных(ОписанияТестов, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯДра) - + СписокИменМетаФорм = Новый СписокЗначений; - + Успешно = ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра); - + ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста); - + Возврат Успешно; КонецФункции &НаСервереБезКонтекста Процедура ДобавитьТестПоПереданнымМетаФормамСсылочногоОбъектаСервер(ОписанияТестов, СписокИменМетаФорм, НастройкиТеста) - + ПрефиксПредставленияТеста = НастройкиТеста.ПрефиксПредставленияТеста; - + Для каждого Элемент Из СписокИменМетаФорм Цикл МетаФорма_ПолноеИмя = Элемент.Значение; ПредставлениеТеста = МетаФорма_ПолноеИмя; Если НЕ ПустаяСтрока(ПрефиксПредставленияТеста) Тогда ПредставлениеТеста = МетаФорма_ПолноеИмя + " : " + ПодробноеПредставлениеПрефикса(ПрефиксПредставленияТеста); КонецЕсли; - + лПараметры = Новый Структура("ПредставлениеТеста,ИмяТеста,Транзакция,Параметр", ПредставлениеТеста, НастройкиТеста.ИмяТеста, Истина, МетаФорма_ПолноеИмя); ОписанияТестов.Добавить(лПараметры); @@ -710,66 +710,66 @@ &НаСервереБезКонтекста Функция ДобавитьИменаМетаФормДляОдногоОбъектаМетаданного(СписокИменМетаФорм, ОсновнойОбъект, МетаОбъект, НастройкиТеста, КонтекстЯдра) - + СписокИсключений = НастройкиТеста.СписокИсключений; - + Если ИсключаемПоИмени(МетаОбъект.Имя, СписокИсключений, КонтекстЯдра) Тогда Возврат Ложь; КонецЕсли; - + Мета_ПолноеИмя = МетаОбъект.ПолноеИмя(); - + Результат = Ложь; - + МетаФормы = ОсновнойОбъект.ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, НастройкиТеста.ИменаОсновныхФорм); - + ФормыДобавлены = Ложь; - + Для каждого МетаФорма Из МетаФормы Цикл - + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - + // В режиме клиента тестирования не нужно добавлять .Форма, // а необходимо указывать имя отчета, для формирования навигационной ссылки. Если Не ОсновнойОбъект.ОткрываемФормыНаКлиентеТестирования Тогда Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; - + // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. //ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда // МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".ФормаНастроек"; - + КонецЕсли; КонецЕсли; - + // МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.УправляемаяФормаОтчета> // МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <ОбщаяФорма.ФормаОтчета> // в ОФ Отчет.Отчет2.Форма - + Если НастройкиТеста.ТолькоУправляемыеФормы Тогда Если Не ЭтоУправляемаяФорма(МетаФорма) Тогда Продолжить; КонецЕсли; КонецЕсли; - + // исторически в списке исключений имя формы без имени коллекции объектов метаданных // "Справочник1.Форма.ФормаЭлемента", а не "Справочник.Справочник1.Форма.ФормаЭлемента" Если СписокИсключений.НайтиПоЗначению(Сред(МетаФорма_ПолноеИмя, Найти(МетаФорма_ПолноеИмя, ".") + 1)) <> Неопределено Тогда Продолжить; КонецЕсли; - + // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации Если Лев(НРег(МетаФорма_ПолноеИмя), СтрДлина(Мета_ПолноеИмя)) <> НРег(Мета_ПолноеИмя) Тогда Продолжить; КонецЕсли; - + ФормыДобавлены = Истина; - + СписокИменМетаФорм.Добавить(МетаФорма_ПолноеИмя); Результат = Истина; - + КонецЦикла; - + // добавить общие формы к отчётам, если они не указаны ДлинаСловаОтчет = 6; Если Метаданные.Отчеты.Найти(МетаОбъект.Имя) <> Неопределено И Лев(Мета_ПолноеИмя, ДлинаСловаОтчет) = "Отчет." Тогда @@ -778,7 +778,7 @@ Результат = ФормыДобавлены; КонецЕсли; КонецЕсли; - + // Добавляем наименование отчета для режима клиента тестирования, без указания формы. // TODO Бессмысленно открывать для отчетов основную форму отчета, настроек, варианта из конфигурации. // Также нужно добавить стандартные формы для всяких объектов - справочники, документы @@ -787,9 +787,9 @@ СписокИменМетаФорм.Добавить(Мета_ПолноеИмя); Результат = Истина; КонецЕсли; - + Возврат Результат; - + КонецФункции #КонецОбласти @@ -798,9 +798,9 @@ &НаСервереБезКонтекста Функция ДобавитьОбщиеФормыДляОтчетов(СписокИменМетаФорм, МетаОбъект, ОткрываемФормыНаКлиентеТестирования) - + Результат = Ложь; - + // В режиме клиента тестирования не нужно добавлять .Форма, // а необходимо указывать имя отчета, для формирования навигационной ссылки. Если ОткрываемФормыНаКлиентеТестирования Тогда @@ -808,15 +808,15 @@ Результат = Истина; Возврат Результат; КонецЕсли; - + Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФорма") = Неопределено И ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаОтчета") <> Неопределено Тогда - + СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".Форма"); Результат = Истина; - + КонецЕсли; - + // Форма настроек отчета из комплекта БСП не открывается без передачи параметра. //Если ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФормаНастроек") = Неопределено // И ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаНастроекОтчета") <> Неопределено Тогда @@ -825,34 +825,34 @@ // Результат = Истина; // //КонецЕсли; - + ФормаВарианта = ПолучитьФормуОбъекта(МетаОбъект, "ОсновнаяФормаВарианта"); Если ФормаВарианта = Неопределено Тогда Если ПолучитьФормуОбъекта(Метаданные, "ОсновнаяФормаВариантаОтчета") <> Неопределено Тогда - + СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаВарианта"); Результат = Истина; - + КонецЕсли; Иначе // Общая форма "ВариантыОтчета" не открывается самостоятельно. // СписокИменМетаФорм.Добавить(ФормаВарианта.ПолноеИмя()); СписокИменМетаФорм.Добавить(МетаОбъект.ПолноеИмя() + ".ФормаВарианта"); Результат = Истина; КонецЕсли; - + Возврат Результат; - + КонецФункции &НаСервереБезКонтекста Функция ПолучитьФормуОбъекта(ОбъектФормы, ИмяФормы) - + Попытка Результат = ОбъектФормы[ИмяФормы]; Исключение Результат = Неопределено; КонецПопытки; - + Возврат Результат; КонецФункции @@ -863,47 +863,47 @@ &НаКлиенте Процедура ТестироватьФорму(ПолноеИмяФормы, ПараметрыФормы) - + Если Объект.ВыводитьСообщенияВЖурналРегистрации Тогда ВыполнитьЗаписьВЖурналРегистрацииСервер(ПолноеИмяФормы); КонецЕсли; - + Если Объект.ОткрываемФормыНаКлиентеТестирования Тогда ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы); Иначе ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы); КонецЕсли; - + КонецПроцедуры &НаКлиенте Процедура ТестироватьФормуВТекущемКлиенте(ПолноеИмяФормы, ПараметрыФормы) - + ПредыдущиеОкна = ПолучитьОкна(); - + Попытка - + // К сожалению, здесь часто исключения не ловятся // https://github.com/xDrivenDevelopment/xUnitFor1C/issues/154 - + ТестируемаяФорма = ОткрытьФорму(ПолноеИмяФормы, ПараметрыФормы, , Новый УникальныйИдентификатор); - + Исключение ИнфоОшибки = ИнформацияОбОшибке(); - + Если Не ПропускаемОшибкуПоТекстуИсключенияСервер(ИнфоОшибки.Описание) Тогда ВызватьИсключение; КонецЕсли; - + Возврат; КонецПопытки; - + Если ТестируемаяФорма = Неопределено Или Не ТестируемаяФорма.Открыта() Тогда - + НеПроверятьФорму = ТестируемаяФорма = Неопределено; - + НовыеОкна = ПолучитьОкна(); - + МассивНовыхОкон = Новый Массив; Для Каждого НовоеОкно Из НовыеОкна Цикл НашлиОкно = Ложь; @@ -913,18 +913,18 @@ Продолжить; КонецЕсли; КонецЦикла; - + Если НашлиОкно Тогда Продолжить; КонецЕсли; - + МассивНовыхОкон.Добавить(НовоеОкно); КонецЦикла; - + Если МассивНовыхОкон.Количество() = 0 И НеПроверятьФорму Тогда Возврат; КонецЕсли; - + Если МассивНовыхОкон.Количество() > 0 Тогда МассивФорм = МассивНовыхОкон[0].Содержимое; Если МассивНовыхОкон.Количество() = 0 И НеПроверятьФорму Тогда @@ -934,18 +934,18 @@ ТестируемаяФорма = МассивФорм[0]; КонецЕсли; КонецЕсли; - + КонецЕсли; - + Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """ + ПолноеИмяФормы + """ не открылась, а должна была открыться"); - + Если ТипЗнч(ТестируемаяФорма) = Тип("УправляемаяФорма") Тогда ТестируемаяФорма.ОбновитьОтображениеДанных(); Иначе ТестируемаяФорма.Обновить(); КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -984,13 +984,13 @@ // стандарт по исключениям https://its.1c.ru/db/v8std/content/499/hdoc ИнформацияОбОшибке = ИнформацияОбОшибке(); ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); - + ЗаписатьПредупреждениеВЖурналРегистрацииСервер("Не удалось закрыть форму |" + ПолныйТекстОшибки); КонецПопытки; КонецЕсли; ТестируемаяФорма = ""; - + КонецПроцедуры &НаСервере @@ -1028,9 +1028,9 @@ #Область Настройки // Функция - Ключ настройки -// +// // Возвращаемое значение: -// Строка - smoke +// Строка - smoke // &НаКлиенте Функция КлючНастройки() @@ -1039,31 +1039,31 @@ &НаКлиенте Процедура ЗагрузитьНастройки() - + ПутьНастройки = КлючНастройки(); - + ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); НастройкиМодальныхОкон = ПлагинНастроек.ПолучитьНастройку(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон()); - + Объект.Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Объект.Настройки) Тогда Объект.Настройки = Новый Структура; КонецЕсли; - + Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации", Объект.Настройки) Тогда Объект.ВыводитьСообщенияВЖурналРегистрации = Объект.Настройки.ВыводитьСообщенияВЖурналРегистрации; КонецЕсли; - + Если ЕстьНастройка("ОткрываемФормыНаКлиентеТестирования", Объект.Настройки) Тогда Объект.ОткрываемФормыНаКлиентеТестирования = Объект.Настройки.ОткрываемФормыНаКлиентеТестирования; КонецЕсли; - + НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); - + ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Объект.Настройки, НаборНастроекПоУмолчанию); - + Если ЗначениеЗаполнено(НастройкиМодальныхОкон) Тогда Объект.Настройки.Вставить(ПлагинТестКлиенты.КлючНастройкиМодальныхОкон(), НастройкиМодальныхОкон); КонецЕсли; @@ -1071,20 +1071,20 @@ &НаСервере Функция СоздатьНаборНастроекПоУмолчанию() - + Возврат Объект().СоздатьНаборНастроекПоУмолчанию(); - + КонецФункции &НаКлиенте Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) - + Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЕсли; КонецЦикла; - + КонецПроцедуры // Позволяет одним вызовом получить значение из вложенных друг в друга структур @@ -1105,39 +1105,39 @@ // &НаКлиенте Функция ЕстьНастройка(Знач ПутьНастроек, СтруктураНастроек = Неопределено) - + Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Объект.Настройки; КонецЕсли; - + Возврат КонтекстЯдра.Плагин("Настройки").ЕстьНастройка(ПутьНастроек, СтруктураНастроек); - + КонецФункции &НаКлиенте Функция НужноВыполнятьТест() - + ЗначениеПоУмолчанию = Истина; - + ЗагрузитьНастройки(); - + Настройки = ОБъект.Настройки; - + Если Не ЗначениеЗаполнено(Настройки) Тогда Возврат ЗначениеПоУмолчанию; КонецЕсли; - + КлючНастройки = КлючНастройки(); - + ВыполнятьТест = Неопределено; Если ТипЗнч(Настройки) = Тип("Структура") И Настройки.Свойство("Используется", ВыполнятьТест) Тогда - + Возврат ВыполнятьТест = Истина; КонецЕсли; - + Возврат ЗначениеПоУмолчанию; - + КонецФункции &НаКлиенте @@ -1173,73 +1173,73 @@ &НаСервереБезКонтекста Функция ИсключаемПоИмени(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) - + Если КоллекцияДляПоиска = Ложь Тогда // TODO для включения не подходит ( Возврат Истина; КонецЕсли; - + Возврат НайтиИмяВКоллекции(ЧтоИщем, КоллекцияДляПоиска, КонтекстЯдра); - + КонецФункции &НаСервереБезКонтекста Функция НайтиИмяВКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска, Знач КонтекстЯдра) - + Если Не ЗначениеЗаполнено(КоллекцияДляПоиска) Тогда Возврат Ложь; КонецЕсли; - + Возврат КонтекстЯдра.ЕстьВИсключаемойКоллекции(ЧтоИщем, КоллекцияДляПоиска); - + КонецФункции &НаСервереБезКонтекста Функция ВключитьПоИмени(Знач КлючМетаданных, Знач МетаОбъект, Знач Настройки, Знач КонтекстЯдра) - + ИмяМетаданного = МетаОбъект.Имя; Отобрали = ОтобралиПоПрефиксуИлиПодсистеме(Настройки, МетаОбъект); Если ЗначениеЗаполнено(Отобрали) Тогда Возврат Отобрали; КонецЕсли; - + ФильтрМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ПроверятьТолькоИзбранные"); ЕстьОтборТолькоДляВключенияМетаданных = ЗначениеЗаполнено(ФильтрМетаданных ); - + Если ЕстьОтборТолькоДляВключенияМетаданных Тогда Возврат НайтиИмяВКоллекции(ИмяМетаданного, ФильтрМетаданных, КонтекстЯдра); КонецЕсли; - + ФильтрИсключаемыхМетаданных = НайтиКоллекциюФильтрМетаданныхИзНастроек(КлючМетаданных, Настройки, "ИсключатьПоИмени"); Если ЗначениеЗаполнено(ФильтрИсключаемыхМетаданных) И НайтиИмяВКоллекции(ИмяМетаданного, ФильтрИсключаемыхМетаданных, КонтекстЯдра) Тогда - + Возврат Ложь; КонецЕсли; - + Возврат Истина; // если нет ни включений, ни исключения, разрешаем тест, как и сейчас - + КонецФункции &НаСервереБезКонтекста Функция ОтобралиПоПрефиксуИлиПодсистеме(Знач Настройки, Знач МетаОбъект) ИмяМетаданного = МетаОбъект.Имя; - + ВключенОтборПоПрефиксу = ЗначениеИзСтруктуры(Настройки, "ОтборПоПрефиксу", Ложь); ИмяПодсистемы = ЗначениеИзСтруктуры(Настройки, "Подсистема", ""); ВключенОтборПоПодсистеме = ЗначениеЗаполнено(ИмяПодсистемы); - + Если ВключенОтборПоПрефиксу Тогда - + Если ОтобралиПоПрефиксу(Настройки, ИмяМетаданного) Тогда Возврат Истина; КонецЕсли; - + Возврат ВключенОтборПоПодсистеме И ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); КонецЕсли; - + Если ВключенОтборПоПодсистеме Тогда Возврат ОтобралиПоПодсистеме(МетаОбъект, ИмяПодсистемы); КонецЕсли; @@ -1250,7 +1250,7 @@ &НаСервереБезКонтекста Функция ОтобралиПоПрефиксу(Знач Настройки, Знач ИмяМетаданного) - + ПрефиксДляОтбора = ЗначениеИзСтруктуры(Настройки, "Префикс", ""); Возврат СтрНайти(ИмяМетаданного, ПрефиксДляОтбора) = 1; @@ -1263,7 +1263,7 @@ Если Подсистема = Неопределено Тогда ВызватьИсключение "Не нашли подсистему по пути " + ИмяПодсистемы; КонецЕсли; - + Возврат Подсистема.Состав.Содержит(МетаОбъект); КонецФункции @@ -1272,18 +1272,18 @@ Функция НайтиПодсистему(Знач ИмяПодсистемы) Результат = Неопределено; - + Сегменты = СтрРазделить(ИмяПодсистемы, "."); ТекущаяПодсистема = Метаданные; Для Уровень = 0 По Сегменты.ВГраница() Цикл - + Сегмент = Сегменты[Уровень]; - + Результат = ТекущаяПодсистема.Подсистемы.Найти(Сегмент); Если Результат = Неопределено Тогда Возврат Неопределено; - КонецЕсли; - + КонецЕсли; + ТекущаяПодсистема = Результат; КонецЦикла; @@ -1293,98 +1293,98 @@ &НаСервереБезКонтекста Функция НайтиКоллекциюФильтрМетаданныхИзНастроек(Знач КлючМетаданных, Знач Настройки, Знач ИмяОбщейКоллекции) - + // TODO использовать метод плагина Настройки.ЕстьНастройка - + ОбщаяКоллекция = ЗначениеИзСтруктуры(Настройки, ИмяОбщейКоллекции, Новый Структура); - + ЗначениеПоУмолчанию = Новый Массив; - + Если Не ЗначениеЗаполнено(ОбщаяКоллекция) Тогда Возврат ЗначениеПоУмолчанию; КонецЕсли; - + Возврат ЗначениеИзСтруктуры(ОбщаяКоллекция, КлючМетаданных, ЗначениеПоУмолчанию); - + КонецФункции &НаСервереБезКонтекста Функция ОтобратьМетаданные(КлючМетаданных, МенеджерМетаданного, Настройки, ОсновнойОбъект, КонтекстЯдра) - + Результат = Новый Массив; - + Для Каждого МетаОбъект Из МенеджерМетаданного Цикл ИмяМетаОбъекта = МетаОбъект.Имя; - + Если ОсновнойОбъект.ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Или Не ПравоДоступа("Просмотр", МетаОбъект) Или Не ВключитьПоИмени(КлючМетаданных, МетаОбъект, Настройки, КонтекстЯдра) Тогда - + Продолжить; КонецЕсли; - + НовоеОписаниеМетаданного = НовоеОписаниеМетаданного(); НовоеОписаниеМетаданного.Вставить("МетаОбъект", МетаОбъект); НовоеОписаниеМетаданного.Вставить("Имя", ИмяМетаОбъекта); - + Результат.Добавить(НовоеОписаниеМетаданного); - + КонецЦикла; - + Возврат Результат; - + КонецФункции &НаСервереБезКонтекста Функция НовоеОписаниеМетаданного() - + Результат = Новый Структура; Результат.Вставить("МетаОбъект", Неопределено); Результат.Вставить("Имя", ""); - + Возврат Результат; - + КонецФункции &НаКлиенте Функция НовыеНастройкиГруппыТестов() - + Результат = Новый Структура; Результат.Вставить("СписокИсключений", Новый СписокЗначений); Результат.Вставить("ТолькоУправляемыеФормы", Истина); Результат.Вставить("КоллекцияПроверятьТолькоИзбранные", Объект.Настройки.ПроверятьТолькоИзбранные); - + Возврат Результат; - + КонецФункции &НаСервере Функция НовыеНастройкиТеста() - + Результат = Новый Структура; Результат.Вставить("ТолькоУправляемыеФормы", Истина); Результат.Вставить("СписокИсключений", Новый СписокЗначений); Результат.Вставить("ИменаОсновныхФорм", Новый Массив); Результат.Вставить("ИмяТеста", ""); Результат.Вставить("ПрефиксПредставленияТеста", ""); - + Возврат Результат; - + КонецФункции &НаСервере Функция НастройкиТеста(ТолькоУправляемыеФормы, СписокИсключений, ИменаОсновныхФорм, ИмяТеста, ПрефиксПредставленияТеста) - + Результат = НовыеНастройкиТеста(); - + Результат.Вставить("ТолькоУправляемыеФормы", ТолькоУправляемыеФормы); Результат.Вставить("СписокИсключений", СписокИсключений); Результат.Вставить("ИменаОсновныхФорм", ИменаОсновныхФорм); Результат.Вставить("ИмяТеста", ИмяТеста); Результат.Вставить("ПрефиксПредставленияТеста", ПрефиксПредставленияТеста); - + Возврат Результат; - + КонецФункции #КонецОбласти @@ -1394,30 +1394,30 @@ &НаСервереБезКонтекста Процедура УдалитьСозданныеОбъекты(Знач СоздаваемыйЭлемент) Перем Владелец; - + Если Не ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда Возврат; КонецЕсли; - + Попытка // не у всех метаданных есть свойство Владельцы, например у ПВХ нет и тогда получим ошибку поле объекта не обноркжено, а ПВХ может выступать владельцем у справочника // лучше проверять через реквизиты - // у СтандартныеРеквизиты нет метода Найти. В попытке, это принцип EAFP + // у СтандартныеРеквизиты нет метода Найти. В попытке, это принцип EAFP Попытка - Владелец = СоздаваемыйЭлемент.Метаданные().СтандартныеРеквизиты["Владелец"]; + Владелец = СоздаваемыйЭлемент.Метаданные().СтандартныеРеквизиты["Владелец"]; Исключение КонецПопытки; - + Если Владелец <> Неопределено Тогда УдалитьСозданныеОбъекты(СоздаваемыйЭлемент.Владелец); КонецЕсли; - + СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); // обязательно объект нужно получить непосредственно перед удалением Если СозданныйОбъект <> Неопределено Тогда СозданныйОбъект.Удалить(); КонецЕсли; - - Исключение + + Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ЗаписьЖурналаРегистрации( ИмяТеста(), @@ -1425,7 +1425,7 @@ СозданныйОбъект, СоздаваемыйЭлемент, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); - + ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); КонецПопытки; КонецПроцедуры @@ -1437,7 +1437,7 @@ &НаКлиентеНаСервереБезКонтекста Функция ПолучитьВидМетаданного(Мета_ПолноеИмя) - + Поз = Найти(Мета_ПолноеИмя, ".Форма."); Если Поз = 0 Тогда Поз = Найти(Мета_ПолноеИмя, ".Form."); @@ -1451,7 +1451,7 @@ // то в качестве его ИД просто берем 2ю часть наименования // ИД = Прав(Мета_ПолноеИмя, СтрДлина(Мета_ПолноеИмя) - Найти(Мета_ПолноеИмя, ".")); КонецЕсли; - + Возврат ИД; КонецФункции @@ -1482,24 +1482,24 @@ ВариантВстроенногоЯзыкаАнглийский = Ложь; Если Metadata.ScriptVariant = Metadata.ObjectProperties.ScriptVariant.English Или ТекущийЯзыкСистемы() = "en" Тогда - + ВариантВстроенногоЯзыкаАнглийский = Истина; КонецЕсли; - + Возврат ВариантВстроенногоЯзыкаАнглийский; КонецФункции &НаСервереБезКонтекста Функция ЗначениеИзСтруктуры(Знач Структура, Знач ИмяНастройки, Знач ЗначениеПоУмолчанию) - + Результат = Неопределено; - + Если Не Структура.Свойство(ИмяНастройки, Результат) Или Не ЗначениеЗаполнено(Результат) Тогда Результат = ЗначениеПоУмолчанию; КонецЕсли; - + Возврат Результат; - + КонецФункции #КонецОбласти @@ -1508,13 +1508,13 @@ &НаКлиенте Процедура ТестироватьФормуНаКлиентеТестирования(ПолноеИмяФормы, ПараметрыФормы) - + ПлагинТестКлиенты = КонтекстЯдра.Плагин("ТестКлиенты"); ТестКлиент = ПлагинТестКлиенты.ТестКлиентПоУмолчанию(); ОсновноеОкно = ОсновноеОкно(ТестКлиент); - + ОткрытыеОкнаДо = ПлагинТестКлиенты.ОткрытыеОкна(ТестКлиент); - + Попытка // Если ссылка задана - открываем просто форму Элемента/Документа СсылкаНаОбъект = Неопределено; @@ -1530,55 +1530,55 @@ ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. |Возможно, сеанс тест-клиента заблокирован модальным окном", ПарамНавигационнаяСсылка); КонецПопытки; - + ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); - + ПлагинТестКлиенты.ЗакрытьВсеОткрытыеОкна(ТестКлиент); - + ПлагинТестКлиенты.ПроверитьНаНовыеМодальныеОкна(ТестКлиент, ОткрытыеОкнаДо); - + КонецПроцедуры // TODO исправить дублирование кода с тестами командного интерфейса и плагином ТестКлиент &НаКлиенте Функция ОсновноеОкно(ТестКлиент) - + Для Каждого ТестируемоеОкно Из ТестКлиент.ПолучитьПодчиненныеОбъекты() Цикл Если ТипЗнч(ТестируемоеОкно) = Тип("ТестируемоеОкноКлиентскогоПриложения") И ТестируемоеОкно.Основное Тогда Возврат ТестируемоеОкно; КонецЕсли; КонецЦикла; - + ВызватьИсключение "Не удалось найти основное окно"; - + КонецФункции &НаКлиенте Функция ПереходПоКнопкеКомандногоИнтерфейса() - + Возврат "Переход по кнопке командного интерфейса"; - + КонецФункции &НаКлиенте Функция ТекстИсключения(ОкноПредупреждение) - + ТекстыЗаголовков = Новый Массив; Для Каждого ТекОбъект Из ОкноПредупреждение.НайтиОбъекты(Тип("ТестируемоеПолеФормы")) Цикл ТекстыЗаголовков.Добавить(ТекОбъект.ТекстЗаголовка); КонецЦикла; - + Возврат СтрСоединить(ТекстыЗаголовков, " "); - + КонецФункции #КонецОбласти &НаСервереБезКонтекста Функция КонтекстЯдраНаСервере(Знач ОбъектКонтекстаЯдра) - + КонтекстЯдра = ВнешниеОбработки.Создать("xddTestRunner"); КонтекстЯдра.ИнициализацияНаСервере(ОбъектКонтекстаЯдра); Возврат КонтекстЯдра; From a8bf538f7def630ff124adef5a62717c88fc766b Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 16:58:51 +0300 Subject: [PATCH 402/421] =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=20=D0=BB=D0=BE=D0=B1=20#917?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ecd127643..928e7a250 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -32,7 +32,7 @@ // Поле в котором можно хранить клиентский контекст на протяжении сеанса // данный контекст можно использовать для передачи данных между тестами -&НаКлиенте +&НаКлиенте Перем ГлобальныйКонтекст; // { События формы @@ -1272,13 +1272,13 @@ КонецФункции // } История загрузки тестов + // { Пакетный запуск &НаКлиенте Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) Перем РезультатыТестирования; Попытка - ПарсерКоманднойСтроки = Плагин("ПарсерКоманднойСтроки"); ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); @@ -1339,6 +1339,12 @@ СобратьНастройкиОтчетовТестирования(НастройкиШагов, ПараметрыЗапуска); + Область = ПолучитьОбластьДанных(); + Если Область <> Неопределено Тогда + ВходВОбластьНаСервере(Область); + КонецЕсли; + + Если Не ЕстьПоддержкаАсинхронныхВызовов Тогда ВыполнитьПакетныйЗапускСинхронно(НастройкиШагов); Иначе @@ -2950,6 +2956,34 @@ КонецФункции + +&НаСервереБезКонтекста +Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) + МРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) + МСтроковыеФункцииКлиентСервер = ОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); + + Если МСтроковыеФункцииКлиентСервер <> Неопределено И ТипЗнч(ОбластьДанных) <> Тип("Число") Тогда + ОбластьДанных = МСтроковыеФункцииКлиентСервер.СтрокаВЧисло(ОбластьДанных); + КонецЕсли; + + Если ОбластьДанных <> Неопределено И МРаботаВМоделиСервиса <> Неопределено И МРаботаВМоделиСервиса.СеансЗапущенБезРазделителей() Тогда + МРаботаВМоделиСервиса.ВойтиВОбластьДанных(ОбластьДанных); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьОбластьДанных() + Перем ОбластьДанныхМенеджера, ПлагинНастроек; + + ПлагинНастроек = Плагин("Настройки"); + ПлагинНастроек.Обновить(); + + ПлагинНастроек.ПолучитьНастройки().Свойство("ОбластьДанныхМенеджера", ОбластьДанныхМенеджера); + + Возврат ОбластьДанныхМенеджера; +КонецФункции + + // } Вспомогательные методы #Область Глобальный_контекст From dd75df3e86fdf906a3f353b880867e6496206857 Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 19:57:27 +0300 Subject: [PATCH 403/421] fix #919 --- .../Ext/ObjectModule.bsl" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 702cad905..57fe20a5e 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1324,6 +1324,12 @@ ВызватьИсключение СтрШаблон_(НСтр("ru = 'Не удалось найти объект метаданных по имени ""%1"".'"), ИД); КонецЕсли; Мета = Элем.Метаданные(); + + Если Не РазрешеноИзменятьОбъект(Мета) Тогда + ВывестиСообщение(СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя()), УровеньЖурналаРегистрации.Информация); + Возврат Неопределено; + КонецЕсли; + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; @@ -1361,6 +1367,24 @@ КонецФункции +Функция РазрешеноИзменятьОбъект(МетаОбъект) + Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда + МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); + + // В сеансе без разделителей меняем только общие МД, в сеансе с разделителем меняет только разделенные + // в базе где вообще не включено разделение меняем все подряд + Возврат Не МодульРаботаВМоделиСервиса.РазделениеВключено() ИЛИ + (Не МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + Не МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)) + ИЛИ (МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)); + Иначе + Возврат Истина; + КонецЕсли; +КонецФункции + + + Функция СоздатьЭлементИВернутьСсылку(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) Экспорт Элем = СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); From 4d046aae4603743a6878f8ea934c31cc30260e3f Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 3 Nov 2021 21:18:56 +0300 Subject: [PATCH 404/421] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BD=D0=B0=20=D1=8F=D0=B2=D0=BD=D1=83=D1=8E=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BF=D0=B8=D1=81=D1=8C=20=D0=B2=20=D0=96=D0=A0=20=D0=B8?= =?UTF-8?q?=D0=B7-=D0=B7=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=20=D0=9C?= =?UTF-8?q?=D0=94=20#919?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 57fe20a5e..d9dd7250d 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1326,7 +1326,7 @@ Мета = Элем.Метаданные(); Если Не РазрешеноИзменятьОбъект(Мета) Тогда - ВывестиСообщение(СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя()), УровеньЖурналаРегистрации.Информация); + ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, Мета, , СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя())); Возврат Неопределено; КонецЕсли; From 28a949b12f217ed3ea49554bb97678d14f290cef Mon Sep 17 00:00:00 2001 From: Artem Date: Fri, 5 Nov 2021 00:24:13 +0300 Subject: [PATCH 405/421] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20#920?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c04c58fac..6d5573fda 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1392,30 +1392,32 @@ #Область ВспомогательныеМетоды &НаСервереБезКонтекста -Процедура УдалитьСозданныеОбъекты(СоздаваемыйЭлемент) +Процедура УдалитьСозданныеОбъекты(Знач СоздаваемыйЭлемент) + Перем Владелец; - Если СоздаваемыйЭлемент = Неопределено Тогда + Если Не ЗначениеЗаполнено(СоздаваемыйЭлемент) Тогда Возврат; КонецЕсли; Попытка + // не у всех метаданных есть свойство Владельцы, например у ПВХ нет и тогда получим ошибку поле объекта не обноркжено, а ПВХ может выступать владельцем у справочника + // лучше проверять через реквизиты + // у СтандартныеРеквизиты нет метода Найти. В попытке, это принцип EAFP + Попытка + Владелец = СоздаваемыйЭлемент.Метаданные().СтандартныеРеквизиты["Владелец"]; + Исключение + КонецПопытки; - СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); - - Если ЗначениеЗаполнено(СоздаваемыйЭлемент.Владелец) Тогда - - Если СоздаваемыйЭлемент.Метаданные().Владельцы.Количество() > 0 - И Не СоздаваемыйЭлемент.Владелец.Пустая() Тогда - УдалитьСозданныеОбъекты(СозданныйОбъект.Владелец); - Возврат; - КонецЕсли; - + Если Владелец <> Неопределено Тогда + УдалитьСозданныеОбъекты(СоздаваемыйЭлемент.Владелец); КонецЕсли; - СозданныйОбъект.Удалить(); - - Исключение + СозданныйОбъект = СоздаваемыйЭлемент.ПолучитьОбъект(); // обязательно объект нужно получить непосредственно перед удалением + Если СозданныйОбъект <> Неопределено Тогда + СозданныйОбъект.Удалить(); + КонецЕсли; + Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ЗаписьЖурналаРегистрации( ИмяТеста(), @@ -1425,11 +1427,7 @@ ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - КонецПопытки; - - СоздаваемыйЭлемент = Неопределено; - КонецПроцедуры &НаСервере @@ -1589,7 +1587,8 @@ &НаСервереБезКонтекста Функция ИмяТеста() - Возврат "Тесты_ОткрытиеФормКонфигурации"; + // в модуле объекта для имени события используется Метаданные().Синоним, логично что бы и тут был синоним, все должно быть единообразно, а то в ЖР 2 события создаются. + Возврат "Тесты ""Открытие форм конфигурации"""; КонецФункции #КонецОбласти From fb7fa709e8689f99c5b8b274383a27ddb76e54db Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 16:21:18 +0300 Subject: [PATCH 406/421] =?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=D1=8F=20#921=20+=20=D0=B1=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D1=88=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=96=D0=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 83 ++++++++++++------- 1 file changed, 55 insertions(+), 28 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 9a807534b..8855c17fd 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -278,18 +278,22 @@ &НаКлиенте Функция ТестКлиентПоУмолчанию() Экспорт - + Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. + |ИмяПользователя: %1 + |Порт: %2 + |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); Возврат ЗапущенныеТестКлиенты[0].ТестКлиент; КонецЕсли; - + ОписаниеТестКлиента = ПодключитьТестКлиент(); Результат = ОписаниеТестКлиента.Клиент; ЗапомнитьДанныеТестКлиента(Результат, "", ОписаниеТестКлиента.Порт, ""); - + Возврат Результат; - + КонецФункции &НаКлиенте @@ -643,14 +647,14 @@ // &НаКлиенте Функция НайтиСвободныйПортЕслиТекущийЗанят(Знач Порт = 1538, Знач НачалоДиапазонаПортов = 48000, Знач ОкончаниеДиапазонаПортов = 50000) Экспорт - + Если Порт <= 0 Или Порт > 65536 Тогда Порт = 1538; КонецЕсли; - + //НачалоДиапазонаПортов = 48000; //ОкончаниеДиапазонаПортов = 50000; - + //Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда // //там должна быть строка вида 48000-48020 // МассивЗначений = СтрРазделить(Объект.ДиапазонПортовTestclient, "-"); @@ -662,21 +666,23 @@ // НачалоДиапазонаПортов = Число(МассивЗначений[0]); // ОкончаниеДиапазонаПортов = Число(МассивЗначений[1]); //КонецЕсли; - - МассивЗанятыхПортов = МассивЗанятыхПортов(); + + ПортПид = Новый Соответствие(); + МассивЗанятыхПортов = МассивЗанятыхПортов(ПортПид); Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда - + ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПортПид[Порт])); + Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; - КонецЕсли; КонецЦикла; КонецЕсли; - + Возврат Порт; - + КонецФункции // } Plugin interface @@ -796,6 +802,15 @@ КонецПроцедуры +&НаСервереБезКонтекста +Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) + + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), + УровеньЖурналаРегистрации.Информация, , , + Текст); + +КонецПроцедуры + &НаСервереБезКонтекста Функция ИмяСобытияЖР() @@ -841,10 +856,12 @@ Если Не ЗначениеЗаполнено(Порт) Тогда Порт = ПортПоУмолчанию(); КонецЕсли; + Если ТипЗнч(Порт) <> Тип("Число") Тогда Порт = Число(Порт); КонецЕсли; + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции @@ -1093,35 +1110,41 @@ КонецПроцедуры &НаКлиенте -Функция МассивЗанятыхПортов() - +Функция МассивЗанятыхПортов(ПортПид = Неопределено) + Результат = Новый Массив; ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); Если НЕ ЭтоLinux() Тогда - + СтрокаЗапуска = "netstat -ano > """ + ИмяВременногоФайла + """"; //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); - + Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - - Порт_ = Сред(Сред(СокрЛП(Стр), 8), 1, Найти(Сред(СокрЛП(Стр), 8), " ")); + + Разбивка = СтрРазделить(Стр, " ", Ложь); + Если Разбивка.Количество() <> 5 Тогда + Продолжить; + КонецЕсли; + Порт_ = Разбивка[1]; + PID = Разбивка[Разбивка.ВГраница()]; + Порт = ""; Для НомерСимвола = 0 По СтрДлина(Порт_) - 1 Цикл СимволСтроки = Сред(Порт_, СтрДлина(Порт_) - НомерСимвола, 1); @@ -1132,10 +1155,13 @@ Порт = СимволСтроки + Порт; КонецЕсли; КонецЦикла; - + Попытка Порт = Число(Порт); Результат.Добавить(Порт); + Если ПортПид <> Неопределено Тогда + ПортПид.Вставить(Порт, PID); + КонецЕсли; Исключение Продолжить; КонецПопытки; @@ -1152,17 +1178,17 @@ Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); - + Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); Если Стр = Неопределено Тогда Прервать; КонецЕсли; - + Если Стр = "" Тогда Продолжить; КонецЕсли; - + Порт = СокрЛП(Стр); Попытка Порт = Число(Порт); @@ -1174,13 +1200,14 @@ Текст.Закрыть(); КонецЕсли; - + //Для каждого СтрокаДанныеКлиентовТестирования Из ДанныеКлиентовТестирования Цикл // TODO // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); //КонецЦикла; - + + УдалитьФайлы(ИмяВременногоФайла); Возврат Результат; - + КонецФункции Функция НовоеОписаниеТестКлиента() From 0e776ae42ec941226ff6c089e22962614b54ac6a Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 18:07:07 +0300 Subject: [PATCH 407/421] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=B1=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D0=B2=D0=BD=D1=8B=D0=BC=20=D0=BB=D0=BE?= =?UTF-8?q?=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 8855c17fd..c88e78d43 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -98,6 +98,7 @@ КонецПроцедуры + // Подключить тест-клиент // // Параметры: @@ -120,31 +121,31 @@ Порт = ПолучитьПорт(Порт); Порт = НайтиСвободныйПортЕслиТекущийЗанят(Порт); - + Если Не ЗначениеЗаполнено(СписокПропускаемыхФорм) Тогда СписокПропускаемыхФорм = Новый СписокЗначений; КонецЕсли; - + ПодключенныйТестКлиент = Неопределено; - + Попытка Выполнить "ПодключенныйТестКлиент = Новый ТестируемоеПриложение(, XMLСтрока(Порт));"; Исключение Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка подключения тест-клиента по порту " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); ПодключенныйТестКлиент = Неопределено; КонецПопытки; - + Если ПодключенныйТестКлиент = Неопределено Тогда ВызватьИсключение "Не удалось создать объект ТестируемоеПриложение. |Возможно, что 1С:Предприятие 8 не было запущено в режиме Менеджера тестирования (ключ командной строки /TESTMANAGER) |При запуске Предприятия через Конфигуратор можно включить этот режим в параметрах конфигуратора Сервис -> Параметры -> Запуск 1С:Предприятия -> Дополнительные -> Автоматизированное тестирование -> пункт ""Запускать как менеджер тестирования""."; КонецЕсли; - + // Попытка подключиться к уже запущенному приложению. Подключен = Ложь; Попытка @@ -154,12 +155,12 @@ Инфо = ИнформацияОбОшибке(); ОписаниеОшибки = "Ошибка соединения с тест-клиентом. Порт " + Порт + " |" + ПодробноеПредставлениеОшибки(Инфо); - + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); Подключен = Ложь; КонецПопытки; - + Если Подключен Тогда Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); @@ -168,27 +169,30 @@ КонецЕсли; СтрокаЗапуска = СтрокаЗапускаТестКлиента(ИмяПользователя, Пароль, Порт, ДопПараметры); - + УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска, Ложь, Ложь); - + ВремяОкончанияОжидания = ТекущаяДата() + ТаймаутВСекундах(); ОписаниеОшибкиСоединения = ""; + СчетчикПопыток = 0; Пока Не ТекущаяДата() >= ВремяОкончанияОжидания Цикл Попытка + СчетчикПопыток = СчетчикПопыток + 1; + ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; Прервать; Исключение - Инфо = ИнформацияОбОшибке(); - ОписаниеОшибки = "Ошибка подключения тест-клиента. Порт " + Порт + " - |" + ПодробноеПредставлениеОшибки(Инфо); - - ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); - + Инфо = ИнформацияОбОшибке(); + ОписаниеОшибки = СтрШаблон("Попытка %1. Ошибка подключения тест-клиента. Порт %2 + |%3", СчетчикПопыток, Порт, ПодробноеПредставлениеОшибки(Инфо)); + + ЗаписатьПредупреждениеВЖурналРегистрации(ОписаниеОшибки); + КонецПопытки; КонецЦикла; - + Если Не Подключен Тогда Попытка ПодключенныйТестКлиент.УстановитьСоединение(); @@ -200,12 +204,12 @@ ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); ВызватьИсключение СтрШаблон( - "Не смогли установить соединение с тестовым приложением для пользователя %1! - |%2", - ИмяПользователя, ОписаниеОшибкиСоединения); + "Не смогли установить соединение с тестовым приложением для пользователя %1! + |%2", + ИмяПользователя, ОписаниеОшибкиСоединения); КонецПопытки; КонецЕсли; - + Если Подключен И ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда Таймаут = 5; ДлительностьОжидания = 0; @@ -225,10 +229,10 @@ ЗаписатьПредупреждениеВЖурналРегистрации(ПолныйТекстСообщения); ВызватьИсключение КонтекстЯдра.СтрШаблон_( - "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 - |%2!", - ИмяПользователя, ОписаниеОшибкиСоединения); - + "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 + |%2!", + ИмяПользователя, ОписаниеОшибкиСоединения); + КонецПопытки; Если ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда ПодключенныйТестКлиент.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); @@ -237,12 +241,12 @@ ВызватьИсключение НСтр("ru = 'Превышено время ожидания ввода пароля.'"); КонецЕсли; КонецЕсли; - + Результат.Вставить("Клиент", ПодключенныйТестКлиент); Результат.Вставить("Порт", Порт); Возврат Результат; - + КонецФункции &НаКлиенте From 936cba83301d58b8bc041d1bc6e6fe97b96451a3 Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 7 Nov 2021 18:27:13 +0300 Subject: [PATCH 408/421] =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=A2=D0=B5=D1=81=D1=82=D0=9A=D0=BB=D0=B8=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=9F=D0=BE=D0=A3=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B8=D1=82=20?= =?UTF-8?q?=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=B0=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=B2=20=D0=96=D0=A0,=20=D0=B2=D1=8B=D0=BD?= =?UTF-8?q?=D0=B5=D1=81=20=D0=B8=D1=85=20=D0=B2=20=D0=BE=D1=82=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D0=B4=D0=BE=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=BD=D0=B5=D0=B5=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index c88e78d43..830ebfd9b 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -284,7 +284,7 @@ Функция ТестКлиентПоУмолчанию() Экспорт Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. + ЗаписатьИнформациюВЖурналРегистрации("ТестКлиентПоУмолчанию", СтрШаблон("Был использован один из запущенных ранее тест клиентов. |ИмяПользователя: %1 |Порт: %2 |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); @@ -679,7 +679,7 @@ Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); + ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; КонецЕсли; КонецЦикла; @@ -807,9 +807,10 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) +Процедура ЗаписатьИнформациюВЖурналРегистрации(ПостфиксСобытия, Знач Текст) + ИмяСобытия = СтрРазделить(ИмяСобытияЖР()+"."+ПостфиксСобытия, ".", Ложь); // эта пляска для случаев когда ПостфиксСобытия будет пустой, что б в конце не осталась точка - ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), + ЗаписьЖурналаРегистрации(СтрСоединить(ИмяСобытия, "."), УровеньЖурналаРегистрации.Информация, , , Текст); @@ -865,7 +866,7 @@ Порт = Число(Порт); КонецЕсли; - ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); + ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции From c344036eba6deb4c7e3e54cd952e72ddf9ace145 Mon Sep 17 00:00:00 2001 From: Artem Date: Mon, 8 Nov 2021 12:41:00 +0300 Subject: [PATCH 409/421] =?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=D1=86=D0=B5=D0=B4=D1=83=D1=80=D1=83?= =?UTF-8?q?=20=D0=97=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D1=82=D1=8C=D0=9F=D1=80?= =?UTF-8?q?=D0=B8=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D0=B5=D0=92=D0=96?= =?UTF-8?q?=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=A0=D0=B5=D0=B3=D0=B8=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 830ebfd9b..e72f3d739 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -182,6 +182,8 @@ ПодключенныйТестКлиент.УстановитьСоединение(); Подключен = Истина; + + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Тест-клиент подключен успешно. Порт %1", Порт)); Прервать; Исключение Инфо = ИнформацияОбОшибке(); @@ -196,6 +198,7 @@ Если Не Подключен Тогда Попытка ПодключенныйТестКлиент.УстановитьСоединение(); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Тест-клиент подключен успешно. Порт %1", Порт)); Исключение ИнформацияОбОшибке = ИнформацияОбОшибке(); ОписаниеОшибкиСоединения = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); @@ -284,7 +287,7 @@ Функция ТестКлиентПоУмолчанию() Экспорт Если ЗначениеЗаполнено(ЗапущенныеТестКлиенты) Тогда - ЗаписатьИнформациюВЖурналРегистрации("ТестКлиентПоУмолчанию", СтрШаблон("Был использован один из запущенных ранее тест клиентов. + ЗаписатьПримечаниеВЖурналРегистрации(СтрШаблон("Был использован один из запущенных ранее тест клиентов. |ИмяПользователя: %1 |Порт: %2 |ДопПараметры: %3", ЗапущенныеТестКлиенты[0].ИмяПользователя, ЗапущенныеТестКлиенты[0].Порт, ЗапущенныеТестКлиенты[0].ДопПараметры)); @@ -679,7 +682,7 @@ Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда - ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован свободный порт: ""%1""", СвободныйПорт)); Возврат СвободныйПорт; КонецЕсли; КонецЦикла; @@ -807,13 +810,13 @@ КонецПроцедуры &НаСервереБезКонтекста -Процедура ЗаписатьИнформациюВЖурналРегистрации(ПостфиксСобытия, Знач Текст) - ИмяСобытия = СтрРазделить(ИмяСобытияЖР()+"."+ПостфиксСобытия, ".", Ложь); // эта пляска для случаев когда ПостфиксСобытия будет пустой, что б в конце не осталась точка - - ЗаписьЖурналаРегистрации(СтрСоединить(ИмяСобытия, "."), - УровеньЖурналаРегистрации.Информация, , , - Текст); - +Процедура ЗаписатьИнформациюВЖурналРегистрации(Знач Текст) + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Информация,,, Текст); +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ЗаписатьПримечаниеВЖурналРегистрации(Знач Текст) + ЗаписьЖурналаРегистрации(ИмяСобытияЖР(), УровеньЖурналаРегистрации.Примечание,,, Текст); КонецПроцедуры &НаСервереБезКонтекста @@ -866,7 +869,7 @@ Порт = Число(Порт); КонецЕсли; - ЗаписатьИнформациюВЖурналРегистрации("", СтрШаблон("Будет использован порт: ""%1""", Порт)); + ЗаписатьИнформациюВЖурналРегистрации(СтрШаблон("Будет использован порт: ""%1""", Порт)); Возврат Порт; КонецФункции @@ -1128,7 +1131,11 @@ //TODO проверить быстрое использование ВыполнитьКомандуОСБезПоказаЧерногоОкна(..., Истина, Ложь); //ВыполнитьКомандуОСБезПоказаЧерногоОкна(ТекстКоманды, Истина, Истина); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); - УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + КодОтвета = УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); + Если КодОтвета <> 0 Тогда + ЗаписатьОшибкуВЖурналеРегистрации(СтрШаблон("Не удалось выполнить команду ""%1"", код ответа = %2", СтрокаЗапуска, КодОтвета)); + Возврат Результат; + КонецЕсли; Текст = Новый ЧтениеТекста; Текст.Открыть(ИмяВременногоФайла, "UTF-8"); From 95648c247cbab1fb5166b483eaa073d927c7e28d Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 9 Nov 2021 21:52:20 +0300 Subject: [PATCH 410/421] =?UTF-8?q?=D0=B1=D0=B5=D0=B7=D0=BE=D0=BF=D0=B0?= =?UTF-8?q?=D1=81=D0=BD=D0=BE=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D1=89=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BA=20=D0=BE=D0=B1=D1=89=D0=B5=D0=BC?= =?UTF-8?q?=D1=83=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8E=20=D0=9E=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=B3=D0=BE=D0=9D=D0=B0=D0=B7=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 12 +++++++++--- .../Ext/ObjectModule.bsl" | 11 +++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 928e7a250..29baac29e 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -2959,8 +2959,15 @@ &НаСервереБезКонтекста Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) - МРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) - МСтроковыеФункцииКлиентСервер = ОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); + МОбщегоНазначения = Неопределено; + Попытка + МОбщегоНазначения = Вычислить("ОбщегоНазначения"); + Исключение + Возврат; + КонецПопытки; + + МРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) + МСтроковыеФункцииКлиентСервер = МОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); Если МСтроковыеФункцииКлиентСервер <> Неопределено И ТипЗнч(ОбластьДанных) <> Тип("Число") Тогда ОбластьДанных = МСтроковыеФункцииКлиентСервер.СтрокаВЧисло(ОбластьДанных); @@ -2983,7 +2990,6 @@ Возврат ОбластьДанныхМенеджера; КонецФункции - // } Вспомогательные методы #Область Глобальный_контекст diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index d9dd7250d..685c2e72a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -1368,8 +1368,15 @@ КонецФункции Функция РазрешеноИзменятьОбъект(МетаОбъект) - Если ОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда - МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); + МОбщегоНазначения = Неопределено; + Попытка + МОбщегоНазначения = Вычислить("ОбщегоНазначения"); + Исключение + Возврат Истина; // Если нет модуля ОбщегоНазначения, врядли там включено разделение по областям + КонецПопытки; + + Если МОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда + МодульРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // В сеансе без разделителей меняем только общие МД, в сеансе с разделителем меняет только разделенные // в базе где вообще не включено разделение меняем все подряд From b3e7d0447e5aeb1ca477b285e42d9ba0597edcc6 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 22:07:09 +0300 Subject: [PATCH 411/421] =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 29baac29e..411c6c81f 100644 --- "a/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/xddTestRunner/xddTestRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -32,7 +32,7 @@ // Поле в котором можно хранить клиентский контекст на протяжении сеанса // данный контекст можно использовать для передачи данных между тестами -&НаКлиенте +&НаКлиенте Перем ГлобальныйКонтекст; // { События формы @@ -1343,8 +1343,8 @@ Если Область <> Неопределено Тогда ВходВОбластьНаСервере(Область); КонецЕсли; - - + + Если Не ЕстьПоддержкаАсинхронныхВызовов Тогда ВыполнитьПакетныйЗапускСинхронно(НастройкиШагов); Иначе @@ -2958,21 +2958,21 @@ &НаСервереБезКонтекста -Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) +Процедура ВходВОбластьНаСервере(Знач ОбластьДанных) МОбщегоНазначения = Неопределено; Попытка МОбщегоНазначения = Вычислить("ОбщегоНазначения"); Исключение Возврат; КонецПопытки; - + МРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); // мало ли модуля может не быть (если конфы самописные) МСтроковыеФункцииКлиентСервер = МОбщегоНазначения.ОбщийМодуль("СтроковыеФункцииКлиентСервер"); - + Если МСтроковыеФункцииКлиентСервер <> Неопределено И ТипЗнч(ОбластьДанных) <> Тип("Число") Тогда ОбластьДанных = МСтроковыеФункцииКлиентСервер.СтрокаВЧисло(ОбластьДанных); КонецЕсли; - + Если ОбластьДанных <> Неопределено И МРаботаВМоделиСервиса <> Неопределено И МРаботаВМоделиСервиса.СеансЗапущенБезРазделителей() Тогда МРаботаВМоделиСервиса.ВойтиВОбластьДанных(ОбластьДанных); КонецЕсли; @@ -2986,8 +2986,8 @@ ПлагинНастроек.Обновить(); ПлагинНастроек.ПолучитьНастройки().Свойство("ОбластьДанныхМенеджера", ОбластьДанныхМенеджера); - - Возврат ОбластьДанныхМенеджера; + + Возврат ОбластьДанныхМенеджера; КонецФункции // } Вспомогательные методы From 74b2d0674aabf2e803e7b630a55d91da032adb40 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 22:23:00 +0300 Subject: [PATCH 412/421] =?UTF-8?q?=D1=80=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=B2=D0=BE=D0=B7=D0=B2=D1=80?= =?UTF-8?q?=D0=B0=D1=89=D0=B0=D0=B5=D0=BC=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=BD?= =?UTF-8?q?=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 37 ++++++------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index a791e717f..55eac5e22 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -659,25 +659,12 @@ Порт = 1538; КонецЕсли; - //НачалоДиапазонаПортов = 48000; - //ОкончаниеДиапазонаПортов = 50000; - - //Если ЗначениеЗаполнено(Объект.ДиапазонПортовTestclient) Тогда - // //там должна быть строка вида 48000-48020 - // МассивЗначений = СтрРазделить(Объект.ДиапазонПортовTestclient, "-"); - // Если МассивЗначений.Количество() <> 2 Тогда - // ТекстСообщения = "Указан неверный диапазон портов: <%1>"; - // ТекстСообщения = СтрЗаменить(ТекстСообщения, "%1", Объект.ДиапазонПортовTestclient); - // ВызватьИсключение ТекстСообщения; - // КонецЕсли; - // НачалоДиапазонаПортов = Число(МассивЗначений[0]); - // ОкончаниеДиапазонаПортов = Число(МассивЗначений[1]); - //КонецЕсли; - - ПортПид = Новый Соответствие(); - МассивЗанятыхПортов = МассивЗанятыхПортов(ПортПид); + СведенияОЗанятыхПортах = СведенияОЗанятыхПортах(); + МассивЗанятыхПортов = СведенияОЗанятыхПортах.Порты; + ПроцессыДляПортов = СведенияОЗанятыхПортах.Процессы; + Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда - ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПортПид[Порт])); + ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПроцессыДляПортов[Порт])); Для СвободныйПорт = НачалоДиапазонаПортов По ОкончаниеДиапазонаПортов Цикл Если МассивЗанятыхПортов.Найти(СвободныйПорт) = Неопределено Тогда @@ -1118,9 +1105,11 @@ КонецПроцедуры &НаКлиенте -Функция МассивЗанятыхПортов(ПортПид = Неопределено) +Функция СведенияОЗанятыхПортах() - Результат = Новый Массив; + Результат = Новый Структура; + Результат.Вставить("Порты", Новый Массив); + Результат.Вставить("Процессы", Новый Соответствие); ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); @@ -1170,10 +1159,8 @@ Попытка Порт = Число(Порт); - Результат.Добавить(Порт); - Если ПортПид <> Неопределено Тогда - ПортПид.Вставить(Порт, PID); - КонецЕсли; + Результат.Порты.Добавить(Порт); + Результат.Процессы.Вставить(Порт, PID); Исключение Продолжить; КонецПопытки; @@ -1204,7 +1191,7 @@ Порт = СокрЛП(Стр); Попытка Порт = Число(Порт); - Результат.Добавить(Порт); + Результат.Порты.Добавить(Порт); Исключение Продолжить; КонецПопытки; From 7e4d0efe5bbc2396d71b78903dd08df667bf8ac8 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 22:23:27 +0300 Subject: [PATCH 413/421] =?UTF-8?q?=D1=80=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=B8=D0=BC=D0=B5=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 542 +++++++++--------- 1 file changed, 271 insertions(+), 271 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" index 685c2e72a..0e9f1b9ab 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Ext/ObjectModule.bsl" @@ -11,56 +11,56 @@ #Если ТолстыйКлиентОбычноеПриложение Тогда Процедура Инициализация(КонтекстЯдраПараметр) Экспорт - + КонтекстЯдра = КонтекстЯдраПараметр; Ожидаем = КонтекстЯдра.Плагин("УтвержденияBDD"); Утверждения = КонтекстЯдра.Плагин("БазовыеУтверждения"); - + ЗагрузитьНастройки(); - + КонецПроцедуры Процедура ЗаполнитьНаборТестов(НаборТестов, КонтекстЯдраПараметр) Экспорт - + КонтекстЯдра = КонтекстЯдраПараметр; - + ВидыМетаданных = ВидыМетаданных(); ВидыПроверок = ВидыПроверок(); СпособыГруппировки = СпособыГруппировки(); - + ЗагрузитьНастройки(); - + НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки); - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + Если НЕ СоздатьФорму_ПолучениеФорм() Тогда Возврат; КонецЕсли; - + СоздатьИменаОсновныхФорм(); - + Если ВключенСтрогийПорядокВыполнения() Тогда НаборТестов.СтрогийПорядокВыполнения(); НаборТестов.ПродолжитьВыполнениеПослеПаденияТеста(); КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Справочники") Тогда ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки); КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Документы") Тогда ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки); КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Обработки") Тогда ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки); КонецЕсли; - + Если НЕ ВидМетаданныхИсключенИзТестирования("Отчеты") Тогда ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки); КонецЕсли; - + КонецПроцедуры #КонецЕсли @@ -70,23 +70,23 @@ #Область Тесты Процедура ПередЗапускомТеста() Экспорт - + НужноИсключениеЕслиНеНайденоДокументов = Ложь; - + СоздатьФорму_ПолучениеФорм(); - + НачатьТранзакцию(); - + КонецПроцедуры Процедура ПослеЗапускаТеста() Экспорт - + ЗакрытьФорму(); - + Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; - + КонецПроцедуры Процедура ТестДолжен_ПропуститьТестФормы(Знач ПричинаПропускаТеста) Экспорт @@ -96,7 +96,7 @@ Процедура Тест_ОткрытьФормуСуществующегоДокумента(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; Док = ПолучитьСуществующийДокументОбъект(ИД, НужноИсключениеЕслиНеНайденоДокументов, "Тест_ОткрытьФормуСуществующегоДокумента"); - + Если Док <> Неопределено Тогда ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка); КонецЕсли; @@ -108,11 +108,11 @@ Если Док = Неопределено Тогда Возврат; КонецЕсли; - + Док.Дата = ТекущаяДатаСеанса(); Док.ОбменДанными.Загрузка = Истина; Док.Записать(); - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док.Ссылка); КонецПроцедуры @@ -120,18 +120,18 @@ ИД = МетаИмя; Док = Документы[ИД].СоздатьДокумент(); Мета = Док.Метаданные(); - + Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда Возврат; КонецЕсли; - + Если Мета.ДлинаНомера <> 0 Тогда Попытка Док.УстановитьНовыйНомер(); Исключение КонецПопытки; КонецЕсли; - + Если ЕстьНастройка("Документы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.Документы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка @@ -141,41 +141,41 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Док, Ложь); - + КонецПроцедуры Процедура Тест_ОткрытьФормуСуществующегоЭлементаСправочника(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт ИД = МетаИмя; - + Элем = СоздатьЭлемент(ИД, "существующий"); ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка); КонецПроцедуры Процедура Тест_ОткрытьФормуНовогоЭлементаСправочника(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт - + ИД = МетаИмя; Элем = Справочники[ИД].СоздатьЭлемент(); Мета = Элем.Метаданные(); - + Если НЕ ПравоДоступа("ИнтерактивноеДобавление", Мета) Тогда Возврат; КонецЕсли; - + Если Мета.ДлинаНаименования <> 0 Тогда Попытка Элем.Наименование = "новый"; Исключение КонецПопытки; КонецЕсли; - + Если Мета.Владельцы.Количество() Тогда Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для нового"); КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем, Ложь); - + КонецПроцедуры Процедура Тест_ОткрытьФормуНовогоЭлементаСправочникаСоздаваемогоКопированием(МетаИмя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция) Экспорт @@ -184,7 +184,7 @@ Если Элем = Неопределено Тогда Возврат; КонецЕсли; - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма.Имя, Элем.Ссылка, Истина); КонецПроцедуры @@ -198,81 +198,81 @@ // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Списки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Списки); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Существующие() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Существующие); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Справочники_Новые() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Справочники, ВидыПроверок.Новые); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Списки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Списки); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Существующие() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Существующие); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_ПеренестиДату() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.ПеренестиДату); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Документы_Новые() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Документы, ВидыПроверок.Новые); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Отчеты() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Отчеты, ""); - + КонецФункции // Возвращаемое значение: // СписокЗначений, Ложь - Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_Обработки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.Обработки, ""); - + КонецФункции // Получить список значений для исключения форм списков бизнес-процессов @@ -281,9 +281,9 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Списки() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Списки); - + КонецФункции // Получить список значений для исключения существующих бизнес-процессов @@ -292,9 +292,9 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Существующие() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Существующие); - + КонецФункции // Получить список значений для исключения новых бизнес-процессов @@ -303,43 +303,43 @@ // СписокЗначений, Ложь - ключ - это имя метаданного, Ложь возвращается, если полностью исключается вид проверки // Функция ПолучитьСписокИсключений_БизнесПроцессы_Новые() Экспорт - + Возврат ПолучитьИсключения(ВидыМетаданных.БизнесПроцессы, ВидыПроверок.Новые); - + КонецФункции #КонецОбласти #Область ФормированиеСпискаТестовыхСлучаев Процедура ДобавитьТестыФормСправочников(НаборТестов, НастройкаГруппировки) - + СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Справочники", СтрогийПорядокВыполнения); КонецЕсли; - + СписокИсключений_Существующие = ПолучитьСписокИсключений_Справочники_Существующие(); СписокИсключений_Новые = ПолучитьСписокИсключений_Справочники_Новые(); СписокИсключений_Списки = ПолучитьСписокИсключений_Справочники_Списки(); - + Счетчик = 0; - + Для Каждого МетаОбъект Из Метаданные.Справочники Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = "Справочники (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу("Справочник." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + Если ПравоДоступа("Редактирование", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, @@ -349,7 +349,7 @@ мИменаОсновныхФорм_Объекты, "Существующие элементы" ); КонецЕсли; - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, @@ -360,7 +360,7 @@ "Новые элементы" ); КонецЕсли; - + Если ПравоДоступа("Добавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, @@ -371,7 +371,7 @@ "Новые через копирование элементы" ); КонецЕсли; - + ДобавитьТестДляМетаданного_ОдинОбъект( НаборТестов, МетаОбъект, @@ -379,41 +379,41 @@ СписокИсключений_Списки, мИменаОсновныхФорм_Списки ); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестыФормДокументов(НаборТестов, НастройкаГруппировки) - + СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Документы", СтрогийПорядокВыполнения); КонецЕсли; - + СписокИсключений_Существующие = ПолучитьСписокИсключений_Документы_Существующие(); СписокИсключений_Новые = ПолучитьСписокИсключений_Документы_Новые(); СписокИсключений_Списки = ПолучитьСписокИсключений_Документы_Списки(); СписокИсключений_ПеренестиДату = ПолучитьСписокИсключений_Документы_ПеренестиДату(); - + Счетчик = 0; - + Для Каждого МетаОбъект Из Метаданные.Документы Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = "Документы (" + Строка(Счетчик + 1) + "..." + Строка(Счетчик + НастройкаГруппировки.КоличествоВГруппе) + ")"; НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу("Документ." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + Если ПравоДоступа("Редактирование", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, @@ -432,7 +432,7 @@ "Перенос документа на текущий день" ); КонецЕсли; - + Если ПравоДоступа("ИнтерактивноеДобавление", МетаОбъект) Тогда ДобавитьТестДляОдногоМетаданного_Объекты( НаборТестов, @@ -443,7 +443,7 @@ "Новые документы" ); КонецЕсли; - + ДобавитьТестДляМетаданного_ОдинОбъект( НаборТестов, МетаОбъект, @@ -451,17 +451,17 @@ СписокИсключений_Списки, мИменаОсновныхФорм_Списки ); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестыФормОбработок(НаборТестов, НастройкаГруппировки) - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Обработки", ВключенСтрогийПорядокВыполнения()); КонецЕсли; - + ДобавитьТестПоМенеджеруМетаданных( НаборТестов, Метаданные.Обработки, @@ -469,15 +469,15 @@ ПолучитьСписокИсключений_Обработки(), мИменаОсновныхФорм ); - + КонецПроцедуры Процедура ДобавитьТестыФормОтчетов(НаборТестов, НастройкаГруппировки) - + Если НастройкаГруппировки.ГруппироватьПоВидуМетаданных Тогда НаборТестов.НачатьГруппу("Отчеты", ВключенСтрогийПорядокВыполнения()); КонецЕсли; - + ДобавитьТестПоМенеджеруМетаданных( НаборТестов, Метаданные.Отчеты, @@ -485,20 +485,20 @@ ПолучитьСписокИсключений_Отчеты(), мИменаОсновныхФорм ); - + КонецПроцедуры Процедура ДобавитьТестПоМенеджеруМетаданных(НаборТестов, менеджерМетаданного, имяТеста, СписокИсключений, ИменаОсновныхФорм) - + НастройкаГруппировки = ПолучитьНастройкуГруппировки(Настройки); СтрогийПорядокВыполнения = ВключенСтрогийПорядокВыполнения(); - + ЭтоОтчеты = (менеджерМетаданного = Метаданные.Отчеты); - + Счетчик = 0; - + Для Каждого МетаОбъект Из менеджерМетаданного Цикл - + Если НастройкаГруппировки.ГруппироватьПоКоличеству Тогда Если Счетчик % НастройкаГруппировки.КоличествоВГруппе = 0 Тогда ИмяГруппы = ?(ЭтоОтчеты, "Отчеты", "Обработки") + " (" + Строка(Счетчик + 1) + "..." + @@ -506,47 +506,47 @@ НаборТестов.НачатьГруппу(ИмяГруппы, СтрогийПорядокВыполнения); КонецЕсли; КонецЕсли; - + Если НастройкаГруппировки.ГруппироватьПоВидуОбъекта Тогда НаборТестов.НачатьГруппу(?(ЭтоОтчеты, "Отчет", "Обработка") + "." + МетаОбъект.Имя, СтрогийПорядокВыполнения); КонецЕсли; - + Счетчик = Счетчик + 1; - + ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, МетаОбъект, имяТеста, СписокИсключений, ИменаОсновныхФорм); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестДляМетаданного_ОдинОбъект(НаборТестов, Знач МетаОбъект, Знач имяТеста, Знач СписокИсключений, Знач ИменаОсновныхФорм) ПрефиксПропускаемых = ""; ПропускатьТест = Ложь; - + Если СписокИсключений = Ложь Или СписокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект находится в исключениях"; - + ИначеЕсли ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект устарел"; - + ИначеЕсли Не ПравоДоступа("Просмотр", МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя"; КонецЕсли; - + Если ПропускатьТест Тогда ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; - + МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); - + Для каждого МетаФорма Из МетаФормы Цикл - + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); - + Если Метаданные.ОсновнаяФормаОтчета = МетаФорма Тогда МетаФорма_ПолноеИмя = МетаОбъект.ПолноеИмя() + ".Форма"; ИначеЕсли Метаданные.ОсновнаяФормаНастроекОтчета = МетаФорма Тогда @@ -554,10 +554,10 @@ КонецЕсли; // МетаОбъект.Имя <Отчет1>, МетаФорма_ПолноеИмя <Отчет.Отчет1.Форма.ФормаОтчета> // МетаОбъект.Имя <Отчет2>, МетаФорма_ПолноеИмя <Отчет.Отчет2.Форма> // в УФ ОбщаяФорма.ФормаОтчета - + ПредставлениеТеста = МетаФорма_ПолноеИмя; ЕстьТранзакция = Истина; - + ПропускатьТестФормы = Ложь; Если Не ПропускатьТест Тогда // Проверим, нет ли конкретно самой формы в исключениях. @@ -568,7 +568,7 @@ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; КонецЕсли; - + Если ПропускатьТест Или ПропускатьТестФормы Тогда ПредставлениеТеста = ПрефиксПропускаемых + " : " + ПредставлениеТеста; ПараметрыТеста = ПараметрыПропускаемогоТеста; @@ -577,11 +577,11 @@ ВремИмяТеста = имяТеста; ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаФорма_ПолноеИмя, ЕстьТранзакция, МетаОбъект); КонецЕсли; - + НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста); - + КонецЦикла; - + КонецПроцедуры Процедура ДобавитьТестДляОдногоМетаданного_Объекты(НаборТестов, Знач МетаОбъект, Знач имяТеста, @@ -589,32 +589,32 @@ Знач ПрефиксПредставленияТеста) ПрефиксПропускаемых = ""; ПропускатьТест = Ложь; - + Если СписокИсключений = Ложь Или СписокИсключений.НайтиПоЗначению(МетаОбъект.Имя) <> Неопределено Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект находится в исключениях"; - + ИначеЕсли ЭтоУстаревшийМетаОбъектДляУдаления(МетаОбъект) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "объект устарел"; - + ИначеЕсли Не (ПравоДоступа("Просмотр", МетаОбъект) И ПравоДоступа("Добавление", МетаОбъект)) Тогда ПропускатьТест = Истина; ПрефиксПропускаемых = "нет прав интерактивного доступа у пользователя"; КонецЕсли; - + Если ПропускатьТест Тогда ПрефиксПредставленияТеста = ПрефиксПредставленияТеста + " : " + ПрефиксПропускаемых; ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста(ПрефиксПропускаемых); КонецЕсли; - + МетаФормы = ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм); Для каждого МетаФорма Из МетаФормы Цикл - + МетаФорма_ПолноеИмя = МетаФорма.ПолноеИмя(); ПредставлениеТеста = ПрефиксПредставленияТеста + " : " + МетаФорма_ПолноеИмя; ЕстьТранзакция = Истина; - + ПропускатьТестФормы = Ложь; Если Не ПропускатьТест Тогда // Проверим, нет ли конкретно самой формы в исключениях. @@ -624,7 +624,7 @@ ПараметрыПропускаемогоТеста = НаборТестов.ПараметрыТеста("форма находится в исключениях"); КонецЕсли; КонецЕсли; - + Если ПропускатьТест Или ПропускатьТестФормы Тогда ПараметрыТеста = ПараметрыПропускаемогоТеста; ВремИмяТеста = ИмяМетодаПропускаТестов(); @@ -632,11 +632,11 @@ ПараметрыТеста = НаборТестов.ПараметрыТеста(МетаОбъект.Имя, МетаФорма_ПолноеИмя, МетаФорма, ЕстьТранзакция); ВремИмяТеста = имяТеста; КонецЕсли; - + НаборТестов.Добавить(ВремИмяТеста, ПараметрыТеста, ПредставлениеТеста); - + КонецЦикла; - + КонецПроцедуры #КонецОбласти @@ -644,9 +644,9 @@ #Область РаботаСФормами Процедура ЗакрытьФорму() - + ТипФормы = ТипЗнч(ТестируемаяФорма); - + Если ТипФормы <> Тип("Форма") И ТипФормы <> Тип("УправляемаяФорма") Тогда Возврат; КонецЕсли; @@ -660,7 +660,7 @@ Если ТранзакцияАктивна() Тогда ОтменитьТранзакцию(); КонецЕсли; - + НачатьТранзакцию(); ТестируемаяФорма.УстановитьДействие("ПередЗакрытием", Неопределено); ТестируемаяФорма.УстановитьДействие("ПриЗакрытии", Неопределено); @@ -674,7 +674,7 @@ КонецПопытки; КонецЕсли; ТестируемаяФорма = ""; - + КонецПроцедуры Функция ЭтоОбычнаяФорма(Форма) @@ -684,21 +684,21 @@ // Портировано из подсистемы "Инструменты разработчика" Процедура ТестДолжен_ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, ЕстьТранзакция = Ложь, МетаданныеВладельцаФормы = Неопределено) Экспорт - + ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, "", Неопределено, Ложь, МетаданныеВладельцаФормы); - + КонецПроцедуры Процедура ОткрытьФорму_ПоМетаФорме(МетаФорма_ПолноеИмя, МетаФорма_Имя = "", СсылкаОбъектаИлиСамОбъект = Неопределено, СоздаватьОбъект = Ложь, МетаданныеВладельцаФормы = Неопределено) Экспорт - + ВыводитьСообщения = Ложь; ВнешнийОбъект = Неопределено; КлючВременнойФормы = "908насмь9ыв"; - + ИмяОперации = МетаФорма_ПолноеИмя; - + ВывестиСообщение("Операция: " + ИмяОперации, УровеньЖурналаРегистрации.Информация, ВыводитьСообщения); - + Форма = ПолучитьНовуюФорму(МетаФорма_ПолноеИмя, ВнешнийОбъект, КлючВременнойФормы); Если Форма = Неопределено Тогда Возврат; @@ -730,7 +730,7 @@ КонецЕсли; КонецЕсли; КонецЕсли; - + Если ЭтоФормаСсылочногоОбъекта Тогда Если ЭтоОбычнаяФорма(Форма) Тогда Если СоздаватьОбъект Тогда @@ -761,7 +761,7 @@ Форма = ПолучитьФормуЛкс(МетаФорма_ПолноеИмя, ПараметрыФормы, , КлючВременнойФормы); КонецЕсли; КонецЕсли; - + Если МетаданныеВладельцаФормы <> Неопределено И Метаданные.Справочники.Содержит(МетаданныеВладельцаФормы) Тогда Если МетаданныеВладельцаФормы.Владельцы.Количество() Тогда ВладелецСсылка = ПолучитьСсылкуНаВладельца(МетаданныеВладельцаФормы); @@ -775,9 +775,9 @@ КонецПопытки; КонецЕсли; КонецЕсли; - + ТестироватьФорму(Форма, ИмяОперации); - + КонецПроцедуры Процедура СоздатьИменаОсновныхФорм() Экспорт @@ -808,7 +808,7 @@ мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаНастроек"); мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаСохранения"); мИменаОсновныхФорм_Объекты.Добавить("ОсновнаяФормаЗагрузки"); - + мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФорма"); мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаОбъекта"); мИменаОсновныхФорм_Объекты.Добавить("ДополнительнаяФормаГруппы"); @@ -823,13 +823,13 @@ Если Не ЗначениеЗаполнено(мИменаОсновныхФорм_Списки) Тогда мИменаОсновныхФорм_Списки = Новый Массив(); КонецЕсли; - + Если мИменаОсновныхФорм_Списки.Количество() = 0 Тогда мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаСписка"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбора"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаДляВыбораГруппы"); мИменаОсновныхФорм_Списки.Добавить("ОсновнаяФормаКонстант"); - + мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаСписка"); мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбора"); мИменаОсновныхФорм_Списки.Добавить("ДополнительнаяФормаДляВыбораГруппы"); @@ -856,10 +856,10 @@ // Массив структур - с полями "Имя,МетаФорма", где "Имя" - это ИмяОсновнойФормы, "МетаФорма" - сама мета-форма // Функция ПолучитьМетаФормыОбъектаДляПроверки(МетаОбъект, ИменаОсновныхФорм) Экспорт - + ИспользоватьУФ = Метаданные.ИспользоватьУправляемыеФормыВОбычномПриложении ИЛИ (ТекущийРежимЗапуска() <> РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение); МетаФормы = Новый Массив(); - + Для Каждого ИмяОсновнойФормы Из ИменаОсновныхФорм Цикл Попытка МетаФорма = МетаОбъект[ИмяОсновнойФормы]; @@ -877,36 +877,36 @@ КонецЕсли; МетаФормы.Добавить(МетаФорма); КонецЦикла; - + Возврат МетаФормы; - + КонецФункции Функция ПолучитьФормуЛкс(ИмяФормы, Параметры = Неопределено, Владелец = Неопределено, Уникальность = Неопределено, Окно = Неопределено) Экспорт - + Возврат мПолучениеФорм.ПолучитьФормуЛкс(ИмяФормы, Параметры, Владелец, Уникальность, Окно); - + КонецФункции Функция ПолучитьНовуюФорму(МетаФорма, ВнешнийОбъект = Неопределено, КлючВременнойФормы = Неопределено) - + Форма = ПолучитьФормуЛкс(МетаФорма, , , КлючВременнойФормы); // ирНеглобальный. Возврат Форма; - + КонецФункции Процедура ТестироватьФорму(Форма, ИмяОперации = "") Экспорт ТестируемаяФорма = Форма; Форма.Открыть(); // К сожалению здесь исключения не ловятся http://partners.v8.1c.ru/forum/thread.jsp?id=1080350#1080350 Утверждения.Проверить(ТестируемаяФорма.Открыта(), "ТестируемаяФорма """ + ИмяОперации + """ не открылась, а должна была открыться"); - + // Артур - мой код для доп.проверки формы Если ЭтоОбычнаяФорма(ТестируемаяФорма) Тогда ТестируемаяФорма.Обновить(); Иначе ТестируемаяФорма.ОбновитьОтображениеДанных(); КонецЕсли; - + КонецПроцедуры #КонецОбласти @@ -914,30 +914,30 @@ #Область РаботаСНастройками Процедура ЗагрузитьНастройки() - + ПутьНастройки = "smoke"; ПлагинНастроек = КонтекстЯдра.Плагин("Настройки"); Настройки = ПлагинНастроек.ПолучитьНастройку(ПутьНастройки); Если Не ЗначениеЗаполнено(Настройки) Тогда Настройки = Новый Структура; КонецЕсли; - + Если ЕстьНастройка("ВыводитьСообщенияВЖурналРегистрации") Тогда ВыводитьСообщенияВЖурналРегистрации = Настройки.ВыводитьСообщенияВЖурналРегистрации; Иначе ВыводитьСообщенияВЖурналРегистрации = Истина; КонецЕсли; - + НаборНастроекПоУмолчанию = СоздатьНаборНастроекПоУмолчанию(); - + ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Настройки, НаборНастроекПоУмолчанию); - + КонецПроцедуры Функция СоздатьНаборНастроекПоУмолчанию() Экспорт - + Рез = Новый Структура; - + //Рез.Вставить("ДобавлятьИмяПользователяВПредставлениеТеста", Ложь); Рез.Вставить("СтрогийПорядокВыполнения", Истина); Рез.Вставить("ПроверятьТолькоИзбранные", Новый Структура); @@ -945,19 +945,19 @@ Рез.Вставить("ОтборПоПрефиксу", Ложь); Рез.Вставить("Префикс", ""); Рез.Вставить("Подсистема", ""); - + Возврат Новый ФиксированнаяСтруктура(Рез); - + КонецФункции Процедура ЗаменитьНесуществующиеНастройкиЗначениямиПоУмолчанию(Знач Настройки, Знач НаборНастроекПоУмолчанию) - + Для каждого КлючЗначение Из НаборНастроекПоУмолчанию Цикл Если Не ЕстьНастройка(КлючЗначение.Ключ) Тогда Настройки.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЕсли; КонецЦикла; - + КонецПроцедуры // Функция - Получить исключения @@ -974,7 +974,7 @@ Возврат Новый СписокЗначений; КонецЕсли; Результат = Неопределено; - + Настройка = Неопределено; ЕстьНастройка = Настройки.Свойство(ВидМетаданного, Настройка); Если ЕстьНастройка Тогда @@ -991,9 +991,9 @@ Результат = Ложь; КонецЕсли; КонецЕсли; - + ДобавитьИсключенияПоОтключеннымФункциональнымОпциям(ВидМетаданного, Результат); - + Если Не ЗначениеЗаполнено(Результат) И Результат <> Ложь Тогда Результат = Новый СписокЗначений; КонецЕсли; @@ -1005,24 +1005,24 @@ ЕстьНастройка = Настройки.Свойство("ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций", ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций); Если (ЕстьНастройка И Не ИсключитьФормыЗависящиеОтОтключенныхФункциональныхОпций) ИЛИ (ТипЗнч(СписокЗначений) = Тип("Булево") И Не СписокЗначений) Тогда - + Возврат; - + КонецЕсли; - + Если Не ЗначениеЗаполнено(СписокЗначений) Или ТипЗнч(СписокЗначений) = Тип("Булево") Тогда СписокЗначений = Новый СписокЗначений; КонецЕсли; - + Если ФормыОтключенныеЧерезФункциональныеОпции = Неопределено Тогда ФормыОтключенныеЧерезФункциональныеОпции = Новый Структура; КонецЕсли; - + Если Не ФормыОтключенныеЧерезФункциональныеОпции.Свойство(ВидМетаданного) Тогда СписокМетаданныхФО = Новый СписокЗначений; ФормыОтключенныеЧерезФункциональныеОпции.Вставить(ВидМетаданного, СписокМетаданныхФО); - + Для каждого ФО Из Метаданные.ФункциональныеОпции Цикл Попытка Значение = ПолучитьФункциональнуюОпцию(ФО.Имя); @@ -1031,11 +1031,11 @@ КонецПопытки; Если ТипЗнч(Значение) = Тип("Булево") И Не Значение Тогда Для каждого СтрОбъект Из ФО.Состав Цикл - + Если СтрОбъект.Объект = Неопределено Тогда Продолжить; КонецЕсли; - + Если Метаданные[ВидМетаданного].Содержит(СтрОбъект.Объект) Тогда СписокМетаданныхФО.Добавить(СтрОбъект.Объект.Имя); КонецЕсли; @@ -1043,19 +1043,19 @@ КонецЕсли; КонецЦикла; КонецЕсли; - + СписокМетаданного = Неопределено; Если ФормыОтключенныеЧерезФункциональныеОпции.Свойство(ВидМетаданного, СписокМетаданного) Тогда - + Для Каждого Элемент Из СписокМетаданного Цикл МДИмяОбъекта = Элемент.Значение; Если СписокЗначений.НайтиПоЗначению(МДИмяОбъекта) = Неопределено Тогда СписокЗначений.Добавить(МДИмяОбъекта); КонецЕсли; КонецЦикла; - + КонецЕсли; - + КонецПроцедуры Функция ВидыМетаданных() Экспорт @@ -1084,43 +1084,43 @@ КонецФункции Функция КлючДляПропускаПоТекстуИсключения() - + Возврат "ПропускаемыеИсключения"; - + КонецФункции Функция ПолучитьНастройкуГруппировки(СтруктураНастроек) Экспорт - + Перем СпособГруппировки; - + НастройкаГруппировки = Новый Структура; НастройкаГруппировки.Вставить("КоличествоВГруппе", 20); - + Если ЗначениеЗаполнено(СтруктураНастроек) Тогда - + Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда СтруктураНастроек.Свойство("СпособГруппировки", СпособГруппировки); СтруктураНастроек.Свойство("КоличествоВГруппе", НастройкаГруппировки.КоличествоВГруппе); КонецЕсли; - + Если ТипЗнч(СпособГруппировки) <> Тип("Массив") Тогда МассивСпособов = Новый Массив; МассивСпособов.Добавить(СпособГруппировки); СпособГруппировки = МассивСпособов; КонецЕсли; - + НастройкаГруппировки.Вставить("ГруппироватьПоВидуМетаданных", СпособГруппировки.Найти(СпособыГруппировки.ПоВидуМетаданных) <> Неопределено); НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта", СпособГруппировки.Найти(СпособыГруппировки.ПоВидуОбъекта) <> Неопределено); НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству", СпособГруппировки.Найти(СпособыГруппировки.ПоКоличеству) <> Неопределено); - + Иначе НастройкаГруппировки.Вставить("ГруппироватьПоВидуМетаданных", Истина); НастройкаГруппировки.Вставить("ГруппироватьПоВидуОбъекта", Ложь); НастройкаГруппировки.Вставить("ГруппироватьПоКоличеству", Ложь); КонецЕсли; - + Возврат НастройкаГруппировки; - + КонецФункции Функция СпособыГруппировки() Экспорт @@ -1143,17 +1143,17 @@ // В результате получим ВремЗнач == 42 // Функция ЕстьНастройка(ПутьНастроек, СтруктураНастроек = Неопределено) - + // TODO: Метод нужно перенести в плагин "Настройки". - + Если СтруктураНастроек = Неопределено Тогда СтруктураНастроек = Настройки; КонецЕсли; - + Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда - + ПозТочки = Найти(ПутьНастроек, "."); - + Если ПозТочки = 0 Тогда Возврат СтруктураНастроек.Свойство(ПутьНастроек); Иначе @@ -1163,11 +1163,11 @@ Возврат ЕстьНастройка(ОстатокПути, СтруктураНастроек[ИмяТекущегоСвойства]); КонецЕсли; КонецЕсли; - + КонецЕсли; - + Возврат Ложь; - + КонецФункции Функция ВключенСтрогийПорядокВыполнения() @@ -1186,14 +1186,14 @@ // - // Функция ПропускаемОшибкуПоТекстуИсключения(Знач ТекстИсключения) Экспорт - + МассивТекстовИсключенийПоУмолчанию = Новый Массив; МассивТекстовИсключенийПоУмолчанию.Добавить("Обработка не предназначена для непосредственного использования"); - + Если Не ЗначениеЗаполнено(Настройки) Тогда МассивТекстовИсключений = МассивТекстовИсключенийПоУмолчанию; Иначе - + Настройка = Неопределено; ЕстьНастройка = Настройки.Свойство(КлючДляПропускаПоТекстуИсключения(), Настройка); Если ЕстьНастройка Тогда @@ -1208,21 +1208,21 @@ МассивТекстовИсключений.Добавить(ОжидаемыйТекстИсключения); КонецЦикла; КонецЕсли; - + КонецЕсли; - + КонецЕсли; - + Если ЗначениеЗаполнено(МассивТекстовИсключений) Тогда - + Для Каждого ОжидаемыйТекстИсключения Из МассивТекстовИсключений Цикл Если Найти(ТекстИсключения, ОжидаемыйТекстИсключения) > 0 Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + КонецЕсли; - + Возврат Ложь; КонецФункции @@ -1253,11 +1253,11 @@ Функция ПолучитьОбъектСуществующегоЭлементаСправочника(ИД, НужноИсключениеЕслиНеНайденоСправочников, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) - + Если Отбор = Неопределено Тогда Отбор = Новый Структура; КонецЕсли; - + выборка = ПолучитьРезультатЗапросаСуществующийЭлементСправочника(ИД, Отбор); Успешно = выборка.Следующий(); Если Не Успешно Тогда @@ -1274,46 +1274,46 @@ КонецФункции Функция ПолучитьРезультатЗапросаСуществующийЭлементСправочника(ИД, Отбор) - + Запрос = Новый Запрос; - + ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | ОбъектЗапроса.Ссылка |ИЗ | Справочник.%1 КАК ОбъектЗапроса"; - + ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "%1", ИД); - + Если Отбор.Количество() <> 0 Тогда ТекстЗапроса = ТекстЗапроса + Символы.ПС + " ГДЕ"; Для каждого ЭлементОтбора Из Отбор Цикл ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОбъектЗапроса." + ЭлементОтбора.Ключ + " = " + ЭлементОтбора.Значение; КонецЦикла; КонецЕсли; - - - + + + Запрос.Текст = ТекстЗапроса; - + РезультатЗапроса = Запрос.Выполнить().Выбрать(); - + Возврат РезультатЗапроса; - + КонецФункции Функция ПолучитьОбъектСуществующегоЭлементаСправочникаИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоСправочников, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) Экспорт - + Элем = ПолучитьОбъектСуществующегоЭлементаСправочника(ИД, НужноИсключениеЕслиНеНайденоСправочников, ДопОписаниеДляИсключения, Отбор); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); КонецФункции Функция СоздатьЭлемент(ИД, Наименование, ПроверяемоеПравоДоступа = Неопределено) - + УстановитьПривилегированныйРежим(Истина); - + Если Метаданные.Справочники.Найти(ИД) <> Неопределено Тогда Элем = Справочники[ИД].СоздатьЭлемент(); ИначеЕсли Метаданные.ПланыВидовХарактеристик.Найти(ИД) <> Неопределено Тогда @@ -1324,32 +1324,32 @@ ВызватьИсключение СтрШаблон_(НСтр("ru = 'Не удалось найти объект метаданных по имени ""%1"".'"), ИД); КонецЕсли; Мета = Элем.Метаданные(); - - Если Не РазрешеноИзменятьОбъект(Мета) Тогда + + Если Не РазрешеноИзменятьОбъектВМоделиСервиса(Мета) Тогда ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖурналаРегистрации.Информация, Мета, , СтрШаблон("Метаданные ""%1"" пропущены", Мета.ПолноеИмя())); Возврат Неопределено; КонецЕсли; - - + + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; КонецЕсли; - + Если Мета.ДлинаНаименования <> 0 Тогда Попытка Элем.Наименование = Наименование; Исключение КонецПопытки; КонецЕсли; - + Если Мета.ДлинаКода <> 0 Тогда Элем.УстановитьНовыйКод(); КонецЕсли; - + Если Метаданные.Справочники.Найти(Мета.Имя) <> Неопределено И Мета.Владельцы.Количество() Тогда Элем.Владелец = ПолучитьСсылкуНаВладельца(Мета, "Владелец для: " + Наименование); КонецЕсли; - + Если ЕстьНастройка("Справочники.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.Справочники.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка @@ -1359,15 +1359,15 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + Элем.ОбменДанными.Загрузка = Истина; Элем.Записать(); - + Возврат Элем; - + КонецФункции -Функция РазрешеноИзменятьОбъект(МетаОбъект) +Функция РазрешеноИзменятьОбъектВМоделиСервиса(МетаОбъект) МОбщегоНазначения = Неопределено; Попытка МОбщегоНазначения = Вычислить("ОбщегоНазначения"); @@ -1377,13 +1377,13 @@ Если МОбщегоНазначения.ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда МодульРаботаВМоделиСервиса = МОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса"); - + // В сеансе без разделителей меняем только общие МД, в сеансе с разделителем меняет только разделенные - // в базе где вообще не включено разделение меняем все подряд + // в базе где вообще не включено разделение меняем все подряд Возврат Не МодульРаботаВМоделиСервиса.РазделениеВключено() ИЛИ - (Не МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + (Не МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И Не МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)) - ИЛИ (МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И + ИЛИ (МодульРаботаВМоделиСервиса.ИспользованиеРазделителяСеанса() И МодульРаботаВМоделиСервиса.ЭтоРазделенныйОбъектМетаданных(МетаОбъект)); Иначе Возврат Истина; @@ -1409,19 +1409,19 @@ КонецФункции Функция ПолучитьСсылкуНаВладельца(МетаданныеПодчиненного, НаименованиеПодчиненного = "Элемент-владелец") - + МетаИмяВладельца = Неопределено; - + Если ЕстьНастройка("Справочники.Подчиненные") Тогда Настройки.Справочники.Подчиненные.Свойство(МетаданныеПодчиненного.Имя, МетаИмяВладельца); КонецЕсли; - + Если МетаИмяВладельца = Неопределено Тогда МетаИмяВладельца = ПолучитьМетаданныеВладельца(МетаданныеПодчиненного.Владельцы).Имя; КонецЕсли; - + Возврат СоздатьЭлементИВернутьСсылку(МетаИмяВладельца, НаименованиеПодчиненного); - + КонецФункции // Получить объект существующего бизнес-процесса и вернуть ссылку на объект @@ -1437,7 +1437,7 @@ // Функция ПолучитьОбъектСуществующегоБизнесПроцессаИВернутьСсылку(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) Экспорт - + Элем = ПолучитьОбъектСуществующегоБизнесПроцесса(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, ДопОписаниеДляИсключения, Отбор); Возврат ?(Элем = Неопределено, Неопределено, Элем.Ссылка); @@ -1445,11 +1445,11 @@ Функция ПолучитьОбъектСуществующегоБизнесПроцесса(ИД, НужноИсключениеЕслиНеНайденоБизнесПроцессов, ДопОписаниеДляИсключения, Знач Отбор = Неопределено) - + Если Отбор = Неопределено Тогда Отбор = Новый Структура; КонецЕсли; - + Выборка = БизнесПроцессы[ИД].Выбрать( , , Отбор); Успешно = Выборка.Следующий(); Если Не Успешно Тогда @@ -1466,20 +1466,20 @@ КонецФункции Функция СоздатьБизнесПроцесс(ИД, ПроверяемоеПравоДоступа = Неопределено) - + Элем = БизнесПроцессы[ИД].СоздатьБизнесПроцесс(); Мета = Элем.Метаданные(); - + Если ПроверяемоеПравоДоступа <> Неопределено И НЕ ПравоДоступа(ПроверяемоеПравоДоступа, Мета) Тогда Возврат Неопределено; КонецЕсли; - + Если Мета.ДлинаНомера <> 0 Тогда Элем.УстановитьНовыйНомер(); КонецЕсли; - + Элем.Дата = ТекущаяДатаСеанса(); - + Если ЕстьНастройка("БизнесПроцессы.ЗначенияРеквизитовНовых." + Мета.Имя) Тогда Для каждого Реквизит Из Настройки.БизнесПроцессы.ЗначенияРеквизитовНовых[Мета.Имя] Цикл Попытка @@ -1489,12 +1489,12 @@ КонецПопытки; КонецЦикла; КонецЕсли; - + Элем.ОбменДанными.Загрузка = Истина; Элем.Записать(); - + Возврат Элем; - + КонецФункции // Создать новый БП и вернуть ссылку на него @@ -1530,13 +1530,13 @@ КонецФункции Функция ЗначениеРеквизита(МетаданныеОбъекта, ИмяРеквизита, ЗначениеРеквизитаИзФайла) - + ТипРеквизита = МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.Типы()[0]; - + Если ЭтоПримитивныйТипДанных(ТипРеквизита) Тогда Возврат МетаданныеОбъекта.Реквизиты[ИмяРеквизита].Тип.ПривестиЗначение(ЗначениеРеквизитаИзФайла); КонецЕсли; - + // Значит, это ссылочный тип данных. Попытка МетаданныеЗначения = Метаданные.НайтиПоТипу(ТипРеквизита); @@ -1548,9 +1548,9 @@ // TODO: поддержку документов и других ссылочных типов данных (добавим по необходимости) Исключение КонецПопытки; - + Возврат Неопределено; - + КонецФункции Функция ЭтоПримитивныйТипДанных(Тип) @@ -1559,38 +1559,38 @@ КонецФункции Процедура ВывестиСообщение(ТекстСообщения, Знач УровеньЖР = Неопределено, Сообщать = Ложь) - + Если Сообщать Тогда Сообщить(ТекстСообщения, ?(УровеньЖР = УровеньЖурналаРегистрации.Ошибка, СтатусСообщения.ОченьВажное, СтатусСообщения.Обычное)); КонецЕсли; - + Если ВыводитьСообщенияВЖурналРегистрации Тогда Если УровеньЖР = Неопределено Тогда УровеньЖР = УровеньЖурналаРегистрации.Информация; КонецЕсли; ЗаписьЖурналаРегистрации(Метаданные().Синоним, УровеньЖР, , , ТекстСообщения); КонецЕсли; - + КонецПроцедуры #КонецОбласти Функция СтрШаблон_(Знач СтрокаШаблон, Знач Парам1 = Неопределено, Знач Парам2 = Неопределено, Знач Парам3 = Неопределено, Знач Парам4 = Неопределено, Знач Парам5 = Неопределено) Экспорт - + МассивПараметров = Новый Массив; МассивПараметров.Добавить(Парам1); МассивПараметров.Добавить(Парам2); МассивПараметров.Добавить(Парам3); МассивПараметров.Добавить(Парам4); МассивПараметров.Добавить(Парам5); - + Для Сч = 1 По МассивПараметров.Количество() Цикл ТекЗначение = МассивПараметров[Сч - 1]; СтрокаШаблон = СтрЗаменить(СтрокаШаблон, "%" + Сч, Строка(ТекЗначение)); КонецЦикла; - + Возврат СтрокаШаблон; - + КонецФункции СписокПропускаемыхФорм = Новый СписокЗначений; From 0b5fc44f70807f012ae93cc6b2f24e2fc658173f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 22:32:11 +0300 Subject: [PATCH 414/421] =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D1=81=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=81=D1=82=D0=B5=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B2=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d16ab58be..ca3fcef5a 100644 --- "a/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/tests/smoke/\321\202\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/\320\242\320\265\321\201\321\202\321\213_\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\244\320\276\321\200\320\274\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1426,7 +1426,7 @@ СоздаваемыйЭлемент, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); - ВызватьИсключение КраткоеПредставлениеОшибки(ИнформацияОбОшибке); + ВызватьИсключение; КонецПопытки; КонецПроцедуры @@ -1527,8 +1527,16 @@ КонецЕсли; ОсновноеОкно.ВыполнитьКоманду(ПарамНавигационнаяСсылка); Исключение - ВызватьИсключение КонтекстЯдра.СтрШаблон_("Не удалось выполнить команду %1 на тест-клиенте. - |Возможно, сеанс тест-клиента заблокирован модальным окном", ПарамНавигационнаяСсылка); + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ПолныйТекстОшибки = СтрШаблон("Не удалось выполнить команду %1 на тест-клиенте. + |Возможно, сеанс тест-клиента заблокирован модальным окном + |%2", ПарамНавигационнаяСсылка, ПолныйТекстОшибки); + + ЗаписатьПредупреждениеВЖурналРегистрацииСервер(ПолныйТекстОшибки); + + ВызватьИсключение ПолныйТекстОшибки; КонецПопытки; ПлагинТестКлиенты.ИдентифицироватьОкноПредупреждение(ТестКлиент, ПереходПоКнопкеКомандногоИнтерфейса(), Ложь); From 7b88d3fe9d8be2586b2caf60c26acd8b0200d2ec Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 23:29:31 +0300 Subject: [PATCH 415/421] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD=D0=BE=20?= =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=20=D0=B8=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B5=D0=B3=D0=BE=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 45 ++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 55eac5e22..04f0c9770 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -662,7 +662,7 @@ СведенияОЗанятыхПортах = СведенияОЗанятыхПортах(); МассивЗанятыхПортов = СведенияОЗанятыхПортах.Порты; ПроцессыДляПортов = СведенияОЗанятыхПортах.Процессы; - + Если МассивЗанятыхПортов.Найти(Порт) <> Неопределено Тогда ЗаписатьПредупреждениеВЖурналРегистрации(СтрШаблон("Порт ""%1"" занят процессом pid: ""%2"" ", Порт, ПроцессыДляПортов[Порт])); @@ -1111,7 +1111,8 @@ Результат.Вставить("Порты", Новый Массив); Результат.Вставить("Процессы", Новый Соответствие); - ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); + // файл в методе не будет удаляться, т.к. в асинхронном режиме это довольно неудобно. сервер 1С удалит сам. + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); // BSLLS:MissingTemporaryFileDeletion-off Если НЕ ЭтоLinux() Тогда @@ -1126,8 +1127,10 @@ Возврат Результат; КонецЕсли; - Текст = Новый ЧтениеТекста; - Текст.Открыть(ИмяВременногоФайла, "UTF-8"); + Текст = ОткрытьФайл(ИмяВременногоФайла); + Если Текст = Неопределено Тогда + Возврат Результат; + КонецЕсли; Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); @@ -1175,8 +1178,10 @@ УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); - Текст = Новый ЧтениеТекста; - Текст.Открыть(ИмяВременногоФайла, "UTF-8"); + Текст = ОткрытьФайл(ИмяВременногоФайла); + Если Текст = Неопределено Тогда + Возврат Результат; + КонецЕсли; Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); @@ -1204,11 +1209,37 @@ // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); //КонецЦикла; - УдалитьФайлы(ИмяВременногоФайла); Возврат Результат; КонецФункции +&НаКлиенте +Функция ОткрытьФайл(Знач ПутьФайла) + + Текст = Новый ЧтениеТекста; + Попытка + + Текст.Открыть(ПутьФайла, "UTF-8"); + + Исключение + + ИнформацияОбОшибке = ИнформацияОбОшибке(); + ПолныйТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке); + + ПолныйТекстОшибки = СтрШаблон("Не удалось прочитать файл-результат команды получения занятых портов + |%1", ПолныйТекстОшибки); + + ЗаписатьОшибкуВЖурналеРегистрации(ПолныйТекстОшибки); + + Возврат Неопределено; + + КонецПопытки; + + Возврат Текст; + +КонецФункции + +&НаКлиенте Функция НовоеОписаниеТестКлиента() Результат = Новый Структура; From d9adb5e0bf800027eb3141512386896a3aee41df Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 9 Nov 2021 23:17:15 +0300 Subject: [PATCH 416/421] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE,=20=D1=87=D1=82=D0=BE=20=D0=B1=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B5=20=D0=B7=D0=B0=D0=BD=D1=8F?= =?UTF-8?q?=D1=82=D1=8B=D1=85=20=D0=BF=D0=BE=D1=80=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D0=BB=D0=B8=D0=BD=D1=83=D0=BA=D1=81=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B2=D0=BE=D0=B4=D0=B8=D0=BB=D1=81=D1=8F=20=D0=BF=D0=B8=D0=B4?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D1=81=D1=81=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B9=20=D0=B7=D0=B0=D0=BD=D1=8F?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index e72f3d739..dd987f994 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1183,7 +1183,7 @@ Иначе - СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """"; // взято из #383 + СтрокаЗапуска = "ss -tuwan4p 2>/dev/null | awk '{print substr($5, index($5, "":"")+1) "" "" substr($7, index($7, ""pid="")+4)}' | grep ""[\d]+\s[\d]*"" -Po | sort | uniq > """ + ИмяВременногоФайла + """"; //ВыполнитьКомандуОС(СтрокаЗапуска); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); @@ -1193,18 +1193,23 @@ Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); - Если Стр = Неопределено Тогда + Если Не ЗначениеЗаполнено(Стр) Тогда Прервать; КонецЕсли; - Если Стр = "" Тогда - Продолжить; + Разбивка = СтрРазделить(Стр, " ", Ложь); + Если Разбивка.Количество() = 0 Тогда + Продолжить; КонецЕсли; - Порт = СокрЛП(Стр); + Порт = СокрЛП(Разбивка[0]); Попытка Порт = Число(Порт); Результат.Добавить(Порт); + + Если ПортПид <> Неопределено И Разбивка.Количество() = 2 Тогда + ПортПид.Вставить(Порт, СокрЛП(Разбивка[1])); + КонецЕсли; Исключение Продолжить; КонецПопытки; From 83a0302e57ac0972aed74f7077add155bcd1c2cf Mon Sep 17 00:00:00 2001 From: Artem Date: Tue, 9 Nov 2021 23:17:15 +0300 Subject: [PATCH 417/421] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD?= =?UTF-8?q?=D0=BE,=20=D1=87=D1=82=D0=BE=20=D0=B1=20=D0=BF=D1=80=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B5=20=D0=B7=D0=B0=D0=BD=D1=8F?= =?UTF-8?q?=D1=82=D1=8B=D1=85=20=D0=BF=D0=BE=D1=80=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B2=20=D0=BB=D0=B8=D0=BD=D1=83=D0=BA=D1=81=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B2=D0=BE=D0=B4=D0=B8=D0=BB=D1=81=D1=8F=20=D0=BF=D0=B8=D0=B4?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D1=81=D1=81=D0=B0=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B9=20=D0=B7=D0=B0=D0=BD=D1=8F?= =?UTF-8?q?=D0=BB=20=D0=BF=D0=BE=D1=80=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index 04f0c9770..22ba49981 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -1173,7 +1173,7 @@ Иначе - СтрокаЗапуска = "ss -tuwan4 2>/dev/null | awk '{print $5}' | grep ':' | cut -d "":"" -f 2 | sort | uniq > """ + ИмяВременногоФайла + """"; // взято из #383 + СтрокаЗапуска = "ss -tuwan4p 2>/dev/null | awk '{print substr($5, index($5, "":"")+1) "" "" substr($7, index($7, ""pid="")+4)}' | grep ""[\d]+\s[\d]*"" -Po | sort | uniq > """ + ИмяВременногоФайла + """"; //ВыполнитьКомандуОС(СтрокаЗапуска); УправлениеПриложениями = КонтекстЯдра.Плагин("УправлениеПриложениями"); УправлениеПриложениями.ВыполнитьКомандуОСБезПоказаЧерногоОкна(СтрокаЗапуска); @@ -1185,18 +1185,23 @@ Пока Истина Цикл Стр = Текст.ПрочитатьСтроку(); - Если Стр = Неопределено Тогда + Если Не ЗначениеЗаполнено(Стр) Тогда Прервать; КонецЕсли; - Если Стр = "" Тогда + Разбивка = СтрРазделить(Стр, " ", Ложь); + Если Разбивка.Количество() = 0 Тогда Продолжить; КонецЕсли; - Порт = СокрЛП(Стр); + Порт = СокрЛП(Разбивка[0]); Попытка Порт = Число(Порт); Результат.Порты.Добавить(Порт); + + Если Разбивка.Количество() = 2 Тогда + Результат.Процессы.Вставить(Порт, СокрЛП(Разбивка[1])); + КонецЕсли; Исключение Продолжить; КонецПопытки; From b758d6c5328145d39b5ea5409fb35055a457d1f5 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 9 Nov 2021 23:59:47 +0300 Subject: [PATCH 418/421] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=B0=20=D1=83=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Form/Module.bsl" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index d66d93c83..22ba49981 100644 --- "a/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/plugins/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/\320\242\320\265\321\201\321\202\320\232\320\273\320\270\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -235,6 +235,7 @@ "ru = 'Не смогли установить соединение с тестовым приложением для пользователя %1 |%2!", ИмяПользователя, ОписаниеОшибкиСоединения); + КонецПопытки; Если ОсновноеОкно(ПодключенныйТестКлиент) = Неопределено Тогда ПодключенныйТестКлиент.НайтиОбъект(Тип("ТестируемаяКнопкаФормы"), "Отмена").Нажать(); @@ -1213,7 +1214,6 @@ // Результат.Добавить(СтрокаДанныеКлиентовТестирования.ПортЗапускаТестКлиента); //КонецЦикла; - УдалитьФайлы(ИмяВременногоФайла); Возврат Результат; КонецФункции From 1de68f3bd99750f7651816df8a6c16657a6ab1e1 Mon Sep 17 00:00:00 2001 From: Artem Date: Wed, 10 Nov 2021 10:50:12 +0300 Subject: [PATCH 419/421] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/smoke/readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/smoke/readme.md b/tests/smoke/readme.md index 5411073f7..b8ba85bfe 100644 --- a/tests/smoke/readme.md +++ b/tests/smoke/readme.md @@ -88,6 +88,7 @@ "$schema":"https://github.com/vanessa-opensource/vanessa-runner/develop/xunit-schema.json", "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true, "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/build/ServiceBases/log-xunit.txt", + "ОбластьДанныхМенеджера": 4512, "Отладка": false, "ДобавлятьИмяПользователяВПредставлениеТеста": true, @@ -96,6 +97,7 @@ } } ``` +`ОбластьДанныхМенеджера` - стоит задействовать при тестировании на базах с включенным разделением данных (работа в модели сервиса). Значение это разделитель области в которой будут проходить тесты, область должна совпадать с областью агента тестирования, разделитель для агента задается параметром vrunner'a `--testclient-additional` например `--testclient-additional "/Z-,+4512"` - [Пример файла настройки](./smoke.example.json) - [Пример файла настройки для БСП-конфигураций](./smoke.bsp.json) From 75897f29bba9bed4933e30751bdd85949bf7519f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 10 Nov 2021 15:55:01 +0300 Subject: [PATCH 420/421] =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epf/bddRunner/bddRunner/Ext/ObjectModule.bsl | 2 +- .../xddTestRunner/Ext/ObjectModule.bsl | 98 +++++++++---------- lib/CF/83/Configuration.xml | 6 +- lib/CF/83NoSync/Configuration.xml | 6 +- lib/CF/83xdd/Configuration.xml | 6 +- lib/CF/83xddNoSync/Configuration.xml | 6 +- .../Configuration.xml" | 4 +- .../Configuration.xml" | 4 +- .../Configuration.xml" | 4 +- .../Configuration.xml" | 4 +- packagedef | 4 +- .../Ext/ObjectModule.bsl" | 60 ++++++------ 12 files changed, 102 insertions(+), 102 deletions(-) diff --git a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl index 5ba68495e..4c8902d89 100644 --- a/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl +++ b/epf/bddRunner/bddRunner/Ext/ObjectModule.bsl @@ -10,7 +10,7 @@ Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт - Версия = "6.7.0"; + Версия = "6.8.0"; Если ТолькоЦифры Тогда Возврат Версия; diff --git a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl index 168844c0d..948ab236c 100644 --- a/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl +++ b/epf/xddTestRunner/xddTestRunner/Ext/ObjectModule.bsl @@ -4,7 +4,7 @@ Перем КешВерсияРежимСовместимости; Функция Версия() Экспорт - Версия = "6.7.0"; + Версия = "6.8.0"; Возврат Версия; КонецФункции @@ -17,14 +17,14 @@ КонецФункции Процедура Инициализация() - + ЭтоLinux = Ложь; // реквизит обработки - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Найти(Строка(СистемнаяИнформация.ТипПлатформы), "Linux")>0 Тогда ЭтоLinux = Истина; КонецЕсли; - + ЗапустилиУФ = ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение; ЭтоВстроеннаяОбработка = ОбработкаЯвляетсяВстроеннойВКонфигурацию(); @@ -65,9 +65,9 @@ ИдентификаторПлагинаСПрефиксомПодсистемы = ДополнитьИдентификаторПрефиксомПодсистемы(Идентификатор); ИдентификаторПлагинаБезПрефиксаПодсистемы = ПолучитьИдентификаторБезПрефиксаПодсистемы(Идентификатор); - + Если Плагины = Неопределено Тогда // в случае использования на сервере через ВнешниеОбработки.Создать("xddTestRunner") - Плагин = ИдентификаторПлагинаБезПрефиксаПодсистемы; + Плагин = ИдентификаторПлагинаБезПрефиксаПодсистемы; Иначе Плагин = Плагины[ИдентификаторПлагинаБезПрефиксаПодсистемы]; КонецЕсли; @@ -283,21 +283,21 @@ РезультатТестирования.Состояние = СостоянияТестов.Пройден; Исключение - + ИнформацияОбОшибке = ИнформацияОбОшибке(); - + ПодробныйТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке); КраткийТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке); - + Если ЕстьОшибка_МетодОбъектаНеОбнаружен(КраткийТекстОшибки, ЭлементДереваТестов.ИмяМетода) Тогда РезультатТестирования.Состояние = СостоянияТестов.НеРеализован; Сообщение = НСтр("ru = 'Отсутствует реализация тестового метода (%1).'"); РезультатТестирования.Сообщение = СтрЗаменить(Сообщение, "%1", ЭлементДереваТестов.ИмяМетода); Иначе - + РезультатТестирования.Сообщение = КраткийТекстОшибки; РезультатТестирования.ПодробноеСообщение = ПодробныйТекстОшибки; - + Если ЭтоОшибкаПроверки(КраткийТекстОшибки) Тогда РезультатТестирования.Состояние = СостоянияТестов.Сломан; ИначеЕсли ЭтоПропущенныйТест(КраткийТекстОшибки) Тогда @@ -338,35 +338,35 @@ КонецФункции Функция ВыполнитьИнициализациюКонтекста(КонтекстВыполнения, РезультатТестирования) - + ИмяПроцедуры = "Инициализация"; ПараметрыИнициализации = Новый Массив(); ПараметрыИнициализации.Добавить(ЭтотОбъект); - + Попытка - + ВыполнитьПроцедуруКонтекста(КонтекстВыполнения, ИмяПроцедуры, ПараметрыИнициализации); - + Исключение - + ТекстОшибки = ПодробноеПредставлениеОшибки_(ИнформацияОбОшибке()); - + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") И ЕстьОшибка_МетодОбъектаНеОбнаружен(ТекстОшибки, ИмяПроцедуры) Тогда - + Возврат Истина; - + Иначе - + РезультатТестирования.Сообщение = ТекстОшибки; РезультатТестирования.Состояние = СостоянияТестов.НеизвестнаяОшибка; Возврат Ложь; КонецЕсли; - + КонецПопытки; - + Возврат Истина; КонецФункции @@ -383,27 +383,27 @@ КонецПроцедуры Процедура ВыполнитьПроцедуруКонтекста(Знач КонтекстВыполнения, Знач ПроцедураКонтекста, Знач Параметры = Неопределено) - + СтрокаПараметров = СформироватьСтрокуПараметров(Параметры); ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров); - + ИсполняемыйКод = "КонтекстВыполнения." + ПроцедураКонтекста + "(" + СтрокаПараметров + ");"; Выполнить(ИсполняемыйКод); КонецПроцедуры Процедура ДополнитьСтрокуПараметровКонтекстаОбщегоМодуля(КонтекстВыполнения, СтрокаПараметров) - + Если ТипЗнч(КонтекстВыполнения) = Тип("ОбщийМодуль") Тогда - + Если ПустаяСтрока(СтрокаПараметров) Тогда СтрокаПараметров = "ЭтотОбъект"; Иначе СтрокаПараметров = "ЭтотОбъект, " + СтрокаПараметров; - КонецЕсли; - + КонецЕсли; + КонецЕсли; - + КонецПроцедуры Функция СформироватьСтрокуПараметров(Знач Параметры) @@ -636,8 +636,8 @@ Иначе СообщениеПользователю = Новый СообщениеПользователю(); СообщениеПользователю.Текст = Сообщение; - СообщениеПользователю.Сообщить(); - + СообщениеПользователю.Сообщить(); + ЗафиксироватьОшибкуВЖурналеРегистрации("Плагины.Сервер", Сообщение); КонецЕсли; @@ -887,37 +887,37 @@ // Параметры: // ЧтоИщем - Строка - искомое значение // КоллекцияДляПоиска - Массив, СписокЗначений - коллекция, в которой ищем элементы по простому совпадению или шаблону со звездочками -// +// // Возвращаемое значение: // Булево - нашли или нет // Функция ЕстьВИсключаемойКоллекции(Знач ЧтоИщем, Знач КоллекцияДляПоиска) Экспорт - + Перем СтрокаГдеИщем; - + ТипКоллекции = ТипЗнч(КоллекцияДляПоиска); Если ТипКоллекции = Тип("СписокЗначений") Тогда Если КоллекцияДляПоиска.НайтиПоЗначению(ЧтоИщем) <> Неопределено Тогда Возврат Истина; КонецЕсли; - + Для Каждого ЭлементСписка Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, ЭлементСписка.Значение) Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + ИначеЕсли ТипКоллекции = Тип("Массив") Тогда Для Каждого СтрокаГдеИщем Из КоллекцияДляПоиска Цикл Если СтрокаСоответствуетШаблону(ЧтоИщем, СтрокаГдеИщем) Тогда Возврат Истина; КонецЕсли; КонецЦикла; - + Иначе ВызватьИсключение "Неверный тип параметра КоллекцияДляПоиска. Нужен Массив или СписокЗначений, а получили " + ТипКоллекции + ", значение " + КоллекцияДляПоиска; КонецЕсли; - + Возврат Ложь; КонецФункции @@ -1015,7 +1015,7 @@ Инфо = ИнформацияОбОшибке(); Если (Инфо.Описание = "Метод объекта не обнаружен (Инициализация)" Или Найти(Инфо.Описание, "Object method not found (Инициализация)") > 0) И - Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагина.Инициализация(ЭтотОбъект);") > 0 + Найти(Инфо.ИсходнаяСтрока, "ОбъектПлагина.Инициализация(ЭтотОбъект);") > 0 //И //( Найти(Инфо.ИмяМодуля, "Форма.УправляемаяФорма.Форма") > 0 Или ////ExternalDataProcessor.xddTestRunner.Form.УправляемаяФорма.Form @@ -1128,33 +1128,33 @@ КонецФункции Функция ПодходящийРежимСовместимостиПлатформы(Знач НеобходимаяВерсияПриложения) Экспорт - + СистемнаяИнформация = Новый СистемнаяИнформация; Если Не ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(СистемнаяИнформация.ВерсияПриложения, НеобходимаяВерсияПриложения) Тогда Возврат Ложь; КонецЕсли; ВерсияРежимаСовместимости = ВерсияРежимаСовместимости(); - + Возврат ВерсияПриложенияБольшеИлиРавнаЧемЗаданная(ВерсияРежимаСовместимости, НеобходимаяВерсияПриложения); - + КонецФункции Функция ВерсияРежимаСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт - + Если Не ЗначениеЗаполнено(КешВерсияРежимСовместимости) Тогда РежимСовместимостиВерсия = СтрЗаменить(РежимСовместимости(ЗначениеПоУмолчанию), "Версия", ""); КешВерсияРежимСовместимости = СтрЗаменить(РежимСовместимостиВерсия, "_", "."); КонецЕсли; Возврат КешВерсияРежимСовместимости; - + КонецФункции Функция РежимСовместимости(Знач ЗначениеПоУмолчанию = Неопределено) Экспорт - + Если Не ЗначениеЗаполнено(КешРежимСовместимости) Тогда - + Если ЗначениеПоУмолчанию = Неопределено Тогда ЗначениеПоУмолчанию = Метаданные.СвойстваОбъектов.РежимСовместимости.НеИспользовать;; КонецЕсли; @@ -1166,13 +1166,13 @@ КонецПопытки; КонецЕсли; - + Возврат КешРежимСовместимости; КонецФункции // Функция - Это линукс -// +// // Возвращаемое значение: // Булево - Линукс или нет // @@ -1182,6 +1182,6 @@ КонецФункции -#КонецОбласти +#КонецОбласти Инициализация(); diff --git a/lib/CF/83/Configuration.xml b/lib/CF/83/Configuration.xml index 7f2ba9b16..55b71a159 100644 --- a/lib/CF/83/Configuration.xml +++ b/lib/CF/83/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/BDD, ver. 6.7.0 + ADD/BDD, ver. 6.8.0 @@ -45,7 +45,7 @@ Russian - 6.7.0 + 6.8.0 false false @@ -150,4 +150,4 @@ РегистрСведений1 - \ No newline at end of file + diff --git a/lib/CF/83NoSync/Configuration.xml b/lib/CF/83NoSync/Configuration.xml index 8419bf272..8a4c2ca7f 100644 --- a/lib/CF/83NoSync/Configuration.xml +++ b/lib/CF/83NoSync/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/BDD, ver. 6.7.0 + ADD/BDD, ver. 6.8.0 @@ -45,7 +45,7 @@ Russian - 6.7.0 + 6.8.0 false false @@ -163,4 +163,4 @@ РегистрРасчета1 - \ No newline at end of file + diff --git a/lib/CF/83xdd/Configuration.xml b/lib/CF/83xdd/Configuration.xml index b684dee37..83611cc8f 100644 --- a/lib/CF/83xdd/Configuration.xml +++ b/lib/CF/83xdd/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/TDD, ver. 6.7.0 + ADD/TDD, ver. 6.8.0 @@ -45,7 +45,7 @@ Russian - 6.7.0 + 6.8.0 false true @@ -179,4 +179,4 @@ Задача1 - \ No newline at end of file + diff --git a/lib/CF/83xddNoSync/Configuration.xml b/lib/CF/83xddNoSync/Configuration.xml index 9450e9b0a..9c1f6d37e 100644 --- a/lib/CF/83xddNoSync/Configuration.xml +++ b/lib/CF/83xddNoSync/Configuration.xml @@ -32,7 +32,7 @@ ru - ADD/TDD, ver. 6.7.0 + ADD/TDD, ver. 6.8.0 @@ -47,7 +47,7 @@ Role.ПолныеПрава - 6.7.0 + 6.8.0 false true @@ -189,4 +189,4 @@ Задача1 - \ No newline at end of file + diff --git "a/lib/cfe/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200\320\275\320\276\320\263\320\276\320\232\320\276\320\264\320\260\320\222\320\242\320\265\321\201\321\202\320\260\321\205_VanessaADD/Configuration.xml" "b/lib/cfe/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200\320\275\320\276\320\263\320\276\320\232\320\276\320\264\320\260\320\222\320\242\320\265\321\201\321\202\320\260\321\205_VanessaADD/Configuration.xml" index 1668158bf..e7e48209a 100644 --- "a/lib/cfe/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200\320\275\320\276\320\263\320\276\320\232\320\276\320\264\320\260\320\222\320\242\320\265\321\201\321\202\320\260\321\205_VanessaADD/Configuration.xml" +++ "b/lib/cfe/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200\320\275\320\276\320\263\320\276\320\232\320\276\320\264\320\260\320\222\320\242\320\265\321\201\321\202\320\260\321\205_VanessaADD/Configuration.xml" @@ -46,7 +46,7 @@ Russian - + 6.8.0 Language.Русский Taxi Version8_3_8 @@ -56,4 +56,4 @@ ВыполнениеСерверногоКода_VanessaADD - \ No newline at end of file + diff --git "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" index 08a8fd5b5..e99295fa2 100644 --- "a/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" +++ "b/lib/cfe/\320\234\320\276\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265/Configuration.xml" @@ -46,7 +46,7 @@ Russian - + 6.8.0 Language.Русский Taxi Version8_3_9 @@ -57,4 +57,4 @@ МокТестирование - \ No newline at end of file + diff --git "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" index aa8f6b9e2..d93870442 100644 --- "a/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" +++ "b/lib/cfe/\320\236\321\202\320\272\321\200\321\213\321\202\320\270\320\265\320\222\320\275\320\265\321\210\320\275\320\270\321\205\320\244\320\260\320\271\320\273\320\276\320\262/Configuration.xml" @@ -46,7 +46,7 @@ Russian - + 6.8.0 Language.Русский Taxi Version8_3_8 @@ -58,4 +58,4 @@ СтроковыеУтилиты - \ No newline at end of file + diff --git "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" index 28e18da62..764b94b02 100644 --- "a/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" +++ "b/lib/cfe/\320\242\320\265\321\201\321\202\320\234\320\276\320\272\320\276\320\262/Configuration.xml" @@ -46,7 +46,7 @@ Russian - + 6.8.0 Language.Русский Taxi Version8_3_9 @@ -56,4 +56,4 @@ ПростойСправочник - \ No newline at end of file + diff --git a/packagedef b/packagedef index d04332f33..efd0b9481 100644 --- a/packagedef +++ b/packagedef @@ -161,12 +161,12 @@ Сообщить("ИНФОРМАЦИЯ - Создан файл релиза " + ФайлКонечный.ПолноеИмя); КонецПроцедуры -ВерсияПакета = "6.7.0"; +ВерсияПакета = "6.8.0"; Описание.Имя("add") .Версия(ВерсияПакета) .Автор("Vanessa-OpenSource") - .Описание("Сборка add") + .Описание("Сборка Vanessa-ADD") .ВерсияСреды("1.0.20") // автоматически собираются все файлы из файла "ospx/settings.json" + корневые обработки .ВключитьФайл("doc") diff --git "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" index efd3edb50..66374e35a 100644 --- "a/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" +++ "b/plugins/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/\320\241\320\265\321\200\320\270\320\260\320\273\320\270\320\267\320\260\321\202\320\276\321\200MXL/Ext/ObjectModule.bsl" @@ -24,7 +24,7 @@ Перем ДопСвойстваУдаляемыхДанных; Функция Версия() Экспорт - Версия = "6.7.0"; + Версия = "6.8.0"; Возврат Версия; КонецФункции @@ -47,15 +47,15 @@ // Устанавливает значение переменной ДопСвойстваУдаляемыхДанных // Параметры: -// ДопСвойства - Соответствие - +// ДопСвойства - Соответствие - Процедура УстановитьДопСвойстваУдаляемыхДанных(Знач ДопСвойства) Экспорт - - ДопСвойстваУдаляемыхДанных = ДопСвойства; - + + ДопСвойстваУдаляемыхДанных = ДопСвойства; + КонецПроцедуры // Удаляет созданные элементы (Справочники, Документы, Пользователи ИБ), регистры сведений не чистит - есть тесты -// +// // Параметры: // Данные - Структура - Структура, соджержащая в себе созданные ранее данные, где ключом является присовенное имя, // а значением собственно значение созданного объекта - ссылка, примитивный тип и т.д. @@ -64,8 +64,8 @@ // Число - Количество удаленных объектов // Функция УдалитьСозданныеДанные(Данные) Экспорт - - // Обратный порядок нужен для получения правильного количества удаленных элементов, + + // Обратный порядок нужен для получения правильного количества удаленных элементов, // т.к например, Владелец.Удалить удаляет и подчиненные элементы из подчиненных справочников МассивУдаляемыхДанныхВОбратномПорядке = Новый Массив; Для Каждого КлючЗначение Из Данные Цикл @@ -74,28 +74,28 @@ КоличествоУдаленных = 0; Для Каждого УдаляемыйЭлемент Из МассивУдаляемыхДанныхВОбратномПорядке Цикл - + ТипЗнчУдаляемыйЭлемент = ТипЗнч(УдаляемыйЭлемент); - + Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнчУдаляемыйЭлемент) ИЛИ Документы.ТипВсеСсылки().СодержитТип(ТипЗнчУдаляемыйЭлемент) Тогда - + УдаляемыйОбъект = УдаляемыйЭлемент.ПолучитьОбъект(); Если УдаляемыйОбъект = Неопределено Тогда - Продолжить; + Продолжить; КонецЕсли; - + УстановитьДопСвойстваУдаляемогоОбъекта(УдаляемыйОбъект); УдалитьОбъектВПопыткеИсключение(УдаляемыйОбъект, КоличествоУдаленных); - - ИначеЕсли ТипЗнчУдаляемыйЭлемент = Тип("ПользовательИнформационнойБазы") Тогда - УдалитьОбъектВПопыткеИсключение(УдаляемыйЭлемент, КоличествоУдаленных); + + ИначеЕсли ТипЗнчУдаляемыйЭлемент = Тип("ПользовательИнформационнойБазы") Тогда + УдалитьОбъектВПопыткеИсключение(УдаляемыйЭлемент, КоличествоУдаленных); КонецЕсли; - + КонецЦикла; - + Возврат КоличествоУдаленных; - + КонецФункции // } Plugin interface @@ -2109,35 +2109,35 @@ // { Методы удаления созданных данных Процедура УстановитьДопСвойстваУдаляемогоОбъекта(УдаляемыйОбъект, ЭтоСсылочныйОбъект = Ложь) - + Если ДопСвойстваУдаляемыхДанных = Неопределено Тогда Возврат; КонецЕсли; - + ДопСвойстваУдаляемыйОбъект = УдаляемыйОбъект.ДополнительныеСвойства; - + ЗаполнитьСтруктуруПоСтруктуре(ДопСвойстваУдаляемыхДанных.Получить("Общие"), ДопСвойстваУдаляемыйОбъект); Если ЭтоСсылочныйОбъект Тогда - ЗаполнитьСтруктуруПоСтруктуре(ДопСвойстваУдаляемыхДанных.Получить(УдаляемыйОбъект["Ссылка"]), + ЗаполнитьСтруктуруПоСтруктуре(ДопСвойстваУдаляемыхДанных.Получить(УдаляемыйОбъект["Ссылка"]), ДопСвойстваУдаляемыйОбъект); КонецЕсли; КонецПроцедуры Процедура ЗаполнитьСтруктуруПоСтруктуре(Источник, Приемник) - + Если Источник = Неопределено ИЛИ Приемник = Неопределено Тогда Возврат; КонецЕсли; - - Для Каждого КлючЗначение Из Источник Цикл - Приемник.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); + + Для Каждого КлючЗначение Из Источник Цикл + Приемник.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение); КонецЦикла; - + КонецПроцедуры -Процедура УдалитьОбъектВПопыткеИсключение(Объект, Счетчик) - +Процедура УдалитьОбъектВПопыткеИсключение(Объект, Счетчик) + Попытка Объект.Удалить(); Счетчик = Счетчик + 1; From fabb5ee9b2fad861beac82741dce420a4e8dd639 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Wed, 10 Nov 2021 15:55:17 +0300 Subject: [PATCH 421/421] =?UTF-8?q?=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- releaseCheck.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/releaseCheck.md b/releaseCheck.md index 01a9b3306..74a8a6c95 100644 --- a/releaseCheck.md +++ b/releaseCheck.md @@ -13,7 +13,12 @@ * [bdd 83 NoSync](./lib/CF/83NoSync/Configuration.xml) * [xdd 83](./lib/CF/83xdd/Configuration.xml) * [xdd 83 NoSync](./lib/CF/83xddNoSync/Configuration.xml) -- убедиться, что изменено 8 файлов +- изменить версию в расширениях - `` + - [ВыполнениеСерверногоКодаВТестах_VanessaADD](lib\cfe\ВыполнениеСерверногоКодаВТестах_VanessaADD\Configuration.xml) + - [ОткрытиеВнешнихФайлов](lib\cfe\ОткрытиеВнешнихФайлов\Configuration.xml) + - [МокТестирование](lib\cfe\МокТестирование\Configuration.xml) + - [ТестМоков](lib\cfe\ТестМоков\Configuration.xml) +- убедиться, что изменено 12 файлов - Выполнить разборку всех файлов на исходники - Выполнить commit и push для своих изменений - Выполнить все тесты из папки `tests`. Ошибок быть не должно.