ОтменитьВыполнениеВсехПотоков (БСП)

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

Отменить выполнение всех потоков. Отменить выполнение потоков, если они активны.

// Отменить выполнение потоков, если они активны.
//
// Параметры:
//  ОписаниеПотоков - Структура - коллекция потоков (см. НовоеОписаниеПотоков()).
//  ПараметрыОтмены - Произвольный - параметры процедуры ПриОтменеПотока.
//
Процедура ОтменитьВыполнениеВсехПотоков(ОписаниеПотоков, ПараметрыОтмены = Неопределено) Экспорт
	
	Если ОписаниеПотоков <> Неопределено Тогда
		Потоки = ОписаниеПотоков.Потоки;
		Группы = ОписаниеПотоков.Группы;
		
		Если Потоки <> Неопределено Тогда
			УдаляемыеПотоки = Новый Массив;
			Индекс = 0;
			
			Пока Индекс < Потоки.Количество() Цикл
				Поток = Потоки[Индекс];
				ОписаниеПотока = Группы[Поток.Группа];
				
				Если Поток.ИдентификаторЗадания <> Неопределено Тогда
					ДлительныеОперации.ОтменитьВыполнениеЗадания(Поток.ИдентификаторЗадания);
				КонецЕсли;
				
				Если ОписаниеПотока.ПриОтменеПотока <> Неопределено Тогда
					ПараметрыВызова = Новый Массив;
					ПараметрыВызова.Добавить(Поток);
					ПараметрыВызова.Добавить(ПараметрыОтмены);
					ОбщегоНазначения.ВыполнитьМетодКонфигурации(ОписаниеПотока.ПриОтменеПотока, ПараметрыВызова);
				КонецЕсли;
				
				УдаляемыеПотоки.Добавить(Поток);
				Индекс = Индекс + 1;
			КонецЦикла;
			
			Для каждого УдаляемыйПоток Из УдаляемыеПотоки Цикл
				Потоки.Удалить(УдаляемыйПоток);
			КонецЦикла;
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

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

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

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

ПриОтменеПотокаОтложенногоОбработчика (БСП)

ПриОтменеПотокаПоискаПорцииДляОбновления (БСП)

ПриАварийномЗавершенииПотокаОтложенногоОбработчика (БСП)

ПриАварийномЗавершенииПотокаПоискаПорцииДляОбновления (БСП)

ОтменитьВыполнениеЗадания (БСП)

СтруктураИзПотокаJSON (БСП)

ЗаписатьОбъектВПоток (БСП)

СериализоватьДанныеВПоток (БСП)

СериализоватьДанныеИзПотока (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз