Pull to refresh
0
True Engineering
Лаборатория технологических инноваций

Как связать разные типы процессов в Microsoft Dynamics CRM 2013. Реальный бизнес кейс

Reading time 6 min
Views 7.4K

Введение


Мы хотим поделиться опытом небольшого, но полезного усовершенствования функционала работы с бизнес-процессами различных типов в Microsoft Dynamics CRM 2013. Наш подход не претендует на гениальность, но он позволил решить некоторые проблемы, которые мы опишем ниже, а также выполнить пожелания Заказчика. Может быть, кейс будет полезен кому-то в своей работе.



Некоторые типы процессов в Microsoft Dynamics CRM 2013


Бизнес-процесс

В Microsoft Dynamics CRM 2013 существует весьма неплохой функционал автоматизации потока операций, который является последовательностью шагов, которые в свою очередь могут использоваться для автоматизации реальных бизнес-процессов на основе Windows Workflow Foundation.

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

Наиболее часто используемый функционал бизнес-процессов Microsoft Dynamics CRM 2013 – это управление статусами объектов в зависимости от определенных параметров по условиям, автоматическое формирование значений атрибутов объектов, автоматическое формирование задач и уведомлений сотрудникам, участвующим в бизнес-процессе:



Функционал данного типа процессов весьма подробно описан в материалах Microsoft, сторонних методических материалах и различных тематических ресурсах, поэтому подробно останавливаться на его описании мы не будем.

Последовательность операций бизнес-процесса

Помимо вышеописанного функционала, в Microsoft Dynamics CRM 2013 появилась новая функциональность – последовательность операций бизнес-процесса (Business Process Flow), которая представляется собой новый визуальный интерфейс в виде пошаговой панели для объектов, с помощью которой можно определять и контролировать выполнение определенных шагов на каждом этапе процесса. Основные отличительные черты нового функционала:
• могут существовать различные процессы для различных ролей безопасности;
• можно запрещать перемещение между шагами процесса, если не выполнены какие-либо действия;
• функциональность процессов кросс-объектная.
Основным плюсом данного типа процесса является то, что он выступает помощником для пользователя при прохождении специфических бизнес-процессов и представляет собой визуализацию прохождения этапов для записи. На каждом этапе есть шаги, которые заполняются пользователем. Выполнив все требования на текущем этапе, можно перейти на следующий этап. Каждый Этап и Шаг можно настроить:



Несомненными плюсами использования данного типа процессов (который понравился пользователям) являются:
• визуализация последовательности этапов и шагов на этапе, что минимизирует вероятность ошибочных действий пользователя;
• возможность определения обязательных для заполнения атрибутов объекта в зависимости от этапа бизнес-процесса, что минимизирует неполноту заполнения требуемого объема информации.
Недостатком данного типа процесса является то, что переключение между этапами производится в ручном режиме по нажатию кнопки «Следующий этап» ленты последовательности операций бизнес-процесса на форме. При использовании штатного механизма в режиме коллективной работы пользователи, задействованные в процессе, не могли видеть действий друг друга и реагировать на них своевременно (например, ставить задачи).
Нашей целью было устранить этот недостаток.

Постановка бизнес-задачи


Как совместить функционал разных типов процессов?

Рассмотрим реализацию требуемого функционала на примере реализации бизнес-процесса подготовки, согласования и сдачи отчетности по командировкам (реальный бизнес-кейс).
В компании Заказчика развитие бизнеса связано с большим количеством командировок менеджеров к клиентам, большое внимание уделяется планированию работ для достижения эффективности продаж, а также сдаче отчетности (отчетности по итогам проведенных работ и финансовой отчетности). Бизнес-процесс подразумевает участие различных групп пользователей, разнесенных территориально.
Соответственно, Заказчику требовалось:
• создание нового раздела системы для работы с объектом «Командировка»;
• разработка бизнес-процесса как средства коллективной работы;
• разработка последовательности операций бизнес-процесса на форме сущности для наглядности действий и корректности вносимых сведений.
Бизнес-процесс работы с командировками содержит четыре этапа (основные моменты):
• «Подготовка» – формирование менеджером целей командировки, плана работ и бюджета командировки;
• «Согласование» – согласование дирекцией по продажам плана работ и согласование финансовым отделом бюджета командировки (или возвращение на доработку или фактическое отклонение);
• «Результаты» – формирование менеджером результатов работ в ходе командировки и финансовой отчетности;
• «Утверждение» – утверждение дирекцией по продажам результатов работ и утверждение финансовым отделом финансового отчета и закрытие командировки (или возвращение на доработку результатов и предоставление дополнительным отчетных документов).

Реализованное решение


