ПриПометкеУдаленияЗадачи (БСП)

Автор: 1С
ОбщийМодуль.БизнесПроцессыИЗадачиСервер
БСП

При пометке удаления задачи. Пометить на удаление вложенные и подчиненные бизнес-процессы задачи ЗадачаСсылка.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УстановитьПометкуУдаленияЗадач (БСП)

УстановитьСнятьПометкуУдаленияЗаметок (БСП)

УстановитьСтатусИзмененияПометкиУдаления (БСП)

ОтработатьПризнакИзмененияПометкиУдаленияПриЗаписиПисьма (БСП)

УстановитьСтатусИзмененияПометкиУдаленияДокумента (БСП)

УстановитьСтатусИзмененияПометкиУдаленияОбъекта (БСП)

УстановитьПометкуУдаленияУВложенийПисьма (БСП)

ВыполнитьУдалениеПапкиЭлектронныхПисем (БСП)

TurboConf - расширение Конфигуратора 1С