Skip to content

Commit 21c0708

Browse files
committed
Реализована функция рекурсивного сбора обработок
1 parent f2bcb6a commit 21c0708

File tree

1 file changed

+45
-5
lines changed

1 file changed

+45
-5
lines changed

v8files-extractor.os

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -433,11 +433,7 @@
433433

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

436-
Функция Компилировать(Знач Путь, Знач КаталогВыгрузки, Знач ТипФайла, Знач Рекурсивно)
437-
438-
Если ТипФайла = Неопределено Тогда
439-
ТипФайла = "epf";
440-
КонецЕсли;
436+
Функция Компилировать(Знач Путь, Знач КаталогВыгрузки, Знач ТипФайла = "epf", Знач Рекурсивно = Ложь)
441437

442438
ПутьКИсходникам = ОбъединитьПути(ТекущийКаталог(), Путь);
443439

@@ -446,6 +442,43 @@
446442
Ожидаем.Что(ПапкаИсходников.Существует(), "Папка " + ПутьКИсходникам + " должна существовать").ЭтоИстина();
447443
Ожидаем.Что(ПапкаИсходников.ЭтоКаталог(), "Путь " + ПутьКИсходникам + "должен быть каталогом").ЭтоИстина();
448444

445+
Если Рекурсивно Тогда
446+
СобратьКаталог(ПутьКИсходникам, КаталогВыгрузки, ТипФайла);
447+
Иначе
448+
СобратьФайл(ПутьКИсходникам, КаталогВыгрузки, ТипФайла);
449+
КонецЕсли;
450+
451+
КонецФункции
452+
453+
Процедура СобратьКаталог(Знач ПутьКИсходникам, КаталогВыгрузки, Знач ТипФайла)
454+
455+
СписокФайловВКаталоге = НайтиФайлы(ПутьКИсходникам);
456+
457+
Для Каждого Файл Из СписокФайловВКаталоге Цикл
458+
459+
Если НЕ Файл.ЭтоКаталог() Тогда
460+
Продолжить;
461+
КонецЕсли;
462+
463+
Если НЕ Новый Файл(КаталогВыгрузки).Существует() Тогда
464+
СоздатьКаталог(КаталогВыгрузки);
465+
КонецЕсли;
466+
467+
Если ЭтоПутьКИсходнымКодамОбработок(Файл.ПолноеИмя) Тогда
468+
СобратьФайл(Файл.ПолноеИмя, КаталогВыгрузки, ТипФайла);
469+
Иначе
470+
НовыйПутьВыгрузки = ОбъединитьПути(КаталогВыгрузки, Файл.Имя);
471+
СобратьКаталог(Файл.ПолноеИмя, НовыйПутьВыгрузки, ТипФайла);
472+
КонецЕсли;
473+
474+
КонецЦикла;
475+
476+
КонецПроцедуры
477+
478+
Функция СобратьФайл(Знач ПутьКИсходникам, Знач КаталогВыгрузки, Знач ТипФайла)
479+
480+
ПапкаИсходников = Новый Файл(ПутьКИсходникам);
481+
449482
ИмяПапки = ПапкаИсходников.Имя;
450483
ИмяФайлаОбъекта = ОбъединитьПути(ТекущийКаталог(), КаталогВыгрузки, ИмяПапки + "." + ТипФайла);
451484

@@ -479,6 +512,13 @@
479512

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

515+
Функция ЭтоПутьКИсходнымКодамОбработок(ПутьКПапке)
516+
517+
ФайлПереименования = Новый Файл(ОбъединитьПути(ПутьКПапке, "renames.txt"));
518+
Возврат ФайлПереименования.Существует();
519+
520+
КонецФункции
521+
482522
// Функция - Получает соответствие переименований файлов обработки на основе
483523
// файла renames.txt
484524
//

0 commit comments

Comments
 (0)