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