Бизнес-процессы
Бизнес-процесс
Создадим новый объект бизнес-процесс, назовем его РаботаСКлиентами. На вкладке Основные, в поле Задачи, укажем задачу УниверсальнаяЗадачи. С одним бизнес-процессом может быть связана лишь одна задача, рис. 5.15.
Логика бизнес-процесса подразумевает ввод некоторых данных при его создании. В частности, бизнес-процесс создает администратор парикмахерской, который задает информацию о клиенте, список услуг, которые хочет получить клиент, данные мастера, к которому направляют клиента, а так же - стоимость услуг и данные бухгалтера, который должен принять оплату. Все это мы реализуем, задав реквизиты бизнес-процесса. Как и в случае с другими объектами реквизиты бизнес-процессов задаются на вкладке Данные. Создадим следующие реквизиты ( рис. 5.16):
Мастер: | Тип: СправочникСсылка.Сотрудники |
КлиентИПереченьУслуг: | Тип: Строка, Длина: 50 |
ДатаИВремяЗаказа: | Тип: Дата, Состав даты: Дата и время |
Бухгалтер: | Тип: СправочникСсылка.Сотрудники |
СтоимостьУслуг: | Тип: Число, Длина: 10, Точность: 2. |
Теперь займемся разработкой карты маршрута бизнес-процесса. Для этого перейдем на вкладку Прочее и нажмем кнопку Карта маршрута. Появится разграфленное поле, на котором и будет нарисована рис. 5.17 и панель инструментов Вставка элементов схемы.
Каждый бизнес-процесс должен иметь точку старта. Разместим элемент схемы Точка старта в верхней части карты. Рисование элементов карты маршрута ничем не отличается от рисования предопределенных фигур, например, в Microsoft Word. Точка старта не нуждается в дополнительной настройке.
Следующий элемент схемы - это Точка действия. Разместим соответствующий графический объект на карте, под точкой старта. Система автоматически добавит стрелку, связывающую точку старта и добавленную точку действия. В этой точке должна быть создана задача для мастера. Назовем эту точку ЗадачаДляМастера, рис. 5.18.
При настройке параметров точки бизнес-процесса мы можем либо воспользоваться предопределенными данными (именно это мы сделаем при рассмотрении следующего бизнес-процесса ), что позволит нам применить встроенные механизмы формирования задач, либо сформировать задачи полностью самостоятельно, отменив стандартную процедуру создания задач. В данном случае мы поступим именно так.
Для того, чтобы отменить автоматическое создание задачи и создать задачу самостоятельно, мы можем воспользоваться обработчиком события точки маршрута ПередСозданиемЗадач(). Этот обработчик, кроме прочих, принимает на входе параметр СтандартнаяОбработка. Для того чтобы создать задачи программно, нам нужно установить этот параметр в значение Ложь, после чего создать необходимые задачи (в нашем случае - это одна задача, адресованная конкретному мастеру) и добавить созданные задачи (объекты типа ЗадачаОбъект ) в массив ФормируемыеЗадачи. Вот как выглядит код этой процедуры, который располагается в модуле бизнес-процесса:
Процедура ЗадачаДляМастераПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; НоваяЗадача=Задачи.УниверсальнаяЗадача.СоздатьЗадачу(); НоваяЗадача.БизнесПроцесс = Ссылка; НоваяЗадача.ТочкаМаршрута = БизнесПроцессы.РаботаСКлиентами.ТочкиМаршрута.ЗадачаДляМастера; НоваяЗадача.Наименование = "БП1 - мастеру"; НоваяЗадача.Дата=ТекущаяДата(); НоваяЗадача.Сотрудник=Мастер; НоваяЗадача.Задание="Клиент "+КлиентИПереченьУслуг+" "+ДатаИВремяЗаказа; ФормируемыеЗадачи.Добавить(НоваяЗадача); КонецПроцедуры
Выражение вида НоваяЗадача.Сотрудник=Мастер присваивает реквизиту задачи значение реквизита бизнес-процесса. Мастер - это реквизит бизнес-процесса. Аналогично в данном коде выглядят остальные реквизиты бизнес-процеса.
Когда завершится обработчик события ПередСозданиемЗадач, можно будет вручную обработать событие ПриСозданииЗадач. Его можно использовать для настройки параметров уже созданных - вручную или автоматически - задач. Мы не будем им пользоваться.
Создадим вторую точку действия, назовем ее ЗадачаДляБухгалтера. С ней мы поступим аналогичным образом - добавим новую задачу программным образом. Вот код соответствующей процедуры. В целом он аналогичен вышеописанному, за исключением того, что задача адресована бухгалтеру.
Процедура ЗадачаДляБухгалтераПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка) СтандартнаяОбработка=Ложь; НоваяЗадача=Задачи.УниверсальнаяЗадача.СоздатьЗадачу(); НоваяЗадача.БизнесПроцесс = Ссылка; НоваяЗадача.ТочкаМаршрута = БизнесПроцессы.РаботаСКлиентами.ТочкиМаршрута.ЗадачаДляБухгалтера; НоваяЗадача.Наименование = "БП1 - бухгалтеру"; НоваяЗадача.Дата=ТекущаяДата(); НоваяЗадача.Сотрудник=Бухгалтер; НоваяЗадача.Задание="Принять у клиента "+КлиентИПереченьУслуг+" "+СтоимостьУслуги+" рублей"; ФормируемыеЗадачи.Добавить(НоваяЗадача); КонецПроцедуры
После завершения работы с точкой ЗадачаДляБухгалтера, добавим на карту Точку завершения. В итоге карта маршрута бизнес-процесса будет выглядеть следующим образом, рис. 5.19.
После реализации логики бизнес-процесса, займемся его визуальным отображением - формой. Перейдем на вкладку Формы, создадим Форму бизнес-процесса, при установке состава полей формы установим флажки так, как показано на рис. 5.20.
На автоматически созданную форму бизнес-процесса добавим Поле графической схемы. Его мы будем использовать для того, чтобы отображать карту маршрута бизнес-процесса. Схему нужно будет настраивать программно, назначая ей карту маршрута. Например, в обработчике события ПриОткрытии.
Процедура ПриОткрытии() ЭлементыФормы.КартаМаршрута.УстановитьСхему(ПолучитьКартуМаршрута()); КонецПроцедуры
Теперь настало время проверить наш бизнес-процесс на практике.
Войдем в систему под учетной записью Александров. Он является администратором салона красоты, и именно к нему обращаются клиенты. Откроем форму списка бизнес-процессов и создадим новый бизнес-процесс, заполнив его поля так, как показано на рис. 5.21.
После нажатия на кнопку ОК бизнес-процесс будет стартован. Откроем список задач - он будет пуст, так как текущий пользователь не соответствует адресату задачи. Нажав на кнопку Все задачи, убедимся, что в списке присутствует задача для мастера Иванова И.И. Если открыть форму бизнес-процесса снова - точка бизнес-процесса, соответствующая невыполненной задаче, будет обведена пунктирной линией, рис. 5.22.
Теперь войдем в систему под учетной записью Иванова, если открыть список его задач, то без каких-либо дополнительных действий (благодаря правильной настройке формы списка задач и наличию соответствующего параметра сеанса ) мы сможем увидеть его задачу. Открыв форму задачи, мы можем ознакомиться с заданием. После выполнения задачи можно нажать на кнопку Выполнена. Задача будет выполнена (она при этом исчезнет из списка задач пользователя), бизнес-процесс продвинется к следующей точке, предыдущая точка будет заштрихована, рис. 5.23. Теперь новая задача появилась у бухгалтера.
увеличить изображение
Рис. 5.23. Выполненная задача мастера и продвижение бизнес-процесса по маршруту
После того, как бухгалтер выполнит свою задачу, бизнес-процесс, при просмотре его в списке, будет помечен как завершенный, рис. 5.24.