Книга знаний

1С:Предприятие / v8 / Объекты конфигурации

v8: Работа с картой маршрута бизнес-процессов.

Карта маршрута является очень наглядным интерактивным инструментом для работы с бизнес-процессами. При использовании в прикладных задачах для взаимодействия системы с пользователями карт бизнес-процессов облегчается воспринимаемость информации.Автор статьи:
Последняя редакция №1 от 11.07.06
URL: http://kb.mista.ru/article.php?id=282

Ключевые слова: карта маршрута, бизнес-процесс


Книга знаний: v8: Бизнес-процессы и задачи



Приведем простой пример универсальной карты маршрута, отображающей ход бизнес-процесса и возможностью интерактивного открытия задачи по точке маршрута.

Так как реализовывать я собираюсь универсальную обработку то логично сразу делать ее внешней. Единственным реквизитом моей обработки будет Бизнес-Процесс (БП) с типом БизнесПроцессСсылка.

<IMG SRC="files/GROOVY_03_01.png">

Карта маршрута это ничто иное, как графическая схема, соответственно в форму обработки кроме поля БП необходимо вставить поле графической схемы. Я это поле назову КартаМаршрута. В итоге получится что то вроде этого:

<IMG SRC="files/GROOVY_03_02.png">

Далее в модуле формы опишем получение карты маршрута выбранного пользователем БП.

Процедура ОбновитьКарту()
    БПОбъект = БизнесПроцесс.ПолучитьОбъект();
    ЭлементыФормы.КартаМаршрута.УстановитьСхему(БПОбъект.ПолучитьКартуМаршрута());
КонецПроцедуры


Процедура связана с кнопкой на верхней панели действий.

Теперь для активных точек маршрута (чьи задачи созданы, но не завершены) система будет подсвечивать точку красной пунктирной линией.

<IMG SRC="files/GROOVY_03_03.png">

Далее необходимо описать интерактивное открытие формы задачи по двойному щелчку по точке маршрута. Для реализации этого опишем событие поля графической схемы "Выбор". Будем искать с помощью запроса созданные задачи выбранного БП по этой точке маршрута. Помните что по точке маршрута может быть создано несколько задач!

Сам запрос для получения списка задач вынесем в модуль обработки:

Функция ПолучитьСписокЗадач(ТочкаМаршрута) Экспорт
    Запрос = Новый Запрос;
    НазваниеЗадачи = БизнесПроцесс.Метаданные().Задача.Имя;
    Запрос.Текст = "ВЫБРАТЬ
    |    Задачи.Ссылка КАК Задача
    |ИЗ
    |    Задача."+НазваниеЗадачи+" КАК Задачи
    |ГДЕ
    |    Задачи.БизнесПроцесс = &БизнесПроцесс
    |    И Задачи.ТочкаМаршрута = &ТочкаМаршрута";
    Запрос.УстановитьПараметр("БизнесПроцесс", БизнесПроцесс);
    Запрос.УстановитьПараметр("ТочкаМаршрута", Точкамаршрута);
    РезультатЗапроса = Запрос.Выполнить();
    
    Возврат РезультатЗапроса;
КонецФункции


В форме по событию "Выбор" опишем получение списка задач. Если задача одна то откроем ее форму (вызовем событие "АктивизироватьИнтерактивно", при этом может открыться и не форма задачи, а например форма БП). В том случае если задач запрос вернет несколько предложим пользователю выбрать необходимую из списка.

Процедура КартаМаршрутаВыбор(Элемент)
    ТочкаМаршрута = ЭлементыФормы.КартаМаршрута.ТекущийЭлемент.Значение;
    Если ТочкаМаршрута.Вид <> ВидТочкиМаршрутаБизнесПроцесса.ВложенныйБизнесПроцесс И
         ТочкаМаршрута.Вид <> ВидТочкиМаршрутаБизнесПроцесса.Действие Тогда
        Возврат; //Если по точке маршрута не создаются задачи, то искать их бессмысленно.
    КонецЕсли; 
    
    СписокЗадач = ПолучитьСписокЗадач(ТочкаМаршрута).Выгрузить();
    Если СписокЗадач.Количество() = 0 Тогда
        Возврат; //Нет задач
    ИначеЕсли СписокЗадач.Количество() = 1 Тогда 
        Задача = СписокЗадач[0].Задача.ПолучитьОбъект(); 
        //Задача одна
    Иначе
        ВыбЗадача = СписокЗадач.ВыбратьСтроку("Выверите задачу");
        Если ВыбЗадача = Неопределено Тогда
            Возврат; //Пользователь не выбрал задачу
        КонецЕсли; 
        Задача = ВыбЗадача.ПолучитьОбъект();
    КонецЕсли; 
    
    Задача.АктивироватьИнтерактивно();
КонецПроцедуры


Естественно, в конкретных случаях можно наделить работу с картой маршрута какими-нибудь специфическими возможностями для работы с БП.




Павел Чистов aka GROOVY
Институт технологий сопровождения.
1С:Центр сертифицированного обучения, Санкт-Петербург.
www.its-spb.ru
its(at)its-spb.ru




1С, 1С:Предприятие, 1С:Предприятие 8.0 являются зарегистрированными товарными знаками ЗАО "1С", Москва.
Все представленные снимки экрана, фрагменты пользовательского интерфейса и интерфейса разработчика представлены в целях ознакомления и никаким образом не нацелены на получение какой либо коммерческой прибыли. Никакая часть этих снимков не может быть воспроизведена без согласия правообладателя (ЗАО "1С").

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика