Как узнать головной корень бизес-процесса ( вложенность большая )

1. Tatyana_012345 24 18.01.24 15:13 Сейчас в теме
Добрый день !
Подскажите, пожалуйста, как узнать головной корень бизнес-процесса ?
Реквизит "ВедущаяЗадача" не заполнен
Вложенность бизнес-процесса несколько уровней и разветвления , нужно чтобы из любого уровня и разветвления можно узнать корень
Найденные решения
11. ActionBlog 18.01.24 16:26 Сейчас в теме
(10)В реквизит СвязующаяЗадача пишется, наверное, задача, а не Бизнес процесс, а Вы сказали, что Вам надо головной Бизнес процесс найти. В принципе, из СвязующейЗадачи можно вытащить родительский Бизнес процесс, но это лишнее действие, на мой взгляд.
Tatyana_012345; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ActionBlog 18.01.24 15:15 Сейчас в теме
(1)Что такое "головной корень бизнес-процесса"?
3. Tatyana_012345 24 18.01.24 15:17 Сейчас в теме
(2) Верхний бизнес - процесс , задачи вложенные , несколько уровней
4. ActionBlog 18.01.24 15:25 Сейчас в теме
(3)Я правильно понимаю, что у Вас есть БП, который вводится на основании другого БП и Вы хотите увидеть БП-основание?
13. user1880116 18.01.24 19:53 Сейчас в теме
(2) Звучит как диагноз =]
5. Tatyana_012345 24 18.01.24 15:30 Сейчас в теме
(4) Не совсем
пример БП0 , порождает БП1 и БП2, те в свою очередь порождают БП11 и БП12 , БП21 и БП22 ...и так далее , и задача такая Что у БП22559 найти корень БП0... Т.е. БП могут идти параллельно и внутри разветвятся
Это комплексный бизнес-процесс, данный бизнес-процесс может содержать и согласование , ознакомление, утверждение и все несколько уровней , мне нужна полная история комплексного бизнес-процесса , а не этап на котором находится сейчас бизнес-процесс
6. ActionBlog 18.01.24 15:38 Сейчас в теме
(5)А когда БП0 порождает БП1 это где-то фиксируется? Может, в БП1 есть какой-то реквизит типа "БПОснование" или "БПРодитель"? Или может в каком-то регистре это фиксируется? Какая конфигурация у Вас?
7. Tatyana_012345 24 18.01.24 15:40 Сейчас в теме
(6) ДО 2.1 есть РС ДочерниеБизнесПроцессы
9. ActionBlog 18.01.24 15:52 Сейчас в теме
(7)Вот оттуда и доставайте. Я бы сделал рекурсивную функцию типа такого что-то

Функция ВернутьГоловнойБизнесПроцесс(ДочернийБизнесПроцесс)
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	ДочерниеБизнесПроцессы.РодительскийПроцесс КАК РодительскийПроцесс
	|ИЗ
	|	РегистрСведений.ДочерниеБизнесПроцессы КАК ДочерниеБизнесПроцессы
	|ГДЕ
	|	ДочерниеБизнесПроцессы.ДочернийПроцесс= &ДочернийПроцесс";
	
	Запрос.УстановитьПараметр("ДочернийПроцесс", ДочернийБизнесПроцесс);
	
	Результат = Запрос.Выполнить();
	Выборка = Результат.Выбрать();
	
	Если Выборка.Следующий() Тогда
		Возврат ВернутьГоловнойБизнесПроцесс(Выборка.РодительскийПроцесс);
	Иначе
		Возврат ДочернийБизнесПроцесс;
	КонецЕсли;
	
КонецФункции
Показать
10. Tatyana_012345 24 18.01.24 15:59 Сейчас в теме
(9) а почему нельзя взять СвязующаяЗадача ? я так понимаю -это главная задача
11. ActionBlog 18.01.24 16:26 Сейчас в теме
(10)В реквизит СвязующаяЗадача пишется, наверное, задача, а не Бизнес процесс, а Вы сказали, что Вам надо головной Бизнес процесс найти. В принципе, из СвязующейЗадачи можно вытащить родительский Бизнес процесс, но это лишнее действие, на мой взгляд.
Tatyana_012345; +1 Ответить
12. Tatyana_012345 24 18.01.24 16:32 Сейчас в теме
8. Tatyana_012345 24 18.01.24 15:49 Сейчас в теме
(6)
ВЫБРАТЬ
ДочерниеБизнесПроцессы.РодительскийПроцесс КАК РодительскийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача КАК СвязующаяЗадача,
ДочерниеБизнесПроцессы.ДочернийПроцесс КАК ДочернийПроцесс,
ДочерниеБизнесПроцессы.СвязующаяЗадача.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс КАК ГоловнойБП
ИЗ
РегистрСведений.ДочерниеБизнесПроцессы КАК ДочерниеБизнесПроцессы
ГДЕ
ДочерниеБизнесПроцессы.ДочернийПроцесс = &ДочернийПроцесс
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот