-
Notifications
You must be signed in to change notification settings - Fork 116
Доработка обработки ЗакрытьПредприятие #549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
3bc782e
c36535e
949bedd
7f655c6
eaa4a27
8745c67
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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; | ||
| Сообщить(""+ТекущаяДата() + " - Удачное завершение обновления"); | ||
| МожноЗавершатьРаботу = Истина; | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ты точно уверен, что без этой строки будет завершение 1С в обыных, наиболее частых случаях, когда нет никаких ошибок и лишних окон?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Да, работает |
||
| Прервать; | ||
| КонецЕсли; | ||
|
|
||
| Если Найти(ЗаголовокНРег, СтрокаНеудачиОбновления)>0 Тогда | ||
| СчетчикОжиданияРезультатов = МаксИтерацийОжиданияРезультатов + 1; | ||
| МожноЗавершатьРаботу = Истина; | ||
| ОшибкаОбновления = Истина; | ||
|
|
||
| Попытка | ||
| Если ТипЗнч(Содержимое) = Тип("УправляемаяФорма") Тогда | ||
|
|
@@ -190,6 +222,57 @@ | |
| КонецЦикла; | ||
|
|
||
| КонецПроцедуры | ||
|
|
||
| &НаКлиенте | ||
| Процедура ЗавершитьРаботу() Экспорт | ||
| Если Не ОшибкаОбновления Тогда | ||
| ЗаписатьФайлРезультата(); | ||
| КонецЕсли; | ||
| ПрекратитьРаботуСистемы(); | ||
| КонецПроцедуры | ||
|
|
||
| &НаСервереБезКонтекста | ||
| Функция ЭтоКонфигурацияНаБазеБСПСервер() | ||
| Рез = Ложь; | ||
| Описание = Новый Структура; | ||
| Попытка | ||
| Выполнить("ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы(Описание);"); | ||
| Рез = Описание.Имя = "СтандартныеПодсистемы"; | ||
| Исключение | ||
| ИнфоОшибки = ИнформацияОбОшибке(); | ||
| Рез = НРег(ИнфоОшибки.ИмяМодуля) = НРег("ОбщийМодуль.ОбновлениеИнформационнойБазыБСП.Модуль"); | ||
| КонецПопытки; | ||
| Возврат Рез; | ||
| КонецФункции | ||
|
|
||
| &НаКлиенте | ||
| Процедура ЗаписатьФайлРезультата() | ||
|
|
||
| Если ПутьКФайлуРезультата = "" Тогда | ||
| Возврат; | ||
| КонецЕсли; | ||
|
|
||
| ТекстовыйФайл = Новый ТекстовыйДокумент; | ||
| ТекстовыйФайл.УстановитьТекст("0"); | ||
| ТекстовыйФайл.Записать(ПутьКФайлуРезультата, КодировкаТекста.UTF8); | ||
|
|
||
| КонецПроцедуры | ||
|
|
||
| &НаКлиенте | ||
| Процедура УдалитьФайлРезультата() | ||
|
|
||
| Если ПутьКФайлуРезультата = "" Тогда | ||
| Возврат; | ||
| КонецЕсли; | ||
|
|
||
| Попытка | ||
| УдалитьФайлы(ПутьКФайлуРезультата); | ||
| Исключение | ||
| ТекстСообщения = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); | ||
| ЗаписатьВЖурналРегистрации(ТекстСообщения); | ||
| КонецПопытки; | ||
|
|
||
| КонецПроцедуры | ||
|
|
||
| &НаКлиенте | ||
| Процедура ПроверитьРегиональныеНастройки() Экспорт | ||
|
|
@@ -217,29 +300,6 @@ | |
|
|
||
| КонецПроцедуры | ||
|
|
||
| &НаКлиенте | ||
| Процедура ЗавершитьРаботу() Экспорт | ||
| ПрекратитьРаботуСистемы(); | ||
| КонецПроцедуры | ||
|
|
||
| &НаСервереБезКонтекста | ||
| Функция ЭтоКонфигурацияНаБазеБСПСервер() | ||
| Рез = Ложь; | ||
| Описание = Новый Структура; | ||
| Попытка | ||
| Выполнить("ОбновлениеИнформационнойБазыБСП.ПриДобавленииПодсистемы(Описание);"); | ||
| Рез = Описание.Имя = "СтандартныеПодсистемы"; | ||
| Исключение | ||
| ИнфоОшибки = ИнформацияОбОшибке(); | ||
| //Сообщить("Описание = '" + ИнфоОшибки.Описание + "'", СтатусСообщения.Внимание); | ||
| //Сообщить("Модуль = '" + ИнфоОшибки.ИмяМодуля + "'", СтатусСообщения.Важное); | ||
| //Сообщить("НомерСтроки = '" + ИнфоОшибки.НомерСтроки + "'", СтатусСообщения.Важное); | ||
| //Сообщить("ИсходнаяСтрока = '" + ИнфоОшибки.ИсходнаяСтрока + "'", СтатусСообщения.Важное); | ||
| Рез = НРег(ИнфоОшибки.ИмяМодуля) = НРег("ОбщийМодуль.ОбновлениеИнформационнойБазыБСП.Модуль"); | ||
| КонецПопытки; | ||
| Возврат Рез; | ||
| КонецФункции | ||
|
|
||
| &НаКлиенте | ||
| Функция СуществуетПодсистемаМультиязычность() | ||
| Рез = Ложь; | ||
|
|
@@ -250,6 +310,16 @@ | |
| Возврат Рез; | ||
| КонецФункции | ||
|
|
||
| &НаСервереБезКонтекста | ||
| Процедура ЗаписатьВЖурналРегистрации(Комментарий); | ||
| ЗаписьЖурналаРегистрации(КлючЖР(), УровеньЖурналаРегистрации.Ошибка, Неопределено, Неопределено, Комментарий); | ||
| КонецПроцедуры | ||
|
|
||
| &НаСервереБезКонтекста | ||
| Функция КлючЖР() | ||
| Возврат "VanessaRunner.ЗакрытьПредприятие"; | ||
| КонецФункции | ||
|
|
||
| СчетчикОжиданияРезультатов = 0; | ||
| МаксИтерацийОжиданияРезультатов = 5; | ||
| ИндикаторВыполнения = 0; | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.