По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Есть же в СП:
БизнесПроцессОбъект.<Имя бизнес-процесса> (BusinessProcessObject.<Имя бизнес-процесса>)
Старт (Start)
Синтаксис:
Старт(<ТочкаМаршрутаБизнес-процесса>)
Параметры:
<ТочкаМаршрутаБизнес-процесса> (необязательный)
Тип: ТочкаМаршрутаБизнесПроцессаСсылка.
Точка маршрута бизнес-процесса, на которой выполняется старт бизнес-процесса. У карты маршрута бизнес-процесса может быть несколько точек старта. В этом случае указание параметра обязательно.
Описание:
Выполняет старт бизнес-процесса с указанной точки. Если точка не указана и точек старта несколько, то старт бизнес-процесса невозможен и будет выдано сообщение об ошибке. Выполнение метода Старт приводит к тому, что бизнес-процесс начинает движение по карте маршрута до тех пор, пока не перейдет на точку действия или точку вложенного бизнес-процесса. После чего бизнес-процесс формирует задачи и вложенные бизнес-процессы, и выполнение метода Старт завершается. Если на карте маршрута бизнес-процесса не предусмотрено ни одной точки действия или точки вложенного бизнес-процесса, то такой бизнес-процесс называется автоматическим. В этой случае при вызове метода Старт бизнес-процесс пройдет все точки маршрута автоматически и будет сразу помечен завершенным.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Если у бизнес-процесса всего одна точка старта, то указывать ее не обязательно.
Пример:
БизнесПроцесс = БизнесПроцессы.РегистрацияКорреспонденции;
// Бизнес-процесс имеет только одну точку старта, поэтому не указываем ее
БизнесПроцесс.Старт();
...
БизнесПроцессОбъект.<Имя бизнес-процесса> (BusinessProcessObject.<Имя бизнес-процесса>)
Старт (Start)
Синтаксис:
Старт(<ТочкаМаршрутаБизнес-процесса>)
Параметры:
<ТочкаМаршрутаБизнес-процесса> (необязательный)
Тип: ТочкаМаршрутаБизнесПроцессаСсылка.
Точка маршрута бизнес-процесса, на которой выполняется старт бизнес-процесса. У карты маршрута бизнес-процесса может быть несколько точек старта. В этом случае указание параметра обязательно.
Описание:
Выполняет старт бизнес-процесса с указанной точки. Если точка не указана и точек старта несколько, то старт бизнес-процесса невозможен и будет выдано сообщение об ошибке. Выполнение метода Старт приводит к тому, что бизнес-процесс начинает движение по карте маршрута до тех пор, пока не перейдет на точку действия или точку вложенного бизнес-процесса. После чего бизнес-процесс формирует задачи и вложенные бизнес-процессы, и выполнение метода Старт завершается. Если на карте маршрута бизнес-процесса не предусмотрено ни одной точки действия или точки вложенного бизнес-процесса, то такой бизнес-процесс называется автоматическим. В этой случае при вызове метода Старт бизнес-процесс пройдет все точки маршрута автоматически и будет сразу помечен завершенным.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Если у бизнес-процесса всего одна точка старта, то указывать ее не обязательно.
Пример:
БизнесПроцесс = БизнесПроцессы.РегистрацияКорреспонденции;
// Бизнес-процесс имеет только одну точку старта, поэтому не указываем ее
БизнесПроцесс.Старт();
...
Если в Документообороте, то стоит копать в сторону готовых функций - ЗаполнитьПоШаблону/ЗаполнитьПоШаблонуИПредмету/ЗаполнитьПоРассмотрению и.т.д., которые в модуле объекта (бизнес-процесса).
Например:
Например:
Бп = бизнеспроцессы.КомплексныйПроцесс.СоздатьБизнесПроцесс();
Бп.ЗаполнитьПоШаблонуИПредмету(справочники.ШаблоныКомплексныхБизнесПроцессов.НайтиПоКоду("000000068"), ПредметСсылка,Справочники.Пользователи.НайтиПоНаименованию("Пользователь"));
Бп.Наименование ="Судебное дело " + Предметссылка.заголовок;
Бп.Дата=датаСтарта;
Бп.Записать();
Бп.Старт();
(8) Вроде бы реквизит ВедущаяЗадача в создаваемом вложенном процессе должен заполняться, из основного комплексного процесса вылавливаю единственную задачу запросом и прописываю в создаваемом процессе, при остановке/прерывании основного процесса создаваемые тоже останавливаются/прерываются, но в дереве процессов отображаются все равно параллельно основному, видимо, из-за того, что отсутствуют соответствующие записи в Этапах и ПредшественникахЭтапов. Буду копать дальше. Спасибо
Если говорить про штатный механизм платформы, то задачи сами создаются при приходе БП в точку действия.
То бишь, после старта, чего-то делать с БП более не нужно. Он сам и должен задачи создавать и двигаться выполнением задач к финишу.
То бишь, после старта, чего-то делать с БП более не нужно. Он сам и должен задачи создавать и двигаться выполнением задач к финишу.
Спасибо за советы ! Получился такой код:
Бп = БизнесПроцессы.Исполнение.СоздатьБизнесПроцесс();
Бп.Дата = ТекущаяДатаСеанса();
Бп.Важность = Перечисления.ВариантыВажностиЗадачи.Обычная;
Бп.НомерИтерации = 0;
Бп.Проверяющий = ПользователиКлиентСервер.ТекущийПользователь();
Бп.ВариантИсполнения = Перечисления.ВариантыМаршрутизацииЗадач.Параллельно;
Бп.Автор = ПользователиКлиентСервер.ТекущийПользователь();
Бп.Проект = РаботаСПроектами.ПолучитьПроектПоУмолчанию();
Мультипредметность.ПередатьПредметыПроцессу(Бп, Объект.Предмет, Ложь, Истина);
// Для Каждого Исполнитель ИЗ ДанныеЗаполнения.Исполнители Цикл
Строка = Бп.Исполнители.Добавить();
Строка.Исполнитель = ПользователиКлиентСервер.ТекущийПользователь();
// КонецЦикла;
МультипредметностьКлиентСервер.ЗаполнитьНаименованиеПроцесса(Бп, НСтр("ru = 'Исполнить'"));
Бп.Записать();
Бп.Старт();
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот