diff --git "a/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml"
index d9904d6a..a5517eee 100644
--- "a/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml"
+++ "b/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml"
@@ -35,5 +35,31 @@
+
+
+
+ ru
+ Путь к файлу результата
+
+
+
+ xs:string
+
+ 0
+ Variable
+
+
+
+
+
+
+ ru
+ Ошибка обновления
+
+
+
+ xs:boolean
+
+
\ No newline at end of file
diff --git "a/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl"
index dc1297e5..81138ea7 100644
--- "a/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl"
+++ "b/epf/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\227\320\260\320\272\321\200\321\213\321\202\321\214\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl"
@@ -16,6 +16,8 @@
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
+ ОшибкаОбновления = Ложь;
+
Попытка
Выполнить("ОбщегоНазначения.ХранилищеОбщихНастроекСохранить(""ОбщиеНастройкиПользователя"",
|""ЗапрашиватьПодтверждениеПриЗавершенииПрограммы"", Ложь);");
@@ -30,14 +32,25 @@
ПрекратитьРаботуСистемы();
//Сообщить("Заглушка - завершаем работу системы");
Возврат;
- КонецЕсли;
+ КонецЕсли;
+
+ ПараметрыЗапуска = СтрРазделить(ПараметрЗапуска, ";", Ложь);
+ СтрокаПоиска = "exitCodePath=";
+ Для каждого Стр из ПараметрыЗапуска Цикл
+ Если СтрНайти(Стр, СтрокаПоиска) > 0 Тогда
+ ПутьКФайлуРезультата = СтрЗаменить(Стр, СтрокаПоиска, "");
+ Сообщить("Путь файла лога " + ПутьКФайлуРезультата);
+ УдалитьФайлРезультата();
+ Прервать;
+ КонецЕсли;
+ КонецЦикла;
ПодключитьОбработчикОжидания("ПроверитьНеобходимостьЗавершенияПрограммы", 10, Истина);
ПодключитьОбработчикОжидания("ПроверитьЛегальностьОбновления", 2);
Если СуществуетПодсистемаМультиязычность() Тогда
ПодключитьОбработчикОжидания("ПроверитьРегиональныеНастройки", 2);
ПроверитьРегиональныеНастройки();
- КонецЕсли;
+ КонецЕсли;
ПроверитьНеобходимостьЗавершенияПрограммы();
ПроверитьЛегальностьОбновления();
КонецПроцедуры
@@ -50,6 +63,8 @@
СтрокаНеудачиОбновления = Нрег(НСтр("ru='Не удалось выполнить обновлени';uk='Не вдалося виконати оновленн'"));
СтрокаНачальноеЗаполнение = НСтр("ru='начальное заполнение';uk='початкове заповнення'");
+ СтрокаПереходСДругойПрограммы = НСтр("ru='переход';uk='переход'");
+ СтрокаНевыполненыДополнительныеПроцедуры = НСтр("ru='не выполнены дополнительные процедуры'");
СтрокаОбновлениеВерсии = НСтр("ru='обновление версии';uk='оновлення версії'" );
СтрокаЧтоНового = НРег(НСтр("ru='Что нового в конфигурации';uk='Що нового в конфігурації'"));
@@ -74,6 +89,15 @@
ФормаНачальногоЗаполненияНайденаОдинРаз = Истина;
ФормаНачальногоЗаполненияНайдена = Истина;
ОбновитьПрогресс = Истина;
+ ИначеЕсли Найти(ЗаголовокНРег, СтрокаПереходСДругойПрограммы) > 0 Тогда
+
+ ФормаНачальногоЗаполненияНайденаОдинРаз = Истина;
+ ФормаНачальногоЗаполненияНайдена = Истина;
+ ОбновитьПрогресс = Истина;
+ ИначеЕсли Найти(ЗаголовокНРег, СтрокаНевыполненыДополнительныеПроцедуры) > 0 Тогда
+
+ ФормаОбновленияНайдена = Истина;
+
КонецЕсли;
Если ОбновитьПрогресс Тогда
@@ -83,16 +107,24 @@
КонецЕсли;
+ Если Найти(ЗаголовокНРег, СтрокаНевыполненыДополнительныеПроцедуры)>0 Тогда
+ Если Не Содержимое = Неопределено И ТипЗнч(Содержимое) = Тип("УправляемаяФорма") Тогда
+ Содержимое.Закрыть(Истина);
+ МожемЗавершатьРаботу = Ложь;
+ Прервать;
+ КонецЕсли;
+ КонецЕсли;
+
Если СчетчикОжиданияРезультатов > 0 И Найти(ЗаголовокНРег, СтрокаЧтоНового)>0 Тогда
СчетчикОжиданияРезультатов = МаксИтерацийОжиданияРезультатов + 1;
Сообщить(""+ТекущаяДата() + " - Удачное завершение обновления");
- МожноЗавершатьРаботу = Истина;
Прервать;
КонецЕсли;
Если Найти(ЗаголовокНРег, СтрокаНеудачиОбновления)>0 Тогда
СчетчикОжиданияРезультатов = МаксИтерацийОжиданияРезультатов + 1;
МожноЗавершатьРаботу = Истина;
+ ОшибкаОбновления = Истина;
Попытка
Если ТипЗнч(Содержимое) = Тип("УправляемаяФорма") Тогда
@@ -190,6 +222,57 @@
КонецЦикла;
КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗавершитьРаботу() Экспорт
+ Если Не ОшибкаОбновления Тогда
+ ЗаписатьФайлРезультата();
+ КонецЕсли;
+ ПрекратитьРаботуСистемы();
+КонецПроцедуры
+
+&НаСервереБезКонтекста
+Функция ЭтоКонфигурацияНаБазеБСПСервер()
+ Рез = Ложь;
+ Описание = Новый Структура;
+ Попытка
+ Выполнить("ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы(Описание);");
+ Рез = Описание.Имя = "СтандартныеПодсистемы";
+ Исключение
+ ИнфоОшибки = ИнформацияОбОшибке();
+ Рез = НРег(ИнфоОшибки.ИмяМодуля) = НРег("ОбщийМодуль.ОбновлениеИнформационнойБазыБСП.Модуль");
+ КонецПопытки;
+ Возврат Рез;
+КонецФункции
+
+&НаКлиенте
+Процедура ЗаписатьФайлРезультата()
+
+ Если ПутьКФайлуРезультата = "" Тогда
+ Возврат;
+ КонецЕсли;
+
+ ТекстовыйФайл = Новый ТекстовыйДокумент;
+ ТекстовыйФайл.УстановитьТекст("0");
+ ТекстовыйФайл.Записать(ПутьКФайлуРезультата, КодировкаТекста.UTF8);
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура УдалитьФайлРезультата()
+
+ Если ПутьКФайлуРезультата = "" Тогда
+ Возврат;
+ КонецЕсли;
+
+ Попытка
+ УдалитьФайлы(ПутьКФайлуРезультата);
+ Исключение
+ ТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
+ ЗаписатьВЖурналРегистрации(ТекстСообщения);
+ КонецПопытки;
+
+КонецПроцедуры
&НаКлиенте
Процедура ПроверитьРегиональныеНастройки() Экспорт
@@ -217,29 +300,6 @@
КонецПроцедуры
-&НаКлиенте
-Процедура ЗавершитьРаботу() Экспорт
- ПрекратитьРаботуСистемы();
-КонецПроцедуры
-
-&НаСервереБезКонтекста
-Функция ЭтоКонфигурацияНаБазеБСПСервер()
- Рез = Ложь;
- Описание = Новый Структура;
- Попытка
- Выполнить("ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы(Описание);");
- Рез = Описание.Имя = "СтандартныеПодсистемы";
- Исключение
- ИнфоОшибки = ИнформацияОбОшибке();
- //Сообщить("Описание = '" + ИнфоОшибки.Описание + "'", СтатусСообщения.Внимание);
- //Сообщить("Модуль = '" + ИнфоОшибки.ИмяМодуля + "'", СтатусСообщения.Важное);
- //Сообщить("НомерСтроки = '" + ИнфоОшибки.НомерСтроки + "'", СтатусСообщения.Важное);
- //Сообщить("ИсходнаяСтрока = '" + ИнфоОшибки.ИсходнаяСтрока + "'", СтатусСообщения.Важное);
- Рез = НРег(ИнфоОшибки.ИмяМодуля) = НРег("ОбщийМодуль.ОбновлениеИнформационнойБазыБСП.Модуль");
- КонецПопытки;
- Возврат Рез;
-КонецФункции
-
&НаКлиенте
Функция СуществуетПодсистемаМультиязычность()
Рез = Ложь;
@@ -250,6 +310,16 @@
Возврат Рез;
КонецФункции
+&НаСервереБезКонтекста
+Процедура ЗаписатьВЖурналРегистрации(Комментарий);
+ ЗаписьЖурналаРегистрации(КлючЖР(), УровеньЖурналаРегистрации.Ошибка, Неопределено, Неопределено, Комментарий);
+КонецПроцедуры
+
+&НаСервереБезКонтекста
+Функция КлючЖР()
+ Возврат "VanessaRunner.ЗакрытьПредприятие";
+КонецФункции
+
СчетчикОжиданияРезультатов = 0;
МаксИтерацийОжиданияРезультатов = 5;
ИндикаторВыполнения = 0;