Перейти к содержанию

Вызов асинхронных методов в событии ПриЗавершенииРаботыСистемы

В процедуре ПриЗавершенииРаботыСистемы модуля управляемого приложения недопустимо использовать асинхронные вызовы. Если в такой процедуре используются асинхронные вызовы, то в ней необходимо установить значение параметра Отказ = Истина и из процедуры оповещения о завершении асинхронного вызова продолжить завершение работы системы.

Процедура ПередЗавершениемРаботыСистемы(Отказ)
   ДополнительныеПараметры = Новый Структура;
   ДополнительныеПараметры.Вставить("ЗавершитьРаботуСистемы", Истина);

   ОписаниеОповещения = Новый ОписаниеОповещения("ПослеУдаленияФайлов", РаботаСФайламиКлиент, ДополнительныеПараметры);
   НачатьУдалениеФайлов(ОписаниеОповещения, ПутьКФайлу);
   Отказ = Истина;
КонецПроцедуры

// Общий модуль РаботаСФайламиКлиент:
Процедура ПослеУдаленияФайлов(ДополнительныеПараметры) Экспорт 
   Если ДополнительныеПараметры.ЗавершитьРаботуСистемы Тогда
    // Больше нет действий перед завершением работы системы.
    ЗавершитьРаботуСистемы();
   КонецЕсли; 
КонецПроцедуры

См. также

Экранирование кода

// sonar:AsyncCallOnExit:off
// sonar:AsyncCallOnExit:on