Skip to content

Commit

Permalink
#112 удаление, изменение описания файлов шаблонов
Browse files Browse the repository at this point in the history
  • Loading branch information
god committed Mar 12, 2021
1 parent 7cab9f9 commit 2f503d7
Show file tree
Hide file tree
Showing 4 changed files with 154 additions and 31 deletions.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -1766,6 +1766,10 @@
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<handlers>
<event>TextEditEnd</event>
<name>ТаблицаСвойствШаблоновШаблонОкончаниеВводаТекста</name>
</handlers>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
Expand Down Expand Up @@ -1932,6 +1936,10 @@
<event>OnChange</event>
<name>ТаблицаСвойствШаблоновПриИзменении</name>
</handlers>
<handlers>
<event>BeforeDeleteRow</event>
<name>ТаблицаСвойствШаблоновПередУдалением</name>
</handlers>
<searchStringAddition>
<visible>true</visible>
<enabled>true</enabled>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -670,43 +670,58 @@

БезопасноеПредставлениеШаблона = УдалитьОпасныеСимволы(стр.Шаблон);

ПутьКШаблону = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+".txt";
СохранитьТекстыШаблоновВФайл(БезопасноеПредставлениеШаблона, стр);

Файл = Новый Файл(ПутьКШаблону);
Если Файл.Существует() Тогда
КонецЕсли;

ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(стр.ТекстыШаблонов);
ТекстовыйДокумент.Записать(ПутьКШаблону,"UTF8");

ПутьКШаблонуСвойств = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+"-property.txt";

Файл = Новый Файл(ПутьКШаблонуСвойств);
Если Файл.Существует() Тогда
КонецЕсли;

ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.ДобавитьСтроку("activity_of_pattern "+XMLСтрока(стр.Активность));
ТекстовыйДокумент.ДобавитьСтроку("name_of_pattern "+стр.Шаблон);
ТекстовыйДокумент.ДобавитьСтроку("action_of_pattern "+стр.Действие);

Если стр.ПутьШаблон="" Тогда
Сообщить("Путь для шаблона ("+стр.Шаблон+") пустой!");
ИначеЕсли НЕ Найти(стр.ПутьШаблон,ПутьККаталогуБиблиотекиСценариев) Тогда
Сообщить("Для шаблона ("+стр.Шаблон+") путь ("+стр.ПутьШаблон+") указан вне библиотеки ("+ПутьККаталогуБиблиотекиСценариев+"). В сценарии могут быть проблемы с загрузкой!");
КонецЕсли;
ПутьШаблон = СтрЗаменить(стр.ПутьШаблон,ПутьККаталогуБиблиотекиСценариев,"");
ТекстовыйДокумент.ДобавитьСтроку("path_to_pattern "+ПутьШаблон);


ТекстовыйДокумент.Записать(ПутьКШаблонуСвойств,"UTF8");
СохранитьОписаниеСвойствШаблонаВФайл(БезопасноеПредставлениеШаблона, стр);

КонецЦикла;


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

&НаКлиенте
Процедура СохранитьТекстыШаблоновВФайл(Знач БезопасноеПредставлениеШаблона, стр)
Перем ПутьКШаблону;
Перем Файл;
Перем ТекстовыйДокумент;
ПутьКШаблону = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+".txt";

Файл = Новый Файл(ПутьКШаблону);
Если Файл.Существует() Тогда
КонецЕсли;

ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.УстановитьТекст(стр.ТекстыШаблонов);
ТекстовыйДокумент.Записать(ПутьКШаблону,"UTF8");
КонецПроцедуры

&НаКлиенте
Процедура СохранитьОписаниеСвойствШаблонаВФайл(Знач БезопасноеПредставлениеШаблона, стр)
Перем ПутьШаблон;
Перем ПутьКШаблонуСвойств;
ПутьКШаблонуСвойств = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+"-property.txt";

Файл = Новый Файл(ПутьКШаблонуСвойств);
Если Файл.Существует() Тогда
КонецЕсли;

