1
0
mirror of https://github.com/1C-Company/GitConverter.git synced 2025-03-17 20:57:48 +02:00

Исправление при копировании корня с подкаталогами

This commit is contained in:
KovAlexey 2024-12-23 10:52:35 +10:00
parent 9ed67f1aa8
commit bfd8d0a1fc
2 changed files with 66 additions and 31 deletions

View File

@ -1359,36 +1359,7 @@
НайденныеФайлыКорня = НайтиФайлы(КаталогФайловКонфигурации, "Configuration.xml", Ложь); НайденныеФайлыКорня = НайтиФайлы(КаталогФайловКонфигурации, "Configuration.xml", Ложь);
Если НайденныеФайлыКорня.Количество() = 0 Тогда Если НайденныеФайлыКорня.Количество() = 0 Тогда
// Попробуем выгрузить корень отдельно ВыгрузитьПоместитьКореньВОсновнойКаталог(Параметры, КаталогФайловКонфигурации);
ПараметрыВыгрузкиКорня = ОбщегоНазначенияКлиентСервер.СкопироватьРекурсивно(Параметры);
КаталогВыгрузкиКорня = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
Параметры.КаталогВременныхФайлов) + "dump_configuration";
ИмяФайлаОбъектов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
Параметры.КаталогВременныхФайлов) + "export_object_conf.txt";
Файл = Новый Файл(КаталогВыгрузкиКорня);
Если Файл.Существует() Тогда
УдалитьФайлы(КаталогВыгрузкиКорня);
КонецЕсли;
ПараметрыВыгрузкиКорня.КаталогФайловКонфигурации = КаталогВыгрузкиКорня;
ПараметрыВыгрузкиКорня.Вставить("ВыгружатьПоСписку", Истина);
ПараметрыВыгрузкиКорня.Вставить("ФайлСпискаВыгрузки", ИмяФайлаОбъектов);
ПараметрыВыгрузкиКорня.ВыгружатьИзменения = Ложь;
ЗаписьФайла = Новый ЗаписьТекста(ИмяФайлаОбъектов);
ЗаписьФайла.Записать("Configuration");
ЗаписьФайла.Закрыть();
СоздатьКаталог(КаталогВыгрузкиКорня);
ВыгрузитьКонфигурациюВФайлы(ПараметрыВыгрузкиКорня);
ФайлыКорняККопированию = НайтиФайлы(КаталогВыгрузкиКорня, "*.*", Ложь);
Для Каждого ФайлКорняККопированию Из ФайлыКорняККопированию Цикл
ИтоговыйПуть = КаталогФайловКонфигурации + ФайлКорняККопированию.Имя;
КопироватьФайл(ФайлКорняККопированию.ПолноеИмя, ИтоговыйПуть);
КонецЦикла;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
КонецЕсли; КонецЕсли;
@ -1472,6 +1443,70 @@
КонецПроцедуры КонецПроцедуры
Процедура ВыгрузитьПоместитьКореньВОсновнойКаталог(Параметры, Знач КаталогФайловКонфигурации)
// Попробуем выгрузить корень отдельно
КаталогФайловКонфигурации = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(КаталогФайловКонфигурации);
ПараметрыВыгрузкиКорня = ОбщегоНазначенияКлиентСервер.СкопироватьРекурсивно(Параметры);
КаталогВыгрузкиКорня = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
Параметры.КаталогВременныхФайлов) + "dump_configuration";
ИмяФайлаОбъектов = ОбщегоНазначенияКлиентСервер.ДобавитьКонечныйРазделительПути(
Параметры.КаталогВременныхФайлов) + "export_object_conf.txt";
Файл = Новый Файл(КаталогВыгрузкиКорня);
Если Файл.Существует() Тогда
УдалитьФайлы(КаталогВыгрузкиКорня);
КонецЕсли;
ПараметрыВыгрузкиКорня.КаталогФайловКонфигурации = КаталогВыгрузкиКорня;
ПараметрыВыгрузкиКорня.Вставить("ВыгружатьПоСписку", Истина);
ПараметрыВыгрузкиКорня.Вставить("ФайлСпискаВыгрузки", ИмяФайлаОбъектов);
ПараметрыВыгрузкиКорня.ВыгружатьИзменения = Ложь;
ЗаписьФайла = Новый ЗаписьТекста(ИмяФайлаОбъектов);
ЗаписьФайла.Записать("Configuration");
ЗаписьФайла.Закрыть();
СоздатьКаталог(КаталогВыгрузкиКорня);
ВыгрузитьКонфигурациюВФайлы(ПараметрыВыгрузкиКорня);
ФайлыКорняККопированию = НайтиФайлы(КаталогВыгрузкиКорня, "*.*", Ложь);
Для Каждого ФайлКорняККопированию Из ФайлыКорняККопированию Цикл
Если ФайлКорняККопированию.ЭтоКаталог() Тогда
Продолжить;
КонецЕсли;
ИтоговыйПуть = КаталогФайловКонфигурации + ФайлКорняККопированию.Имя;
КопироватьФайл(ФайлКорняККопированию.ПолноеИмя, ИтоговыйПуть);
КонецЦикла;
КаталогРасширенныхДанныхКорня = КаталогВыгрузкиКорня + "Ext";
ФайлКаталогРасширенныхДанныхКорня = Новый Файл(КаталогРасширенныхДанныхКорня);
Если ФайлКаталогРасширенныхДанныхКорня.Существует() Тогда
КаталогВыгруженныхРасширенныхФайловВыгрузки = КаталогВыгрузкиКорня + "Ext\";
ПозицияВСтрокеРабочегоКаталога = СтрДлина(КаталогВыгруженныхРасширенныхФайловВыгрузки) + 1;
СоздатьКаталог(КаталогВыгруженныхРасширенныхФайловВыгрузки);
КаталогРасширенныхФайловВыгрузки = КаталогФайловКонфигурации + "Ext\";
НайденныеРасширенныеФайлыКорня = НайтиФайлы(КаталогВыгруженныхРасширенныхФайловВыгрузки, "*.*", Истина);
Для Каждого РасширенныйФайлКорняИсточник Из НайденныеРасширенныеФайлыКорня Цикл
ИтоговоеИмя = КаталогФайловКонфигурации + Сред(РасширенныйФайлКорняИсточник.ПолноеИмя,
ПозицияВСтрокеРабочегоКаталога);
Если РасширенныйФайлКорняИсточник.ЭтоКаталог() Тогда
СоздатьКаталог(ИтоговоеИмя);
Иначе
КопироватьФайл(ИтоговоеИмя, РасширенныйФайлКорняИсточник.ПолноеИмя);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
// Загружает файлы конфигурации версии в проект EDT и составляет индекс // Загружает файлы конфигурации версии в проект EDT и составляет индекс
// //
// Параметры: // Параметры:

View File

@ -21,7 +21,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles> <defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles> <defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor> <vendor>Фирма &quot;1С&quot;</vendor>
<version>1.0.9.0</version> <version>1.0.9.1</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress> <updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents> <includeHelpInContents>true</includeHelpInContents>
<help> <help>