Создаем удобочитаемую карту маршрута бизнес-процесса
Очень часто работа над пожеланиями различных пользователей по бизнес-процессу создает монструозную карту маршрута, которую обычному пользователю и показать страшно (а в большинстве случаев и нельзя, т.к. не каждый пользователь должен знать все ходы вашего бизнес-процесса), а внутренние обработки только затрудняют восприятие основной схемы процесса. Попробуем привести данную карту в удобоваримый вид.
- Описание
- Подробнее
Описание
Добавим в бизнес-процесс макет, типа Графическая карта.
В нем рисуем схематический процесс так, как он должен быть виден менеджеру.
Создавая карту для конкретного пользователя оставим список только те связи и задачи, про которые данный пользователь должен знать. В итоге из спрута на рисунке 1

мы получаем простенькую схемку рисунка 2,

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

