Разработка
27
Дек
0

Редактирование CRM’ного Бизнес-процесса в VS

Созданные непосредственно в CRM Бизнес-процессы можно редактировать в Visual Studio. Посмотрим на примере как это сделать:

  • Создайте Бизнес-процесс, который создает Задачу при создании Интереса;
  • Добавьте Бизнес-процесс к Решению (при этом добавьте к Решению недостающие компоненты) и экспортируйте его как неуправляемое;
  • Откройте ZIP-файл выгруженного Решения – далее папку Workflows и скопируйте .XAML-файл на локальный диск;
  • Создайте в VS 2010 новый проект, используя шаблон Workflow «Activity Library»;
  • Добавьте в проект ссылки на библиотеки:
    • Microsoft.xrm.sdk.dll
    • Microsoft.xrm.sdk.workflow.dll
  • Щелкните правой кнопкой по проекту, затем Add — Existing Item – выберите XAML-файл из Решения (файл Activity1.xaml удалите);
  • Далее необходимо добавить в Toolbox действия Бизнес-процессов CRM:
    • В Toolbox’е щелкните правой кнопкой по вкладке General и выберите Choose Items;
    • В открывшемся окне на вкладке «System.Activities Components» нажмите Browse и выберите библиотеку Microsoft.Xrm.Sdk.Workflow.dll.
  • Дважды щелкните по XAML-файлу, который добавили – откроется View Designer. Начинаем редактирование Бизнес-процесса:
    • Сверните созданное в CRM действие отправки почты;
    • Перетащите из Toolbox’а действие While (папка Control Flow) внутрь действия Workflow;
    • Условием для While задайте «True», а в тело поместите действие Sequence (папка ControlFlow);
    • Переместите созданное в CRM действие отправки почты внутрь действия Sequence;
    • Также в Sequence, под действие отправки почты, поместите действие Delay (с вкладки Primitives);
    • Щелкните правой кнопкой мыши по действию Sequence — Create Variable. В появившейся панели задайте параметры новой переменной:
      • Name: NextReminder;
      • Variable type: System.DateTime (в mscorlib — System — DateTime);
      • Scope: Workflow;
      • Default: System.DateTime.UtcNow.
    • Между действиями отправки почты и действием Delay поместите действие Assign (из папки Primitives). В поле To введите «NextReminder». В поле « Enter a VB Expression box» введите «NextReminder.AddMonths(3)» (для целей тестирования можете ввести «NextReminder.AddMinutes(5)»);
    • Щелкните правой кнопкой мыши по действию Delay, затем Properties. В поле Duration установите значение «New TimeSpan(NextReminder.Ticks)».

    В результате получился Бизнес-процесс, который просто с определенным интервалом отправляет электронное письмо Контакту.

  • Сохраните файлы проекта;
  • Замените в ZIP-архиве XAML-файл тем, что получился в VS;
  • Импортируйте в CRM измененное Решение.

Готово. Теперь у Вас есть отредактированный в VS Бизнес-процесс.

Примечания:

  • Бизнес-процессы, которые созданы или изменены за пределами CRM, не могут быть просмотрены или изменены в дизайнере CRM. Вы можете его только Активировать или Деактивировать;
  • В CRM нужно подправить одну настройку, чтобы можно было импортировать в систему Бизнес-процессы, разработанные на основе XAML в VS.





Комментарии (0)

*

code