Бизнес-процесс
На каждом этапе бизнес-процесса работы с командировками необходимо выполнять следующие типовые действия:
• отправлять уведомление по электронной почте участникам процесса о необходимости внесения определенной информации для выполнения следующих шагов этапа процесса;
• автоматически изменять статус объекта «Командировка» в зависимости от этапа процесса;
• при отклонении действий, выполненных на предыдущем этапе, автоматически возвращать процесс на этап назад для корректировки данных.
Для реализации данного функционала создается новый бизнес- процесс «Командировка — БП»:



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



Подробно весь бизнес-процесс описывать не стоит – все сделано с помощью стандартного функционала Microsoft Dynamics CRM 2013, достаточно лишь внимательно описать этапы бизнес-процесса (к сожалению, отсутствие графического интерфейса при проектировании бизнес-процессов – слабая сторона системы).
Тем более, что наша цель – не описать реальный бизнес-процесс, а показать, как связать между собой разные типы процессов.

Последовательность операций бизнес-процесса

Далее для нового объекта «Командировка» создадим последовательность операций бизнес-процесса и опишем его шаги, включая обязательность атрибутов объекта, заполняемых на каждом шаге процесса:



Таким образом, мы реализовали для объекта «Командировка» визуализацию действий пользователя на форме:



Связь бизнес-процесса и последовательности операций бизнес-процесса

Теперь нам осталось связать между собой два типа процессов, то есть решить задачу автоматического управления этапами последовательности операций бизнес-процесса на базе фонового бизнес-процесса.
Тем самым мы достигаем следующие результаты:
• при работе с объектом «Командировка» пользователь имеет наглядную «инструкцию» по необходимым действиям;
• бизнес-процесс в фоновом режиме обеспечивает логику процесса работы с командировкой;
• переключение этапов процесса типа «последовательность операций бизнес-процесса» на форме объекта «Командировка» происходит в автоматическом режиме, не требует ручных действий пользователя;
• в форме объекта «Командировка» всегда отражается актуальный этап процесса (в том числе и при возврате на предыдущий этап).
Модифицируем объект «Командировка», добавив новые статусы в поле StatusCode:
• Подготовка;
• Согласование;
• Результаты;
• Утверждение.



Статусы объекта «Командировка» теперь соответствуют этапам последовательности операций бизнес-процесса.
Далее в условиях бизнес-процесса зададим обновления поля StatusCode объекта «Командировка» на соответствующие значения статусов, сформированных ранее.



Последним этапом мы должны обеспечить автоматическое обновление этапа последовательности операций бизнес-процесса для объекта «Командировка» на то значение, которое задается автоматически в шаге бизнес-процесса.
Для этого нам нужно добавить небольшой скрипт для обновления шагов на форму объекта «Командировка»:



Открыть форму объекта «Командировка», перейти в раздел «Свойства формы», добавить файл со скриптом, и в блоке «Обработчик событий» добавить метод updateProcessStep.
Сам скрипт для автоматического обновления статсуса очень простой и выглядит следующим образом:



function onChange() {
 var stageStatus = Xrm.Page.getAttribute("statuscode").getText();
	OnNextStage(stageStatus);
}


function OnNextStage(stageStatus) {
var processId = Xrm.Page.getAttribute("processid").getValue();

var oDataURI = Xrm.Page.context.getClientUrl() + "/XRMServices/2011/OrganizationData.svc/ProcessStageSet?$select=ProcessStageId,StageName&$filter=ProcessId/Id eq (guid'" + processId + "')";

   $.ajax({
    type:'GET',
	url: oDataURI,
	dataType:'json',
	contentType:'application/json; charset=utf-8',
	 success: function(msg) {
	 var nextStageId = null;
	  for( var i=0; i<msg.d.results.length;i++)
		{
		if(stageStatus.toLowerCase() == msg.d.results[i].StageName.toLowerCase())
				nextStageId = msg.d.results[i].ProcessStageId;
		}
		
		if(nextStageId != null)
		{
			Xrm.Page.getAttribute("stageid").setValue(nextStageId);
			Xrm.Page.data.entity.save();
		}
    }
	});


}


Заключение


Задача, поставленная Заказчиком, выполнена, цель достигнута. Бизнес-процесс и последовательность операций бизнес-процесса работают совместно. В рамках бизнес-процесса обеспечивается автоматическое переключение этапов последовательности операций бизнес-процесса, а наглядность процесса на форме обеспечивается визуальной поддержкой регламента.

На данном простом примере мы постарались показать, как можно расширить функционал работы с процессами разных типов в Microsoft Dynamics CRM 2013 и, возможно, сделать систему более комфортной для конечных пользователей.
Tags:
Hubs:
+3
Comments 1
Comments Comments 1

Articles

Information

Website
www.trueengineering.ru
Registered
Founded
Employees
101–200 employees
Location
Россия