mirror of
https://github.com/bia-technologies/precommit4onec.git
synced 2024-11-24 08:32:25 +02:00
Merge branch 'feature/ONECICD-120' into 'develop'
#ONECICD-120 See merge request orais/precommit1C-fork-bia!7
This commit is contained in:
commit
7f76f1ee71
@ -65,3 +65,43 @@
|
||||
Возврат СтрСравнить(Файл.Имя, "Configuration.mdo") = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// ЭтоФайлОписанияКонфигурации
|
||||
// Возвращает истину, если файл является файлом описания формы
|
||||
// Параметры:
|
||||
// Файл - Строка - Полный путь к файлу
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Признак
|
||||
//
|
||||
Функция ЭтоФайлОписанияФормы(Файл) Экспорт
|
||||
|
||||
Если ПустаяСтрока(Файл.Расширение) Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрСравнить(Файл.Имя, "Form.xml") = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
// ЭтоФайлОписанияКонфигурации
|
||||
// Возвращает истину, если файл является файлом описания формы в формате EDT
|
||||
// Параметры:
|
||||
// Файл - Строка - Полный путь к файлу
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Булево - Признак
|
||||
//
|
||||
Функция ЭтоФайлОписанияФормыEDT(Файл) Экспорт
|
||||
|
||||
Если ПустаяСтрока(Файл.Расширение) Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрСравнить(Файл.Имя, "Form.form") = 0;
|
||||
|
||||
КонецФункции
|
||||
|
@ -80,4 +80,4 @@
|
||||
|
||||
Возврат ?(ЕстьBOM, КодировкаТекста.UTF8, КодировкаТекста.UTF8NoBOM);
|
||||
|
||||
КонецФункции //ОпределитьКодировку
|
||||
КонецФункции // ОпределитьКодировку
|
@ -36,17 +36,33 @@
|
||||
|
||||
Лог = ДополнительныеПараметры.Лог;
|
||||
НастройкиСценария = ДополнительныеПараметры.УправлениеНастройками.Настройка("Precommt4onecСценарии\НастройкиСценариев").Получить(ИмяСценария());
|
||||
Если АнализируемыйФайл.Существует() И ЭтоФайлОписанияФормы(АнализируемыйФайл) Тогда
|
||||
|
||||
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
|
||||
|
||||
Если ОбновитьИндексыЭлементовВФорме(АнализируемыйФайл.ПолноеИмя) Тогда
|
||||
Если АнализируемыйФайл.Существует() Тогда
|
||||
|
||||
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
|
||||
Если ТипыФайлов.ЭтоФайлОписанияФормы(АнализируемыйФайл) Тогда
|
||||
|
||||
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
|
||||
|
||||
Если ОбновитьИндексыЭлементовВФорме(АнализируемыйФайл.ПолноеИмя) Тогда
|
||||
|
||||
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИСТИНА;
|
||||
|
||||
ИначеЕсли ТипыФайлов.ЭтоФайлОписанияФормыEDT(АнализируемыйФайл) Тогда
|
||||
|
||||
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария());
|
||||
|
||||
Если ОбновитьИндексыЭлементовВФорме(АнализируемыйФайл.ПолноеИмя, Истина) Тогда
|
||||
|
||||
ДополнительныеПараметры.ИзмененныеКаталоги.Добавить(АнализируемыйФайл.ПолноеИмя);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИСТИНА;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат ИСТИНА;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
@ -54,23 +70,13 @@
|
||||
|
||||
КонецФункции // ОбработатьФайл()
|
||||
|
||||
Функция ЭтоФайлОписанияФормы(Файл)
|
||||
|
||||
Если ПустаяСтрока(Файл.Расширение) Тогда
|
||||
|
||||
Возврат Ложь;
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
Возврат СтрСравнить(Файл.Имя, "Form.xml") = 0;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ОбновитьИндексыЭлементовВФорме(Знач ИмяФайла)
|
||||
Функция ОбновитьИндексыЭлементовВФорме(Знач ИмяФайла, EDT = Ложь)
|
||||
|
||||
СодержимоеФайла = ФайловыеОперации.ПрочитатьТекстФайла(ИмяФайла);
|
||||
|
||||
Регексп = Новый РегулярноеВыражение("id=\""([0-9-]+)\""\/*>");
|
||||
ПаттернID = ?(EDT, "<id>([0-9-]+)<\/id>", "id=\""([0-9-]+)\""\/*>");
|
||||
|
||||
Регексп = Новый РегулярноеВыражение(ПаттернID);
|
||||
Регексп.ИгнорироватьРегистр = ИСТИНА;
|
||||
Регексп.Многострочный = ИСТИНА;
|
||||
ГруппыИндексов = Регексп.НайтиСовпадения(СодержимоеФайла);
|
||||
@ -111,9 +117,9 @@
|
||||
|
||||
Пока СтрокаТЧ.Количество > 1 Цикл
|
||||
|
||||
ИсходнаяСтрока = "id=""" + СтрокаТЧ.Значение + """";
|
||||
ИсходнаяСтрока = ?(EDT, "<id>" + СтрокаТЧ.Значение + "<", "id=""" + СтрокаТЧ.Значение + """");
|
||||
ПоследнийНомер = ПоследнийНомер + 1;
|
||||
СтрокаЗамены = "id=""" + ПоследнийНомер + """";
|
||||
СтрокаЗамены = ?(EDT, "<id>" + ПоследнийНомер + "<", "id=""" + ПоследнийНомер + """");
|
||||
|
||||
Поз = СтрНайти(СодержимоеФайла, ИсходнаяСтрока);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user