Skip to content

Commit

Permalink
Merge branch 'feature/Improve' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Pr-Mex committed Jun 24, 2024
2 parents a90d505 + c714c2d commit f348093
Show file tree
Hide file tree
Showing 32 changed files with 1,064 additions and 68 deletions.
42 changes: 42 additions & 0 deletions VanessaAutomation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13549,6 +13549,48 @@ Default: ffmpeg</v8:content>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Attribute uuid="6e87bf41-4f7a-4bf0-9089-ca4851436730">
<Properties>
<Name>КаталогВременныхФайлов</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Каталог системных временных файлов</v8:content>
</v8:item>
<v8:item>
<v8:lang>en</v8:lang>
<v8:content>System temporary files directory</v8:content>
</v8:item>
</Synonym>
<Comment/>
<Type>
<v8:Type>xs:string</v8:Type>
<v8:StringQualifiers>
<v8:Length>0</v8:Length>
<v8:AllowedLength>Variable</v8:AllowedLength>
</v8:StringQualifiers>
</Type>
<PasswordMode>false</PasswordMode>
<Format/>
<EditFormat/>
<ToolTip/>
<MarkNegatives>false</MarkNegatives>
<Mask/>
<MultiLine>false</MultiLine>
<ExtendedEdit>false</ExtendedEdit>
<MinValue xsi:nil="true"/>
<MaxValue xsi:nil="true"/>
<FillChecking>DontCheck</FillChecking>
<ChoiceFoldersAndItems>Items</ChoiceFoldersAndItems>
<ChoiceParameterLinks/>
<ChoiceParameters/>
<QuickChoice>Auto</QuickChoice>
<CreateOnInput>Auto</CreateOnInput>
<ChoiceForm/>
<LinkByType/>
<ChoiceHistoryOnInput>Auto</ChoiceHistoryOnInput>
</Properties>
</Attribute>
<Form>Форма</Form>
<Form>УправляемаяФорма</Form>
<Form>ВыборИзвестногоШага</Form>
Expand Down
21 changes: 17 additions & 4 deletions VanessaAutomation/Ext/ObjectModule.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
Настройки.Вставить("ИспользоватьРедакторVanessaEditor", Истина);
Настройки.Вставить("ТемаРедактораVanessaEditor", "vs");
Настройки.Вставить("ИспользоватьДанныеТекущейФормыПриПодбореШагов", Ложь);
Настройки.Вставить("ПоказыватьСтрокиПодсценариевVanessaEditor", Ложь);
Настройки.Вставить("ПоказыватьЗначенияПеременныхВСтрокахРедактора", Истина);
Настройки.Вставить("ОткрыватьНачальнуюСтраницуПриЗапуске", Истина);
Настройки.Вставить("ПоказыватьМиниатюруКода", Истина);
Expand Down Expand Up @@ -204,7 +205,7 @@
Настройки.Вставить("ИнструкцияMarkdown", ИнструкцияMarkdown);

Настройки.Вставить("ДелатьОтчетВоВнутреннемФормате");
Настройки.Вставить("КаталогиБиблиотек", "");
Настройки.Вставить("КаталогиБиблиотек", Новый Массив);
Настройки.Вставить("СписокТеговИсключение", Новый Массив);
Настройки.Вставить("СписокТеговОтбор", Новый Массив);
Настройки.Вставить("СписокСценариевДляВыполнения", Новый Массив);
Expand Down Expand Up @@ -375,6 +376,7 @@
Настройки.Вставить("ИмяФайлаВнешнихКомандФреймворка", "");
Настройки.Вставить("ДелатьСообщенияТранслитом", Ложь);
Настройки.Вставить("КаталогИнструментов", "");
Настройки.Вставить("КаталогВременныхФайлов", "");
Настройки.Вставить("СоздаватьПодкаталогВКаталогеAllureДляЭтойСборки", Ложь);
Настройки.Вставить("ВыполнитьСценарии", Ложь);
Настройки.Вставить("ЗагрузитьСценарии", Ложь);
Expand Down Expand Up @@ -469,7 +471,7 @@
КонецФункции

