Skip to content

Commit 3da3007

Browse files
Merge pull request #109 from a-n-d-r-e-w/patch-1
добавлена запись файла dumplist.txt
2 parents a13ae8e + 300fcc4 commit 3da3007

1 file changed

Lines changed: 45 additions & 4 deletions

File tree

src/Классы/useIbcmd.os

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
Перем ИнкрементальнаяВыгрузкаВозможна; // Булево - Истина - инкрементальная выгрузка возможна
2121
Перем ПутьКФайлуДампаИзменений; // Строка - путь к файлу ConfigDumpInfo.xml
22+
Перем ПутьКФайлуИзменений; // Строка - Путь к файлу, в который будет записываться информация об изменениях в конфигурации
2223

2324
#Область Интерфейс_плагина
2425

@@ -201,6 +202,7 @@
201202
СтандартнаяОбработка = Ложь;
202203

203204
Лог.Информация("Используем утилиту ibcmd для выгрузки конфигурации в файлы");
205+
Лог.Отладка("Каталог выгрузки конфигурации в файлы <%1>", КаталогВыгрузки);
204206

205207
Попытка
206208
ВыгрузитьКонфигурациюВФайлыIBCMD(Конфигуратор, КаталогВыгрузки);
@@ -275,6 +277,10 @@
275277
ВызватьИсключение ТекстОшибки;
276278
КонецЕсли;
277279

280+
Если ФС.ФайлСуществует(ПутьКФайлуИзменений) Тогда
281+
ПереместитьФайл(ПутьКФайлуИзменений, ОбъединитьПути(КаталогВыгрузки, ИмяФайлаИзменений()));
282+
КонецЕсли;
283+
278284
КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыIBCMD()
279285

280286
// Функция проверяет возможность инкрементальной выгрузки конфигурации в файлы
@@ -297,6 +303,7 @@
297303
ФайлДампаИзменений = Новый Файл(ПутьКФайлуДампаИзменений);
298304

299305
ПутьКФайлуПроверки = ПолучитьИмяВременногоФайла("dmp");
306+
ПутьКФайлуИзменений = "";
300307

301308
Лог.Отладка("Проверяю существование файла <%1> в каталоге <%2>, файл <%3>",
302309
ФайлДампаИзменений.Имя,
@@ -309,6 +316,7 @@
309316
Возврат Результат;
310317
КонецЕсли;
311318

319+
Лог.Отладка("РабочийКаталогIBCMD = <%1>", РабочийКаталогIBCMD);
312320
Лог.Отладка("Проверяю возможность обновления выгрузки для файла <%1>", ПутьКФайлуДампаИзменений);
313321

314322
ПутьКIBCMD = Платформа1С.ПутьКIBCMD(Обработчик.ТекущаяВерсияПлатформы);
@@ -318,12 +326,12 @@
318326
КомандаIBCMD.ПоказыватьВыводНемедленно(Ложь);
319327
КомандаIBCMD.УстановитьКодировкуВывода("UTF-8");
320328
КомандаIBCMD.ДобавитьПараметр("infobase config export status");
321-
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--data=""%1""", РабочийКаталогIBCMD));
329+
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--data=%1", ОбернутьВКавычки(РабочийКаталогIBCMD)));
322330

323331
ДобавитьПараметрыПодключенияКИБ(КомандаIBCMD, Конфигуратор);
324332

325-
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--base=%1", ПутьКФайлуДампаИзменений));
326-
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--out=%1", ПутьКФайлуПроверки));
333+
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--base=%1", ОбернутьВКавычки(ПутьКФайлуДампаИзменений)));
334+
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--out=%1", ОбернутьВКавычки(ПутьКФайлуПроверки)));
327335
Если ЗначениеЗаполнено(ИмяРасширения) Тогда
328336
КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--extension=%1", ИмяРасширения));
329337
КонецЕсли;
@@ -345,7 +353,12 @@
345353

346354
КонецЕсли;
347355
ЧтениеФайла.Закрыть();
348-
УдалитьФайлы(ПутьКФайлуПроверки);
356+
357+
Если Результат Тогда
358+
ПутьКФайлуИзменений = ПутьКФайлуПроверки;
359+
Иначе
360+
УдалитьФайлы(ПутьКФайлуПроверки);
361+
КонецЕсли;
349362
КонецЕсли;
350363
Иначе
351364
ТекстОшибки = КомандаIBCMD.ПолучитьВывод();
@@ -423,6 +436,15 @@
423436
Возврат "ConfigDumpInfo.xml";
424437
КонецФункции // ИмяФайлаДампаИзменений()
425438

439+
// Функция возвращает имя файла, в который будет записываться информация об изменениях в конфигурации.
440+
//
441+
// Возвращаемое значение:
442+
// Строка - имя файла с изменениями
443+
//
444+
Функция ИмяФайлаИзменений()
445+
Возврат "dumplist.txt"; // файл используется в 2х плагинах - increment и edtExport
446+
КонецФункции
447+
426448
// Функция возвращает имя плагина инкрементальной выгрузки
427449
//
428450
// Возвращаемое значение:
@@ -446,13 +468,32 @@
446468

447469
КонецФункции // ОтключаемыеПлагины()
448470

471+
// Оборачивает переданную строку в кавычки, если она еще не обернута.
472+
//
473+
// Параметры:
474+
// Строка - Строка - Входящая строка
475+
//
476+
// Возвращаемое значение:
477+
// Строка - Строка, обернутая в кавычки
478+
//
479+
Функция ОбернутьВКавычки(Знач Строка)
480+
481+
Если Лев(Строка, 1) = """" И Прав(Строка, 1) = """" Тогда
482+
Возврат Строка;
483+
Иначе
484+
Возврат """" + Строка + """";
485+
КонецЕсли;
486+
487+
КонецФункции
488+
449489
#КонецОбласти
450490

451491
Процедура Инициализация()
452492

453493
Лог = Логирование.ПолучитьЛог(ИмяЛога());
454494
КомандыПлагина = Новый Массив;
455495
КомандыПлагина.Добавить("sync");
496+
ПутьКФайлуИзменений = "";
456497

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

0 commit comments

Comments
 (0)