Остановить (БСП)

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

Остановить. Отмечает указанный бизнес-процесс как остановленный.

// Отмечает указанный бизнес-процесс как остановленный.
//
// Параметры:
//  ПараметрКоманды  - Массив, БизнесПроцессСсылка - массив ссылок на бизнес процессы или ссылка на бизнес-процесс.
//
Процедура Остановить(Знач ПараметрКоманды) Экспорт
	
	ТекстВопроса = "";
	ЧислоЗадач = 0;
	
	Если ТипЗнч(ПараметрКоманды) = Тип("Массив") Тогда
		
		Если ПараметрКоманды.Количество() = 0 Тогда
			ПоказатьПредупреждение(,НСтр("ru= 'Не выбран ни один бизнес-процесс.'"));
			Возврат;
		КонецЕсли;
		
		Если ПараметрКоманды.Количество() = 1 И ТипЗнч(ПараметрКоманды[0]) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
			ПоказатьПредупреждение(,НСтр("ru= 'Не выбран ни один бизнес-процесс.'"));
			Возврат;
		КонецЕсли;
		
		ЧислоЗадач = БизнесПроцессыИЗадачиВызовСервера.КоличествоНевыполненныхЗадачБизнесПроцессов(ПараметрКоманды);
		Если ПараметрКоманды.Количество() = 1 Тогда
			Если ЧислоЗадач > 0 Тогда
				ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Будет выполнена остановка бизнес-процесса ""%1"" и всех его невыполненных задач (%2). Продолжить?'"), 
					Строка(ПараметрКоманды[0]), ЧислоЗадач);
			Иначе
				ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					НСтр("ru = 'Будет выполнена остановка бизнес-процесса ""%1"". Продолжить?'"), 
					Строка(ПараметрКоманды[0]));
			КонецЕсли;
		Иначе
			ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Будет выполнена остановка бизнес-процессов (%1) и всех их невыполненных задач (%2). Продолжить?'"), 
				ПараметрКоманды.Количество(), ЧислоЗадач);
		КонецЕсли;
		
	Иначе
		
		Если ТипЗнч(ПараметрКоманды) = Тип("СтрокаГруппировкиДинамическогоСписка") Тогда
			ПоказатьПредупреждение(,НСтр("ru= 'Не выбран ни один бизнес-процесс'"));
			Возврат;
		КонецЕсли;
		
		ЧислоЗадач = БизнесПроцессыИЗадачиВызовСервера.КоличествоНевыполненныхЗадачБизнесПроцесса(ПараметрКоманды);
		Если ЧислоЗадач > 0 Тогда
			ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Будет выполнена остановка бизнес-процесса ""%1"" и всех его невыполненных задач (%2). Продолжить?'"), 
				Строка(ПараметрКоманды), ЧислоЗадач);
		Иначе
			ТекстВопроса = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
				НСтр("ru = 'Будет выполнена остановка бизнес-процесса ""%1"". Продолжить?'"), 
				Строка(ПараметрКоманды));
		КонецЕсли;
		
	КонецЕсли;
	
	Оповещение = Новый ОписаниеОповещения("ОстановитьЗавершение", ЭтотОбъект, ПараметрКоманды);
	ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет, НСтр("ru = 'Остановка бизнес-процесса'"));
	
КонецПроцедуры

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

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

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

ОстановитьЗавершение (БСП)

ОстановитьБизнесПроцессы (БСП)

ОстановитьБизнесПроцесс (БСП)

ОстановитьБизнесПроцессИзФормыОбъекта (БСП)

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