Стартовать бизнес процесс программно

1. 12.12.16 12:18 Сейчас в теме
Добрый день ! Будьте добры, покажите простой пример - как стартовать Бизнес процесс (самый простой "Исполнение") программно !
Искал в инете, простого и понятного примера так и не нашел. Показывают как это делать из интерфейса, либо рассуждают о точках маршрута ... вода в общем.
Заранее благодарен !
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. fromtomike 44 12.12.16 12:51 Сейчас в теме
Есть же в СП:

БизнесПроцессОбъект.<Имя бизнес-процесса> (BusinessProcessObject.<Имя бизнес-процесса>)
Старт (Start)
Синтаксис:

Старт(<ТочкаМаршрутаБизнес-процесса>)
Параметры:

<ТочкаМаршрутаБизнес-процесса> (необязательный)

Тип: ТочкаМаршрутаБизнесПроцессаСсылка.
Точка маршрута бизнес-процесса, на которой выполняется старт бизнес-процесса. У карты маршрута бизнес-процесса может быть несколько точек старта. В этом случае указание параметра обязательно.
Описание:

Выполняет старт бизнес-процесса с указанной точки. Если точка не указана и точек старта несколько, то старт бизнес-процесса невозможен и будет выдано сообщение об ошибке. Выполнение метода Старт приводит к тому, что бизнес-процесс начинает движение по карте маршрута до тех пор, пока не перейдет на точку действия или точку вложенного бизнес-процесса. После чего бизнес-процесс формирует задачи и вложенные бизнес-процессы, и выполнение метода Старт завершается. Если на карте маршрута бизнес-процесса не предусмотрено ни одной точки действия или точки вложенного бизнес-процесса, то такой бизнес-процесс называется автоматическим. В этой случае при вызове метода Старт бизнес-процесс пройдет все точки маршрута автоматически и будет сразу помечен завершенным.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Если у бизнес-процесса всего одна точка старта, то указывать ее не обязательно.
Пример:

БизнесПроцесс = БизнесПроцессы.РегистрацияКорреспонденции;
// Бизнес-процесс имеет только одну точку старта, поэтому не указываем ее

БизнесПроцесс.Старт();

...
10. Xershi 961 16.09.20 13:06 Сейчас в теме
(2) у меня без записи БП он не стартовал. В СП кода записи нет.
Добавил и заработало.
3. Vitaly1C8 12.12.16 14:20 Сейчас в теме
Нужен пример. Как создаются задачи исполнителей и т.д.
4. le0nid 12.12.16 14:45 Сейчас в теме
Если в Документообороте, то стоит копать в сторону готовых функций - ЗаполнитьПоШаблону/ЗаполнитьПоШаблонуИПредмету/ЗаполнитьПоРа­ссмотрению и.т.д., которые в модуле объекта (бизнес-процесса).

Например:

Бп = бизнеспроцессы.КомплексныйПроцесс.СоздатьБизнесПроцесс();
Бп.ЗаполнитьПоШаблонуИПредмету(справочники.ШаблоныКомплексныхБизнесПроцессов.НайтиПоКоду("000000068"),          ПредметСсылка,Справочники.Пользователи.НайтиПоНаименованию("Пользователь"));
Бп.Наименование ="Судебное дело " + Предметссылка.заголовок;
Бп.Дата=датаСтарта;	
Бп.Записать();
Бп.Старт();
magv; finservice; user1114234; soldatof; user1192788; NRG; Vitaly1C8; +7 Ответить
7. just_ann 11.06.19 09:42 Сейчас в теме
(4) Добрый день!
Извините за некропостинг, но есть ли возможность в уже запущенном БП (комплексном) программно создать вложенный БП?
Как указать при создании, что он должен быть вложенным?
8. le0nid 14.06.19 15:02 Сейчас в теме
(7) Точно есть, но тонкости расписать не готов.
У подчиненного процесса должна быть Главная задача - запущенный БП.
Подчиненный процесс надо прописать в ТЧ Этапы, ТЧ ПредшественникиЭтапов запущенного БП. Нюансы можно выловить отладкой.
9. just_ann 14.06.19 18:02 Сейчас в теме
(8) Вроде бы реквизит ВедущаяЗадача в создаваемом вложенном процессе должен заполняться, из основного комплексного процесса вылавливаю единственную задачу запросом и прописываю в создаваемом процессе, при остановке/прерывании основного процесса создаваемые тоже останавливаются/прерываются, но в дереве процессов отображаются все равно параллельно основному, видимо, из-за того, что отсутствуют соответствующие записи в Этапах и ПредшественникахЭтапов. Буду копать дальше. Спасибо
5. ImHunter 260 12.12.16 14:48 Сейчас в теме
Если говорить про штатный механизм платформы, то задачи сами создаются при приходе БП в точку действия.
То бишь, после старта, чего-то делать с БП более не нужно. Он сам и должен задачи создавать и двигаться выполнением задач к финишу.
Vitaly1C8; +1 Ответить
6. Vitaly1C8 12.12.16 17:34 Сейчас в теме
Спасибо за советы ! Получился такой код:
Бп = БизнесПроцессы.Исполнение.СоздатьБизнесПроцесс();
	Бп.Дата = ТекущаяДатаСеанса();
	Бп.Важность = Перечисления.ВариантыВажностиЗадачи.Обычная;
	Бп.НомерИтерации = 0;
	Бп.Проверяющий = ПользователиКлиентСервер.ТекущийПользователь();
	Бп.ВариантИсполнения = Перечисления.ВариантыМаршрутизацииЗадач.Параллельно;		
	
	Бп.Автор = ПользователиКлиентСервер.ТекущийПользователь();	
	Бп.Проект = РаботаСПроектами.ПолучитьПроектПоУмолчанию();
	
	Мультипредметность.ПередатьПредметыПроцессу(Бп, Объект.Предмет, Ложь, Истина);
	
	// Для Каждого Исполнитель ИЗ ДанныеЗаполнения.Исполнители Цикл
		Строка = Бп.Исполнители.Добавить();
		Строка.Исполнитель = ПользователиКлиентСервер.ТекущийПользователь();
	// КонецЦикла;		
	
	МультипредметностьКлиентСервер.ЗаполнитьНаименованиеПроцесса(Бп, НСтр("ru = 'Исполнить'"));
	Бп.Записать();
	Бп.Старт();
Показать
funt23; DoctorRoot; chemezov; Светлый ум; nance; DimaP; babys; alex_ram87; damnation1981; +9 Ответить
Оставьте свое сообщение
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Рязань
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Архитектор 1С
Обнинск
зарплата от 150 000 руб. до 350 000 руб.
Полный день

Программист 1С
Обнинск
зарплата от 200 000 руб.
Полный день

Переход с УПП на ЕРП2
Колпашево
зарплата от 150 000 руб.
Временный (на проект)