Как узнать головной корень бизес-процесса ( вложенность большая )
Найденные решения
(10)В реквизит СвязующаяЗадача пишется, наверное, задача, а не Бизнес процесс, а Вы сказали, что Вам надо головной Бизнес процесс найти. В принципе, из СвязующейЗадачи можно вытащить родительский Бизнес процесс, но это лишнее действие, на мой взгляд.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Не совсем
пример БП0 , порождает БП1 и БП2, те в свою очередь порождают БП11 и БП12 , БП21 и БП22 ...и так далее , и задача такая Что у БП22559 найти корень БП0... Т.е. БП могут идти параллельно и внутри разветвятся
Это комплексный бизнес-процесс, данный бизнес-процесс может содержать и согласование , ознакомление, утверждение и все несколько уровней , мне нужна полная история комплексного бизнес-процесса , а не этап на котором находится сейчас бизнес-процесс
пример БП0 , порождает БП1 и БП2, те в свою очередь порождают БП11 и БП12 , БП21 и БП22 ...и так далее , и задача такая Что у БП22559 найти корень БП0... Т.е. БП могут идти параллельно и внутри разветвятся
Это комплексный бизнес-процесс, данный бизнес-процесс может содержать и согласование , ознакомление, утверждение и все несколько уровней , мне нужна полная история комплексного бизнес-процесса , а не этап на котором находится сейчас бизнес-процесс
(7)Вот оттуда и доставайте. Я бы сделал рекурсивную функцию типа такого что-то
Функция ВернутьГоловнойБизнесПроцесс(ДочернийБизнесПроцесс)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ДочерниеБизнесПроцессы.РодительскийПроцесс КАК РодительскийПроцесс
|ИЗ
| РегистрСведений.ДочерниеБизнесПроцессы КАК ДочерниеБизнесПроцессы
|ГДЕ
| ДочерниеБизнесПроцессы.ДочернийПроцесс= &ДочернийПроцесс";
Запрос.УстановитьПараметр("ДочернийПроцесс", ДочернийБизнесПроцесс);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Если Выборка.Следующий() Тогда
Возврат ВернутьГоловнойБизнесПроцесс(Выборка.РодительскийПроцесс);
Иначе
Возврат ДочернийБизнесПроцесс;
КонецЕсли;
КонецФункции
Показать
(10)В реквизит СвязующаяЗадача пишется, наверное, задача, а не Бизнес процесс, а Вы сказали, что Вам надо головной Бизнес процесс найти. В принципе, из СвязующейЗадачи можно вытащить родительский Бизнес процесс, но это лишнее действие, на мой взгляд.
(6)
ВЫБРАТЬ
ДочерниеБизнесПроцессы.РодительскийПроцесс КАК РодительскийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача КАК СвязующаяЗадача,
ДочерниеБизнесПроцессы.ДочернийПроцесс КАК ДочернийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс КАК ГоловнойБП
ИЗ
РегистрСведений.ДочерниеБизнесПроцессы КАК ДочерниеБизнесПроцессы
ГДЕ
ДочерниеБизнесПроцессы.ДочернийПроцесс = &ДочернийПроцесс
ВЫБРАТЬ
ДочерниеБизнесПроцессы.РодительскийПроцесс КАК РодительскийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача КАК СвязующаяЗадача,
ДочерниеБизнесПроцессы.ДочернийПроцесс КАК ДочернийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс КАК ГоловнойБП
ИЗ
РегистрСведений.ДочерниеБизнесПроцессы КАК ДочерниеБизнесПроцессы
ГДЕ
ДочерниеБизнесПроцессы.ДочернийПроцесс = &ДочернийПроцесс
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот