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

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

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

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

См. также

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

// sonar:AsyncCallOnExitWithoutCancel:off
// sonar:AsyncCallOnExitWithoutCancel:on