ТекстовыйДокумент = Новый ТекстовыйДокумент();
ТекстовыйДокумент.ДобавитьСтроку("activity_of_pattern "+XMLСтрока(стр.Активность));
ТекстовыйДокумент.ДобавитьСтроку("name_of_pattern "+стр.Шаблон);
ТекстовыйДокумент.ДобавитьСтроку("action_of_pattern "+стр.Действие);

Если стр.ПутьШаблон="" Тогда
Сообщить("Путь для шаблона ("+стр.Шаблон+") пустой!");
ИначеЕсли НЕ Найти(стр.ПутьШаблон,ПутьККаталогуБиблиотекиСценариев) Тогда
Сообщить("Для шаблона ("+стр.Шаблон+") путь ("+стр.ПутьШаблон+") указан вне библиотеки ("+ПутьККаталогуБиблиотекиСценариев+"). В сценарии могут быть проблемы с загрузкой!");
КонецЕсли;
ПутьШаблон = СтрЗаменить(стр.ПутьШаблон,ПутьККаталогуБиблиотекиСценариев,"");
ТекстовыйДокумент.ДобавитьСтроку("path_to_pattern "+ПутьШаблон);


ТекстовыйДокумент.Записать(ПутьКШаблонуСвойств,"UTF8");
КонецПроцедуры

&НаКлиенте
Функция УдалитьОпасныеСимволы(Знач Текст)

Expand Down Expand Up @@ -758,6 +773,7 @@
КонецПроцедуры



&НаКлиенте
Процедура ТаблицаСвойствШаблоновПутьШаблонНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

Expand Down Expand Up @@ -823,4 +839,103 @@
КонецПроцедуры


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

#Область РаботыШаблоныФайлы

&НаКлиенте
Процедура ТаблицаСвойствШаблоновПередУдалением(Элемент, Отказ)

ТекущиеДанные = Элементы.ТаблицаСвойствШаблонов.ТекущиеДанные;
ТекущийИндекс = ТаблицаСвойствШаблонов.Индекс(ТекущиеДанные);

Если ТекущиеДанные=Неопределено Тогда
Возврат;
КонецЕсли;

Шаблон = ТекущиеДанные.Шаблон;
БезопасноеПредставлениеШаблона = УдалитьОпасныеСимволы(Шаблон);
ПутьКШаблону = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+".txt";
ПутьКШаблонуСвойств = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+"-property.txt";

УдалениеФайловЗавершение = Новый ОписаниеОповещения("УдалениеФайловЗавершение",ЭтотОбъект,Новый Структура("Шаблон,ТекущийИндекс,УдалятьСтроку,ПутьКФайлу,Перемещение",Шаблон,ТекущийИндекс,Ложь,ПутьКШаблону,Ложь),"ОшибкаРаботыСФайлами",ЭтотОбъект);
НачатьУдалениеФайлов(УдалениеФайловЗавершение,ПутьКШаблону);
УдалениеФайловЗавершение = Новый ОписаниеОповещения("УдалениеФайловЗавершение",ЭтотОбъект,Новый Структура("Шаблон,ТекущийИндекс,УдалятьСтроку,ПутьКФайлу,Перемещение",Шаблон,ТекущийИндекс,Истина,ПутьКШаблонуСвойств,Ложь),"ОшибкаРаботыСФайлами",ЭтотОбъект);
НачатьУдалениеФайлов(УдалениеФайловЗавершение,ПутьКШаблонуСвойств);

Отказ = Истина;

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

&НаКлиенте
Процедура УдалениеФайловЗавершение(ДополнительныеПараметры) Экспорт

Если ДополнительныеПараметры.УдалятьСтроку=Истина Тогда
ТаблицаСвойствШаблонов.Удалить(ДополнительныеПараметры.ТекущийИндекс);
КонецЕсли;

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

&НаКлиенте
Процедура ОшибкаРаботыСФайлами(ИнформацияОбОшибке,СтандартнаяОбработка,ДополнительныеПараметры) Экспорт
Сообщить("Удалние/переименование файлов для шаблона "+ДополнительныеПараметры.Шаблон+" произошло с ошибкой!");
Сообщить(КраткоеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПроцедуры

&НаКлиенте
Процедура ТаблицаСвойствШаблоновШаблонОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)

