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