Skip to content

Commit 6851071

Browse files
committed
fix: Реализован вызов исключения при ошибке вызова утилиты ibcmd;
Доработана проверка возможности инкрементальной выгрузки с использованием ibcmd при ошибке проверки изменений конфигурации.
1 parent 5e7eabd commit 6851071

File tree

1 file changed

+27
-26
lines changed

1 file changed

+27
-26
lines changed

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

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@
160160
.ТСтрока()
161161
.ВОкружении("GITSYNC_IBCMD_DB_PWD");
162162

163-
КлассРеализации.Опция("j ibcmd-threads", "", "[*use-ibcmd] Количество потоков используемых при экспорте")
163+
КлассРеализации.Опция("j ibcmd-threads", "", "[*use-ibcmd] Количество потоков используемых при экспорте")
164164
.ТЧисло()
165165
.ВОкружении("GITSYNC_IBCMD_THREADS");
166166

@@ -211,8 +211,8 @@
211211
ВыгрузитьКонфигурациюВФайлыIBCMD(Конфигуратор, КаталогВыгрузки);
212212
Исключение
213213
ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
214-
Лог.Ошибка("Невозможно выгрузить конфигурацию в файлы. Ошибка:%1%2", Символы.ПС, ТекстОшибки);
215-
ВызватьИсключение;
214+
ТекстОшибки = СтрШаблон("Невозможно выгрузить конфигурацию в файлы. Ошибка:%1%2", Символы.ПС, ТекстОшибки);
215+
ВызватьИсключение ТекстОшибки;
216216
КонецПопытки;
217217

218218
КонецПроцедуры
@@ -275,9 +275,10 @@
275275

276276
Если КодВозврата <> 0 Тогда
277277
ТекстОшибки = КомандаIBCMD.ПолучитьВывод();
278-
Лог.КритичнаяОшибка("Не удалось выгрузить конфигурацию в файлы с использованием IBCMD:%1%2",
279-
Символы.ПС,
280-
ТекстОшибки);
278+
ТекстОшибки = СтрШаблон("Не удалось выгрузить конфигурацию в файлы с использованием IBCMD:%1%2",
279+
Символы.ПС,
280+
ТекстОшибки);
281+
ВызватьИсключение ТекстОшибки;
281282
КонецЕсли;
282283

283284
КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыIBCMD()
@@ -335,28 +336,28 @@
335336

336337
КодВозврата = КомандаIBCMD.Исполнить();
337338

338-
Если КодВозврата <> 0 Тогда
339-
ТекстОшибки = КомандаIBCMD.ПолучитьВывод();
340-
Лог.КритичнаяОшибка("Не удалось получить информацию об изменениях конфигурации:%1%2",
341-
Символы.ПС,
342-
ТекстОшибки);
343-
КонецЕсли;
344-
345-
ФайлПроверки = Новый Файл(ПутьКФайлуПроверки);
346-
347-
Если ФайлПроверки.Существует() Тогда
348-
СтрокаПолныйДамп = "modified: all";
349-
ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлуПроверки);
350-
СтрокаПроверки = Лев(ЧтениеФайла.ПрочитатьСтроку(), СтрДлина(СтрокаПолныйДамп));
351-
352-
Если Не ПустаяСтрока(СокрЛП(СтрокаПроверки)) Тогда
353-
354-
Лог.Отладка("Строка проверки на возможность выгрузки конфигурации: <%1> = <%2> ", СтрокаПолныйДамп, СтрокаПроверки);
355-
Результат = НЕ (ВРег(СтрокаПроверки) = ВРег(СтрокаПолныйДамп));
339+
Если КодВозврата = 0 Тогда
340+
ФайлПроверки = Новый Файл(ПутьКФайлуПроверки);
356341

342+
Если ФайлПроверки.Существует() Тогда
343+
СтрокаПолныйДамп = "modified: all";
344+
ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлуПроверки);
345+
СтрокаПроверки = Лев(ЧтениеФайла.ПрочитатьСтроку(), СтрДлина(СтрокаПолныйДамп));
346+
347+
Если Не ПустаяСтрока(СокрЛП(СтрокаПроверки)) Тогда
348+
349+
Лог.Отладка("Строка проверки на возможность выгрузки конфигурации: <%1> = <%2> ", СтрокаПолныйДамп, СтрокаПроверки);
350+
Результат = НЕ (ВРег(СтрокаПроверки) = ВРег(СтрокаПолныйДамп));
351+
352+
КонецЕсли;
353+
ЧтениеФайла.Закрыть();
354+
УдалитьФайлы(ПутьКФайлуПроверки);
357355
КонецЕсли;
358-
ЧтениеФайла.Закрыть();
359-
УдалитьФайлы(ПутьКФайлуПроверки);
356+
Иначе
357+
ТекстОшибки = КомандаIBCMD.ПолучитьВывод();
358+
Лог.Ошибка("Не удалось получить информацию об изменениях конфигурации:%1%2",
359+
Символы.ПС,
360+
ТекстОшибки);
360361
КонецЕсли;
361362

362363
Лог.Отладка("Инкрементальная выгрузка конфигурации - %1", ?(Результат, "ВОЗМОЖНА", "НЕВОЗМОЖНА"));

0 commit comments

Comments
 (0)