Отменить выполнение задания. Отменяет выполнение фонового задания по переданному идентификатору.
// Отменяет выполнение фонового задания по переданному идентификатору.
// При этом если в длительной операции открывались транзакции, то будет произведен откат последней открытой транзакции.
//
// Таким образом, если длительная операция выполняет обработку (запись) данных, то для полной отмены всей операции
// следует выполнять запись в одной транзакции (в таком случае, будет отменена вся транзакция целиком).
// Если же достаточно, чтобы длительная операция была не отменена целиком, а прервана на достигнутом этапе,
// то, напротив, открывать одну длинную транзакцию не требуется.
//
// Параметры:
// ИдентификаторЗадания - УникальныйИдентификатор - идентификатор фонового задания, полученный при запуске
// длительной операции. См. ДлительныеОперации.ВыполнитьВФоне.
//
Процедура ОтменитьВыполнениеЗадания(Знач ИдентификаторЗадания) Экспорт
Если Не ЗначениеЗаполнено(ИдентификаторЗадания) Тогда
Возврат;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Если ПараметрыСеанса.ОтмененныеДлительныеОперации.Найти(ИдентификаторЗадания) = Неопределено Тогда
ОтмененныеДлительныеОперации = Новый Массив(ПараметрыСеанса.ОтмененныеДлительныеОперации);
ОтмененныеДлительныеОперации.Добавить(ИдентификаторЗадания);
ПараметрыСеанса.ОтмененныеДлительныеОперации = Новый ФиксированныйМассив(ОтмененныеДлительныеОперации);
КонецЕсли;
УстановитьПривилегированныйРежим(Ложь);
Задание = НайтиЗаданиеПоИдентификатору(ИдентификаторЗадания);
Если Задание = Неопределено Или Задание.Состояние <> СостояниеФоновогоЗадания.Активно Тогда
Возврат;
КонецЕсли;
Попытка
Задание.Отменить();
Исключение
// Возможно задание как раз в этот момент закончилось и ошибки нет.
ЗаписьЖурналаРегистрации(НСтр("ru = 'Длительные операции.Отмена выполнения фонового задания'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Информация, , , КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОтменитьВыполнениеВсехПотоков (БСП)
ПриОтменеПотокаОтложенногоОбработчика (БСП)
ОтменитьОбновлениеДоступаНаУровнеЗаписей (БСП)