Остановить. Отмечает указанный бизнес-процесс как остановленный.
// Отмечает указанный бизнес-процесс как остановленный.
//
// Параметры:
// ПараметрКоманды - Массив, БизнесПроцессСсылка - массив ссылок на бизнес процессы или ссылка на бизнес-процесс.
//
Процедура Остановить(Знач ПараметрКоманды) Экспорт
ТекстВопроса = "";
ЧислоЗадач = 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
///////////////////////////////////////////////////////////////////////////////////////////////////////