|
19 | 19 |
|
20 | 20 | Перем ИнкрементальнаяВыгрузкаВозможна; // Булево - Истина - инкрементальная выгрузка возможна |
21 | 21 | Перем ПутьКФайлуДампаИзменений; // Строка - путь к файлу ConfigDumpInfo.xml |
| 22 | +Перем ПутьКФайлуИзменений; // Строка - Путь к файлу, в который будет записываться информация об изменениях в конфигурации |
22 | 23 |
|
23 | 24 | #Область Интерфейс_плагина |
24 | 25 |
|
|
201 | 202 | СтандартнаяОбработка = Ложь; |
202 | 203 |
|
203 | 204 | Лог.Информация("Используем утилиту ibcmd для выгрузки конфигурации в файлы"); |
| 205 | + Лог.Отладка("Каталог выгрузки конфигурации в файлы <%1>", КаталогВыгрузки); |
204 | 206 |
|
205 | 207 | Попытка |
206 | 208 | ВыгрузитьКонфигурациюВФайлыIBCMD(Конфигуратор, КаталогВыгрузки); |
|
275 | 277 | ВызватьИсключение ТекстОшибки; |
276 | 278 | КонецЕсли; |
277 | 279 |
|
| 280 | + Если ФС.ФайлСуществует(ПутьКФайлуИзменений) Тогда |
| 281 | + ПереместитьФайл(ПутьКФайлуИзменений, ОбъединитьПути(КаталогВыгрузки, ИмяФайлаИзменений())); |
| 282 | + КонецЕсли; |
| 283 | + |
278 | 284 | КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыIBCMD() |
279 | 285 |
|
280 | 286 | // Функция проверяет возможность инкрементальной выгрузки конфигурации в файлы |
|
297 | 303 | ФайлДампаИзменений = Новый Файл(ПутьКФайлуДампаИзменений); |
298 | 304 |
|
299 | 305 | ПутьКФайлуПроверки = ПолучитьИмяВременногоФайла("dmp"); |
| 306 | + ПутьКФайлуИзменений = ""; |
300 | 307 |
|
301 | 308 | Лог.Отладка("Проверяю существование файла <%1> в каталоге <%2>, файл <%3>", |
302 | 309 | ФайлДампаИзменений.Имя, |
|
309 | 316 | Возврат Результат; |
310 | 317 | КонецЕсли; |
311 | 318 |
|
| 319 | + Лог.Отладка("РабочийКаталогIBCMD = <%1>", РабочийКаталогIBCMD); |
312 | 320 | Лог.Отладка("Проверяю возможность обновления выгрузки для файла <%1>", ПутьКФайлуДампаИзменений); |
313 | 321 |
|
314 | 322 | ПутьКIBCMD = Платформа1С.ПутьКIBCMD(Обработчик.ТекущаяВерсияПлатформы); |
|
318 | 326 | КомандаIBCMD.ПоказыватьВыводНемедленно(Ложь); |
319 | 327 | КомандаIBCMD.УстановитьКодировкуВывода("UTF-8"); |
320 | 328 | КомандаIBCMD.ДобавитьПараметр("infobase config export status"); |
321 | | - КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--data=""%1""", РабочийКаталогIBCMD)); |
| 329 | + КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--data=%1", ОбернутьВКавычки(РабочийКаталогIBCMD))); |
322 | 330 |
|
323 | 331 | ДобавитьПараметрыПодключенияКИБ(КомандаIBCMD, Конфигуратор); |
324 | 332 |
|
325 | | - КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--base=%1", ПутьКФайлуДампаИзменений)); |
326 | | - КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--out=%1", ПутьКФайлуПроверки)); |
| 333 | + КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--base=%1", ОбернутьВКавычки(ПутьКФайлуДампаИзменений))); |
| 334 | + КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--out=%1", ОбернутьВКавычки(ПутьКФайлуПроверки))); |
327 | 335 | Если ЗначениеЗаполнено(ИмяРасширения) Тогда |
328 | 336 | КомандаIBCMD.ДобавитьПараметр(СтрШаблон("--extension=%1", ИмяРасширения)); |
329 | 337 | КонецЕсли; |
|
345 | 353 |
|
346 | 354 | КонецЕсли; |
347 | 355 | ЧтениеФайла.Закрыть(); |
348 | | - УдалитьФайлы(ПутьКФайлуПроверки); |
| 356 | + |
| 357 | + Если Результат Тогда |
| 358 | + ПутьКФайлуИзменений = ПутьКФайлуПроверки; |
| 359 | + Иначе |
| 360 | + УдалитьФайлы(ПутьКФайлуПроверки); |
| 361 | + КонецЕсли; |
349 | 362 | КонецЕсли; |
350 | 363 | Иначе |
351 | 364 | ТекстОшибки = КомандаIBCMD.ПолучитьВывод(); |
|
423 | 436 | Возврат "ConfigDumpInfo.xml"; |
424 | 437 | КонецФункции // ИмяФайлаДампаИзменений() |
425 | 438 |
|
| 439 | +// Функция возвращает имя файла, в который будет записываться информация об изменениях в конфигурации. |
| 440 | +// |
| 441 | +// Возвращаемое значение: |
| 442 | +// Строка - имя файла с изменениями |
| 443 | +// |
| 444 | +Функция ИмяФайлаИзменений() |
| 445 | + Возврат "dumplist.txt"; // файл используется в 2х плагинах - increment и edtExport |
| 446 | +КонецФункции |
| 447 | + |
426 | 448 | // Функция возвращает имя плагина инкрементальной выгрузки |
427 | 449 | // |
428 | 450 | // Возвращаемое значение: |
|
446 | 468 |
|
447 | 469 | КонецФункции // ОтключаемыеПлагины() |
448 | 470 |
|
| 471 | +// Оборачивает переданную строку в кавычки, если она еще не обернута. |
| 472 | +// |
| 473 | +// Параметры: |
| 474 | +// Строка - Строка - Входящая строка |
| 475 | +// |
| 476 | +// Возвращаемое значение: |
| 477 | +// Строка - Строка, обернутая в кавычки |
| 478 | +// |
| 479 | +Функция ОбернутьВКавычки(Знач Строка) |
| 480 | + |
| 481 | + Если Лев(Строка, 1) = """" И Прав(Строка, 1) = """" Тогда |
| 482 | + Возврат Строка; |
| 483 | + Иначе |
| 484 | + Возврат """" + Строка + """"; |
| 485 | + КонецЕсли; |
| 486 | + |
| 487 | +КонецФункции |
| 488 | + |
449 | 489 | #КонецОбласти |
450 | 490 |
|
451 | 491 | Процедура Инициализация() |
452 | 492 |
|
453 | 493 | Лог = Логирование.ПолучитьЛог(ИмяЛога()); |
454 | 494 | КомандыПлагина = Новый Массив; |
455 | 495 | КомандыПлагина.Добавить("sync"); |
| 496 | + ПутьКФайлуИзменений = ""; |
456 | 497 |
|
457 | 498 | КонецПроцедуры |
458 | 499 |
|
|
0 commit comments