forked from bia-tech/precommit4onec
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add new scenario ПроверкаКорректностиXML
Добавлен новый сценарий валидации XML-файла без логики
- Loading branch information
Showing
1 changed file
with
79 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
/////////////////////////////////////////////////////////////////////////////// | ||
// | ||
// Служебный модуль с реализацией сценариев обработки файлов <ПроверкаКорректностиXML> | ||
// | ||
/////////////////////////////////////////////////////////////////////////////// | ||
|
||
Перем Лог; | ||
|
||
// ИмяСценария | ||
// Возвращает имя сценария обработки файлов | ||
// | ||
// Возвращаемое значение: | ||
// Строка - Имя текущего сценария обработки файлов | ||
// | ||
Функция ИмяСценария() Экспорт | ||
|
||
Возврат "ПроверкаКорректностиXML"; | ||
|
||
КонецФункции // ИмяСценария() | ||
|
||
// ОбработатьФайл | ||
// Выполняет обработку файла | ||
// | ||
// Параметры: | ||
// АнализируемыйФайл - Файл - Файл из журнала git для анализа | ||
// КаталогИсходныхФайлов - Строка - Каталог расположения исходных файлов относительно каталог репозитория | ||
// ДополнительныеПараметры - Структура - Набор дополнительных параметров, которые можно использовать | ||
// * Лог - Объект - Текущий лог | ||
// * ИзмененныеКаталоги - Массив - Каталоги, которые необходимо добавить в индекс | ||
// * КаталогРепозитория - Строка - Адрес каталога репозитория | ||
// * ФайлыДляПостОбработки - Массив - Файлы, изменившиеся / образовавшиеся в результате работы сценария | ||
// и которые необходимо дообработать | ||
// | ||
// Возвращаемое значение: | ||
// Булево - Признак выполненной обработки файла | ||
// | ||
Функция ОбработатьФайл(АнализируемыйФайл, КаталогИсходныхФайлов, ДополнительныеПараметры) Экспорт | ||
|
||
Лог = ДополнительныеПараметры.Лог; | ||
НастройкиСценария = ДополнительныеПараметры.Настройки.Получить(ИмяСценария()); | ||
Если АнализируемыйФайл.Существует() И ( | ||
ТипыФайлов.ЭтоФайлОписанияКонфигурации(АнализируемыйФайл) ИЛИ | ||
ТипыФайлов.ЭтоФайлОписанияКонфигурацииEDT(АнализируемыйФайл) ИЛИ | ||
ТипыФайлов.ЭтоФайлОписанияМетаданных(АнализируемыйФайл) ИЛИ | ||
ТипыФайлов.ЭтоФайлОписанияФормы(АнализируемыйФайл) ИЛИ | ||
ТипыФайлов.ЭтоФайлОписанияПланаОбмена(АнализируемыйФайл) ИЛИ | ||
ТипыФайлов.ЭтоФайлОписанияФункциональнойОпции(АнализируемыйФайл) | ||
) Тогда | ||
|
||
Лог.Информация("Обработка файла '%1' по сценарию '%2'", АнализируемыйФайл.ПолноеИмя, ИмяСценария()); | ||
|
||
ПроверитьНаКорректностьXML(АнализируемыйФайл.ПолноеИмя); | ||
Возврат Истина; | ||
|
||
КонецЕсли; | ||
|
||
Возврат Ложь; | ||
|
||
КонецФункции // ОбработатьФайл() | ||
|
||
Процедура ПроверитьНаКорректностьXML(ПутьКФайлуМодуля) | ||
|
||
ФайлXML = Новый ЧтениеXML(); | ||
Попытка | ||
ФайлXML.ОткрытьФайл(ПутьКФайлуМодуля); | ||
ФайлXML.ПерейтиКСодержимому(); | ||
Пока ФайлXML.Прочитать() Цикл | ||
КонецЦикла; | ||
ФайлXML.Закрыть(); | ||
Исключение | ||
Инфо = ИнформацияОбОшибке(); | ||
ТекстОшибки = СтрШаблон("В файле '%1' нарушена корректность XML: %2", ПутьКФайлуМодуля, Инфо.Описание); | ||
Лог.Ошибка(ТекстОшибки); | ||
|
||
ВызватьИсключение ТекстОшибки; | ||
|
||
КонецПопытки; | ||
|
||
КонецПроцедуры |