ТекущиеДанные = Элементы.ТаблицаСвойствШаблонов.ТекущиеДанные;
ТекущийИндекс = ТаблицаСвойствШаблонов.Индекс(ТекущиеДанные);

Если ТекущиеДанные=Неопределено Тогда
Возврат;
КонецЕсли;

Шаблон = ТекущиеДанные.Шаблон;

Если НЕ ЗначениеЗаполнено(Шаблон) Тогда
Возврат;
КонецЕсли;

НовыйШаблон = Текст;

Если НЕ ЗначениеЗаполнено(НовыйШаблон) Тогда
Сообщить("Имя шаблона не должно быть пустым!");
Возврат;
КонецЕсли;

БезопасноеПредставлениеШаблона = УдалитьОпасныеСимволы(Шаблон);
ПутьКШаблону = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+".txt";
ПутьКШаблонуСвойств = ПутьККатлогуЛогикиШаблонов+"\"+БезопасноеПредставлениеШаблона+"-property.txt";

Файл = новый Файл(ПутьКШаблону);
Если НЕ Файл.Существует() Тогда // не можем переместить, если файла нет
Возврат;
КонецЕсли;

НовоеБезопасноеПредставлениеШаблона = УдалитьОпасныеСимволы(НовыйШаблон);
НовыйПутьКШаблону = ПутьККатлогуЛогикиШаблонов+"\"+НовоеБезопасноеПредставлениеШаблона+".txt";
НовыйПутьКШаблонуСвойств = ПутьККатлогуЛогикиШаблонов+"\"+НовоеБезопасноеПредставлениеШаблона+"-property.txt";

НачатьПеремещениеФайловЗавершение = Новый ОписаниеОповещения("НачатьПеремещениеФайловЗавершение",ЭтотОбъект,Новый Структура("Шаблон,ТекущийИндекс,УдалятьСтроку,ПутьКФайлу,Перемещение",Шаблон,ТекущийИндекс,Ложь,ПутьКШаблону,Истина),"ОшибкаРаботыСФайлами",ЭтотОбъект);
НачатьПеремещениеФайла(НачатьПеремещениеФайловЗавершение,ПутьКШаблону,НовыйПутьКШаблону);
НачатьПеремещениеФайловЗавершение = Новый ОписаниеОповещения("НачатьПеремещениеФайловЗавершение",ЭтотОбъект,Новый Структура("Шаблон,ТекущийИндекс,УдалятьСтроку,ПутьКФайлу,Перемещение",Шаблон,ТекущийИндекс,Ложь,ПутьКШаблонуСвойств,Истина),"ОшибкаРаботыСФайлами",ЭтотОбъект);
НачатьПеремещениеФайла(НачатьПеремещениеФайловЗавершение,ПутьКШаблонуСвойств,НовыйПутьКШаблонуСвойств);

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


&НаКлиенте
Процедура НачатьПеремещениеФайловЗавершение(ПеремещаемыйФайл,ДополнительныеПараметры) Экспорт
//TODO: переименовать свойства описания шаблона
Если Найти(ПеремещаемыйФайл,"property") Тогда
// пересохраним свойства
стр = ТаблицаСвойствШаблонов[ДополнительныеПараметры.ТекущийИндекс];
БезопасноеПредставлениеШаблона = УдалитьОпасныеСимволы(стр.Шаблон);
СохранитьОписаниеСвойствШаблонаВФайл(БезопасноеПредставлениеШаблона,стр);
КонецЕсли;
КонецПроцедуры


#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Менеджер сценарного теста");
ПараметрыРегистрации.Вставить("Версия", "2021.03.08");
ПараметрыРегистрации.Вставить("Версия", "2021.03.12");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", ПолучитьИнформацию());
ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4");
Expand Down

0 comments on commit 2f503d7

Please sign in to comment.