1. Vitaly1C8 12.12.16 12:18 Сейчас в теме

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

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

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

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

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

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

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

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

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

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

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

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

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

Например:

Бп = бизнеспроцессы.КомплексныйПроцесс.СоздатьБизнесПроцесс();
Бп.ЗаполнитьПоШаблонуИПредмету(справочники.ШаблоныКомплексныхБизнесПроцессов.НайтиПоКоду("000000068"),          ПредметСсылка,Справочники.Пользователи.НайтиПоНаименованию("Пользователь"));
Бп.Наименование ="Судебное дело " + Предметссылка.заголовок;
Бп.Дата=датаСтарта;	
Бп.Записать();
Бп.Старт();
NRG; Vitaly1C8; +2 Ответить
5. ImHunter 117 12.12.16 14:48 Сейчас в теме
Если говорить про штатный механизм платформы, то задачи сами создаются при приходе БП в точку действия.
То бишь, после старта, чего-то делать с БП более не нужно. Он сам и должен задачи создавать и двигаться выполнением задач к финишу.
Vitaly1C8; +1 Ответить
6. Vitaly1C8 12.12.16 17:34 Сейчас в теме
Спасибо за советы ! Получился такой код:
Бп = БизнесПроцессы.Исполнение.СоздатьБизнесПроцесс();
	Бп.Дата = ТекущаяДатаСеанса();
	Бп.Важность = Перечисления.ВариантыВажностиЗадачи.Обычная;
	Бп.НомерИтерации = 0;
	Бп.Проверяющий = ПользователиКлиентСервер.ТекущийПользователь();
	Бп.ВариантИсполнения = Перечисления.ВариантыМаршрутизацииЗадач.Параллельно;		
	
	Бп.Автор = ПользователиКлиентСервер.ТекущийПользователь();	
	Бп.Проект = РаботаСПроектами.ПолучитьПроектПоУмолчанию();
	
	Мультипредметность.ПередатьПредметыПроцессу(Бп, Объект.Предмет, Ложь, Истина);
	
	// Для Каждого Исполнитель ИЗ ДанныеЗаполнения.Исполнители Цикл
		Строка = Бп.Исполнители.Добавить();
		Строка.Исполнитель = ПользователиКлиентСервер.ТекущийПользователь();
	// КонецЦикла;		
	
	МультипредметностьКлиентСервер.ЗаполнитьНаименованиеПроцесса(Бп, НСтр("ru = 'Исполнить'"));
	Бп.Записать();
	Бп.Старт();
Показать
alex_ram87; damnation1981; +2 Ответить
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Специалист техподдержки 1С
Иркутск
зарплата от 28 000 руб. до 34 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 48 000 руб. до 96 000 руб.
По совместительству

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

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

Программист 1С
Благовещенск (Амурская область)
зарплата от 40 000 руб. до 70 000 руб.
Полный день