diff --git "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" index ce062f161..d1ce0dd67 100644 --- "a/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" +++ "b/epf/bddRunner/bddRunner/Forms/\320\243\320\277\321\200\320\260\320\262\320\273\321\217\320\265\320\274\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -326,13 +326,9 @@ Объект.ИдетВыполнениеСценариев = Ложь; Объект.РежимВыполненияДанногоСценарияСТекущегоШага = Ложь; Объект.РежимВыполненияДанногоСценарияСТекущегоШагаСПродолжением = Ложь; - Если НЕ ЕстьПоддержкаАсинхронныхВызовов Тогда - ЗагрузитьФичи(); - ВыполнитьСценарии(); - Иначе - Объект.НадоВыполнитьСценарииПослеЗагрузкиФичОдинРаз = Истина; - ЗагрузитьФичи(); - КонецЕсли; + + Объект.НадоВыполнитьСценарииПослеЗагрузкиФичОдинРаз = Истина; + ЗагрузитьФичи(); КонецПроцедуры &НаКлиенте @@ -381,26 +377,26 @@ &НаКлиенте Процедура ОткрытьКаталогФичи(Команда) - + СтрокаФичи = Элементы.ДеревоТестов.ТекущиеДанные; - + Если СтрокаФичи = Неопределено Тогда - + Возврат; - + КонецЕсли; Если СтрокаФичи.Тип <> "Фича" Тогда - + СтрокаФичи = НайтиСтрокуФичиЧерезРодителя(СтрокаФичи); - + Если СтрокаФичи = Неопределено Тогда - + Сообщить("Строка с фича-файлом не найдена."); Возврат; - + КонецЕсли; - + КонецЕсли; Файл = Новый Файл(СтрокаФичи.ПолныйПуть); @@ -1024,7 +1020,7 @@ Обрабочик_ПриОткрытииЗавершение = Асинк().смв_НовыйОписаниеОповещения("ПриОткрытииЗавершение", ЭтаФорма); ЗагрузитьПлагины(Ложь, Обрабочик_ПриОткрытииЗавершение); - + КонецПроцедуры &НаКлиенте @@ -1108,18 +1104,18 @@ &НаКлиенте Процедура КаталогиБиблиотекЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; ТекущиеДанные = Элементы.КаталогиБиблиотек.ТекущиеДанные; ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("КаталогиБиблиотекЗначениеНачалоВыбораЗавершение", ЭтаФорма); - + АСинк().смв_ПоказатьДиалогВыбораКаталога(ОписаниеОповещения, "Выберите каталог библиотеки", ТекущиеДанные, Ложь); - + КонецПроцедуры &НаКлиенте @@ -1128,29 +1124,29 @@ Или ВыбранныеФайлы.Количество() = 0 Тогда Возврат; - + КонецЕсли; Для Каждого Строка Из Объект.КаталогиБиблиотек Цикл - + Если Строка.Значение = Элементы.КаталогиБиблиотек.ТекущиеДанные.Значение Тогда - + Строка.Значение = ВыбранныеФайлы[0]; СохранитьНастройкиВХранилище("КаталогиБиблиотек", Объект.КаталогиБиблиотек); - + Прервать; - + КонецЕсли; - + КонецЦикла; - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоСловарьЗаменЗначениеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ЗаписьВидеоСловарьЗаменНачалоВыбораЗавершение", ЭтаФорма); АСинк().смв_ПоказатьДиалогОткрытие(ОписаниеОповещения, @@ -1158,7 +1154,7 @@ , , Элементы.ЗаписьВидеоСловарьЗамен.ТекущиеДанные); - + КонецПроцедуры &НаКлиенте @@ -1170,16 +1166,16 @@ КонецЕсли; Для Каждого Строка Из Объект.ЗаписьВидеоСловарьЗамен Цикл - + Если Строка.Значение = Элементы.ЗаписьВидеоСловарьЗамен.ТекущиеДанные.Значение Тогда - + Строка.Значение = ВыбранныеФайлы[0]; Прервать; - + КонецЕсли; - + КонецЦикла; - + КонецПроцедуры @@ -1187,36 +1183,36 @@ &НаКлиенте Процедура РеквизитОбъектаКаталогНачалоВыбора(ИмяРеквизитаОбъекта) - + СтандартнаяОбработка = Ложь; - + ПараметрыОбработчика = Новый Структура("ИмяРеквизитаОбъекта", ИмяРеквизитаОбъекта); - ОписаниеОповещения = Асинк().смв_НовыйОписаниеОповещения("РеквизитОбъектаНачалоВыбораЗавершение", + ОписаниеОповещения = Асинк().смв_НовыйОписаниеОповещения("РеквизитОбъектаНачалоВыбораЗавершение", ЭтаФорма, ПараметрыОбработчика); - + АСинк().смв_ПоказатьДиалогВыбораКаталога(ОписаниеОповещения, , Объект[ИмяРеквизитаОбъекта], Ложь); - + КонецПроцедуры &НаКлиенте Процедура РеквизитОбъектаФайлНачалоВыбора(ИмяРеквизитаОбъекта) - + СтандартнаяОбработка = Ложь; - + ПараметрыОбработчика = Новый Структура("ИмяРеквизитаОбъекта", ИмяРеквизитаОбъекта); - ОписаниеОповещения = Асинк().смв_НовыйОписаниеОповещения("РеквизитОбъектаНачалоВыбораЗавершение", + ОписаниеОповещения = Асинк().смв_НовыйОписаниеОповещения("РеквизитОбъектаНачалоВыбораЗавершение", ЭтаФорма, ПараметрыОбработчика); - + АСинк().смв_ПоказатьДиалогОткрытие(ОписаниеОповещения, , , , Объект[ИмяРеквизитаОбъекта], Ложь); - + КонецПроцедуры &НаКлиенте @@ -1226,10 +1222,10 @@ Возврат; КонецЕсли; - + ИмяРеквизитаОбъекта = ДополнительныеПараметры.ИмяРеквизитаОбъекта; Объект[ИмяРеквизитаОбъекта] = ВыбранныеФайлы[0]; - + КонецПроцедуры @@ -1237,81 +1233,81 @@ Процедура КаталогПроектаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputAllure"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputAllureНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputAllure"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputСкриншотыНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputСкриншоты"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputjUnitНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputjUnit"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputCucumberJsonНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputCucumberJson"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputВнутреннийФорматНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("ИмяФайлаЛогВыполненияСценариев"); - + КонецПроцедуры &НаКлиенте Процедура ИмяКаталогаЛогОшибокНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; - + РеквизитОбъектаФайлНачалоВыбора("ИмяКаталогаЛогОшибок"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputИнструкцияHTMLНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputИнструкцияHTML"); - + КонецПроцедуры &НаКлиенте Процедура КаталогOutputИнструкцияMarkdownНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputИнструкцияMarkdown"); - + КонецПроцедуры &НаКлиенте @@ -1320,79 +1316,79 @@ СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("КаталогOutputИнструкцияВидео"); - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоКаталогМузыкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("ЗаписьВидеоКаталогМузыки"); - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоПутьКДвижкуTTSНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаФайлНачалоВыбора("ЗаписьВидеоПутьКДвижкуTTS"); - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоСловарьЗаменНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаФайлНачалоВыбора("ЗаписьВидеоСловарьЗамен"); - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоФайлКурсораМышкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаФайлНачалоВыбора("ЗаписьВидеоФайлКурсораМышки"); - + КонецПроцедуры &НаКлиенте Процедура ЗаписьВидеоФайлВодянойЗнакНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаФайлНачалоВыбора("ЗаписьВидеоФайлВодянойЗнак"); - + КонецПроцедуры &НаКлиенте Процедура VanessaStackCommonsНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("VanessaStackCommons"); - + КонецПроцедуры &НаКлиенте Процедура КаталогИнструментовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; РеквизитОбъектаКаталогНачалоВыбора("КаталогИнструментов"); - + КонецПроцедуры &НаКлиенте Процедура ВерсияПлатформыДляГенерацииEPFНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) - + СтандартнаяОбработка = Ложь; - + РеквизитОбъектаКаталогНачалоВыбора("ВерсияПлатформыДляГенерацииEPF"); - + КонецПроцедуры #КонецОбласти @@ -1406,10 +1402,10 @@ &НаКлиенте Процедура КаталогИнструментовСлужебныйПриИзменении(Элемент) - + ОбработчикЗавершения = Асинк().смв_НовыйОписаниеОповещения("Обрабочик_ПодключитьБиблиотекуРаботыСВидео", ЭтаФорма); ЗагрузитьПлагины(Истина, ОбработчикЗавершения); - + КонецПроцедуры &НаКлиенте @@ -2087,19 +2083,19 @@ // Процедура ВывестиСообщение(ТекстСообщения, Статус=Неопределено) Экспорт - Если Статус = СтатусСообщения.Важное + Если Статус = СтатусСообщения.Важное ИЛИ Статус = СтатусСообщения.ОченьВажное Тогда - + СтатусСтрока = "Важное"; - + Иначе - + СтатусСтрока = "Информация"; - + КонецЕсли; - + СделатьСообщение(ТекстСообщения, СтатусСтрока); - + КонецПроцедуры // ВывестиСообщение() @@ -4162,28 +4158,28 @@ // TODO не поддерживает чистую асинхронность в 8.3.13 - только если доступен прямой путь к файлу - УДАЛИТЬ?? &НаКлиенте Функция ПодключитьВнешнююОбработкуКлиент(Знач ИмяФайла) Экспорт - + Если Объект.ИспользоватьПрямыеПутиФайлов Тогда - + ФайлОбработки = Новый Файл(ИмяФайла); ИмяОбработки = ФайлОбработки.ИмяБезРасширения; СоздатьФайлОбработки(ФайлОбработки.ПолноеИмя, ИмяОбработки); Возврат ИмяОбработки; - + КонецЕсли; Попытка - + ДополнительныеПараметры = Новый Структура; - + Если ЕстьПоддержкаНемодальныхФорм Тогда - + Оповещение = Асинк().смв_НовыйОписаниеОповещения("ОбработкаПослеПомещенияФайла", ЭтаФорма, ДополнительныеПараметры); АСинк().смв_ПоместитьФайл(Оповещение,, ИмяФайла, Ложь); Возврат ДополнительныеПараметры.ИмяОбработки; - + КонецЕсли; АдресХранилища = ""; @@ -4191,20 +4187,20 @@ Результат = Неопределено; ИмяОбработки = ПодключитьВнешнююОбработкуСервер(ИмяФайла, АдресХранилища, ЕстьЗащитаОтОпасныхДействий, Объект.ИспользоватьПрямыеПутиФайлов); - + Возврат ИмяОбработки; Исключение - + ЗаписатьЛогВЖРИнформация("Загрузка", СтрШаблон_("Не удалось подключить внешнюю обработку на клиенте: |Имя файла %1 |%2", ИмяФайла, ОписаниеОшибки())); - + КонецПопытки; Возврат Неопределено; - + КонецФункции //} @@ -4220,7 +4216,7 @@ // Возвращает абсолютный путь файла из каталога проекта или каталога Ванесса-АДД по относительному пути // ВАЖНО - при передачи пути, начинающегося на ".", будет получен путь каталога Ванесса-АДД // например, при передаче "fixtures/Макет" возможно получить "C:\OneScript\lib\add\fixtures\Макет" -// также в пути возможно использовать переменные +// также в пути возможно использовать переменные // $workspaceRoot - для вычисления пути внутри каталога проекта // $instrumentsRoot - для вычисления пути внутри каталога Ванесса-АДД, а не каталога проекта // @@ -4256,7 +4252,7 @@ КонецФункции // Возвращает абсолютный путь файла из каталога проекта по относительному пути внутри каталога проекта -// также в пути возможно использовать переменные +// также в пути возможно использовать переменные // $workspaceRoot - для вычисления пути внутри каталога проекта // $instrumentsRoot - для вычисления пути внутри каталога Ванесса-АДД, а не каталога проекта // @@ -5926,9 +5922,9 @@ ИдентификаторыПлагинов = Новый Соответствие; Если Объект.ИспользоватьПрямыеПутиФайлов Тогда - + ПомещенныеФайлы = Новый Массив; - + Для каждого ФайлОбработки Из НайденныеФайлы Цикл ПолноеИмяФайла = ФайлОбработки.ПолноеИмя; @@ -5941,7 +5937,7 @@ КонецЦикла; ПодключитьНайденныеКлиентскиеПлагины(ПомещенныеФайлы, ИдентификаторыПлагинов, ДополнительныеПараметры); - + Иначе Для каждого ФайлОбработки Из НайденныеФайлы Цикл @@ -5960,9 +5956,9 @@ ПараметрыЗавершения.Вставить("ОбработчикОповещения", ДополнительныеПараметры.ОбработчикОповещения); ОбработчикЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПоискаКлиентскихПлагиновЗавершение", ЭтаФорма, ПараметрыЗавершения); АСинк().смв_ПоместитьФайлы(ОбработчикЗавершения, ПомещаемыеФайлы); - + КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -6155,12 +6151,12 @@ &НаКлиенте Процедура ОбработкаПослеПомещенияФайла(Результат, АдресХранилища, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт - + ИмяОбработки = ПодключитьВнешнююОбработкуСервер(ВыбранноеИмяФайла, АдресХранилища, ЕстьЗащитаОтОпасныхДействий, Объект.ИспользоватьПрямыеПутиФайлов); - + ДополнительныеПараметры.Вставить("ИмяОбработки", ИмяОбработки); - + КонецПроцедуры &НаКлиенте @@ -6184,16 +6180,16 @@ Отладка("ОбработчикНачатьПроверкуЭтоКаталог. " + СтруктураФайла.ИмяПараметра + ": " + СтруктураФайла.ИмяФайла + ". ЭтоКаталог=" + ЭтоКаталог); Если ЭтоКаталог Тогда - + АсинхронноОбработатьСледующийФайл(ДополнительныеПараметры); - + Иначе - + Файл = Новый Файл(СтруктураФайла.ИмяФайла); ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикНачатьПолучитьВремяИзмененияФайла", ЭтаФорма, ДополнительныеПараметры); - + АСинк().смв_Файл_ПолучитьВремяИзменения(Файл, ОписаниеОповещения); - + КонецЕсли; КонецПроцедуры @@ -6208,15 +6204,15 @@ Отладка("ОбработчикНачатьПроверкуСуществования. " + СтруктураФайла.ИмяПараметра + ": " + СтруктураФайла.ИмяФайла + ". Существует=" + Существует); Если Существует Тогда - + Файл = Новый Файл(СтруктураФайла.ИмяФайла); ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикНачатьПроверкуЭтоКаталог", ЭтаФорма, ДополнительныеПараметры); АСинк().смв_Файл_ЭтоКаталог(Файл, ОписаниеОповещения); - + Иначе - + АсинхронноОбработатьСледующийФайл(ДополнительныеПараметры); - + КонецЕсли; КонецПроцедуры @@ -6269,11 +6265,11 @@ &НаКлиенте Процедура ОбработатьВыборФайлаЗагрузкаФичи(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт - + Если ВыбранныеФайлы = Неопределено Тогда - + Возврат; - + КонецЕсли; Объект.КаталогФич = ВыбранныеФайлы[0]; @@ -6285,7 +6281,7 @@ КешТаблицGherkin.Очистить(); ЗагрузитьФичи(); - + КонецПроцедуры &НаКлиенте @@ -6776,7 +6772,7 @@ ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработатьВыборФайлаЗагрузкаФичи", ЭтаФорма); АСинк().смв_ПоказатьДиалогВыбораКаталога(ОписаниеОповещения); - + КонецПроцедуры &НаСервере @@ -8070,12 +8066,12 @@ ПараметрыПродолжения.Вставить("СтруктураПараметров", СтруктураПараметров); ПараметрыПродолжения.Вставить("КаталогиБиблиотек", КаталогиБиблиотек); ПараметрыПродолжения.Вставить("ПутьКФичам", ПутьКФичам); - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикПодключенияШаговИзПереданныхФайловШагов", ЭтаФорма, ПараметрыПродолжения); АСинк().смв_ПоместитьФайлы(ОписаниеОповещения, ПередаваемыеФайлы); КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -8533,64 +8529,64 @@ НайденныеФайлы = СтруктураФайла.НайденныеФайлы; СтруктураФайла.ИДФайлаДляОбработки = СтруктураФайла.ИДФайлаДляОбработки + 1; - + Если СтруктураФайла.ИДФайлаДляОбработки > (НайденныеФайлы.Количество() - 1) Тогда - + АсинхронноОбработатьСледующийФайл(ДополнительныеПараметры); - + Иначе - + Файл = НайденныеФайлы[СтруктураФайла.ИДФайлаДляОбработки].Файл; Отладка("ПолучитьВерсиюФайловАссинхронно " + Файл.ПолноеИмя); - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикНачатьПолучитьВремяИзмененияФайлаМассив", ЭтаФорма, ДополнительныеПараметры); Асинк().смв_Файл_ПолучитьВремяИзменения(Файл, ОписаниеОповещения); - + КонецЕсли; КонецПроцедуры &НаКлиенте Процедура АсинхронноПолучитьСостоянияОбъектовФайловойСистемы(ДополнительныеПараметры) - + ТекИдМассива = ДополнительныеПараметры.ТекИдМассива; МассивДействий = ДополнительныеПараметры.МассивДействий; - + Если ТекИдМассива > (МассивДействий.Количество() - 1) Тогда - + Если ДополнительныеПараметры.НадоЗагрузитьФичи Тогда - + ЗагрузитьФичиПродолжение(ДополнительныеПараметры); - + КонецЕсли; - + Если ДополнительныеПараметры.НадоГенерироватьEPF Тогда - + СоздатьШаблоныОбработокПродолжение(ДополнительныеПараметры); - + КонецЕсли; - + Возврат; - + КонецЕсли; СтруктураФайла = МассивДействий[ТекИдМассива]; - + Если СтруктураФайла.ТипПараметра = "РаботаСФайлом" Тогда - + Файл = Новый Файл(СтруктураФайла.ИмяФайла); - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикНачатьПроверкуСуществования", ЭтаФорма, ДополнительныеПараметры); АСинк().смв_Файл_Существует(Файл, ОписаниеОповещения); - + ИначеЕсли Найти(СтруктураФайла.ТипПараметра, "СканированиеКаталогаПоиск") > 0 Тогда - + Если НЕ ПолучитьЗначениеПоРанееСобраннойИнформации(ДополнительныеПараметры, "КаталогФич", "Существует") Тогда АсинхронноОбработатьСледующийФайл(ДополнительныеПараметры); Возврат; КонецЕсли; Если (СтруктураФайла.ИмяПараметра = "ПоискEPF") или (СтруктураФайла.ИмяПараметра = "ПоискFeature") или (Лев(СтруктураФайла.ИмяПараметра, 13) = "БиблиотекаФич") Тогда - + //значит мы ищем родные epf для фич ПутьКФичам = Новый Файл(Объект.КаталогФич); Путь = ПутьКФичам.ПолноеИмя; @@ -8599,43 +8595,43 @@ КонецЕсли; Если Лев(СтруктураФайла.ИмяПараметра, 13) = "БиблиотекаФич" Тогда - + Ном = СтрЗаменить(СтруктураФайла.ИмяПараметра, "БиблиотекаФич", ""); Ном = СтрЗаменить(Ном, Символы.НПП, ""); Ном = Число(Ном); Путь = Объект.КаталогиБиблиотек[Ном - 1].Значение; - + КонецЕсли; Путь = ПреобразоватьПутьСТочкамиКНормальномуПути(Путь); Иначе - + Путь = СтруктураФайла.ИмяПараметра; - + КонецЕсли; - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикНачатьПоискФайлов", Этаформа, ДополнительныеПараметры); Если СтруктураФайла.ТипПараметра = "СканированиеКаталогаПоискFeature" Тогда - + Маска = "*"; - + Иначе - + Маска = "*." + НРег(СтрЗаменить(СтруктураФайла.ТипПараметра, "СканированиеКаталогаПоиск", "")); - + КонецЕсли; АСинк().смв_НайтиФайлы(ОписаниеОповещения, Путь, Маска, Истина); - + Иначе - + ТекстСообщения = "Неивестный ТипПараметра в АсинхронноПолучитьСостоянияОбъектовФайловойСистемы: %1"; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",СтруктураФайла.ТипПараметра); Сообщить(ТекстСообщения); - + КонецЕсли; КонецПроцедуры @@ -9135,13 +9131,8 @@ Если ВыполнитьСценарии = Истина Тогда - Если ЕстьПоддержкаАсинхронныхВызовов Тогда - Объект.НадоВыполнитьСценарииПослеЗагрузкиФич = Истина; - ЗагрузитьФичи(); - Иначе - ЗагрузитьФичи(); - ВыполнитьСценарии(); - КонецЕсли; + Объект.НадоВыполнитьСценарииПослеЗагрузкиФич = Истина; + ЗагрузитьФичи(); ИначеЕсли ВыполнитьСценарииСТекущегоШага = Истина Тогда НадоВыполнитьСценарийСоСтрокиПереданнойИзвне = Истина; НомерСтрокиСценарияПереданныйИзвне = Число(СтруктураДействий["НомерСтрокиДляЗапускаСТекущегоШагаСценария"]); @@ -9235,65 +9226,56 @@ Процедура ПослеОткрытияФормы() Если НЕ Объект.ВыполнениеСценарияИзОбработкиОповещения Тогда - + ЗаполнитьКаталогПроектаЕслиОнПустой(); ЗаполнитьПутьКRunSikulixЕслиОнПустой(); ЗаполнитьПоставщикаПользовательскихНастроекЕслиОнПустой(); ЗапускВРежимеКоманднойСтроки(); - + Если НЕ Объект.ЗапускИзКоманднойСтроки Тогда - + Если СокрЛП(Объект.КаталогФич) <> "" Тогда - + Если Объект.ЗагрузкаФичПриОткрытии = "Загружать" Тогда - + ЗагрузитьФичи(); - + ИначеЕсли Объект.ЗагрузкаФичПриОткрытии = "Загружать и выполнять" Тогда - - Если НЕ ЕстьПоддержкаАсинхронныхВызовов Тогда - - ЗагрузитьФичи(); - ВыполнитьСценарии(); - - Иначе - - Объект.НадоВыполнитьСценарииПослеЗагрузкиФичОдинРаз = Истина; - ЗагрузитьФичи(); - - КонецЕсли; - + + Объект.НадоВыполнитьСценарииПослеЗагрузкиФичОдинРаз = Истина; + ЗагрузитьФичи(); + ИначеЕсли Объект.ЗагрузкаФичПриОткрытии = "Задавать вопрос" Тогда - + ОповещениеЗавершения = Асинк().смв_НовыйОписаниеОповещения("ПослеОтветаНаВопросНадоЛиЗагружатьФичи", ЭтаФорма); - Асинк().смв_ПоказатьВопрос(ОповещениеЗавершения, - "Загрузить фичи? <" + СокрЛП(Объект.КаталогФич) + ">", - РежимДиалогаВопрос.ОКОтмена, - 0, + Асинк().смв_ПоказатьВопрос(ОповещениеЗавершения, + "Загрузить фичи? <" + СокрЛП(Объект.КаталогФич) + ">", + РежимДиалогаВопрос.ОКОтмена, + 0, КодВозвратаДиалога.ОК); - + КонецЕсли; - + КонецЕсли; - + КонецЕсли; - + КонецЕсли; НастройкаДоступностиВидимостиЭлементов(); - Если Не ЗначениеЗаполнено(Объект.КаталогИнструментов) + Если Не ЗначениеЗаполнено(Объект.КаталогИнструментов) И Не Объект.РежимСамотестирования Тогда - + Сообщение = "Не удалось заполнить каталог инструментов из-за неверных настроек. |Установите вручную каталог инструментов, вставив путь к Vanessa-ADD. |И перезапустите форму bddRunner |"; СделатьСообщение(Сообщение); ВывестиВЛогФайл(Сообщение); - + КонецЕсли; - + КонецПроцедуры &НаСервереБезКонтекста @@ -9444,43 +9426,43 @@ &НаКлиенте Процедура ПодключитьБиблиотекуРаботыСВидео() - + Если МодульРаботыСВидео <> Неопределено Тогда - + Возврат; - + КонецЕсли; Если ПустаяСтрока(Объект.КаталогИнструментов) Тогда - + Объект.КаталогИнструментов = ПолучитьПутьКОбработкеКлиент(); - + КонецЕсли; ИмяФайла = ДополнитьСлешВПуть(Объект.КаталогИнструментов) + "lib/video/работасвидео.epf"; - + Если СокрЛП(Объект.КаталогИнструментов) = "" Тогда - + ЕстьКонстантаВКонфигурации = ЕстьКонстантаВКонфигурацииСервер("ПутьКVanessaADD"); - + Если ЕстьКонстантаВКонфигурации Тогда - + ПутьКVanessaADD = ПолучитьЗначениеКонстантыСервер("ПутьКVanessaADD"); ФайлПутьКVanessaADD = Новый Файл(ПутьКVanessaADD); ИмяФайла = ДополнитьСлешВПуть(ФайлПутьКVanessaADD.Путь) + "lib/video/работасвидео.epf"; - + КонецЕсли; - + КонецЕсли; Если НЕ ФайлСуществуетКомандаСистемы(ИмяФайла) Тогда - + ТекстСообщения = "Файл %1 не существует."; ТекстСообщения = СтрЗаменить(ТекстСообщения,"%1",ИмяФайла); СделатьСообщение(ТекстСообщения); - + Возврат; - + КонецЕсли; ИмяОбработки = ПодключитьВнешнююОбработкуКлиент(ИмяФайла);//TODO Обработать асинхронность @@ -9495,15 +9477,15 @@ &НаКлиенте Процедура ЗагрузитьТестыЗагрузитьОднуФичу() - + ОчиститьСообщения(); - + ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("ОбработатьВыборФайлаЗагрузкаФичи", ЭтаФорма); АСинк().смв_ПоказатьДиалогОткрытие(ОписаниеОповещения, "Фича файл (*.feature)|*.feature", "Выберите feature файл", Объект.КаталогФич); - + КонецПроцедуры &НаКлиенте @@ -10805,7 +10787,7 @@ &НаКлиенте Процедура АсинхронноПодключитьКонтекстОбработки(Знач ФайлШагов, Знач УниверсальноеПолноеИмяФайлаШага, Знач РезультатПрохожденияШага) Экспорт - + ИмяФайла = ФайлШагов.ПолноеИмя; ОписаниеФайла = СоздатьОписаниеФайла(ИмяФайла, УниверсальноеПолноеИмяФайлаШага); @@ -10816,7 +10798,7 @@ ОписаниеЗавершения = АСинк().смв_НовыйОписаниеОповещения("ОбработчикАсинхронноПодключитьКонтекстОбработкиПриВыполненииШага", ЭтаФорма, ОписаниеФайла); АСинк().смв_ПоместитьФайлы(ОписаниеЗавершения, ПередаваемыеФайлы); - + КонецПроцедуры &НаКлиенте @@ -10843,7 +10825,7 @@ КонецЕсли; ВыполнитьШагЗавершение(ОбработкаТеста, РезультатПрохожденияШага); - + КонецПроцедуры &НаКлиенте @@ -12069,7 +12051,7 @@ Дерево = ОбъектСервер.ДеревоТестов; ОбъектСервер.СформироватьОтчетАллюр(СтруктураОФ); - + СтруктураОФ.Удалить("ДанныеАллюрМеток"); @@ -15141,7 +15123,7 @@ //И я выбираю пункт контекстного меню "ПунктМеню" на элементе формы с именем "ЭлементФормы" Иначе ДобавитьКомментарийПодсказкуПоВыборуМетаданныхИзФормыВыбораТипа( - ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа, СчетчикДействий, ТекстРезультат, + ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа, СчетчикДействий, ТекстРезультат, ЭтоСлужебнаяФорма1С_ВыборТипа); ЗаголовокОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; @@ -15213,7 +15195,7 @@ ИначеЕсли ИмяУзла = "choose" Тогда Если ТекущаяТЧ <> "" Тогда ДобавитьКомментарийПодсказкуПоВыборуМетаданныхИзФормыВыбораТипа( - ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа, СчетчикДействий, ТекстРезультат, + ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа, СчетчикДействий, ТекстРезультат, ЭтоСлужебнаяФорма1С_ВыборТипа); Если ЭтоСлужебнаяФорма1С_ВыборТипа Тогда @@ -15325,36 +15307,36 @@ Если МассивОбъектов[ИдВМассиве - 1] = "FormField" Тогда ТекстРезультат.ДобавитьСтроку(" # Возможны проблемы при использовании точного выбора, т.к. подобный ""быстрый выбор"" актуален только для текущей базы и вашего пользователя."); ТекстРезультат.ДобавитьСтроку(" # подробнее в FAQ - Можно ли использовать быстрый выбор из списков 1С в полях ссылочных реквизитов"); - + Если ТекущаяТЧ <> "" Тогда ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; ЕстьДубли = ЕстьДублиЗаголовковУПоля(МассивСтруктурФорм, ТекущаяФорма, ИмяОбъекта, "ПолеФормы"); Если СокрЛП(ИмяОбъекта) = "" или ЕстьДубли Тогда ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " в таблице """ + ТекущаяТЧ + """ из выпадающего списка с именем """ + ИмяОбъекта + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " в таблице """ + ТекущаяТЧ + """ из выпадающего списка с именем """ + ИмяОбъекта + """ я выбираю " + ТипВыбораЗначенияИзСписка + " '" + ЗначениеВыбораИзСписка + "'"); Иначе - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " в таблице """ + ТекущаяТЧ + """ из выпадающего списка """ + ИмяОбъекта + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " в таблице """ + ТекущаяТЧ + """ из выпадающего списка """ + ИмяОбъекта + """ я выбираю " + ТипВыбораЗначенияИзСписка + " '" + ЗначениеВыбораИзСписка + "'"); КонецЕсли; Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; Если СокрЛП(ИмяОбъекта) <> "" И Не ЕстьДублиЗаголовковУПоля(МассивСтруктурФорм, ТекущаяФорма, ИмяОбъекта, "ПолеФормы") Тогда - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " из выпадающего списка """ + ИмяОбъекта + """ я выбираю " + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " из выпадающего списка """ + ИмяОбъекта + """ я выбираю " + ТипВыбораЗначенияИзСписка + " '" + ЗначениеВыбораИзСписка + "'"); Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " из выпадающего списка с именем """ + ИмяОбъекта + """ я выбираю " + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " из выпадающего списка с именем """ + ИмяОбъекта + """ я выбираю " + ТипВыбораЗначенияИзСписка + " '" + ЗначениеВыбораИзСписка + "'"); КонецЕсли; КонецЕсли; Иначе - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " из выпадающего списка я выбираю '" + ЗначениеВыбораИзСписка + "'"); КонецЕсли; @@ -15364,23 +15346,23 @@ ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; Если СокрЛП(ИмяОбъекта) = "" Тогда ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " в таблице """ + ТекущаяТЧ + """ в поле с именем """ + ИмяОбъекта + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " в таблице """ + ТекущаяТЧ + """ в поле с именем """ + ИмяОбъекта + """ я увеличиваю значение"); Иначе - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " в таблице """ + ТекущаяТЧ + """ в поле """ + ИмяОбъекта + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " в таблице """ + ТекущаяТЧ + """ в поле """ + ИмяОбъекта + """ я увеличиваю значение"); КонецЕсли; Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; - Если СокрЛП(ИмяОбъекта) <> "" И + Если СокрЛП(ИмяОбъекта) <> "" И Не ЕстьДублиЗаголовковУПоля(МассивСтруктурФорм, ТекущаяФорма, ИмяОбъекта, "ПолеФормы") Тогда - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " в поле """ + ИмяОбъекта + """ я увеличиваю значение"); Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " в поле с именем """ + ИмяОбъекта + """ я увеличиваю значение"); КонецЕсли; КонецЕсли; @@ -15392,22 +15374,22 @@ ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; Если СокрЛП(ИмяОбъекта) = "" Тогда ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) - + " в таблице """ + ТекущаяТЧ + """ в поле с именем """ + ИмяОбъекта + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + + " в таблице """ + ТекущаяТЧ + """ в поле с именем """ + ИмяОбъекта + """ я уменьшаю значение"); Иначе - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " в таблице """ + ТекущаяТЧ + """ в поле """ + ИмяОбъекта + """ я уменьшаю значение"); КонецЕсли; Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["title"]; Если СокрЛП(ИмяОбъекта) <> "" И Не ЕстьДублиЗаголовковУПоля(МассивСтруктурФорм, ТекущаяФорма, ИмяОбъекта, "ПолеФормы") Тогда - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " в поле """ + ИмяОбъекта + """ я уменьшаю значение"); Иначе ИмяОбъекта = МассивСвойств[ИдВМассиве - 1]["name"]; - ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " в поле с именем """ + ИмяОбъекта + """ я уменьшаю значение"); КонецЕсли; КонецЕсли; @@ -15603,18 +15585,18 @@ ИначеЕсли ИмяУзла = "executeChoiceFromList" Тогда ЗначениеМеню = МассивСвойств[ИдВМассиве]["presentation"]; ТекстРезультат.ДобавитьСтроку(ПолучитьПервоеКлючевоеСлово(СчетчикДействий) + " я выбираю из списка '" + ЗначениеМеню + "'"); - + ИначеЕсли ИмяУзла = "clickFormattedStringHyperlink" Тогда ПредыдущееСвойство = МассивСвойств[ИдВМассиве - 1]; ИмяОбъекта = ПредыдущееСвойство["title"]; ИмяГиперссылки = МассивСвойств[ИдВМассиве]["title"]; - + Если СокрЛП(ИмяОбъекта) <> "" И Не ЕстьДублиЗаголовковУПоля(МассивСтруктурФорм, ТекущаяФорма, ИмяОбъекта, "ПолеФормы") Тогда ТекстШага = "%1 у поля ""%2"" я нажимаю гиперссылку '%3'"; - Иначе + Иначе ИмяОбъекта = ПредыдущееСвойство["name"]; ТекстШага = "%1 у поля с именем ""%2"" я нажимаю гиперссылку '%3'"; - КонецЕсли; + КонецЕсли; ТекстРезультат.ДобавитьСтроку(СтрШаблон_(ТекстШага, ПолучитьПервоеКлючевоеСлово(СчетчикДействий), ИмяОбъекта, ИмяГиперссылки)); КонецЕсли; КонецЕсли; @@ -15725,12 +15707,12 @@ &НаКлиенте Процедура ДобавитьКомментарийПодсказкуПоВыборуМетаданныхИзФормыВыбораТипа(ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа, СчетчикДействий, Знач ТекстРезультат, Знач ЭтоСлужебнаяФорма1С_ВыборТипа) - + Перем Строка1; - + Если ЭтоСлужебнаяФорма1С_ВыборТипа И ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа Тогда ДобавитьПодсказкуПоПереходуКМетаданномуВСлужебнойФорма1С_ВыборТипа = Ложь; - + Строка1 = " # #Следующие строки помогут точно выбрать нужное метаданное в форме выбора типа" + ". ВАЖНО наличие именно двух указанных строк"; ТекстРезультат.ДобавитьСтроку(Строка1); @@ -17416,19 +17398,19 @@ Результат = " '" + ИсходнаяСтрока + "' |"; Иначе ДобавитьАпострофы = Истина; - + КЧ = Новый КвалификаторыЧисла(20, 5); ОписаниеТипа = Новый ОписаниеТипов("Число", КЧ); ЧисловоеЗначение = ОписаниеТипа.ПривестиЗначение(ИсходнаяСтрока); - + МаксимальноеЧислоБезРазделителейВПредставлении = 999; ЧислоОтображаетсяБезПробелов = ЧисловоеЗначение <= МаксимальноеЧислоБезРазделителейВПредставлении; ЭтоЦелоеЧислоБезДробныхЗнаков = Цел(ЧисловоеЗначение) = ЧисловоеЗначение И Найти(ИсходнаяСтрока, ",") = 0; - + Если ЧислоОтображаетсяБезПробелов И ЭтоЦелоеЧислоБезДробныхЗнаков Тогда ДобавитьАпострофы = Ложь; КонецЕсли; - + Если ДобавитьАпострофы Тогда Результат = " '" + ИсходнаяСтрока + "' |"; Иначе @@ -18657,7 +18639,7 @@ Элементы.КлючиОтладки.Доступность = Ложь; Элементы.АдресОтладчика.Доступность = Ложь; КонецЕсли; - + Элементы.ДанныеАллюрМеток.Видимость = Объект.ДелатьОтчетВФорматеАллюр; КонецПроцедуры @@ -19358,16 +19340,16 @@ &НаКлиенте Функция АСинк() Экспорт - + Если АСинк = Неопределено Тогда - + АСинк = ПолучитьФорму("ВнешняяОбработка.bddRunner.Форма.МодульАсинк", , ЭтаФорма, ЭтаФорма); АСинк.МодальностьЗапрещена = ЕстьПоддержкаАсинхронныхВызовов; - + КонецЕсли; - + Возврат АСинк; - + КонецФункции #КонецОбласти //СлужебныеПроцедурыИФункции @@ -19410,7 +19392,7 @@ // Для встроенного в состав конфигурации браузера тестов // инструменты находятся также в составке конфигурации Если Объект.ЭтоВстроеннаяОбработка Тогда - + // Преобразование имени инструмента к имени обработки Если ИмяИнструмента = "UILogToScript" Тогда ИмяИнструмента = "ПреобразованиеЖурналаДействийПользователя"; @@ -19420,28 +19402,28 @@ ФормаИнструмента = Неопределено; Иначе - + Если Не ПустаяСтрока(ПутьИнструмента) Тогда ПутьКВнешнимИнструментам = ПутьИнструмента + "\"; Иначе ПутьКВнешнимИнструментам = ПолучитьПутьКВнешнимИнструментам(); КонецЕсли; - + ПутьИнструмента = ПутьКВнешнимИнструментам + ИмяИнструмента + ".epf"; ФайлИнструмента = Новый Файл(ПутьИнструмента); - + Если Не ФайлСуществуетКомандаСистемы(ФайлИнструмента.ПолноеИмя) Тогда - + Сообщить("Инструмент <" + ИмяИнструмента + "> не найден в каталоге <" + ФайлИнструмента.Путь + ">"); Возврат; - + КонецЕсли; Оповещение = АСинк().смв_НовыйОписаниеОповещения("ОткрытьИнструментЗавершение", ЭтаФорма, Новый Структура("ИмяИнструмента, ИмяФормыИнструмента", ИмяИнструмента, ИмяФормы)); АСинк().смв_ПоместитьФайл(Оповещение, АдресХранилища, ФайлИнструмента.ПолноеИмя , Ложь); КонецЕсли; - + КонецПроцедуры &НаКлиенте @@ -19483,22 +19465,22 @@ Сообщить("Заполните каталог исходников отчета Allure"); Возврат; - + КонецЕсли; Если Не ЭтоLinux Тогда - + КомандаГенерации = СтрШаблон_("cmd /c call allure generate --clean %1 && call allure open", Объект.КаталогOutputAllure); ОписаниеОповещения = АСинк().смв_НовыйОписаниеОповещения("СоздатьОткрытьОтчетAllureПродолжение", ЭтаФорма); АСинк().смв_ЗапуститьПриложение(ОписаниеОповещения, КомандаГенерации, Объект.КаталогOutputAllure, Ложь); - + Иначе - + Сообщить(СтрШаблон_("Автопоказа Allure в linux не возможен. |Используйте командную строку для ручного запуска |sh allure generate --clean %1 && allure open", Объект.КаталогOutputAllure)); - + КонецЕсли; КонецПроцедуры