Функция ПолучитьВерсиюОбработки(ДобавлятьНазвание = Истина, ТолькоЦифры = Ложь) Экспорт
Версия = "1.2.041.20";
Версия = "1.2.041.22";

Если ТолькоЦифры Тогда
Возврат Версия;
Expand Down Expand Up @@ -1570,7 +1572,18 @@
КонецЕсли;

Стр = СтрЗаменить(Стр, СпецСимволы + Элем.Имя + СпецСимволы, Элем.Значение);
КонецЦикла;
Если ДанныеШага.Свойство("ЕстьПеременныеТаблицыПеременных") И ДанныеШага.ЕстьПеременныеТаблицыПеременных Тогда
Стр = СтрЗаменить(Стр, "'" + Элем.Имя + "'", "'" + Элем.Значение + "'");
Стр = СтрЗаменить(Стр, """" + Элем.Имя + """", """" + Элем.Значение + """");
КонецЕсли;
КонецЦикла;

Если ДанныеШага.Свойство("ЗначенияИзТаблицыПеременных") Тогда
Для Каждого КлючЗначение Из ДанныеШага.ЗначенияИзТаблицыПеременных Цикл
Стр = СтрЗаменить(Стр, "'" + КлючЗначение.Ключ + "'", "'" + КлючЗначение.Значение + "'");
Стр = СтрЗаменить(Стр, """" + КлючЗначение.Ключ + """", """" + КлючЗначение.Значение + """");
КонецЦикла;
КонецЕсли;

Возврат Стр;

Expand Down Expand Up @@ -3027,7 +3040,7 @@

Перем СтарыйКаталог, ПутьКВременномуКаталогуНаСервере, ИмяФайла;

СтарыйКаталог = КаталогВыгрузкиjUnit;
СтарыйКаталог = КаталогВыгрузкиJUnit;

ОтчетВРежимеУФ = Ложь;
Если НЕ СтруктураОФ.ЭтоОФ Тогда
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,32 @@
СоответствиеПеременныхПути = Новый Соответствие;
ПеременныеСреды = ПеременныеСреды();

//Следующий комментарий оставлен, чтобы эмулировать переменные среды
//ПеременныеСреды.Вставить("VANESSA_librarycatalogs", "C:\Temp\444,C:\Temp\555");

//Для тестирования передачи параметров через переменные среды. Не для реального использования.
//Пример: Vanessa_Test_Environment_Variable_librarycatalogs=C:\Temp\КаталогБиблиотек1,C:\Temp\КаталогБиблиотек2
Если Найти(ПараметрЗапуска, "Vanessa_Test_Environment_Variable_") Тогда
МассивПараметров = РазложитьСтрокуВМассивПодстрок(ПараметрЗапуска, ";");
Для Каждого ТекПарам Из МассивПараметров Цикл

Если Найти(ТекПарам, "Vanessa_Test_Environment_Variable_") = 0 Тогда
Продолжить;
КонецЕсли;

Поз = Найти(ТекПарам, "=");
Если Поз = 0 Тогда
Продолжить;
КонецЕсли;

ЛеваяЧасть = СокрЛП(Лев(ТекПарам, Поз - 1));
ЛеваяЧасть = СтрЗаменить(ЛеваяЧасть, "Vanessa_Test_Environment_Variable_", "");
ПраваяЧасть = СокрЛП(Сред(ТекПарам, Поз + 1));
СоответствиеПеременныхПути.Вставить(ЛеваяЧасть, ПраваяЧасть);

КонецЦикла;
КонецЕсли;

Для каждого КлючИЗначение Из ПеременныеСреды Цикл
Если Лев(КлючИЗначение.Ключ, 8) = "VANESSA_" Тогда
СоответствиеПеременныхПути.Вставить(Сред(КлючИЗначение.Ключ, 9), КлючИЗначение.Значение);
Expand Down Expand Up @@ -480,13 +506,14 @@
КоллекцияКоманд.Вставить("КаталогВыгрузкиСППР", Новый Структура("Р, А", "КаталогВыгрузкиСППР", "modelingreportpath"));
КоллекцияКоманд.Вставить("ИмяКонфигурацииСППР", Новый Структура("Р, А", "ИмяКонфигурацииСППР", "ModelingConfigurationName"));
КоллекцияКоманд.Вставить("ВерсияКонфигурацииСППР", Новый Структура("Р, А", "ВерсияКонфигурацииСППР", "ModelingConfigurationVersion"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиjUnit", Новый Структура("Р, А", "КаталогВыгрузкиjUnit", "junitpath"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиJUnit", Новый Структура("Р, А", "КаталогВыгрузкиJUnit", "junitpath"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиИнструкцийHTML", Новый Структура("Р, А", "КаталогВыгрузкиИнструкцийHTML", "htmlpath"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиИнструкцийMarkdown", Новый Структура("Р, А", "КаталогВыгрузкиИнструкцийMarkdown", "markdownpath"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиИнструкцийВидео", Новый Структура("Р, А", "КаталогВыгрузкиИнструкцийВидео", "videopath"));
КоллекцияКоманд.Вставить("КаталогВыгрузкиСкриншотов", Новый Структура("Р, А", "КаталогВыгрузкиСкриншотов", "outputscreenshot"));
КоллекцияКоманд.Вставить("КаталогиБиблиотек", Новый Структура("Р, А", "КаталогиБиблиотек", "librarycatalogs"));
КоллекцияКоманд.Вставить("КаталогИнструментов", Новый Структура("Р, А", "КаталогИнструментов", "instrpath"));
КоллекцияКоманд.Вставить("КаталогВременныхФайлов", Новый Структура("Р, А", "КаталогВременныхФайлов", "TemporaryFilesDirectory"));
КоллекцияКоманд.Вставить("КаталогиСкриптовSikuliX", Новый Структура("Р, А", "КаталогиСкриптовSikuliX", "sikulixscriptpath"));
КоллекцияКоманд.Вставить("КаталогДляГенерацииКартинок", Новый Структура("Р, А", "КаталогДляГенерацииКартинок", "pathforpicturegeneration"));
КоллекцияКоманд.Вставить("КаталогИсполняемогоФайла", Новый Структура("Р, А", "КаталогИсполняемогоФайла", "pathtoplatform"));
Expand Down Expand Up @@ -661,6 +688,10 @@
// если ЖдатьОкончания = -1, тогда будет ожидание окончания работы приложения

ИмяВременногоФайлаКоманды = ПолучитьИмяВременногоФайла("bat");
Если ЗначениеЗаполнено(Ванесса.Объект.КаталогВременныхФайлов) Тогда
Файл = Новый Файл(ИмяВременногоФайлаКоманды);
ИмяВременногоФайлаКоманды = Ванесса.ДополнитьСлешВПуть(Ванесса.Объект.КаталогВременныхФайлов) + Файл.Имя;
КонецЕсли;

// эти две строки нужны для записи файла без BOM - начало
ЗТ = Новый ЗаписьТекста(ИмяВременногоФайлаКоманды, КодировкаТекста.ANSI, , Ложь);
Expand Down Expand Up @@ -735,7 +766,7 @@
ВызватьИсключение "Не определена плоская структура запуска.";
КонецЕсли;

Возврат ПлоскаяСтрутураПараметровЗапуска;
Возврат СкопироватьСтруктуру(ПлоскаяСтрутураПараметровЗапуска);

КонецФункции

Expand Down Expand Up @@ -1228,4 +1259,14 @@

КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Функция СкопироватьСтруктуру(Знач Оригинал)
Результат = Новый Структура;
Для каждого Элем Из Оригинал Цикл
Результат.Вставить(Элем.Ключ, Элем.Значение);
КонецЦикла;

Возврат Результат;
КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@
Возврат;
КонецЕсли;

Если СтруктураПараметров.ТегиОтборНрег <> Неопределено И СтруктураПараметров.ТегиОтборНрег.Количество() > 0 Тогда
Если СтруктураПараметров.ТегиОтборНрег <> Неопределено И СтруктураПараметров.ТегиОтборНрег.Количество() > 0 И НЕ ЭтоКонтекст Тогда
//Если идёт загрузка одного сценария и есть отбор по тегам, то в дерево загружается только сценарии соответствующие отбору
ТегЕстьВСценарии = Ложь;
ТегЕстьВФиче = Ложь;
Expand Down Expand Up @@ -482,7 +482,7 @@

КонецЕсли;

Если СтруктураПараметров.Свойство("ОтборСценариевПоИмениСценария") Тогда
Если СтруктураПараметров.Свойство("ОтборСценариевПоИмениСценария") И НЕ ЭтоКонтекст Тогда
Если СтруктураПараметров.ОтборСценариевПоИмениСценария[СокрЛП(ДанныеСценария.name)] = Неопределено Тогда
Возврат;
КонецЕсли;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1064,8 +1064,14 @@
// Проверяет является ли текущая строка редактора подсценарием
&НаКлиенте
Функция ТекущаяСтрокаРедактораЭтоПодсценарий(СтрокаДерева = Неопределено) Экспорт
ТекущаяСтрокаVanessaEditor = Ванесса.ПолучитьVanessaEditor().getPosition().LineNumber;
СтрокаДерева = Ванесса.СтрокаДереваПоНомеруСтрокиФичи(ТекущаяСтрокаVanessaEditor);

ПозицияVanessaEditor = Ванесса.ПолучитьVanessaEditor().getPosition();
Если ЗначениеЗаполнено(ПозицияVanessaEditor.codeWidget) Тогда
ИдСтрокиДерева = ИдСтрокиДереваПоНомеруСтрокиВВиджете(ПозицияVanessaEditor.codeWidget, ПозицияVanessaEditor.LineNumber);
СтрокаДерева = Ванесса.СтрокаДереваПоИдСтроки(ИдСтрокиДерева);
Иначе
СтрокаДерева = Ванесса.СтрокаДереваПоНомеруСтрокиФичи(ПозицияVanessaEditor.LineNumber);
КонецЕсли;

Если СтрокаДерева = Неопределено Тогда
Возврат Ложь;
Expand Down Expand Up @@ -1523,7 +1529,7 @@
КолПараметров = ТекШаг.ЗначенияПараметров.Количество();
Для Сч = 0 По КолПараметров - 1 Цикл
ТекПараметр = ТекШаг.ЗначенияПараметров[Сч];
ПроверяемоеИмяПеременной = ТекПараметр.Значение.Значение;
ПроверяемоеИмяПеременной = УбратьСпецсимволыИспользованияПеременной(ТекПараметр.Значение.Значение);
ЗначениеПеременной = ЗначениеПеременной(ПроверяемоеИмяПеременной);
Если ТипЗнч(ЗначениеПеременной) = Тип("Строка") Тогда
ЗначениеПеременной = """" + ЗначениеПеременной + """";
Expand Down Expand Up @@ -2086,4 +2092,19 @@

КонецФункции

&НаКлиенте
Функция УбратьСпецсимволыИспользованияПеременной(Стр)

Если Лев(Стр, 2) = "$$" И Прав(Стр, 2) = "$$" Тогда
Возврат Сред(Стр, 3, СтрДлина(Стр) - 4);
КонецЕсли;

Если Лев(Стр, 1) = "$" И Прав(Стр, 1) = "$" Тогда
Возврат Сред(Стр, 2, СтрДлина(Стр) - 2);
КонецЕсли;

Возврат Стр;

КонецФункции

#КонецОбласти
Loading

0 comments on commit f348093

Please sign in to comment.