Вызов асинхронных методов в событии ПередЗавершениемРаботыСистемы без установки Отказа
Если в процедуре ПередЗавершениемРаботыСистемы
модуля управляемого приложения используются асинхронные вызовы, то в ней необходимо установить значение параметра Отказ = Истина
и из процедуры оповещения о завершении асинхронного вызова продолжить завершение работы системы. Пример:
Процедура ПередЗавершениемРаботыСистемы(Отказ)
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ЗавершитьРаботуСистемы", Истина);
ОписаниеОповещения = Новый ОписаниеОповещения("ПослеУдаленияФайлов", РаботаСФайламиКлиент, ДополнительныеПараметры);
НачатьУдалениеФайлов(ОписаниеОповещения, ПутьКФайлу);
Отказ = Истина;
КонецПроцедуры
// Общий модуль РаботаСФайламиКлиент:
Процедура ПослеУдаленияФайлов(ДополнительныеПараметры) Экспорт
Если ДополнительныеПараметры.ЗавершитьРаботуСистемы Тогда
// Больше нет действий перед завершением работы системы.
ЗавершитьРаботуСистемы();
КонецЕсли;
КонецПроцедуры
См. также
Экранирование кода
// sonar:AsyncCallOnExitWithoutCancel:off
// sonar:AsyncCallOnExitWithoutCancel:on