Добавим в бизнес-процесс макет, типа Графическая карта.
В нем рисуем схематический процесс так, как он должен быть виден менеджеру.
Создавая карту для конкретного пользователя оставим список только те связи и задачи, про которые данный пользователь должен знать. В итоге из спрута на рисунке 1
мы получаем простенькую схемку рисунка 2,
с которой под силу справиться даже самому отъявленному продажнику .
Ключевое условие - имена элементов задач и вложенных бизнес-процессов на двух картах должны совпадать.
Заголовки элементов можете оставить такими же как на основном процессе или изменить. После этого вставляем следующий блок:
Функция СформироватьКартуМаршрута(БизнесПроцесс, ИмяМакетаКарты)
Макет=БизнесПроцессы[БизнесПроцесс.Метаданные().Имя].ПолучитьМакет(ИмяМакетаКарты);
СписокТекущихТочекМаршрута=ПолучитьСписокТекущихТочекМаршрута(БизнесПроцесс);
Для Каждого Точка Из СписокТекущихТочекМаршрута Цикл
Попытка
Макет.ЭлементыГрафическойСхемы[Точка.Имя].ЦветРамки=WebЦвета.Черный;
Макет.ЭлементыГрафическойСхемы[Точка.Имя].Рамка=Новый Линия(ТипСоединительнойЛинии.Пунктир, 2);
Исключение
КонецПопытки;
КонецЦикла;
Возврат Макет;
КонецФункции
Функция ПолучитьСписокТекущихТочекМаршрута(БизнесПроцесс)
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ЗадачиОбработки.ТочкаМаршрута
|ИЗ
| Задача.ЗадачиОбработки КАК ЗадачиОбработки
|ГДЕ
| (НЕ ЗадачиОбработки.Выполнена)
| И ЗадачиОбработки.БизнесПроцесс = &БизнесПроцесс
|
|СГРУППИРОВАТЬ ПО
| ЗадачиОбработки.ТочкаМаршрута";
Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцесс);
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ТочкаМаршрута");
КонецФункции
Не забудьте в запросе поменять имя таблицы задач на используемую вами.
В форму, где хотим выводить маршрут вставляем объект типа ПолеГрафическойСхемы и для его обновления прописываем следующий код:
ЭлементыФормы.КартаМаршрута.УстановитьСхему(ПроцедурыЗаявокПользователя.СформироватьКартуМаршрута(Ссылка, "КартаДляМанагера"));
где Ссылка - ссылка на ваш бизнес-процесс, КартаДляМанагера - имя макета маршрута, куда мы поместили упрощенную карту.
В итоге получаем на форме упрощенную карту маршрута с выделенными жирным пунктиром текущими невыполненными задачами.