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.epf" "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.epf" index b8015328..9a971f2d 100644 Binary files "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.epf" and "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.epf" differ 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.epf" "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.epf" index d91c443d..17ed2b69 100644 Binary files "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.epf" and "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.epf" differ 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.epf" "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.epf" index 3516fd98..a054df7e 100644 Binary files "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.epf" and "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.epf" differ 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.epf" "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.epf" index d21ca08c..8ef68651 100644 Binary files "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.epf" and "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.epf" differ 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.epf" "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.epf" index b80364db..3ce307ad 100644 Binary files "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.epf" and "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.epf" differ diff --git "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 6f1e463a..62cee9da 100644 --- "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -51,6 +51,15 @@ КонецПроцедуры // } Report generator interface +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + + Экспортировать(Отчет, ПолныйПутьФайла); + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + +КонецПроцедуры + + // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() diff --git "a/src/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/maps.txt" "b/src/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/maps.txt" index 078d7809..7e253355 100644 --- "a/src/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/maps.txt" +++ "b/src/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/maps.txt" @@ -1,2 +1,2 @@ -Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (50, 110) +Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (116, 185) Макеты\СхемаAllure.txt-->2d3462c8-c871-442e-81a7-d457064fdf0b.0 diff --git "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" index 389d81bf..3c888d29 100644 --- "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" +++ "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -1,9 +1,9 @@ {3, -{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{38,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, {1,0},0,0,1,1,1,0,1,0, -{0,1,0}, +{0}, {0},1, -{21, +{19, {-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, @@ -16,8 +16,8 @@ }, {7,3,0,1,100}, {0,0,0},1, -{0,0,1},0,1,0,0,0,3,3},0,"","",1, -{21, +{0,0,1},0,1,0,0},0,"","",1, +{19, {0},0,0,0,7,"Navigator", {1,0}, {1,0},0,1,0,0,0,2,2, @@ -26,7 +26,7 @@ }, {7,3,0,1,100}, {0,0,0},0,0,1,0,1, -{10, +{8, {0},0,0,0,0,"NavigatorРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, @@ -36,7 +36,7 @@ {7,3,0,1,100}, {0,0,0},1, {5,0,0,3,0, -{0,1,0}, +{0}, {3,4, {0} }, @@ -47,7 +47,73 @@ {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2}," +{1,0},0},0,0} +},1,"",2,0,1, +{19, +{0},0,0,0,7,"LeftCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"LeftCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1, +{19, +{0},0,0,0,7,"RightCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"RightCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +} +}," // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -100,6 +166,15 @@ КонецПроцедуры // } Report generator interface +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + + Экспортировать(Отчет, ПолныйПутьФайла); + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + +КонецПроцедуры + + // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() diff --git "a/src/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/und/versions" "b/src/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/und/versions" index 2abbd5c9..930105c0 100644 --- "a/src/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/und/versions" +++ "b/src/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/und/versions" @@ -1 +1 @@ -{1,11,"",bdc3bba3-f8ac-4507-a33a-3cae0ba1f847,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",c7e94cf4-03a6-4922-8f31-169614867285,"2d3462c8-c871-442e-81a7-d457064fdf0b",a777db5b-8171-4f65-a213-81d183d088e9,"2d3462c8-c871-442e-81a7-d457064fdf0b.0",2cc75a03-ce85-4589-b2b1-abd5ceb7549e,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",1f8bc025-a7ba-4519-bf4d-e9fe51d71fca,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",9ae37250-e9f2-4244-b941-32a82fc8d5d5,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",ff463e54-3ff7-45bb-bc47-7ebd2656146c,"copyinfo",894cad72-c7e4-496f-b22d-255e48e4f2e6,"root",9c5309e1-bc94-47a7-b94a-489997dcd9da,"version",9f0ad40e-eb00-4b64-965d-e3134043c4f2,"versions",0ab69ccb-5279-47fb-82d1-d02ca5f32824} \ No newline at end of file +{1,11,"",326d7227-8539-4537-a735-6c2d6519f566,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",d918194d-f1db-4d4b-b256-389fb7e19d18,"2d3462c8-c871-442e-81a7-d457064fdf0b",a777db5b-8171-4f65-a213-81d183d088e9,"2d3462c8-c871-442e-81a7-d457064fdf0b.0",2cc75a03-ce85-4589-b2b1-abd5ceb7549e,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",1129c284-9030-42bd-bb92-a71b5b64ecb0,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",a884cffc-5462-4f71-b466-930e16a695c5,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",ff463e54-3ff7-45bb-bc47-7ebd2656146c,"copyinfo",256877e4-ce6e-4d92-836d-c691c9d7f073,"root",d303b7d4-5907-45e8-8633-c1999f7ec395,"version",960b7679-af86-4959-b76b-bf4a8aa6572d,"versions",af68ebc1-7ddd-460f-89e7-a2d16a244f66} \ No newline at end of file diff --git "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 9f00ea34..5de96054 100644 --- "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -35,6 +35,43 @@ КонецПроцедуры // } Report generator interface +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + + Если ТребуетсяАсинхроннаяЗаписьДокумента() Тогда + Отчет.НачатьЗапись(ОбработкаОповещения, ПолныйПутьФайла); + Иначе + Отчет.Записать(ПолныйПутьФайла); + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + +КонецПроцедуры + +// До 8.3.9 не контролируется метод Записать, а в 8.3.6 вообще нет метода НачатьЗапись +// +&НаКлиенте +Функция ТребуетсяАсинхроннаяЗаписьДокумента() + + СИ = Новый СистемнаяИнформация; + Версия = Сред(СИ.ВерсияПриложения,3); // сразу уберем 8. + Поз = Найти(Версия, "."); + Минор = Число(Лев(Версия, Поз-1)); + Если Минор > 3 Тогда + Возврат Истина; + КонецЕсли; + + Версия = Сред(Версия, Поз+1); + Релиз = Число(Лев(Версия, Найти(Версия, ".")-1)); + + Если Релиз > 8 Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + + // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() diff --git "a/src/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/ObjectModule.bsl" "b/src/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/ObjectModule.bsl" index 63a27256..cf43cbe9 100644 --- "a/src/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/ObjectModule.bsl" +++ "b/src/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/ObjectModule.bsl" @@ -102,6 +102,40 @@ КонецПроцедуры // } Report generator interface +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + + Если ТребуетсяАсинхроннаяЗаписьДокумента() Тогда + Отчет.НачатьЗапись(ОбработкаОповещения, ПолныйПутьФайла); + Иначе + Отчет.Записать(ПолныйПутьФайла); + КонецЕсли; + +КонецПроцедуры + +// До 8.3.9 не контролируется метод Записать, а в 8.3.6 вообще нет метода НачатьЗапись +// +Функция ТребуетсяАсинхроннаяЗаписьДокумента() + + СИ = Новый СистемнаяИнформация; + Версия = Сред(СИ.ВерсияПриложения,3); // сразу уберем 8. + Поз = Найти(Версия, "."); + Минор = Число(Лев(Версия, Поз-1)); + Если Минор > 3 Тогда + Возврат Истина; + КонецЕсли; + + Версия = Сред(Версия, Поз+1); + Релиз = Число(Лев(Версия, Найти(Версия, ".")-1)); + + Если Релиз > 8 Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + + // { Helpers Функция УдалитьНедопустимыеСимволыXML(Знач Результат) Позиция = НайтиНедопустимыеСимволыXML(Результат); diff --git "a/src/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/maps.txt" "b/src/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/maps.txt" index b9002f0c..567a216a 100644 --- "a/src/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/maps.txt" +++ "b/src/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/maps.txt" @@ -1,2 +1,2 @@ -Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 73) +Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (116, 197) Макеты\СхемаJUnit4.txt-->00f1e100-3117-4bea-8be0-1a49b1eccdd9.0 diff --git "a/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" index ee558675..8d6db359 100644 --- "a/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" +++ "b/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -4,9 +4,9 @@ {1, {4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, {0, -{0, +{1, {0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенераторОтчетаJUnitXML", -{1,"ru","Генератор отчета JUnit XML"},""} +{1,"ru","Генератор отчета JUnit XML"},"",0,0} },4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, {2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, {3daea016-69b7-4ed4-9453-127911372fe6,1,00f1e100-3117-4bea-8be0-1a49b1eccdd9}, @@ -14,11 +14,11 @@ {ec6bb5e5-b7a8-4d75-bec9-658107a699cf,4, { {0, -{25, +{27, {2, -{0, +{1, {0,0,72263b85-e321-40b2-b5dc-368b036f7aaa},"ТипыУзловДереваТестов", -{1,"ru","Типы узлов дерева тестов"},""}, +{1,"ru","Типы узлов дерева тестов"},"",0,0}, {"Pattern"} },0, {0}, @@ -29,15 +29,15 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0}, { {0, -{25, +{27, {2, -{0, +{1, {0,0,23dd7cb5-a648-4588-817a-d77a4106998e},"ИконкиУзловДереваТестов", -{1,"ru","Иконки узлов дерева тестов"},""}, +{1,"ru","Иконки узлов дерева тестов"},"",0,0}, {"Pattern"} },0, {0}, @@ -48,15 +48,15 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0}, { {0, -{25, +{27, {2, -{0, +{1, {0,0,edb4e982-95f6-4760-818c-4bcd498a85aa},"СостоянияТестов", -{1,"ru","Состояния тестов"},""}, +{1,"ru","Состояния тестов"},"",0,0}, {"Pattern"} },0, {0}, @@ -67,15 +67,15 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0}, { {0, -{25, +{27, {2, -{0, +{1, {0,0,7186aaf8-38ee-48a8-99e9-225b1d1f5721},"СтатусыJUnit", -{1,"ru","Статусы junit"},""}, +{1,"ru","Статусы junit"},"",0,0}, {"Pattern"} },0, {0}, @@ -86,7 +86,7 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0} } } diff --git "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" index e9f6cd91..554d4f73 100644 --- "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" +++ "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -1,10 +1,15 @@ {1, {1, {0, -{9, -{0, +{12, +{1, {0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", -{1,"ru","Форма"},""},0,1}, +{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1, +{2, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1}, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2} +} +}, {0} } },0} \ No newline at end of file diff --git "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" index 34a85820..8c885750 100644 --- "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" +++ "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -1,9 +1,9 @@ -{2, -{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{3, +{38,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, {1,0},0,0,1,1,1,0,1,0, {0}, {0},1, -{17, +{19, {-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, @@ -14,18 +14,105 @@ {3,4, {0} }, -{6,3,0,1}, +{7,3,0,1,100}, {0,0,0},1, -{0,0,1},0,1},0,"","",1, -{17, +{0,0,1},0,1,0,0},0,"","",1, +{19, {0},0,0,0,7,"Navigator", {1,0}, {1,0},0,1,0,0,0,2,2, {3,4, {0} }, -{6,3,0,1}, -{0,0,0},0,0,1} +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"NavigatorРасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1,"",2,0,1, +{19, +{0},0,0,0,7,"LeftCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"LeftCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1, +{19, +{0},0,0,0,7,"RightCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"RightCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +} }," // { Plugin interface &НаКлиенте @@ -63,6 +150,43 @@ КонецПроцедуры // } Report generator interface +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + + Если ТребуетсяАсинхроннаяЗаписьДокумента() Тогда + Отчет.НачатьЗапись(ОбработкаОповещения, ПолныйПутьФайла); + Иначе + Отчет.Записать(ПолныйПутьФайла); + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + +КонецПроцедуры + +// До 8.3.9 не контролируется метод Записать, а в 8.3.6 вообще нет метода НачатьЗапись +// +&НаКлиенте +Функция ТребуетсяАсинхроннаяЗаписьДокумента() + + СИ = Новый СистемнаяИнформация; + Версия = Сред(СИ.ВерсияПриложения,3); // сразу уберем 8. + Поз = Найти(Версия, "".""); + Минор = Число(Лев(Версия, Поз-1)); + Если Минор > 3 Тогда + Возврат Истина; + КонецЕсли; + + Версия = Сред(Версия, Поз+1); + Релиз = Число(Лев(Версия, Найти(Версия, ""."")-1)); + + Если Релиз > 8 Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + + // { Helpers &НаСервере Функция ЭтотОбъектНаСервере() @@ -107,5 +231,4 @@ L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} {0,0}, {0,0}, {0,0}, -{0,0} -} \ No newline at end of file +{0,0},0,0} \ No newline at end of file diff --git "a/src/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/und/versions" "b/src/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/und/versions" index 93114e2e..a163575e 100644 --- "a/src/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/und/versions" +++ "b/src/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/und/versions" @@ -1 +1 @@ -{1,11,"",b2d4de09-fe9e-41a5-bb49-63841bf9d6c5,"versions",1c8b38a3-f126-4204-a21a-3153eb9dc4ba,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",41944c0d-28ec-4295-ab9d-1ad9b0481eb0,"00f1e100-3117-4bea-8be0-1a49b1eccdd9",48aa047c-ca85-44d8-8e5d-889d55fff3c9,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",038e0310-10fb-4516-bbb8-e3d4122b6a84,"00f1e100-3117-4bea-8be0-1a49b1eccdd9.0",f2a83816-e7ce-489f-a797-3c122f23f602,"root",af2148fd-6cf1-429e-8b4a-199312a3dcf8,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",bf19ed16-ceff-485f-82c6-fad714d0af20,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",f3e124ca-b780-4ac8-9e6d-b396b31ffe0c,"version",975dc0ce-c6c8-41dc-9886-b4831ea2bf3f,"copyinfo",3d2d70c5-1375-4ac8-98bd-97691999b995} \ No newline at end of file +{1,11,"",cb938c56-7d3a-4024-bc9c-fc559ba9e346,"00f1e100-3117-4bea-8be0-1a49b1eccdd9",48aa047c-ca85-44d8-8e5d-889d55fff3c9,"00f1e100-3117-4bea-8be0-1a49b1eccdd9.0",f2a83816-e7ce-489f-a797-3c122f23f602,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",3e657223-8a58-48f4-a50d-7c94908ca5f0,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",42e204d2-556a-492e-8172-9bb71522816a,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",76e9d0a4-fa96-40b0-9438-b9e2f851b72e,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",247ca205-4d56-4eb0-a677-3520722dbd20,"copyinfo",6b68eb5a-91f1-4c2c-80c1-5e91f5307eec,"root",a56bfc6b-9998-4696-a26d-890f802aade4,"version",0f4b9e56-e133-40db-ac9e-1089e52201d7,"versions",d11427ca-8dee-4059-99fe-51805624b30b} \ No newline at end of file diff --git "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 793020bf..cdae4a50 100644 --- "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -36,6 +36,12 @@ Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт ВызватьИсключение "Метод не реализован"; КонецПроцедуры + +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение "Метод не реализован"; +КонецПроцедуры + // } Report generator interface // { Helpers diff --git "a/src/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/maps.txt" "b/src/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/maps.txt" index d4f72c18..53e9d2d6 100644 --- "a/src/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/maps.txt" +++ "b/src/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/maps.txt" @@ -1,2 +1,2 @@ -Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (29, 75) +Form\Форма\Форма.bsl-->4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0 (116, 168) Макеты\ОтчетТестирования.mxl-->e723b36e-7faa-4345-bf5b-763f60cd5663.0 diff --git "a/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" "b/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" index 5e95c3f6..823da731 100644 --- "a/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" +++ "b/src/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/und/11c5f751-bfaf-480a-92fe-7f30023f2e9a" @@ -4,9 +4,9 @@ {1, {4,85629dd2-6be4-49c6-9a69-13411102aa57,3fdd55c8-e92e-4f99-8b28-3ba8957b50ab, {0, -{0, +{1, {0,0,908d0aaf-e4ec-4668-8d14-3e8075d222fd},"ГенераторОтчетаMXL", -{1,"ru","Генератор отчета MXL"},""} +{1,"ru","Генератор отчета MXL"},"",0,0} },4e8e1a4a-a947-419b-95c8-58a411e3ffa4,"",00000000-0000-0000-0000-000000000000},4, {2bcef0d1-0981-11d6-b9b8-0050bae0a95d,0}, {3daea016-69b7-4ed4-9453-127911372fe6,1,e723b36e-7faa-4345-bf5b-763f60cd5663}, @@ -14,11 +14,11 @@ {ec6bb5e5-b7a8-4d75-bec9-658107a699cf,2, { {0, -{25, +{27, {2, -{0, +{1, {0,0,72263b85-e321-40b2-b5dc-368b036f7aaa},"ТипыУзловДереваТестов", -{1,"ru","Типы узлов дерева тестов"},""}, +{1,"ru","Типы узлов дерева тестов"},"",0,0}, {"Pattern"} },0, {0}, @@ -29,15 +29,15 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0}, { {0, -{25, +{27, {2, -{0, +{1, {0,0,edb4e982-95f6-4760-818c-4bcd498a85aa},"СостоянияТестов", -{1,"ru","Состояния тестов"},""}, +{1,"ru","Состояния тестов"},"",0,0}, {"Pattern"} },0, {0}, @@ -48,7 +48,7 @@ {3,0,0}, {0,0},0, {0}, -{"S",""},0} +{"S",""},0,0,0} },0} } } diff --git "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" index e9f6cd91..554d4f73 100644 --- "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" +++ "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4" @@ -1,10 +1,15 @@ {1, {1, {0, -{9, -{0, +{12, +{1, {0,0,4e8e1a4a-a947-419b-95c8-58a411e3ffa4},"Форма", -{1,"ru","Форма"},""},0,1}, +{1,"ru","Форма"},"",0,1,32e087ab-1491-49b6-aba7-43571b41ac2b,3},0,1, +{2, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,1}, +{"#",1708fdaa-cbce-4289-b373-07a5a74bee91,2} +} +}, {0} } },0} \ No newline at end of file diff --git "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" index 23d2bae6..39be9f04 100644 --- "a/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" +++ "b/src/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/und/4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0" @@ -1,9 +1,9 @@ -{2, -{28,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{3, +{38,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, {1,0},0,0,1,1,1,0,1,0, {0}, {0},1, -{17, +{19, {-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, @@ -14,18 +14,105 @@ {3,4, {0} }, -{6,3,0,1}, +{7,3,0,1,100}, {0,0,0},1, -{0,0,1},0,1},0,"","",1, -{17, +{0,0,1},0,1,0,0},0,"","",1, +{19, {0},0,0,0,7,"Navigator", {1,0}, {1,0},0,1,0,0,0,2,2, {3,4, {0} }, -{6,3,0,1}, -{0,0,0},0,0,1} +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"NavigatorРасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1,"",2,0,1, +{19, +{0},0,0,0,7,"LeftCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"LeftCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1, +{19, +{0},0,0,0,7,"RightCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"RightCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +} }," // { Plugin interface &НаКлиенте @@ -64,6 +151,12 @@ Процедура Экспортировать(Отчет, ПолныйПутьФайла) Экспорт ВызватьИсключение ""Метод не реализован""; КонецПроцедуры + +&НаКлиенте +Процедура НачатьЭкспорт(ОбработкаОповещения, Отчет, ПолныйПутьФайла) Экспорт + ВызватьИсключение ""Метод не реализован""; +КонецПроцедуры + // } Report generator interface // { Helpers @@ -109,5 +202,4 @@ L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} {0,0}, {0,0}, {0,0}, -{0,0} -} \ No newline at end of file +{0,0},0,0} \ No newline at end of file diff --git "a/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663" "b/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663" index 7dae7109..e0918291 100644 --- "a/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663" +++ "b/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663" @@ -1,6 +1,6 @@ {1, {2,0, -{0, +{1, {0,0,e723b36e-7faa-4345-bf5b-763f60cd5663},"ОтчетТестирования", -{1,"ru","Отчет тестирования"},""} +{1,"ru","Отчет тестирования"},"",0,0} },0} \ No newline at end of file diff --git "a/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663.0" "b/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663.0" index 88892e35..d76ec464 100644 Binary files "a/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663.0" and "b/src/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/und/e723b36e-7faa-4345-bf5b-763f60cd5663.0" differ diff --git "a/src/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/und/versions" "b/src/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/und/versions" index 2209dc20..5b728e72 100644 --- "a/src/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/und/versions" +++ "b/src/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/und/versions" @@ -1 +1 @@ -{1,11,"",ad4da44d-18db-4044-bcb6-26f2c8b7ceb5,"versions",3c865e0a-0b79-4972-8ced-503e27d4890c,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",fd7e0723-7b45-4de8-9d83-c3bb7f0cc5cf,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",b7fe60ea-1adf-41eb-9534-0bfa4b7bb079,"root",81927546-aaf0-4fc4-9d3e-4ce804696878,"e723b36e-7faa-4345-bf5b-763f60cd5663",7cc3d945-c911-47a6-87e8-258524a203f0,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",9df62da8-0951-4c81-a81f-483ae5a5386e,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",efd8d0f6-a0ad-4d35-91bf-8ad5cac4fc9d,"version",5634d453-9b18-462b-ab56-ee9bb15029a3,"e723b36e-7faa-4345-bf5b-763f60cd5663.0",2883c5af-b7b3-4298-81f7-72c9d2c99e57,"copyinfo",e0ca2c81-33e1-4fdc-a387-a461d9aae2b1} \ No newline at end of file +{1,11,"",930d4b51-9904-4bcf-afed-e8b2228c3c98,"11c5f751-bfaf-480a-92fe-7f30023f2e9a",2dfdfa59-ab38-44b1-bddc-85f46e948a75,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4",c2fce7ed-7a68-46d6-8814-246d811b2d9c,"4e8e1a4a-a947-419b-95c8-58a411e3ffa4.0",f2e12ea0-fd0b-4843-b628-7a0e222df43e,"908d0aaf-e4ec-4668-8d14-3e8075d222fd.0",9df62da8-0951-4c81-a81f-483ae5a5386e,"copyinfo",35fe8504-b937-4252-8306-d1b3f346c634,"e723b36e-7faa-4345-bf5b-763f60cd5663",d5d6356b-0fb0-4734-b136-dfb00ccc5045,"e723b36e-7faa-4345-bf5b-763f60cd5663.0",4af14664-0f9a-43a9-92d8-1b8f4ac1511e,"root",f2cb0152-8cc9-4eb1-be7c-85d70307b9cd,"version",e4eaa75e-6f1b-4718-ad1c-9ddfb603ecae,"versions",704588a5-61d6-4617-8de9-5dd7ffb9338c} \ No newline at end of file diff --git "a/src/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\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" "b/src/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\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" index 88892e35..d76ec464 100644 Binary files "a/src/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\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" and "b/src/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\234\320\260\320\272\320\265\321\202\321\213/\320\236\321\202\321\207\320\265\321\202\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mxl" differ diff --git "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 5cc21483..d8a0ea3a 100644 --- "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -35,6 +35,114 @@ Возврат ДеревоТестов; КонецФункции +#Область АсинхронныйAPI + +&НаКлиенте +Функция НачатьЗагрузку(ОбработчикОповещения, КонтекстЯдра, Путь) Экспорт + + КаталогДляЗагрузки = Новый Файл(Путь); + НачатьЗагрузкуКаталога(ОбработчикОповещения, КаталогДляЗагрузки, КонтекстЯдра); + +КонецФункции + +&НаКлиенте +Процедура НачатьЗагрузкуКаталога(Знач ОбработчикОповещения, Знач КаталогДляЗагрузки, Знач КонтекстЯдра) Экспорт + + КонтейнерКаталога = КонтекстЯдра.Плагин("ПостроительДереваТестов").СоздатьКонтейнер(КаталогДляЗагрузки.Имя); + + ДопПараметры = Новый Структура; + ДопПараметры.Вставить("ОбработкаЗавершения", ОбработчикОповещения); + ДопПараметры.Вставить("КонтейнерКаталога", КонтейнерКаталога); + ДопПараметры.Вставить("КонтекстЯдра", КонтекстЯдра); + + Обработчик = Новый ОписаниеОповещения("ОбработкаПоискаВКорнеКаталога", ЭтаФорма, ДопПараметры); + НачатьПоискФайлов(Обработчик, КаталогДляЗагрузки.ПолноеИмя, "*", Ложь); + +КонецПроцедуры + + +&НаКлиенте +Процедура ОбработкаПоискаВКорнеКаталога(Знач НайденныеФайлы, Знач ДополнительныеПараметры) Экспорт + + Итератор = Новый Структура; + Итератор.Вставить("Коллекция", НайденныеФайлы); + Итератор.Вставить("Индекс", -1); + + Контекст = Новый Структура("Итератор, ДополнительныеПараметры", Итератор, ДополнительныеПараметры); + Контекст.Вставить("Результат", ДополнительныеПараметры.КонтейнерКаталога); + + ОбработатьОчереднойФайлНачало(Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗавершитьОбработкуНайденногоФайла(Знач ЭтоКаталог, Знач ВходящийКонтекст) Экспорт + + ОбработкаПрерыванияПользователя(); + ДополнительныеПараметры = ВходящийКонтекст.ДополнительныеПараметры; + Если ЭтоКаталог Тогда + + Сообщить( НСтр("ru = 'FIXME: Загрузка вложенных каталогов не поддерживается'") ); + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + + ИначеЕсли НРег(ДополнительныеПараметры.Файл.Расширение) = ".epf" + ИЛИ НРег(ДополнительныеПараметры.Файл.Расширение) = ".erf" Тогда + + Обработчик = Новый ОписаниеОповещения("ОбработчикЗавершенияЗагрузкиФайла", ЭтаФорма, ВходящийКонтекст); + КонтекстЯдра = ДополнительныеПараметры.КонтекстЯдра; + ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); + ЗагрузчикФайла.НачатьЗагрузку(Обработчик, КонтекстЯдра, ДополнительныеПараметры.Файл.ПолноеИмя); + + Иначе + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьОчереднойФайлНачало(Знач ВходящийКонтекст) Экспорт + + Итератор = ВходящийКонтекст.Итератор; + ДополнительныеПараметры = ВходящийКонтекст.ДополнительныеПараметры; + + Итератор.Индекс = Итератор.Индекс+1; + + Если Итератор.Индекс < Итератор.Коллекция.Количество() Тогда + + ТекущийФайл = Итератор.Коллекция[Итератор.Индекс]; + ДополнительныеПараметры.Вставить("Файл", ТекущийФайл); + Обработчик = Новый ОписаниеОповещения("ЗавершитьОбработкуНайденногоФайла", ЭтаФорма, ВходящийКонтекст); + ТекущийФайл.НачатьПроверкуЭтоКаталог(Обработчик); + Иначе + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаЗавершения, ВходящийКонтекст.Результат); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияЗагрузкиКаталога(Знач ДеревоТестов, Знач ВходящийКонтекст) Экспорт + + // блабла + + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияЗагрузкиФайла(Знач ДеревоТестовФайла, Знач ВходящийКонтекст) Экспорт + + Перем Результат; + Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда + Результат = ДеревоТестовФайла.Строки[0]; + ВходящийКонтекст.ДополнительныеПараметры.КонтейнерКаталога.Строки.Добавить(Результат); + КонецЕсли; + + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + +КонецПроцедуры + +#КонецОбласти + &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт ЗагрузчикФайла = КонтекстЯдра.Плагин("ЗагрузчикФайла"); @@ -108,7 +216,13 @@ КонецЕсли; Описание = ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); - КонтекстЯдра.ЗагрузитьТесты(Описание.Идентификатор, Результат); + Обр = Новый ОписаниеОповещения("ОкончаниеЗагрузкиТестов", ЭтаФорма); + КонтекстЯдра.НачатьЗагрузкуТестов(Обр, Описание.Идентификатор, Результат); КонецПроцедуры + +&НаКлиенте +Процедура ОкончаниеЗагрузкиТестов(Результат, Параметры) Экспорт +КонецПроцедуры + // } Вспомогательные методы \ No newline at end of file diff --git "a/src/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/maps.txt" "b/src/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/maps.txt" index 55c1db7b..49422da8 100644 --- "a/src/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/maps.txt" +++ "b/src/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/maps.txt" @@ -1 +1 @@ -Form\Форма\Форма.bsl-->b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0 (50, 163) +Form\Форма\Форма.bsl-->b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0 (116, 343) diff --git "a/src/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/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" "b/src/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/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" index 429d8ee0..1a339586 100644 --- "a/src/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/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" +++ "b/src/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/und/b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0" @@ -1,9 +1,9 @@ {3, -{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{38,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, {1,0},0,0,1,1,1,0,1,0, -{0,0,0}, +{0}, {0},1, -{21, +{19, {-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, @@ -16,8 +16,8 @@ }, {7,3,0,1,100}, {0,0,0},1, -{0,0,1},0,1,0,0,0,3,3},0,"","",1, -{21, +{0,0,1},0,1,0,0},0,"","",1, +{19, {0},0,0,0,7,"Navigator", {1,0}, {1,0},0,1,0,0,0,2,2, @@ -26,7 +26,7 @@ }, {7,3,0,1,100}, {0,0,0},0,0,1,0,1, -{10, +{8, {0},0,0,0,0,"NavigatorРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, @@ -36,7 +36,7 @@ {7,3,0,1,100}, {0,0,0},1, {5,0,0,3,0, -{0,0,0}, +{0}, {3,4, {0} }, @@ -47,7 +47,73 @@ {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2}," +{1,0},0},0,0} +},1,"",2,0,1, +{19, +{0},0,0,0,7,"LeftCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"LeftCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1, +{19, +{0},0,0,0,7,"RightCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"RightCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +} +}," // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -84,6 +150,114 @@ Возврат ДеревоТестов; КонецФункции +#Область АсинхронныйAPI + +&НаКлиенте +Функция НачатьЗагрузку(ОбработчикОповещения, КонтекстЯдра, Путь) Экспорт + + КаталогДляЗагрузки = Новый Файл(Путь); + НачатьЗагрузкуКаталога(ОбработчикОповещения, КаталогДляЗагрузки, КонтекстЯдра); + +КонецФункции + +&НаКлиенте +Процедура НачатьЗагрузкуКаталога(Знач ОбработчикОповещения, Знач КаталогДляЗагрузки, Знач КонтекстЯдра) Экспорт + + КонтейнерКаталога = КонтекстЯдра.Плагин(""ПостроительДереваТестов"").СоздатьКонтейнер(КаталогДляЗагрузки.Имя); + + ДопПараметры = Новый Структура; + ДопПараметры.Вставить(""ОбработкаЗавершения"", ОбработчикОповещения); + ДопПараметры.Вставить(""КонтейнерКаталога"", КонтейнерКаталога); + ДопПараметры.Вставить(""КонтекстЯдра"", КонтекстЯдра); + + Обработчик = Новый ОписаниеОповещения(""ОбработкаПоискаВКорнеКаталога"", ЭтаФорма, ДопПараметры); + НачатьПоискФайлов(Обработчик, КаталогДляЗагрузки.ПолноеИмя, ""*"", Ложь); + +КонецПроцедуры + + +&НаКлиенте +Процедура ОбработкаПоискаВКорнеКаталога(Знач НайденныеФайлы, Знач ДополнительныеПараметры) Экспорт + + Итератор = Новый Структура; + Итератор.Вставить(""Коллекция"", НайденныеФайлы); + Итератор.Вставить(""Индекс"", -1); + + Контекст = Новый Структура(""Итератор, ДополнительныеПараметры"", Итератор, ДополнительныеПараметры); + Контекст.Вставить(""Результат"", ДополнительныеПараметры.КонтейнерКаталога); + + ОбработатьОчереднойФайлНачало(Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗавершитьОбработкуНайденногоФайла(Знач ЭтоКаталог, Знач ВходящийКонтекст) Экспорт + + ОбработкаПрерыванияПользователя(); + ДополнительныеПараметры = ВходящийКонтекст.ДополнительныеПараметры; + Если ЭтоКаталог Тогда + + Сообщить( НСтр(""ru = 'FIXME: Загрузка вложенных каталогов не поддерживается'"") ); + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + + ИначеЕсли НРег(ДополнительныеПараметры.Файл.Расширение) = "".epf"" + ИЛИ НРег(ДополнительныеПараметры.Файл.Расширение) = "".erf"" Тогда + + Обработчик = Новый ОписаниеОповещения(""ОбработчикЗавершенияЗагрузкиФайла"", ЭтаФорма, ВходящийКонтекст); + КонтекстЯдра = ДополнительныеПараметры.КонтекстЯдра; + ЗагрузчикФайла = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); + ЗагрузчикФайла.НачатьЗагрузку(Обработчик, КонтекстЯдра, ДополнительныеПараметры.Файл.ПолноеИмя); + + Иначе + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьОчереднойФайлНачало(Знач ВходящийКонтекст) Экспорт + + Итератор = ВходящийКонтекст.Итератор; + ДополнительныеПараметры = ВходящийКонтекст.ДополнительныеПараметры; + + Итератор.Индекс = Итератор.Индекс+1; + + Если Итератор.Индекс < Итератор.Коллекция.Количество() Тогда + + ТекущийФайл = Итератор.Коллекция[Итератор.Индекс]; + ДополнительныеПараметры.Вставить(""Файл"", ТекущийФайл); + Обработчик = Новый ОписаниеОповещения(""ЗавершитьОбработкуНайденногоФайла"", ЭтаФорма, ВходящийКонтекст); + ТекущийФайл.НачатьПроверкуЭтоКаталог(Обработчик); + Иначе + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаЗавершения, ВходящийКонтекст.Результат); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияЗагрузкиКаталога(Знач ДеревоТестов, Знач ВходящийКонтекст) Экспорт + + // блабла + + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикЗавершенияЗагрузкиФайла(Знач ДеревоТестовФайла, Знач ВходящийКонтекст) Экспорт + + Перем Результат; + Если ДеревоТестовФайла.Строки.Количество() > 0 Тогда + Результат = ДеревоТестовФайла.Строки[0]; + ВходящийКонтекст.ДополнительныеПараметры.КонтейнерКаталога.Строки.Добавить(Результат); + КонецЕсли; + + ОбработатьОчереднойФайлНачало(ВходящийКонтекст); + +КонецПроцедуры + +#КонецОбласти + &НаКлиенте Функция ПолучитьКонтекстПоПути(КонтекстЯдра, Путь) Экспорт ЗагрузчикФайла = КонтекстЯдра.Плагин(""ЗагрузчикФайла""); @@ -157,9 +331,15 @@ КонецЕсли; Описание = ОписаниеПлагина(КонтекстЯдра.Объект.ТипыПлагинов); - КонтекстЯдра.ЗагрузитьТесты(Описание.Идентификатор, Результат); + Обр = Новый ОписаниеОповещения(""ОкончаниеЗагрузкиТестов"", ЭтаФорма); + КонтекстЯдра.НачатьЗагрузкуТестов(Обр, Описание.Идентификатор, Результат); + +КонецПроцедуры +&НаКлиенте +Процедура ОкончаниеЗагрузкиТестов(Результат, Параметры) Экспорт КонецПроцедуры + // } Вспомогательные методы", {4,1, {9, diff --git "a/src/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/und/versions" "b/src/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/und/versions" index 3c03adb6..875c95f6 100644 --- "a/src/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/und/versions" +++ "b/src/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/und/versions" @@ -1 +1 @@ -{1,9,"",e4ffcf1d-bf2c-42b5-80c8-e5c0b41a618e,"47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0",0d6b4738-4f50-4922-b033-bc63f2bca2e0,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4",807bfdcf-165f-4351-bc57-33787ff37ee1,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0",242bec23-3eb3-4427-9e6c-d232f1a19ab0,"copyinfo",1d621b95-91da-4f72-978f-c90fd592064c,"d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448",3389934a-7ca4-47a8-8075-84c55bc1ddec,"root",f9e7b43d-eb51-4d0c-8c1d-872a828f9ea0,"version",69156a4b-7f9c-4bcb-9d19-028d29621911,"versions",b0ec16f9-dab0-4d6d-a357-e9a4a58cb927} \ No newline at end of file +{1,9,"",0f51c8de-7424-4c47-98fe-8382acf79717,"47df0590-78c7-4bb0-bf65-a5c6ef41a8d7.0",0d6b4738-4f50-4922-b033-bc63f2bca2e0,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4",9cbf6cc0-147c-481e-abf8-31a177115d6c,"b5f25876-92c4-4d3f-ac5d-d5ee489cf5d4.0",820053a3-6d56-4c78-9f49-e6d5fb3505f9,"copyinfo",da6d2164-7730-4b86-b0a1-de29fd9a47fc,"d8b3f25c-4b0c-4bad-8a2e-f7cf4018a448",e1fd44e3-6f72-4a3a-a513-4890853e3816,"root",deb62a6d-a70e-4e6d-a072-e6b073ed7bbd,"version",7f9dbe21-a703-4b2c-922d-ae21c1fb5e2e,"versions",976268e8-4e2f-4004-b041-6ab1a14a0ffd} \ No newline at end of file diff --git "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 01359802..afb89538 100644 --- "a/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/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/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -8,6 +8,9 @@ &НаКлиенте Перем ТекущаяГруппа; +&НаКлиенте +Перем ВырубитьКЧертямСинхронныеПроверки; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -40,6 +43,56 @@ КонецФункции +#Область АсинхронныйAPI + +&НаКлиенте +Процедура НачатьЗагрузку(Знач ОбработчикОповещения, Знач КонтекстЯдра, Знач Путь) Экспорт + + ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; + + ПостроительДереваТестов = КонтекстЯдра.Плагин("ПостроительДереваТестов"); + ДеревоТестов = Неопределено; + + // TODO: Поддержать цикл по нескольким файлам в Пути + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, 1)); + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); + КонецЕсли; + + ПараметрыОповещения = Новый Структура; + ПараметрыОповещения.Вставить("ФайлОбработки", ФайлОбработки); + ПараметрыОповещения.Вставить("ПостроительДереваТестов", ПостроительДереваТестов); + ПараметрыОповещения.Вставить("ДеревоТестов", ДеревоТестов); + ПараметрыОповещения.Вставить("ОбработчикОповещения", ОбработчикОповещения); + Обработчик = Новый ОписаниеОповещения("ЗагрузкаВнешнейОбработкиЗавершение", ЭтаФорма, ПараметрыОповещения); + КонтекстЯдра.НачатьПодключениеВнешнейбработки(Обработчик, ФайлОбработки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаВнешнейОбработкиЗавершение(Знач Результат, Знач ДополнительныеПараметры) Экспорт + + ФайлОбработки = ДополнительныеПараметры.ФайлОбработки; + ПостроительДереваТестов = ДополнительныеПараметры.ПостроительДереваТестов; + ДеревоТестов = ДополнительныеПараметры.ДеревоТестов; + + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); + КонецЕсли; + + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработчикОповещения, ДеревоТестов); + +КонецПроцедуры + + +#КонецОбласти + &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт @@ -109,6 +162,11 @@ &НаКлиенте Процедура ПроверитьКорректностьФайла(Файл) + + Если ВыключитьСинхронныеПроверки() Тогда + Возврат; + КонецЕсли; + Если Не Файл.Существует() Тогда ВызватьИсключение "Переданный файл не существует файл <" + Файл.ПолноеИмя + ">"; КонецЕсли; @@ -117,6 +175,29 @@ КонецЕсли; КонецПроцедуры +&НаКлиенте +Функция ВыключитьСинхронныеПроверки() + + Если ВырубитьКЧертямСинхронныеПроверки = Неопределено Тогда + + ВырубитьКЧертямСинхронныеПроверки = ЗапрещеныСинхронныеВызовы(); + + КонецЕсли; + + Возврат ВырубитьКЧертямСинхронныеПроверки; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЗапрещеныСинхронныеВызовы() + Если Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент = Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.НеИспользовать Тогда + Возврат Истина; + Иначе + Возврат Ложь; + КонецЕсли; +КонецФункции + + &НаСервере Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте) diff --git "a/src/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/maps.txt" "b/src/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/maps.txt" index a53fed7f..316b36ef 100644 --- "a/src/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/maps.txt" +++ "b/src/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/maps.txt" @@ -1 +1 @@ -Form\Форма\Форма.bsl-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (50, 463) +Form\Форма\Форма.bsl-->d75f146d-5027-4604-80fd-3b704ddd86a8.0 (116, 610) diff --git "a/src/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/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" "b/src/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/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" index db818e23..938281e2 100644 --- "a/src/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/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" +++ "b/src/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/und/d75f146d-5027-4604-80fd-3b704ddd86a8.0" @@ -1,9 +1,9 @@ {3, -{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, +{38,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,1, {1,0},0,0,1,1,1,0,1,0, -{0,0,0}, +{0}, {0},1, -{21, +{19, {-1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, @@ -16,8 +16,8 @@ }, {7,3,0,1,100}, {0,0,0},1, -{0,0,1},0,1,0,0,0,3,3},0,"","",1, -{21, +{0,0,1},0,1,0,0},0,"","",1, +{19, {0},0,0,0,7,"Navigator", {1,0}, {1,0},0,1,0,0,0,2,2, @@ -26,7 +26,7 @@ }, {7,3,0,1,100}, {0,0,0},0,0,1,0,1, -{10, +{8, {0},0,0,0,0,"NavigatorРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, @@ -36,7 +36,7 @@ {7,3,0,1,100}, {0,0,0},1, {5,0,0,3,0, -{0,0,0}, +{0}, {3,4, {0} }, @@ -47,7 +47,73 @@ {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2},"&НаКлиенте +{1,0},0},0,0} +},1,"",2,0,1, +{19, +{0},0,0,0,7,"LeftCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"LeftCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +},1, +{19, +{0},0,0,0,7,"RightCaptionButtons", +{1,0}, +{1,0},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0,0,1,0,1, +{8, +{0},0,0,0,0,"RightCaptionButtonsExtendedTooltip", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0} +} +},"&НаКлиенте Перем КэшПостроительДереваТестов; &НаКлиенте Перем ЗагружаемыйПуть; @@ -57,6 +123,9 @@ &НаКлиенте Перем ТекущаяГруппа; +&НаКлиенте +Перем ВырубитьКЧертямСинхронныеПроверки; + // { Plugin interface &НаКлиенте Функция ОписаниеПлагина(ВозможныеТипыПлагинов) Экспорт @@ -89,6 +158,56 @@ КонецФункции +#Область АсинхронныйAPI + +&НаКлиенте +Процедура НачатьЗагрузку(Знач ОбработчикОповещения, Знач КонтекстЯдра, Знач Путь) Экспорт + + ПолноеИмяБраузераТестов = КонтекстЯдра.Объект.ПолноеИмяБраузераТестов; + + ПостроительДереваТестов = КонтекстЯдра.Плагин(""ПостроительДереваТестов""); + ДеревоТестов = Неопределено; + + // TODO: Поддержать цикл по нескольким файлам в Пути + ФайлОбработки = Новый Файл(СтрПолучитьСтроку(Путь, 1)); + + Если ДеревоТестов = Неопределено Тогда + ДеревоТестов = ПостроительДереваТестов.СоздатьКонтейнер(ФайлОбработки.Путь); + КонецЕсли; + + ПараметрыОповещения = Новый Структура; + ПараметрыОповещения.Вставить(""ФайлОбработки"", ФайлОбработки); + ПараметрыОповещения.Вставить(""ПостроительДереваТестов"", ПостроительДереваТестов); + ПараметрыОповещения.Вставить(""ДеревоТестов"", ДеревоТестов); + ПараметрыОповещения.Вставить(""ОбработчикОповещения"", ОбработчикОповещения); + Обработчик = Новый ОписаниеОповещения(""ЗагрузкаВнешнейОбработкиЗавершение"", ЭтаФорма, ПараметрыОповещения); + КонтекстЯдра.НачатьПодключениеВнешнейбработки(Обработчик, ФайлОбработки); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаВнешнейОбработкиЗавершение(Знач Результат, Знач ДополнительныеПараметры) Экспорт + + ФайлОбработки = ДополнительныеПараметры.ФайлОбработки; + ПостроительДереваТестов = ДополнительныеПараметры.ПостроительДереваТестов; + ДеревоТестов = ДополнительныеПараметры.ДеревоТестов; + + КонтейнерССервернымиТестамиОбработки = ЗагрузитьФайлНаСервере(ФайлОбработки.ПолноеИмя); + КонтейнерСКлиентскимиТестамиОбработки = ЗагрузитьФайлНаКлиенте(ПостроительДереваТестов, ФайлОбработки); + Если КонтейнерСКлиентскимиТестамиОбработки.Строки.Количество() > 0 Тогда + КонтейнерССервернымиТестамиОбработки.Строки.Добавить(КонтейнерСКлиентскимиТестамиОбработки); + КонецЕсли; + Если КонтейнерССервернымиТестамиОбработки.Строки.Количество() > 0 Тогда + ДеревоТестов.Строки.Добавить(КонтейнерССервернымиТестамиОбработки); + КонецЕсли; + + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработчикОповещения, ДеревоТестов); + +КонецПроцедуры + + +#КонецОбласти + &НаКлиенте Функция Загрузить(КонтекстЯдра, Путь) Экспорт @@ -158,6 +277,11 @@ &НаКлиенте Процедура ПроверитьКорректностьФайла(Файл) + + Если ВыключитьСинхронныеПроверки() Тогда + Возврат; + КонецЕсли; + Если Не Файл.Существует() Тогда ВызватьИсключение ""Переданный файл не существует файл <"" + Файл.ПолноеИмя + "">""; КонецЕсли; @@ -166,6 +290,29 @@ КонецЕсли; КонецПроцедуры +&НаКлиенте +Функция ВыключитьСинхронныеПроверки() + + Если ВырубитьКЧертямСинхронныеПроверки = Неопределено Тогда + + ВырубитьКЧертямСинхронныеПроверки = ЗапрещеныСинхронныеВызовы(); + + КонецЕсли; + + Возврат ВырубитьКЧертямСинхронныеПроверки; + +КонецФункции + +&НаСервереБезКонтекста +Функция ЗапрещеныСинхронныеВызовы() + Если Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент = Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.НеИспользовать Тогда + Возврат Истина; + Иначе + Возврат Ложь; + КонецЕсли; +КонецФункции + + &НаСервере Функция ЗагрузитьФайлНаСервере(ПолныйПутьКОбработкеНаКлиенте) diff --git "a/src/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/und/versions" "b/src/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/und/versions" index 91305c2b..e8b1a4a0 100644 --- "a/src/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/und/versions" +++ "b/src/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/und/versions" @@ -1 +1 @@ -{1,9,"",5ca3ba7b-ac30-4dd5-add6-7122817caffe,"51efd65a-ed36-4be7-a563-89b34ebfa851",e2d653bc-3396-4cf7-9fc3-571baa412caf,"copyinfo",23e17dfa-5076-42c0-8c4d-85d59567480f,"d75f146d-5027-4604-80fd-3b704ddd86a8",99d14991-84a9-4821-8104-2cfd212270d9,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",279dce53-f8b7-4c88-a094-fd0760a7065c,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",23ef37aa-3c13-4464-aaf2-c5fafbe9c140,"root",ee4fcc67-2ba5-46ee-9386-c41f25c0cf20,"version",373b7d2e-bd4f-4e9b-94f0-ec84d69fdbd3,"versions",407b34f1-2f7e-484d-bce0-6f2378bf01b3} \ No newline at end of file +{1,9,"",e797a535-caa3-4cea-8166-e636b59f02f0,"51efd65a-ed36-4be7-a563-89b34ebfa851",423f24dd-0460-45d7-88ac-7843bcf8275c,"copyinfo",ffd7b6b9-1f43-4829-808e-a7e34d8aaf86,"d75f146d-5027-4604-80fd-3b704ddd86a8",464a3eaf-15fa-4211-b405-a5fab0750231,"d75f146d-5027-4604-80fd-3b704ddd86a8.0",a5087380-9e03-4c02-8290-e172ec03f594,"dfe532e1-d0ef-4008-afd4-214781ee4960.0",23ef37aa-3c13-4464-aaf2-c5fafbe9c140,"root",889d5525-5980-4553-a82c-45e1df7b3ad2,"version",9b237952-2ed4-4959-bdcf-b921d09f7809,"versions",c320bca4-c61c-42d8-adbb-236213705247} \ No newline at end of file diff --git "a/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 333c4654..bb9eb65c 100644 --- "a/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/xddTestRunner/Form/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -3,6 +3,10 @@ &НаКлиенте Перем ПодключенныеВнешниеОбработки; +&НаКлиенте +Перем мСинхронныйРежимРазрешен; + + // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -20,7 +24,13 @@ &НаКлиенте Процедура ПриОткрытии() + ЗагрузитьПлагины(); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаПлагиновЗавершение() Экспорт КэшироватьПеречисленияПлагинов(); СброситьПодключенныеВнешниеОбработки(); @@ -32,6 +42,23 @@ КонецЕсли; КонецПроцедуры +&НаКлиенте +Функция СинхронныйРежимРазрешен() + Если мСинхронныйРежимРазрешен = Неопределено Тогда + мСинхронныйРежимРазрешен = ОпределитьВозможностьСинхронныхВызовов(); + КонецЕсли; + + Возврат мСинхронныйРежимРазрешен; +КонецФункции + +&НаСервереБезКонтекста +Функция ОпределитьВозможностьСинхронныхВызовов() + + Запрет = Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент = Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.НеИспользовать; + Возврат Не Запрет; + +КонецФункции + &НаКлиенте Процедура ПриЗакрытии() @@ -173,40 +200,69 @@ Для Каждого Плагин Из Объект.Плагины Цикл КэшФормПлагинов.Вставить(Плагин.Ключ, Истина); КонецЦикла; + + ДобавитьКомандыЗагрузчиковНаФорме(); + ЗагрузкаПлагиновЗавершение(); + Иначе КаталогПлагинов = ПолучитьПутьКПлагинам(); - НайденныеФайлы = НайтиФайлы(КаталогПлагинов, "*.epf", Ложь); - ПомещаемыеФайлы = Новый Массив; - ИдентификаторыПлагинов = Новый Соответствие; - Для каждого ФайлОбработки Из НайденныеФайлы Цикл - - ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); - ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); - - ИмяПлагина = ФайлОбработки.ИмяБезРасширения; - ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); - - КонецЦикла; + ОбработчикПоискаКлиентскихПлагинов = Новый ОписаниеОповещения("ОбработчикПоискаКлиентскихПлагинов", ЭтаФорма); + НачатьПоискФайлов(ОбработчикПоискаКлиентскихПлагинов, КаталогПлагинов, "*.epf", Ложь); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикПоискаКлиентскихПлагинов(Знач НайденныеФайлы, Знач ДополнительныеПараметры) Экспорт + + ПомещаемыеФайлы = Новый Массив; + ИдентификаторыПлагинов = Новый Соответствие; + Для каждого ФайлОбработки Из НайденныеФайлы Цикл - ЗагруженныеФайлы = Новый Массив; - Если ПомещаемыеФайлы.Количество() Тогда - ПоместитьФайлы(ПомещаемыеФайлы, ЗагруженныеФайлы,,Ложь, ЭтаФорма.УникальныйИдентификатор); - КонецЕсли; + ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); + ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); - ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); + ИмяПлагина = ФайлОбработки.ИмяБезРасширения; + ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); - Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл - ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; - - ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; - Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); - КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); - - КонецЦикла; + КонецЦикла; + + Если ПомещаемыеФайлы.Количество() Тогда + ПараметрыЗавершения = Новый Структура("ИдентификаторыПлагинов", ИдентификаторыПлагинов); + НачатьПомещениеФайлов(Новый ОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения), + ПомещаемыеФайлы,,Ложь,ЭтаФорма.УникальныйИдентификатор); + Иначе + ПодключитьНайденныеКлиентскиеПлагиныНаСервере(Новый Массив, ИдентификаторыПлагинов); КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикПоискаКлиентскихПлагиновЗавершение(Знач ПомещенныеФайлы, Знач ДополнительныеПараметры) Экспорт + + ПодключитьНайденныеКлиентскиеПлагиныНаСервере(ПомещенныеФайлы, ДополнительныеПараметры.ИдентификаторыПлагинов); + +КонецПроцедуры + +&НаКлиенте +Процедура ПодключитьНайденныеКлиентскиеПлагиныНаСервере(Знач ЗагруженныеФайлы, Знач ИдентификаторыПлагинов) + + Перем ЗагруженныйФайл, ИмяПлагина, ОписаниеПлагина, ОписанияПлагинов; + + ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); + + Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл + ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; - ДобавитьКомандыЗагрузчиковНаФорме(); + ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; + Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); + КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); + + КонецЦикла; + ДобавитьКомандыЗагрузчиковНаФорме(); + ЗагрузкаПлагиновЗавершение(); + КонецПроцедуры &НаСервере @@ -816,26 +872,199 @@ // { Пакетный запуск &НаКлиенте Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) - Перем РезультатыТестирования; ПарсерКоманднойСтроки = ЭтаФорма.Плагин("ПарсерКоманднойСтроки"); ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); - Параметры_xddRun = Неопределено; - Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, Параметры_xddRun) Тогда - РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Параметры_xddRun); + НастройкиШагов = Новый Структура; + НастройкиШагов.Вставить("Параметры_xddRun"); + НастройкиШагов.Вставить("Параметры_xddReport"); + НастройкиШагов.Вставить("xddShutdown"); + + ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, НастройкиШагов.Параметры_xddRun); + ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, НастройкиШагов.Параметры_xddReport); + НастройкиШагов.xddShutdown = ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown); + + Если СинхронныйРежимРазрешен() Тогда + ВыполнитьПакетныйЗапускСинхронно(НастройкиШагов); + Иначе + ВыполнитьПакетныйЗапускАсинхронно(НастройкиШагов) + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьПакетныйЗапускСинхронно(Знач ПараметрыЗапуска) + + Перем РезультатыТестирования; + + Если ПараметрыЗапуска.Параметры_xddRun <> Неопределено Тогда + РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(ПараметрыЗапуска.Параметры_xddRun); КонецЕсли; - Параметры_xddReport = Неопределено; - Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, Параметры_xddReport) Тогда - СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Параметры_xddReport, РезультатыТестирования); + Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Параметры_xddReport <> Неопределено Тогда + СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(ПараметрыЗапуска.Параметры_xddReport, РезультатыТестирования); + КонецЕсли; + + Если ПараметрыЗапуска.xddShutdown = Истина Тогда + ЗавершитьРаботуСистемы(Ложь); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьПакетныйЗапускАсинхронно(Знач ПараметрыЗапуска) + + Состояние = Новый Структура; + Состояние.Вставить("НастройкиШагов", ПараметрыЗапуска); + Состояние.Вставить("СледующийШаг"); + Состояние.Вставить("ТекущийШаг"); + + Если ПараметрыЗапуска.Параметры_xddRun <> Неопределено Тогда + Состояние.СледующийШаг = "ЗагрузитьТесты"; + ИначеЕсли ПараметрЗапуска.xddShutdown = Истина Тогда + Состояние.СледующийШаг = "ЗавершитьРаботу"; + Иначе + ВызватьИсключение НСтр("ru = 'xUnit: Я не знаю что мне делать. Нет приказа на выполнение тестов или закрытие.'"); КонецЕсли; - Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown) Тогда + ВыполнитьШагПакетногоЗапуска(, Состояние); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьШагПакетногоЗапуска(Знач РезультатПредыдущегоШага, Знач Состояние) Экспорт + + ОбработкаОповещения = Новый ОписаниеОповещения("ВыполнитьШагПакетногоЗапуска", ЭтаФорма, Состояние, "ВыполнитьШагПакетногоЗапускаИсключение", ЭтаФорма); + + Состояние.ТекущийШаг = Состояние.СледующийШаг; + Если Состояние.СледующийШаг = "ЗагрузитьТесты" Тогда + НачатьЗагрузкуТестовПакетныйРежим(ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = "ЗапуститьТесты" Тогда + НачатьВыполнениеТестов(РезультатПредыдущегоШага, ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = "СоставитьОтчет" Тогда + СоставитьОтчетОТестировании(РезультатПредыдущегоШага, ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = "ЗавершитьРаботу" Тогда ЗавершитьРаботуСистемы(Ложь); КонецЕсли; + +КонецПроцедуры // ВыполнитьШагПакетногоЗапуска() + +&НаКлиенте +Процедура ВыполнитьШагПакетногоЗапускаИсключение(Знач ИнформацияОбОшибке, СтандартнаяОбработка, Знач Состояние) Экспорт + + СтандартнаяОбработка = Ложь; + + ТекстОшибки = "Ошибка при асинхронном режиме пакетного запуска: + |Состояние: + | Текущий шаг: %1 + | Следующий шаг:%2 + | Исключение: %3"; + + // для унылых ретроградов, применяющих < 8.3.6 - придется без СтрШаблон + ТекстОшибки = СтрЗаменить(ТекстОшибки, "%1", Состояние.ТекущийШаг); + ТекстОшибки = СтрЗаменить(ТекстОшибки, "%2", Состояние.СледующийШаг); + ТекстОшибки = СтрЗаменить(ТекстОшибки, "%3", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + + ЗафиксироватьОшибкуВЖурналеРегистрации("xUnitFor1C.АсинхронныйПакетныйЗапуск", ТекстОшибки); + Сообщить(ТекстОшибки, СтатусСообщения.ОченьВажное); +КонецПроцедуры + +&НаКлиенте +Процедура НачатьЗагрузкуТестовПакетныйРежим(Знач ОбработкаОповещения); + Параметры_xddRun = ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Параметры_xddRun; + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Загрузчик = ЭтаФорма.Плагин(ИдентификаторЗагрузчика); + + ПутьКТестам = Параметры_xddRun[1]; + + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = "ЗапуститьТесты"; + ОбработкаОповещения.ДополнительныеПараметры.Вставить("Загрузчик", Загрузчик); + Загрузчик.НачатьЗагрузку(ОбработкаОповещения, ЭтаФорма, ПутьКТестам); +КонецПроцедуры + +&НаКлиенте +Процедура НачатьВыполнениеТестов(ДеревоТестовОтЗагрузчика, ОбработкаОповещения) + + Загрузчик = ОбработкаОповещения.ДополнительныеПараметры.Загрузчик; + РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика); + + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = "СоставитьОтчет"; + ВыполнитьОбработкуОповещения(ОбработкаОповещения, РезультатыТестирования); + +КонецПроцедуры + +&НаКлиенте +Процедура СоставитьОтчетОТестировании(РезультатыТестирования, ОбработкаОповещения) + + Параметры_xddReport = ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Параметры_xddReport; + Если Не ЗначениеЗаполнено(РезультатыТестирования) или Параметры_xddReport = Неопределено Тогда + // Отчет не нужен + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = "ЗавершитьРаботу"; + ВыполнитьОбработкуОповещения(ОбработкаОповещения, Неопределено); + Возврат; + КонецЕсли; + + Если Параметры_xddReport.Количество() > 0 И ТипЗнч(Параметры_xddReport[0]) <> Тип("ФиксированныйМассив") Тогда + НовыйМассивПараметров = Новый Массив; + НовыйМассивПараметров.Добавить(Параметры_xddReport); + Параметры_xddReport = НовыйМассивПараметров; + КонецЕсли; + + ЭкспортируемыеОтчеты = Новый Массив; + + Для Каждого ОчередныеПараметры Из Параметры_xddReport Цикл + + ИдентификаторГенератораОтчета = ОчередныеПараметры[0]; + ГенераторОтчета = ЭтаФорма.Плагин(ИдентификаторГенератораОтчета); + Отчет = ГенераторОтчета.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); + ПутьКОтчету = ОчередныеПараметры[1]; + + СтрокаЭкспорта = СтрокаЭкспортируемыхОтчетов(); + СтрокаЭкспорта.Отчет = Отчет; + СтрокаЭкспорта.Путь = ПутьКОтчету; + СтрокаЭкспорта.ГенераторОтчета = ГенераторОтчета; + + ЭкспортируемыеОтчеты.Добавить(СтрокаЭкспорта); + + КонецЦикла; + + ПараметрыДиспетчера = Новый Структура; + ПараметрыДиспетчера.Вставить("ИндексОтчета", 0); + ПараметрыДиспетчера.Вставить("СписокОтчетов", ЭкспортируемыеОтчеты); + ПараметрыДиспетчера.Вставить("Финализация", ОбработкаОповещения); + + ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим(, ПараметрыДиспетчера); + +КонецПроцедуры + +&НаКлиенте +Функция СтрокаЭкспортируемыхОтчетов() + Возврат Новый Структура("Отчет,Путь,ГенераторОтчета"); +КонецФункции + + +&НаКлиенте +Процедура ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим(Знач РезультатЭкспорта, Знач ПараметрыДиспетчера) Экспорт + + СписокОтчетов = ПараметрыДиспетчера.СписокОтчетов; + Если СписокОтчетов.Количество() > ПараметрыДиспетчера.ИндексОтчета Тогда + СтрокаЭкспорта = СписокОтчетов[ПараметрыДиспетчера.ИндексОтчета]; + ГенераторОтчета = СтрокаЭкспорта.генераторОтчета; + + ПараметрыДиспетчера.ИндексОтчета = ПараметрыДиспетчера.ИндексОтчета + 1; + ОбработчикЭкспорта = Новый ОписаниеОповещения("ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим", ЭтаФорма, ПараметрыДиспетчера, + "ВыполнитьШагПакетногоЗапускаИсключение", ЭтаФорма); + ГенераторОтчета.НачатьЭкспорт(ОбработчикЭкспорта, СтрокаЭкспорта.Отчет, СтрокаЭкспорта.Путь); + Иначе + ОбработкаОповещения = ПараметрыДиспетчера.Финализация; + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = "ЗавершитьРаботу"; + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + КонецПроцедуры + &НаКлиенте Функция ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Знач Параметры_xddRun) Попытка @@ -935,7 +1164,7 @@ // { Внешние интерфейсные инструменты &НаКлиенте -Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = "", Знач ИмяФормы = "Форма") +Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = "", Знач ИмяФормыИнструмента = "Форма") Перем АдресХранилища; // Для встроенного в состав конфигурации браузера тестов @@ -946,7 +1175,7 @@ ИмяИнструмента = "ПреобразованиеЖурналаДействийПользователя"; КонецЕсли; ИмяИнструмента = ДополнитьИдентификаторПрефиксомПодсистемы(ИмяИнструмента, Объект.ИспользуемыйПрефиксПодсистемы); - ФормаИнструмента = ПолучитьФорму("Обработка." + ИмяИнструмента + "." + ИмяФормы); + ФормаИнструмента = ПолучитьФорму("Обработка." + ИмяИнструмента + "." + ИмяФормыИнструмента); ФормаИнструмента.Открыть(); ФормаИнструмента = Неопределено; @@ -958,17 +1187,30 @@ КонецЕсли; ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + ".epf"; ФайлИнструмента = Новый Файл(ПутьИнструмента); - Если Не ФайлИнструмента.Существует() Тогда - Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); - Возврат; - КонецЕсли; - - Оповещение = Новый ОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы)); - НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + ФайлИнструмента.НачатьПроверкуСуществования(Новый ОписаниеОповещения("ОткрытьИнструментЗавершение1", ЭтаФорма, Новый Структура("АдресХранилища, ИмяИнструмента, ИмяФормыИнструмента, ФайлИнструмента", АдресХранилища, ИмяИнструмента, ИмяФормыИнструмента, ФайлИнструмента))); КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура ОткрытьИнструментЗавершение1(Существует, ДополнительныеПараметры) Экспорт + + АдресХранилища = ДополнительныеПараметры.АдресХранилища; + ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; + ИмяФормыИнструмента = ДополнительныеПараметры.ИмяФормыИнструмента; + ФайлИнструмента = ДополнительныеПараметры.ФайлИнструмента; + + + Если Не Существует Тогда + Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормыИнструмента)); + НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + +КонецПроцедуры + &НаКлиенте Функция ПолучитьПутьКПлагинам() // Для встроенного в состав конфигурации браузера тестов @@ -1002,6 +1244,66 @@ КонецЕсли; КонецПроцедуры +#Область АсинхронныйAPI + +&НаКлиенте +Процедура НачатьПодключениеВнешнейбработки(Знач ОбработкаОповещения, Знач ФайлОбработки) Экспорт + + Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда + ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = ".erf"); + + ПараметрыОповещения = Новый Структура; + ПараметрыОповещения.Вставить("ФайлОбработки", ФайлОбработки); + ПараметрыОповещения.Вставить("ЭтоОтчет", ЭтоОтчет); + ПараметрыОповещения.Вставить("ОбработкаЗавершения", ОбработкаОповещения); + + АдресХранилища = ""; + Оп = Новый ОписаниеОповещения("ПодключитьВнешнююОбработкуЗавершение", ЭтаФорма, ПараметрыОповещения); + НачатьПомещениеФайла(Оп, АдресХранилища, ФайлОбработки.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + Иначе + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьЗагрузкуТестов(Знач ОбработкаОповещения, Знач ИдентификаторВыбранногоЗагрузчика, Знач Путь) Экспорт + + ИнициализироватьИндикаторВыполнения(); + + ЭтаФорма.ИдентификаторЗагрузчика = ИдентификаторВыбранногоЗагрузчика; + ФормаЗагрузчика = Плагин(ИдентификаторВыбранногоЗагрузчика); + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить("ОбработкаОповещения", ОбработкаОповещения); + ДополнительныеПараметры.Вставить("ИдентификаторВыбранногоЗагрузчика", ИдентификаторВыбранногоЗагрузчика); + ДополнительныеПараметры.Вставить("Путь", Путь); + Обработчик = Новый ОписаниеОповещения("ЗагрузкаТестовЗавершение", ЭтаФорма, ДополнительныеПараметры); + ФормаЗагрузчика.НачатьЗагрузку(Обработчик, ЭтаФорма, Путь); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаТестовЗавершение(Знач ДеревоОтЗагрузчика, Знач ДополнительныеПараметры) Экспорт + + ЭтаФорма.ДеревоОтЗагрузчика = ДеревоОтЗагрузчика; + ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); + ЭлементыДереваТестов.Очистить(); + ЗаполнитьДеревоТестов(ЭтаФорма.ДеревоТестов, ДеревоОтЗагрузчика); + + КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); + РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); + + СохранитьВИсториюЗагрузкиТестовНаСервере(ДополнительныеПараметры.ИдентификаторВыбранногоЗагрузчика, ДополнительныеПараметры.Путь); + ОбновитьКомандыИсторииЗагрузкиТестов(); + + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаОповещения); + +КонецПроцедуры + + +#КонецОбласти + &НаСервереБезКонтекста Процедура ПодключитьФайлОбработкиНаСервере(Знач АдресХранилища, Знач ИдентификаторОбработки, ЭтоОтчет = Ложь) Если ЭтоОтчет = Истина Тогда @@ -1203,13 +1505,16 @@ &НаКлиенте Процедура ПодключитьВнешнююОбработкуЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - ФайлОбработки = ДополнительныеПараметры.ФайлОбработки; ЭтоОтчет = ДополнительныеПараметры.ЭтоОтчет; ПодключитьФайлОбработкиНаСервере(Адрес, ФайлОбработки.ИмяБезРасширения, ЭтоОтчет); ПодключенныеВнешниеОбработки.Вставить(ФайлОбработки.ИмяБезРасширения, Истина); + + Если ДополнительныеПараметры.Свойство("ОбработкаЗавершения") Тогда + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаЗавершения, Результат); + КонецЕсли; КонецПроцедуры @@ -1243,4 +1548,4 @@ КонецПроцедуры -// } Вспомогательные методы \ No newline at end of file +// } Вспомогательные методы diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" index 915e824b..760d4c9a 100644 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" +++ "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/form" @@ -5,7 +5,7 @@ {09ccdc77-ea1a-4a6d-ab1c-3435eada2433, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -30,31 +30,29 @@ }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},25,0,1, +{1,0},0,0,100,0},25,0,1, {0,4,1},0,2, {0,4,3}, {0,11,3},0,0, -{4,1, +{7,1, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},0,1, +{0},"",-1,-1,1,0,""},100,0,0},0,1, {1,2, {4, {1,1, {"ru","Тестирование"} }, -{4,0, +{7,0, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},-1,1,1,"Тестирование",1, +{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Тестирование",1, {3,4, {0} }, @@ -66,14 +64,13 @@ {1,1, {"ru","Настройки"} }, -{4,0, +{7,0, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},-1,1,1,"Настройки",1, +{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Настройки",1, {3,4, {0} }, @@ -99,7 +96,7 @@ {09ccdc77-ea1a-4a6d-ab1c-3435eada2433,4, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -124,34 +121,32 @@ }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},25,0,2, +{1,0},0,0,100,0},25,0,2, {0,5,1}, {0,7,1},0,4, {0,5,3}, {0,7,3}, {0,10,3}, {0,36,3},0,0, -{4,1, +{7,1, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},0,1, +{0},"",-1,-1,1,0,""},100,0,0},0,1, {1,1, {4, {1,1, {"#","Тесты"} }, -{4,0, +{7,0, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},-1,1,1,"Тесты",1, +{0},"",-1,-1,1,0,""},100,2,0},-1,1,1,"Тесты",1, {3,4, {0} }, @@ -203,7 +198,7 @@ {"#",e603c0f2-92fb-4d47-8f38-a44a381cf235} }, { -{13,1, +{15,1, {3,4, {0} }, @@ -228,8 +223,8 @@ }, {3,1, {-18},0,0,0}, -{1,0},0,0}, -{17,117644833, +{1,0},0,0,100,0}, +{18,117644833, {3,4, {0} }, @@ -259,7 +254,7 @@ {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Колонка1"} }, @@ -339,12 +334,12 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs }, {7,3,0,1,100}, {7,3,0,1,100}, -{7,3,0,1,100},1,0,0,4,0,"Состояние", +{7,3,0,1,100},1,0,0,0,0,"Состояние", {},4,0, {1,0}, {"Pattern", {"S"} -},0,1,00000000-0000-0000-0000-000000000000}, +},0,1,00000000-0000-0000-0000-000000000000,0,0,0}, {-1}, {-1}, {-1} @@ -353,7 +348,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Имя"} }, @@ -441,19 +436,18 @@ D/Nbu3St+stsWd09XoZueNV+vF7+v5/tv6odfeWMgg1nAAAAAElFTkSuQmCC} }, {7,3,0,1,100}, {7,3,0,1,100}, -{7,3,0,1,100},1,0,0,4,0,"Имя", +{7,3,0,1,100},1,0,0,0,0,"Имя", {},44,0, {1,0}, {"Pattern", {"S"} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVDBDcIwDIQvUpfIO5Fip23iLZAQAxTolwfqr8pk -PBgJsQGJ3ZbSCpqozt3Z8Tmv7Ya/5/3Rky52vdo3XdferorBQcViF/NRNjgNGTld -5mBHdYm9dtqmVLA2pgNnuBwM4q+aNZYKvyQQPgy7MRByl7SYBc1N0w+JaRBxWHNU -ijl1VHGKSn0lJXrIsqwZyDvrSor+qNMNa3NzQ7X3HqEap+KZqPF16S5ogFoyZdWi -CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} -}, +{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy +Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm +h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq +RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs +WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0}, {-1}, {-1}, {-1} @@ -462,7 +456,7 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Кол-во"} }, @@ -494,19 +488,18 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} }, {7,3,0,1,100}, {7,3,0,1,100}, -{7,3,0,1,100},1,0,0,4,0,"КоличествоТестов", +{7,3,0,1,100},1,0,0,0,0,"КоличествоТестов", {},10,1, {1,0}, {"Pattern", {"S"} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVDBDcIwDIQvUpfIO5Fip23iLZAQAxTolwfqr8pk -PBgJsQGJ3ZbSCpqozt3Z8Tmv7Ya/5/3Rky52vdo3XdferorBQcViF/NRNjgNGTld -5mBHdYm9dtqmVLA2pgNnuBwM4q+aNZYKvyQQPgy7MRByl7SYBc1N0w+JaRBxWHNU -ijl1VHGKSn0lJXrIsqwZyDvrSor+qNMNa3NzQ7X3HqEap+KZqPF16S5ogFoyZdWi -CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} -}, +{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy +Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm +h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq +RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs +WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0}, {-1}, {-1}, {-1} @@ -515,7 +508,7 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Время выполнения"} }, @@ -556,12 +549,11 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} {"N",10,3,1} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNfU87DsIwDIW1Ui+ROZHipG3iSyAWDlCgKwPqVuVk -DByJmQ3baQu0giSy4+fPe35uN3Iet/uAuiwGtW/7vrtelAQ7pcFqryGVRWIkPyCE -I68rdnbKLuNArZZKwdpEH6nw7Ixzv3rWce4IS8DBGxE1BiKz0BUUtJCScZjhrwvZ -ynZEKerUQaXZK8XK53qCxyorOQP8OK9y05/sPGGt7lNRE0JwUE9ryVLYhqbyZ2cA -OzRV3TkTI3rjoj2eELBuMWT2pX6mFjoaN04USshSsoD0Ag==},0} -}, +{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDATGSnwisyPZSdskn0AsPKBAVwbEhvIy +Bp7EF4jtUlALJJEc+87xXZarhazH7X5NsK6uZttdLv35ZCTZGCAED5TXVeaKHmqA +OPNQc8AXOs1DacVCJcRcLsLwHKxzv3rmuXaEacHRuyJqLEWeUrZUCVDTMr0YAI8w +3zQw2GMZLBrNzuQxGjOyUOGBhYJZ4sO40aY/6PjCF40fitoQguMfftkTc6kLbe2P +zlLqk62b3tkYk7cu4v6QKDVdCjp/6gDVg3zo8KIMJRWjEvIT},0},0,0,0}, {-1}, {-1}, {-1} @@ -570,7 +562,7 @@ OzRV3TkTI3rjoj2eELBuMWT2pX6mFjoaN04USshSsoD0Ag==},0} {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Путь"} }, @@ -602,19 +594,18 @@ OzRV3TkTI3rjoj2eELBuMWT2pX6mFjoaN04USshSsoD0Ag==},0} }, {7,3,0,1,100}, {7,3,0,1,100}, -{7,3,0,1,100},1,0,0,4,0,"Путь", +{7,3,0,1,100},1,0,0,0,0,"Путь", {},15,0, {1,0}, {"Pattern", {"S"} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVBRDsIgDNVfk12Cb0ho2Qa9hYnxAFP364fZ38LJ -/PBIxhsI7TbnFqWE0vda+spru+H1vD960sWuV/um69rbVXFwULHYxXyVDU5Djpwu -s7Mju4y9dtqmVLA2pgtnuOwM4q+adSwVfgkgfBBWYyDkLskYBc1N04HEMAg5GMyQ -UsSpo4qTV+qrJMFDlmXOQN6ZV1L0h51eWIubC6q99wjVOBXPRI2vS3dBA9SSKasW -TQjkDAZ7OhNQ1ZCX7kv9Vibgfxxe5JYgUkRAfAM=},0} -}, +{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVA7DsIwDIUVqZfI7Eh20jbJLZAQByjQlQF1q3Iy +Bo7EzEZi9wPlk1hy3rMdP/uxXvG5X299gGLTq23Tde3lrBjsVCw2MT/FqALKyEKZ +HY7RJXZgAVMqIcb04AybnTbmV80nlgq3JAzNDKvR5HOXdJklQIGpO1AEi4IkBWY0 +MqVIVHsVJ6/UW0mihyzkmKZsOa6k6E90+uGLxBdBtXPO5AWP0/FsoXF1aU9GU2iD +LqvWaO+D1cbj4RgoVE1w0n85AcoMvM/hR25KIkYkxCc=},0},0,0,0}, {-1}, {-1}, {-1} @@ -623,7 +614,7 @@ TQjkDAZ7OhNQ1ZCX7kv9Vibgfxxe5JYgUkRAfAM=},0} {737535a4-21e6-4971-8513-3e3173a9fedd, {8, {8, -{16, +{17, {1,1, {"ru","Ключ"} }, @@ -655,25 +646,24 @@ TQjkDAZ7OhNQ1ZCX7kv9Vibgfxxe5JYgUkRAfAM=},0} }, {7,3,0,1,100}, {7,3,0,1,100}, -{7,3,0,1,100},1,0,0,4,0,"Ключ", +{7,3,0,1,100},1,0,0,0,0,"Ключ", {},15,0, {1,0}, {"Pattern", {"S"} },0,1,381ed624-9217-4e63-85db-c4c3cb87daae, { -{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVDBDcIwDIQvUpfIO5Fip23iLZAQAxTolwfqr8pk -PBgJsQGJ3ZbSCpqozt3Z8Tmv7Ya/5/3Rky52vdo3XdferorBQcViF/NRNjgNGTld -5mBHdYm9dtqmVLA2pgNnuBwM4q+aNZYKvyQQPgy7MRByl7SYBc1N0w+JaRBxWHNU -ijl1VHGKSn0lJXrIsqwZyDvrSor+qNMNa3NzQ7X3HqEap+KZqPF16S5ogFoyZdWi -CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} -}, +{#base64:AgFTS2/0iI3BTqDV67a9oKcNfVAxDsIwDIQVqZ/I7Eh20jbJL5AQDyjQlQF1q/Iy +Bp7EzEZitwVaILHknH2Oz36sV3zu11sfoNj0att0XXs5KwY7FYtNzE8xqoAyslBm +h2N2jh1YwEQlxJgezLDZaWN+1SyxVLh5wNArwmo0+dwlXY4SoMDUHSiCRUFCgSUq +RaLaqzh5pT5IKTywkHOasuW8kqI/2emHLxLfBNXOOZMXPE7Hs4XG1aU9GU2hDbqs +WqO9D1Ybj4djoFA1wUn/+QQoM/A+hx+5KYkYkRCf},0},0,0,0}, {-1}, {-1}, {-1} },"Ключ","","",0} } -},0,0,0,0,0,0,0} +},0,0,0,0,0,0,0,100,1,2} }, {9ab3fa70-d2e0-4e44-baac-730682272ed2, {4,1,1, @@ -713,7 +703,7 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} {e69bf21d-97b2-4f37-86db-675aea9ec2cb,10, {2, { -{13,1, +{15,1, {3,4, {0} }, @@ -738,9 +728,9 @@ CYGcwWBPZwKqGvLSfenfygT8jsON3BLEihiIbw==},0} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},9,2,0,0,1,1, +{1,0},0,0,100,0},9,2,0,0,1,1, {5,d4746b64-45af-49b5-a280-c2206705887b,9,1,1, -{6,1662ba3b-9df1-43a5-ba22-a12bd4caf010,1,e1692cc2-605b-4535-84dd-28440238746c, +{6,d0f0ebe5-fe17-4b64-bd88-9875be9af05d,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаВыполнитьВыделенныеТестыНажатие", {1,"КнопкаВыполнитьВыделенныеТестыНажатие", {1,1, @@ -846,7 +836,7 @@ gg==} },0,""}, {0,118,8} },1, -{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,1662ba3b-9df1-43a5-ba22-a12bd4caf010, +{5,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0,1,d0f0ebe5-fe17-4b64-bd88-9875be9af05d, {8,"ВыполнитьТест",0,4, {1,2, {"#","Выполнить тест"}, @@ -893,7 +883,7 @@ gg==} {b1db1f86-abbb-4cf0-8852-fe6ae21650c2,11, {0, { -{13,1, +{15,1, {3,3, {-7} }, @@ -918,7 +908,7 @@ gg==} }, {3,0, {0},1,1,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},3,0,100,1,0,1,2} +{1,0},0,0,100,0},3,0,100,1,0,1,2} }, {8,8,522,850,544,1, {0, @@ -952,7 +942,7 @@ gg==} {6ff79819-710e-4145-97cd-1618da79e3e2,12, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -977,7 +967,7 @@ gg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Выполнить все тесты"}, {"ru","Выполнить все тесты (F7)"} @@ -1071,7 +1061,7 @@ bPzx/OXuKnHK9GukM/cUMKZWKzppNuH0T1e8z+hA5N8sJCuN4+Wz4LnVy1bpFWdu Fq6oA8zcLFzz9mOr9ALw+4nHKwOsr+XrAP9LgL8GAIsWe/XplG1LAAAAAElFTkSu QmCC} },0,""}, -{0,118,0},0,0,0,0,0}, +{0,118,0},0,0,0,0,0,1}, {1, {0,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаВыполнитьВсеТестыНажатие", @@ -1126,7 +1116,7 @@ QmCC} {6ff79819-710e-4145-97cd-1618da79e3e2,13, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -1151,7 +1141,7 @@ QmCC} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Загрузить тесты"}, {"ru","Загрузить тесты"} @@ -1192,14 +1182,9 @@ RU5ErkJggg==} },0,""}, {0,0,0},0,2, {5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,27,1,1, -{6,2ab9a68d-c7e1-4ab8-85d6-3d2af7b5e675,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{6,392f0291-3c1c-40d1-b867-6411f98b47f9,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, {1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26},0},2, -{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26,1,0, -{0,0, -{0} -} -}, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,1,2ab9a68d-c7e1-4ab8-85d6-3d2af7b5e675, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,1,392f0291-3c1c-40d1-b867-6411f98b47f9, {8,"ИсторияЗагрузкиТестов",0,1, {1,1, {"ru","История загрузки тестов"} @@ -1207,8 +1192,13 @@ RU5ErkJggg==} {-1,0, {1,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,20,0} } +}, +{5,4a024427-3a7c-4cdb-b06d-ea9b500fdeda,26,1,0, +{0,0, +{0} +} } -},0,0,0}, +},0,0,0,1}, {1, {0,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаЗагрузитьТестыНажатие", @@ -1263,7 +1253,7 @@ RU5ErkJggg==} {6ff79819-710e-4145-97cd-1618da79e3e2,21, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -1288,7 +1278,7 @@ RU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Перезагрузить"}, {"ru","Перезагрузить"} @@ -1327,7 +1317,7 @@ AAAASUVORK5CYII=} },0,""}, {0,0,0},0,2, {5,41c23139-b710-4b93-a93e-1a3fe9843cfe,5,1,3, -{6,c10ce38b-7efa-4450-a886-643bc37b0747,1,e1692cc2-605b-4535-84dd-28440238746c, +{6,c78841fb-36b0-4ffd-b776-940107c51838,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"ПерезагрузитьПоследниеТестыПоИстории", {1,"ПерезагрузитьПоследниеТестыПоИстории", {1,1, @@ -1383,9 +1373,7 @@ fpcIxAUgkUoIHsoxHlpxsReNeI9EIrDkX2QLIpCML+Wkf5z+LcAAUD/gDNueXkgA AAAASUVORK5CYII=} },0,""} }, -{6,260e1d12-160e-4cee-9d88-0a994a6eacc7,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, -{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0}, -{6,94874a36-2f59-4c5e-8bfc-daeb39720754,1,e1692cc2-605b-4535-84dd-28440238746c, +{6,a3dbf513-889f-4251-af06-88bc628367e0,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаПерезагрузитьПерезагрузитьБраузерТестирования", {1,"КнопкаПерезагрузитьПерезагрузитьБраузерТестирования", {1,1, @@ -1401,25 +1389,27 @@ AAAASUVORK5CYII=} {0},"",-1,-1,1,0,""}, {0,0,0} } -},0},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,c10ce38b-7efa-4450-a886-643bc37b0747, +},0}, +{6,bc51b747-a6c2-4def-823a-b0bd8d59ae81,1,abde0c9a-18a6-4e0c-bbaa-af26b911b3e6, +{1,9d0a2e40-b978-11d4-84b6-008048da06df,0},0},1, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,c78841fb-36b0-4ffd-b776-940107c51838, {8,"ПерезагрузитьТесты",0,1, {1,1, {"ru","Перезагрузить тесты"} -},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},260e1d12-160e-4cee-9d88-0a994a6eacc7, +},1,41c23139-b710-4b93-a93e-1a3fe9843cfe,1,1e2,0,0,1,0,0,0,0},bc51b747-a6c2-4def-823a-b0bd8d59ae81, {8,"Разделитель",0,1, {1,1, {"ru","Действие"} -},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},94874a36-2f59-4c5e-8bfc-daeb39720754, +},0,41c23139-b710-4b93-a93e-1a3fe9843cfe,2,1e2,2,0,1,0,0,0,0},a3dbf513-889f-4251-af06-88bc628367e0, {8,"ПерезагрузитьБраузерТестирования",0,1, {1,1, -{"ru","Перезагрузить браузер тестирования"} +{"#","Перезагрузить браузер тестирования"} },0,41c23139-b710-4b93-a93e-1a3fe9843cfe,3,1e2,0,0,1,0,0,0,0}, {-1,0, {0} } } -},0,0,0}, +},0,0,0,1}, {1, {0,e1692cc2-605b-4535-84dd-28440238746c, {3,"ПерезагрузитьПоследниеТестыПоИстории", @@ -1474,7 +1464,7 @@ AAAASUVORK5CYII=} {6ff79819-710e-4145-97cd-1618da79e3e2,23, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -1499,7 +1489,7 @@ AAAASUVORK5CYII=} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Назад"}, {"ru","Назад"} @@ -1555,7 +1545,7 @@ b++Zz4O/yC8XIkCZ0qqkMqLZ5gSybNPsMQeglNeyNjfAjtAQn/Z1ccL2IQCLVPUy 7W/TNusqExOm2OSKTeQE3EAO4LXbHMB1tQgml0/YpBag24RJuz/VkoBh940p4paw hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} },0,""}, -{0,0,0},0,0,0,0,0}, +{0,0,0},0,0,0,0,0,1}, {0} }, {8,8,8,116,37,1, @@ -1592,7 +1582,7 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} {1, { { -{13,1, +{15,1, {3,4, {0} }, @@ -1617,11 +1607,11 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},5, +{1,0},0,0,100,0},6, {1,2, {"#","Автоматически перезагружать тесты перед повторным выполнением"}, {"ru","Автоматически перезагружать тесты перед повторным выполнением"} -},1,0,1,0},3,0,0,0,0}, +},1,0,1,0,100,1},4,0,0,0,0,0}, {0} }, {8,12,89,507,104,1, @@ -1657,7 +1647,7 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} {0fc7e20d-f241-460c-bdf4-5ad88e5474a5,25, {3, { -{13,1, +{15,1, {3,4, {-7} }, @@ -1683,14 +1673,14 @@ hP8WfwNIdpwThSRjAwAAAABJRU5ErkJggg==} }, {3,0, {0},4,2,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},10, +{1,0},0,0,100,0},11, {1,2, {"#"," Настройки"}, {"ru","Настройки"} },4,1,0,0,0, {0,0,0},0, {1,0},1, -{4,4, +{7,4, {4,3, {0},"",-1,-1,0, { @@ -1799,8 +1789,7 @@ AABJRU5ErkJggg==} {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},4,0,0,0}, +{0},"",-1,-1,1,0,""},100,0,0},4,0,0,0,0,0,0,0}, {0} }, {8,12,47,507,75,1, @@ -1836,7 +1825,7 @@ AABJRU5ErkJggg==} {6ff79819-710e-4145-97cd-1618da79e3e2,26, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -1861,7 +1850,7 @@ AABJRU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Применить"}, {"ru","Применить"} @@ -1902,7 +1891,7 @@ A+4nj2teAsAY0wFEAUQC6YG0kJREKhLP3vUKCDZMABKAAMAD+YG8sGh4by4HEJhX AogBqAhAwqooc+wDKAIoBHNxnPOS38aClLSA3fviaEEFwpmXrUYgGcrUD83D4gAE jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} },0,""}, -{0,0,0},0,0,0,0,0}, +{0,0,0},0,0,0,0,0,1}, {0} }, {8,128,8,236,37,1, @@ -1939,7 +1928,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {1, { { -{13,1, +{15,1, {3,4, {0} }, @@ -1964,11 +1953,11 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},5, +{1,0},0,0,100,0},6, {1,2, {"#","Выводить информацию об успешном выполнении тестов"}, {"ru","Выводить информацию об успешном выполнении тестов"} -},1,0,1,0},3,0,0,0,0}, +},1,0,1,0,100,1},4,0,0,0,0,0}, {0} }, {8,12,109,507,124,1, @@ -2004,7 +1993,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {6ff79819-710e-4145-97cd-1618da79e3e2,35, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -2029,7 +2018,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Выполнить все тесты"}, {"ru","Внешние инструменты"} @@ -2038,7 +2027,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0},"",-1,-1,1,0,""}, {0,0,0},0,2, {5,28c47454-3a17-4ec8-b47f-d5008bf3ea41,5,1,3, -{6,87042b2b-8246-4d12-9f04-39a78f0b2bd0,1,e1692cc2-605b-4535-84dd-28440238746c, +{6,ae4520f8-2734-4f82-8a91-0bff51bbce59,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаИнструментыПоказатьГУИД", {1,"КнопкаИнструментыПоказатьГУИД", {1,1, @@ -2055,24 +2044,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0,0,0} } },0}, -{6,9d88eff9-cc62-4e4c-bad6-62f0a45b7653,1,e1692cc2-605b-4535-84dd-28440238746c, -{3,"КнопкаИнструментыКонвертерТестов", -{1,"КнопкаИнструментыКонвертерТестов", -{1,1, -{"ru","Конвертер тестов"} -}, -{1,1, -{"ru","Конвертер тестов"} -}, -{1,1, -{"ru","Конвертер тестов"} -}, -{4,0, -{0},"",-1,-1,1,0,""}, -{0,0,0} -} -},0}, -{6,d80819ff-6341-47d2-921b-b09a240f7e3a,1,e1692cc2-605b-4535-84dd-28440238746c, +{6,8b6111ce-ed9b-44be-a52e-9f998cd89bdd,1,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаИнструментыГенераторМакетовДанных", {1,"КнопкаИнструментыГенераторМакетовДанных", {1,1, @@ -2097,16 +2069,33 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} }, {4,1, {0,01ec9d9a-7497-4d88-b93f-066c633a4866},"",-1,-1,1,0,""} -},1, -{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,d80819ff-6341-47d2-921b-b09a240f7e3a, +}, +{6,4dcf3f82-015f-48ea-91db-05571c878b0c,1,e1692cc2-605b-4535-84dd-28440238746c, +{3,"КнопкаИнструментыКонвертерТестов", +{1,"КнопкаИнструментыКонвертерТестов", +{1,1, +{"ru","Конвертер тестов"} +}, +{1,1, +{"ru","Конвертер тестов"} +}, +{1,1, +{"ru","Конвертер тестов"} +}, +{4,0, +{0},"",-1,-1,1,0,""}, +{0,0,0} +} +},0},1, +{5,31946946-0a9b-40a2-95cf-82f200778341,0,0,3,8b6111ce-ed9b-44be-a52e-9f998cd89bdd, {8,"ГенераторМакетовДанных",0,1, {1,1, -{"ru","Генератор макетов данных"} -},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},87042b2b-8246-4d12-9f04-39a78f0b2bd0, +{"#","Генератор макетов данных"} +},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,1,1e2,0,0,1,0,0,0,0},ae4520f8-2734-4f82-8a91-0bff51bbce59, {8,"ПоказатьГУИД",0,1, {1,1, -{"ru","Показать ГУИД"} -},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},9d88eff9-cc62-4e4c-bad6-62f0a45b7653, +{"#","Показать ГУИД"} +},0,28c47454-3a17-4ec8-b47f-d5008bf3ea41,2,1e2,0,0,1,0,0,0,0},4dcf3f82-015f-48ea-91db-05571c878b0c, {8,"КонвертерТестов",0,1, {1,1, {"ru","Конвертер тестов в формат 4-й версии"} @@ -2115,7 +2104,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0} } } -},0,0,0}, +},0,0,0,1}, {0} }, {8,709,8,850,38,1, @@ -2151,7 +2140,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {6ff79819-710e-4145-97cd-1618da79e3e2,36, {1, { -{13,1, +{15,1, {3,4, {0} }, @@ -2176,14 +2165,14 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} }, {3,0, {0},0,0,0,48312c09-257f-4b29-b280-284dd89efc1e}, -{1,0},0,0},13, +{1,0},0,0,100,0},14, {1,2, {"#","Выполнить все тесты"}, {"ru","Выполнить выделенные (Ctrl+Enter)"} },1,1,1,0,0, {4,1, {0,0ce78048-0196-4f80-a781-9829cdb7f43e},"",-1,-1,1,0,""}, -{0,0,0},0,0,0,0,0}, +{0,0,0},0,0,0,0,0,1}, {1, {0,e1692cc2-605b-4535-84dd-28440238746c, {3,"КнопкаВыполнитьВыделенныеТестыНажатие", @@ -2236,7 +2225,7 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} {0} } } -},859,552,1,0,1,4,4,1338,859,552,96}, +},859,552,1,0,1,4,4,1352,859,552,96}, { {1},27, {4, @@ -2314,11 +2303,10 @@ jdPrfwG2yJrgafgYZAAAAABJRU5ErkJggg==} },0,4,1,0,0,0, {1,5,10,b78f2e80-ec68-11d4-9dcf-0050bae2bc79,4,0}, {0}, -{4,0, +{7,0, {4,0, {0},"",-1,-1,1,0,""}, {4,0, {0},"",-1,-1,1,0,""}, {4,0, -{0},"",-1,-1,1,0,""} -},1,2,0,0,1,1} \ No newline at end of file +{0},"",-1,-1,1,0,""},100,0,0},1,2,0,0,1,1} \ No newline at end of file diff --git "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl" "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl" index 4a8d47bf..cbda7046 100644 --- "a/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl" +++ "b/src/xddTestRunner/Form/\320\244\320\276\321\200\320\274\320\260/module.bsl" @@ -364,6 +364,7 @@ ИмяИнструмента = "ПреобразованиеЖурналаДействийПользователя"; КонецЕсли; НоваяФорма = ПолучитьФорму("Обработка." + ИмяИнструмента + "." + ИмяФормы); + ОткрытьИнструментФрагмент(НоваяФорма); Иначе Если Не ПустаяСтрока(ПутьИнструмента) Тогда ПутьКВнешнимИнструментам = ПутьИнструмента + "\"; @@ -372,19 +373,39 @@ КонецЕсли; ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + ".epf"; ФайлИнструмента = Новый Файл(ПутьИнструмента); - Если Не ФайлИнструмента.Существует() Тогда - Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); - Возврат; - КонецЕсли; - Обработка = ВнешниеОбработки.Создать(ФайлИнструмента.ПолноеИмя, Ложь); - НоваяФорма = Обработка.ПолучитьФорму(ИмяФормы); - Если НоваяФорма = Неопределено Тогда - Сообщить("Инструмент <" + ИмяИнструмента + ">: не удалось получить основную форму!"); - Возврат; - КонецЕсли; + ФайлИнструмента.НачатьПроверкуСуществования(Новый ОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормы, ФайлИнструмента", ИмяИнструмента, ИмяФормы, ФайлИнструмента))); + КонецЕсли; +КонецПроцедуры + +Процедура ОткрытьИнструментЗавершение(Существует, ДополнительныеПараметры) Экспорт + + ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; + ИмяФормы = ДополнительныеПараметры.ИмяФормы; + ФайлИнструмента = ДополнительныеПараметры.ФайлИнструмента; + + + Если Не Существует Тогда + Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); + Возврат; КонецЕсли; + Обработка = ВнешниеОбработки.Создать(ФайлИнструмента.ПолноеИмя, Ложь); + НоваяФорма = Обработка.ПолучитьФорму(ИмяФормы); + Если НоваяФорма = Неопределено Тогда + Сообщить("Инструмент <" + ИмяИнструмента + ">: не удалось получить основную форму!"); + Возврат; + КонецЕсли; + + ОткрытьИнструментФрагмент(НоваяФорма); + +КонецПроцедуры + +Процедура ОткрытьИнструментФрагмент(НоваяФорма) + + //Перем НоваяФорма; + НоваяФорма.Открыть(); НоваяФорма = Неопределено; + КонецПроцедуры Функция ПолучитьПутьКПлагинам() diff --git a/src/xddTestRunner/maps.txt b/src/xddTestRunner/maps.txt index 5c9c4023..445cd231 100644 --- a/src/xddTestRunner/maps.txt +++ b/src/xddTestRunner/maps.txt @@ -1 +1 @@ -Form\УправляемаяФорма\Форма.bsl-->ed07b230-8bf7-4423-b861-a31f23c7471f.0 (2 205, 3 450) +Form\УправляемаяФорма\Форма.bsl-->ed07b230-8bf7-4423-b861-a31f23c7471f.0 (2 205, 3 755) diff --git a/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 b/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 index 5c07e2e9..36b74b74 100644 --- a/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 +++ b/src/xddTestRunner/und/11ad5c96-c434-4088-bf66-ddff06c57ed8.1 @@ -4,8 +4,8 @@ cmFuc2l0aW9uYWwvL0VOIj48aHRtbD48aGVhZD48bWV0YSBjb250ZW50PSJ0ZXh0 L2h0bWw7Y2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIj48 L21ldGE+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJl Zj0idjhoZWxwOi8vc2VydmljZV9ib29rL3NlcnZpY2Vfc3R5bGUiPjwvbGluaz48 -bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMS4wMC4xMDU3 -MC4xMDAxIj48L21ldGE+PC9oZWFkPjxib2R5Pg0KPHA+PGEgaHJlZj0iaHR0cHM6 +bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1TSFRNTCAxMS4wMC45NjAw +LjE4ODM4Ij48L21ldGE+PC9oZWFkPjxib2R5Pg0KPHA+PGEgaHJlZj0iaHR0cHM6 Ly9naXRodWIuY29tL3hEcml2ZW5EZXZlbG9wbWVudC94VW5pdEZvcjFDL3dpa2ki Pmh0dHBzOi8vZ2l0aHViLmNvbS94RHJpdmVuRGV2ZWxvcG1lbnQveFVuaXRGb3Ix Qy93aWtpPC9hPjwvcD4NCjxoMT48L2gxPg0KPHA+eFVuaXRGb3IxQyAtINC90LDQ diff --git a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 index a6fd6ee7..e2c88a0e 100644 --- a/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 +++ b/src/xddTestRunner/und/ed07b230-8bf7-4423-b861-a31f23c7471f.0 @@ -1,5 +1,5 @@ {3, -{42,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,0, +{46,0,0,0,0,1,0,0,00000000-0000-0000-0000-000000000000,0, {1,0},0,0,1,1,1,0,1,0, {3,3ccc650e-f631-4cae-8e33-3eaac610b5f9,"ПриОткрытии",9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,"ПриСозданииНаСервере",ca21cd18-35b2-4281-b5c8-016ecc8da8ac,"ПриЗакрытии",1,0,3ccc650e-f631-4cae-8e33-3eaac610b5f9,0,1,9f2e5ddb-3492-4f5d-8f0d-416b8d1d5c5b,0,1,ca21cd18-35b2-4281-b5c8-016ecc8da8ac,0,1}, {0},1, @@ -903,7 +903,7 @@ mam9GBrFhUODvdLr6e3HWk6+w5qhvEgBKvO9i8RNJZOZbt2wavZXrx5516k1ryzW {0} },0,0,0,1, {1,0},0,0,3,3,2,0,1,0},1,143c00f7-a42d-4cd7-9189-88e4467dc768, -{50, +{51, {404,02023637-7868-4a5f-8576-835a76e0c9ba},0,2,1, {0, {0, @@ -1774,7 +1774,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs },0,1,2, {1, {1,0},0},0,0,1,0,0,1,0,3,3},2, -{404,2},0,3,3},0,1,0,0,1,0,3,3,0},1,0,1, +{404,2},0,3,3},0,1,0,0,1,0,3,3,0,1,0},1,0,1, {10, {446,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаДеревоТестовРасширеннаяПодсказка", {1,0}, @@ -1908,11 +1908,15 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2},"&НаКлиенте +{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,"",2,0,0,0,0,0,3,3,0,0,2,100,1,1,0},"&НаКлиенте Перем КэшФормПлагинов; &НаКлиенте Перем ПодключенныеВнешниеОбработки; +&НаКлиенте +Перем мСинхронныйРежимРазрешен; + + // { События формы &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) @@ -1930,7 +1934,13 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs &НаКлиенте Процедура ПриОткрытии() + ЗагрузитьПлагины(); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаПлагиновЗавершение() Экспорт КэшироватьПеречисленияПлагинов(); СброситьПодключенныеВнешниеОбработки(); @@ -1942,6 +1952,23 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs КонецЕсли; КонецПроцедуры +&НаКлиенте +Функция СинхронныйРежимРазрешен() + Если мСинхронныйРежимРазрешен = Неопределено Тогда + мСинхронныйРежимРазрешен = ОпределитьВозможностьСинхронныхВызовов(); + КонецЕсли; + + Возврат мСинхронныйРежимРазрешен; +КонецФункции + +&НаСервереБезКонтекста +Функция ОпределитьВозможностьСинхронныхВызовов() + + Запрет = Метаданные.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент = Метаданные.СвойстваОбъектов.РежимИспользованияСинхронныхВызововРасширенийИВнешнихКомпонент.НеИспользовать; + Возврат Не Запрет; + +КонецФункции + &НаКлиенте Процедура ПриЗакрытии() @@ -2083,40 +2110,69 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs Для Каждого Плагин Из Объект.Плагины Цикл КэшФормПлагинов.Вставить(Плагин.Ключ, Истина); КонецЦикла; + + ДобавитьКомандыЗагрузчиковНаФорме(); + ЗагрузкаПлагиновЗавершение(); + Иначе КаталогПлагинов = ПолучитьПутьКПлагинам(); - НайденныеФайлы = НайтиФайлы(КаталогПлагинов, ""*.epf"", Ложь); - ПомещаемыеФайлы = Новый Массив; - ИдентификаторыПлагинов = Новый Соответствие; - Для каждого ФайлОбработки Из НайденныеФайлы Цикл - - ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); - ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); - - ИмяПлагина = ФайлОбработки.ИмяБезРасширения; - ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); - - КонецЦикла; + ОбработчикПоискаКлиентскихПлагинов = Новый ОписаниеОповещения(""ОбработчикПоискаКлиентскихПлагинов"", ЭтаФорма); + НачатьПоискФайлов(ОбработчикПоискаКлиентскихПлагинов, КаталогПлагинов, ""*.epf"", Ложь); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикПоискаКлиентскихПлагинов(Знач НайденныеФайлы, Знач ДополнительныеПараметры) Экспорт + + ПомещаемыеФайлы = Новый Массив; + ИдентификаторыПлагинов = Новый Соответствие; + Для каждого ФайлОбработки Из НайденныеФайлы Цикл - ЗагруженныеФайлы = Новый Массив; - Если ПомещаемыеФайлы.Количество() Тогда - ПоместитьФайлы(ПомещаемыеФайлы, ЗагруженныеФайлы,,Ложь, ЭтаФорма.УникальныйИдентификатор); - КонецЕсли; + ПомещаемыйФайл = Новый ОписаниеПередаваемогоФайла(ФайлОбработки.ПолноеИмя); + ПомещаемыеФайлы.Добавить(ПомещаемыйФайл); - ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); + ИмяПлагина = ФайлОбработки.ИмяБезРасширения; + ИдентификаторыПлагинов.Вставить(ФайлОбработки.ПолноеИмя, ИмяПлагина); - Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл - ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; - - ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; - Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); - КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); - - КонецЦикла; + КонецЦикла; + + Если ПомещаемыеФайлы.Количество() Тогда + ПараметрыЗавершения = Новый Структура(""ИдентификаторыПлагинов"", ИдентификаторыПлагинов); + НачатьПомещениеФайлов(Новый ОписаниеОповещения(""ОбработчикПоискаКлиентскихПлагиновЗавершение"", ЭтаФорма, ПараметрыЗавершения), + ПомещаемыеФайлы,,Ложь,ЭтаФорма.УникальныйИдентификатор); + Иначе + ПодключитьНайденныеКлиентскиеПлагиныНаСервере(Новый Массив, ИдентификаторыПлагинов); КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработчикПоискаКлиентскихПлагиновЗавершение(Знач ПомещенныеФайлы, Знач ДополнительныеПараметры) Экспорт + + ПодключитьНайденныеКлиентскиеПлагиныНаСервере(ПомещенныеФайлы, ДополнительныеПараметры.ИдентификаторыПлагинов); + +КонецПроцедуры + +&НаКлиенте +Процедура ПодключитьНайденныеКлиентскиеПлагиныНаСервере(Знач ЗагруженныеФайлы, Знач ИдентификаторыПлагинов) + + Перем ЗагруженныйФайл, ИмяПлагина, ОписаниеПлагина, ОписанияПлагинов; + + ОписанияПлагинов = ПодключитьПлагиныНаСервере(ЗагруженныеФайлы); + + Для Каждого ЗагруженныйФайл Из ЗагруженныеФайлы Цикл + ИмяПлагина = ИдентификаторыПлагинов[ЗагруженныйФайл.Имя]; - ДобавитьКомандыЗагрузчиковНаФорме(); + ОписаниеПлагина = ОписанияПлагинов[ЗагруженныйФайл.Имя]; + Объект.Плагины.Вставить(ОписаниеПлагина.Идентификатор, ИмяПлагина); + КэшФормПлагинов.Вставить(ОписаниеПлагина.Идентификатор, Истина); + + КонецЦикла; + ДобавитьКомандыЗагрузчиковНаФорме(); + ЗагрузкаПлагиновЗавершение(); + КонецПроцедуры &НаСервере @@ -2726,26 +2782,199 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs // { Пакетный запуск &НаКлиенте Процедура ВыполнитьПакетныйЗапуск(Знач ПараметрЗапуска) - Перем РезультатыТестирования; ПарсерКоманднойСтроки = ЭтаФорма.Плагин(""ПарсерКоманднойСтроки""); ПараметрыЗапуска = ПарсерКоманднойСтроки.Разобрать(ПараметрЗапуска); - Параметры_xddRun = Неопределено; - Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, Параметры_xddRun) Тогда - РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Параметры_xddRun); + НастройкиШагов = Новый Структура; + НастройкиШагов.Вставить(""Параметры_xddRun""); + НастройкиШагов.Вставить(""Параметры_xddReport""); + НастройкиШагов.Вставить(""xddShutdown""); + + ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddRun, НастройкиШагов.Параметры_xddRun); + ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, НастройкиШагов.Параметры_xddReport); + НастройкиШагов.xddShutdown = ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown); + + Если СинхронныйРежимРазрешен() Тогда + ВыполнитьПакетныйЗапускСинхронно(НастройкиШагов); + Иначе + ВыполнитьПакетныйЗапускАсинхронно(НастройкиШагов) + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьПакетныйЗапускСинхронно(Знач ПараметрыЗапуска) + + Перем РезультатыТестирования; + + Если ПараметрыЗапуска.Параметры_xddRun <> Неопределено Тогда + РезультатыТестирования = ЗагрузитьИВыполнитьТесты_ПакетныйРежим(ПараметрыЗапуска.Параметры_xddRun); КонецЕсли; - Параметры_xddReport = Неопределено; - Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddReport, Параметры_xddReport) Тогда - СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(Параметры_xddReport, РезультатыТестирования); + Если ЗначениеЗаполнено(РезультатыТестирования) И ПараметрыЗапуска.Параметры_xddReport <> Неопределено Тогда + СформироватьОтчетОТестированииИЭкспортировать_ПакетныйРежим(ПараметрыЗапуска.Параметры_xddReport, РезультатыТестирования); + КонецЕсли; + + Если ПараметрыЗапуска.xddShutdown = Истина Тогда + ЗавершитьРаботуСистемы(Ложь); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьПакетныйЗапускАсинхронно(Знач ПараметрыЗапуска) + + Состояние = Новый Структура; + Состояние.Вставить(""НастройкиШагов"", ПараметрыЗапуска); + Состояние.Вставить(""СледующийШаг""); + Состояние.Вставить(""ТекущийШаг""); + + Если ПараметрыЗапуска.Параметры_xddRun <> Неопределено Тогда + Состояние.СледующийШаг = ""ЗагрузитьТесты""; + ИначеЕсли ПараметрЗапуска.xddShutdown = Истина Тогда + Состояние.СледующийШаг = ""ЗавершитьРаботу""; + Иначе + ВызватьИсключение НСтр(""ru = 'xUnit: Я не знаю что мне делать. Нет приказа на выполнение тестов или закрытие.'""); КонецЕсли; - Если ПараметрыЗапуска.Свойство(ПарсерКоманднойСтроки.Объект.ВозможныеКлючи.xddShutdown) Тогда + ВыполнитьШагПакетногоЗапуска(, Состояние); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьШагПакетногоЗапуска(Знач РезультатПредыдущегоШага, Знач Состояние) Экспорт + + ОбработкаОповещения = Новый ОписаниеОповещения(""ВыполнитьШагПакетногоЗапуска"", ЭтаФорма, Состояние, ""ВыполнитьШагПакетногоЗапускаИсключение"", ЭтаФорма); + + Состояние.ТекущийШаг = Состояние.СледующийШаг; + Если Состояние.СледующийШаг = ""ЗагрузитьТесты"" Тогда + НачатьЗагрузкуТестовПакетныйРежим(ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = ""ЗапуститьТесты"" Тогда + НачатьВыполнениеТестов(РезультатПредыдущегоШага, ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = ""СоставитьОтчет"" Тогда + СоставитьОтчетОТестировании(РезультатПредыдущегоШага, ОбработкаОповещения); + ИначеЕсли Состояние.СледующийШаг = ""ЗавершитьРаботу"" Тогда ЗавершитьРаботуСистемы(Ложь); КонецЕсли; + +КонецПроцедуры // ВыполнитьШагПакетногоЗапуска() + +&НаКлиенте +Процедура ВыполнитьШагПакетногоЗапускаИсключение(Знач ИнформацияОбОшибке, СтандартнаяОбработка, Знач Состояние) Экспорт + + СтандартнаяОбработка = Ложь; + + ТекстОшибки = ""Ошибка при асинхронном режиме пакетного запуска: + |Состояние: + | Текущий шаг: %1 + | Следующий шаг:%2 + | Исключение: %3""; + + // для унылых ретроградов, применяющих < 8.3.6 - придется без СтрШаблон + ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%1"", Состояние.ТекущийШаг); + ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%2"", Состояние.СледующийШаг); + ТекстОшибки = СтрЗаменить(ТекстОшибки, ""%3"", ПодробноеПредставлениеОшибки(ИнформацияОбОшибке)); + + ЗафиксироватьОшибкуВЖурналеРегистрации(""xUnitFor1C.АсинхронныйПакетныйЗапуск"", ТекстОшибки); + Сообщить(ТекстОшибки, СтатусСообщения.ОченьВажное); +КонецПроцедуры + +&НаКлиенте +Процедура НачатьЗагрузкуТестовПакетныйРежим(Знач ОбработкаОповещения); + Параметры_xddRun = ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Параметры_xddRun; + ИдентификаторЗагрузчика = Параметры_xddRun[0]; + Загрузчик = ЭтаФорма.Плагин(ИдентификаторЗагрузчика); + + ПутьКТестам = Параметры_xddRun[1]; + + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = ""ЗапуститьТесты""; + ОбработкаОповещения.ДополнительныеПараметры.Вставить(""Загрузчик"", Загрузчик); + Загрузчик.НачатьЗагрузку(ОбработкаОповещения, ЭтаФорма, ПутьКТестам); +КонецПроцедуры + +&НаКлиенте +Процедура НачатьВыполнениеТестов(ДеревоТестовОтЗагрузчика, ОбработкаОповещения) + + Загрузчик = ОбработкаОповещения.ДополнительныеПараметры.Загрузчик; + РезультатыТестирования = ЭтаФорма.ВыполнитьТесты(Загрузчик, ДеревоТестовОтЗагрузчика); + + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = ""СоставитьОтчет""; + ВыполнитьОбработкуОповещения(ОбработкаОповещения, РезультатыТестирования); + +КонецПроцедуры + +&НаКлиенте +Процедура СоставитьОтчетОТестировании(РезультатыТестирования, ОбработкаОповещения) + + Параметры_xddReport = ОбработкаОповещения.ДополнительныеПараметры.НастройкиШагов.Параметры_xddReport; + Если Не ЗначениеЗаполнено(РезультатыТестирования) или Параметры_xddReport = Неопределено Тогда + // Отчет не нужен + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = ""ЗавершитьРаботу""; + ВыполнитьОбработкуОповещения(ОбработкаОповещения, Неопределено); + Возврат; + КонецЕсли; + + Если Параметры_xddReport.Количество() > 0 И ТипЗнч(Параметры_xddReport[0]) <> Тип(""ФиксированныйМассив"") Тогда + НовыйМассивПараметров = Новый Массив; + НовыйМассивПараметров.Добавить(Параметры_xddReport); + Параметры_xddReport = НовыйМассивПараметров; + КонецЕсли; + + ЭкспортируемыеОтчеты = Новый Массив; + + Для Каждого ОчередныеПараметры Из Параметры_xddReport Цикл + + ИдентификаторГенератораОтчета = ОчередныеПараметры[0]; + ГенераторОтчета = ЭтаФорма.Плагин(ИдентификаторГенератораОтчета); + Отчет = ГенераторОтчета.СоздатьОтчет(ЭтаФорма, РезультатыТестирования); + ПутьКОтчету = ОчередныеПараметры[1]; + + СтрокаЭкспорта = СтрокаЭкспортируемыхОтчетов(); + СтрокаЭкспорта.Отчет = Отчет; + СтрокаЭкспорта.Путь = ПутьКОтчету; + СтрокаЭкспорта.ГенераторОтчета = ГенераторОтчета; + + ЭкспортируемыеОтчеты.Добавить(СтрокаЭкспорта); + + КонецЦикла; + + ПараметрыДиспетчера = Новый Структура; + ПараметрыДиспетчера.Вставить(""ИндексОтчета"", 0); + ПараметрыДиспетчера.Вставить(""СписокОтчетов"", ЭкспортируемыеОтчеты); + ПараметрыДиспетчера.Вставить(""Финализация"", ОбработкаОповещения); + + ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим(, ПараметрыДиспетчера); + +КонецПроцедуры + +&НаКлиенте +Функция СтрокаЭкспортируемыхОтчетов() + Возврат Новый Структура(""Отчет,Путь,ГенераторОтчета""); +КонецФункции + + +&НаКлиенте +Процедура ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим(Знач РезультатЭкспорта, Знач ПараметрыДиспетчера) Экспорт + + СписокОтчетов = ПараметрыДиспетчера.СписокОтчетов; + Если СписокОтчетов.Количество() > ПараметрыДиспетчера.ИндексОтчета Тогда + СтрокаЭкспорта = СписокОтчетов[ПараметрыДиспетчера.ИндексОтчета]; + ГенераторОтчета = СтрокаЭкспорта.генераторОтчета; + + ПараметрыДиспетчера.ИндексОтчета = ПараметрыДиспетчера.ИндексОтчета + 1; + ОбработчикЭкспорта = Новый ОписаниеОповещения(""ДиспетчерЭкспортаОтчетовАсинхронныйПакетныйРежим"", ЭтаФорма, ПараметрыДиспетчера, + ""ВыполнитьШагПакетногоЗапускаИсключение"", ЭтаФорма); + ГенераторОтчета.НачатьЭкспорт(ОбработчикЭкспорта, СтрокаЭкспорта.Отчет, СтрокаЭкспорта.Путь); + Иначе + ОбработкаОповещения = ПараметрыДиспетчера.Финализация; + ОбработкаОповещения.ДополнительныеПараметры.СледующийШаг = ""ЗавершитьРаботу""; + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + КонецПроцедуры + &НаКлиенте Функция ЗагрузитьИВыполнитьТесты_ПакетныйРежим(Знач Параметры_xddRun) Попытка @@ -2845,7 +3074,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs // { Внешние интерфейсные инструменты &НаКлиенте -Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = """", Знач ИмяФормы = ""Форма"") +Процедура ОткрытьИнструмент(Знач ИмяИнструмента, Знач ПутьИнструмента = """", Знач ИмяФормыИнструмента = ""Форма"") Перем АдресХранилища; // Для встроенного в состав конфигурации браузера тестов @@ -2856,7 +3085,7 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs ИмяИнструмента = ""ПреобразованиеЖурналаДействийПользователя""; КонецЕсли; ИмяИнструмента = ДополнитьИдентификаторПрефиксомПодсистемы(ИмяИнструмента, Объект.ИспользуемыйПрефиксПодсистемы); - ФормаИнструмента = ПолучитьФорму(""Обработка."" + ИмяИнструмента + ""."" + ИмяФормы); + ФормаИнструмента = ПолучитьФорму(""Обработка."" + ИмяИнструмента + ""."" + ИмяФормыИнструмента); ФормаИнструмента.Открыть(); ФормаИнструмента = Неопределено; @@ -2868,17 +3097,30 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs КонецЕсли; ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + "".epf""; ФайлИнструмента = Новый Файл(ПутьИнструмента); - Если Не ФайлИнструмента.Существует() Тогда - Сообщить(""Инструмент <"" + ИмяИнструмента + ""> не найден в каталоге <"" + ФайлИнструмента.Путь + "">""); - Возврат; - КонецЕсли; - - Оповещение = Новый ОписаниеОповещения(""ОткрытьИнструментЗавершение"", ЭтаФорма, Новый Структура(""ИмяИнструмента, ИмяФормыИнструмента"", ИмяИнструмента, ИмяФормы)); - НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + ФайлИнструмента.НачатьПроверкуСуществования(Новый ОписаниеОповещения(""ОткрытьИнструментЗавершение1"", ЭтаФорма, Новый Структура(""АдресХранилища, ИмяИнструмента, ИмяФормыИнструмента, ФайлИнструмента"", АдресХранилища, ИмяИнструмента, ИмяФормыИнструмента, ФайлИнструмента))); КонецЕсли; КонецПроцедуры +&НаКлиенте +Процедура ОткрытьИнструментЗавершение1(Существует, ДополнительныеПараметры) Экспорт + + АдресХранилища = ДополнительныеПараметры.АдресХранилища; + ИмяИнструмента = ДополнительныеПараметры.ИмяИнструмента; + ИмяФормыИнструмента = ДополнительныеПараметры.ИмяФормыИнструмента; + ФайлИнструмента = ДополнительныеПараметры.ФайлИнструмента; + + + Если Не Существует Тогда + Сообщить(""Инструмент <"" + ИмяИнструмента + ""> не найден в каталоге <"" + ФайлИнструмента.Путь + "">""); + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения(""ОткрытьИнструментЗавершение"", ЭтаФорма, Новый Структура(""ИмяИнструмента, ИмяФормыИнструмента"", ИмяИнструмента, ИмяФормыИнструмента)); + НачатьПомещениеФайла(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + +КонецПроцедуры + &НаКлиенте Функция ПолучитьПутьКПлагинам() // Для встроенного в состав конфигурации браузера тестов @@ -2912,6 +3154,66 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs КонецЕсли; КонецПроцедуры +#Область АсинхронныйAPI + +&НаКлиенте +Процедура НачатьПодключениеВнешнейбработки(Знач ОбработкаОповещения, Знач ФайлОбработки) Экспорт + + Если ПодключенныеВнешниеОбработки.Получить(ФайлОбработки.ИмяБезРасширения) = Неопределено Тогда + ЭтоОтчет = (НРег(ФайлОбработки.Расширение) = "".erf""); + + ПараметрыОповещения = Новый Структура; + ПараметрыОповещения.Вставить(""ФайлОбработки"", ФайлОбработки); + ПараметрыОповещения.Вставить(""ЭтоОтчет"", ЭтоОтчет); + ПараметрыОповещения.Вставить(""ОбработкаЗавершения"", ОбработкаОповещения); + + АдресХранилища = """"; + Оп = Новый ОписаниеОповещения(""ПодключитьВнешнююОбработкуЗавершение"", ЭтаФорма, ПараметрыОповещения); + НачатьПомещениеФайла(Оп, АдресХранилища, ФайлОбработки.ПолноеИмя , Ложь, ЭтаФорма.УникальныйИдентификатор); + Иначе + ВыполнитьОбработкуОповещения(ОбработкаОповещения); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьЗагрузкуТестов(Знач ОбработкаОповещения, Знач ИдентификаторВыбранногоЗагрузчика, Знач Путь) Экспорт + + ИнициализироватьИндикаторВыполнения(); + + ЭтаФорма.ИдентификаторЗагрузчика = ИдентификаторВыбранногоЗагрузчика; + ФормаЗагрузчика = Плагин(ИдентификаторВыбранногоЗагрузчика); + + ДополнительныеПараметры = Новый Структура; + ДополнительныеПараметры.Вставить(""ОбработкаОповещения"", ОбработкаОповещения); + ДополнительныеПараметры.Вставить(""ИдентификаторВыбранногоЗагрузчика"", ИдентификаторВыбранногоЗагрузчика); + ДополнительныеПараметры.Вставить(""Путь"", Путь); + Обработчик = Новый ОписаниеОповещения(""ЗагрузкаТестовЗавершение"", ЭтаФорма, ДополнительныеПараметры); + ФормаЗагрузчика.НачатьЗагрузку(Обработчик, ЭтаФорма, Путь); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузкаТестовЗавершение(Знач ДеревоОтЗагрузчика, Знач ДополнительныеПараметры) Экспорт + + ЭтаФорма.ДеревоОтЗагрузчика = ДеревоОтЗагрузчика; + ЭлементыДереваТестов = ЭтаФорма.ДеревоТестов.ПолучитьЭлементы(); + ЭлементыДереваТестов.Очистить(); + ЗаполнитьДеревоТестов(ЭтаФорма.ДеревоТестов, ДеревоОтЗагрузчика); + + КоличествоТестовыхСлучаев = ЗаполнитьКоличествоТестовыхСлучаевПоВсемуДеревуТестов(ЭтаФорма.ДеревоТестов); + РазвернутьСтрокиДерева(КоличествоТестовыхСлучаев < 30); + + СохранитьВИсториюЗагрузкиТестовНаСервере(ДополнительныеПараметры.ИдентификаторВыбранногоЗагрузчика, ДополнительныеПараметры.Путь); + ОбновитьКомандыИсторииЗагрузкиТестов(); + + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаОповещения); + +КонецПроцедуры + + +#КонецОбласти + &НаСервереБезКонтекста Процедура ПодключитьФайлОбработкиНаСервере(Знач АдресХранилища, Знач ИдентификаторОбработки, ЭтоОтчет = Ложь) Если ЭтоОтчет = Истина Тогда @@ -3113,13 +3415,16 @@ i970DXxgHCspVG9wDoliaofL23C6tMM6z4wPIN79BQ/5HU0rfcdKpIz+U71Zznqs &НаКлиенте Процедура ПодключитьВнешнююОбработкуЗавершение(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - ФайлОбработки = ДополнительныеПараметры.ФайлОбработки; ЭтоОтчет = ДополнительныеПараметры.ЭтоОтчет; ПодключитьФайлОбработкиНаСервере(Адрес, ФайлОбработки.ИмяБезРасширения, ЭтоОтчет); ПодключенныеВнешниеОбработки.Вставить(ФайлОбработки.ИмяБезРасширения, Истина); + + Если ДополнительныеПараметры.Свойство(""ОбработкаЗавершения"") Тогда + ВыполнитьОбработкуОповещения(ДополнительныеПараметры.ОбработкаЗавершения, Результат); + КонецЕсли; КонецПроцедуры @@ -3432,7 +3737,8 @@ Oi8vdjguMWMucnUvOC4xL2RhdGEvdWkiIHhtbG5zOndlYj0iaHR0cDovL3Y4LjFj LnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93ZWIiIHhtbG5zOndpbj0iaHR0cDovL3Y4 LjFjLnJ1LzguMS9kYXRhL3VpL2NvbG9ycy93aW5kb3dzIiB4bWxuczp4cz0iaHR0 cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHhtbG5zOnhzaT0iaHR0cDov -L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLz4=} +L3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPg0KCTxvdXRwdXRQ +YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+} }, {0,1, {0,"Пути", diff --git a/src/xddTestRunner/und/version b/src/xddTestRunner/und/version index c23bfe28..1836d94f 100644 --- a/src/xddTestRunner/und/version +++ b/src/xddTestRunner/und/version @@ -1,3 +1,5 @@ { -{216,0} +{216,0, +{80304,0} +} } \ No newline at end of file diff --git a/src/xddTestRunner/und/versions b/src/xddTestRunner/und/versions index 111c720d..6ba8c354 100644 --- a/src/xddTestRunner/und/versions +++ b/src/xddTestRunner/und/versions @@ -1 +1 @@ -{1,13,"",9da929bf-b95c-42d9-88e8-458045de5ac3,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",3facc73c-1e5d-4f10-8ca6-11876f8b28d9,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",17038fe6-2166-4a1c-be17-aac3e322ad8d,"5070e3c3-f74b-4ecd-9756-1136a230eca2",23f7e386-ff86-4d51-ad67-6812ccb00b82,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",6adeb9ea-71f7-41b0-ae54-818353d5dbf3,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",ff5c5bc6-bdd9-40da-8897-d2238bf79c47,"copyinfo",eb862d4f-4cec-4892-88cc-ccca94cc7edd,"ed07b230-8bf7-4423-b861-a31f23c7471f",cd248caa-d736-4350-90fd-2af6765ff6ac,"ed07b230-8bf7-4423-b861-a31f23c7471f.0",e76c97eb-a7cc-41ad-9ee8-950aa18a5699,"ed07b230-8bf7-4423-b861-a31f23c7471f.1",d2376067-c9d3-4379-9abc-b96f699d83ed,"root",a35f5615-8f39-4db5-ac3f-d487827a7418,"version",67847eac-a027-4267-88d3-c966e57bccd6,"versions",9997095a-afa3-46c1-8f94-fce62b966872} \ No newline at end of file +{1,13,"",49da18ec-c042-47a2-a38f-1572eedd438c,"11ad5c96-c434-4088-bf66-ddff06c57ed8.0",3facc73c-1e5d-4f10-8ca6-11876f8b28d9,"11ad5c96-c434-4088-bf66-ddff06c57ed8.1",64f46f93-e3df-4471-a664-8a5556bf166a,"5070e3c3-f74b-4ecd-9756-1136a230eca2",de77e90c-b2d6-448d-ba18-a216fab9970c,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf",27c764eb-6efb-418f-bac2-5e124426e17e,"a1ce7ef7-f372-4589-b899-7fbf88efa7bf.0",dcc1bfa8-db03-4035-a5d1-38079a95fe72,"copyinfo",48a5b1d1-9022-4609-943b-d6228e11f7b8,"ed07b230-8bf7-4423-b861-a31f23c7471f",6c5cc6de-920d-43e0-a9de-22dc87b6bb71,"ed07b230-8bf7-4423-b861-a31f23c7471f.0",3486d8f2-7b51-4825-a416-1ffa317df7e7,"ed07b230-8bf7-4423-b861-a31f23c7471f.1",d2376067-c9d3-4379-9abc-b96f699d83ed,"root",07710c9d-40a7-4a68-9476-30d3e59b76b5,"version",2c3d6eb0-bc6c-4f6a-8cbf-5c52814e508c,"versions",2b4871be-44c7-4d9c-b697-9a646f8c7a37} \ No newline at end of file diff --git a/xddTestRunner.epf b/xddTestRunner.epf index 6a23b423..e83cc001 100644 Binary files a/xddTestRunner.epf and b/xddTestRunner.epf differ