MS CRM accelerators: Business Productivity Workflow Tools
Акселератор Business Productivity Workflow Tools предоставляет дополнительные шага в workflow, что дает больше гибкости с точки зрения процессов, которыми разработчики могут управлять через workflow. Новые действия обеспечивают дополнительные возможности по обработке строк, математические функции и созданию HTML-гиперссылок.
Установка:
- Качаем Business Productivity Workflow Tools Accelerator;
- Запустите BusProd_Workflow_Tools_RTW.exe и выполните установку;
- В открывшейся в браузере странице перейдите по ссылке Source Code (в верхнем меню), затем жмите Custom Workflow Assembly;
- Откроется папка содержащая исходники программы. А в подпапке \bin\Debug лежит готовая сборка, которую нужно зарегистрировать как плагины. Скопируйте MSA_BusProd_Workflow.dll, лежащей в папке \bin\Debug, в папку C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly;
- Скачайте и запустите Plugin Registration Tool;
- Подключитесь к CRM серверу, введя соответствующие параметры;
- Далее жмите Register — Register New Assembly;
- В открывшемся окне регистрации в верхнем поле введите путь к MSA_BusProd_Workflow.dll, которую Вы скопировали в папку \Microsoft Dynamics CRM\bin\assembly (т.е. по дефолту полный путь будет C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly\microsoft.crm.sdk.dll);
- Во второй области отметьте галкой подтянувшийся плагин, а в третей отметьте в качестве места расположения DisK. Нажмите Register Selected Plugins;
На этом все 🙂 Можете смотреть дополнительные шаги в бизнес-процессах.
А теперь подробнее о самих шагах:
- Record Functions: Retrieve the record ID (Guid) – возвращает гуид объекта над которым сейчас трудится бизнес-процесс;
- Email Functions – генерирует ссылки (например, для отправки их по почте). Причем ссылки дружественного вида, т.е. в виде текста с гиперссылкой (не http://yandex.ru , а Поисковая система). Ссылки могу быть:
- CRM’мные – ссылки на объекты CRM системы;
- Общие – т.е. обычные ссылки на веб-страницы;
- E-mail – ссылки на электронную почту;
- String Functions: Concat – объединяет две строчки в одну;
- Math Functions: Calculate – производит математические операции на двумя строчками:
- Сложение (используется символ “+” );
- Вычитание (используется символ “-”);
- Умножение (используется символ “*”);
- Деление (используется символ “/”);
- Модуль (используется слово “MOD”);
Как использовать? Очень просто 🙂
- Вставляете нужный Вам шаг (из дополнительных) в бизнес-процесс;
- Задаете подходящее имя для этого шага (например, Считаем налог);
- Задаете параметры этого шага;
- Далее при работе с каким либо другим шагом, названия шагов этих дополнительных функций появится в списке Динамических (в настройках этих самых шагов). И соответственно результаты работы этих дополнительных шагов могут быть вставлены в поля на форме.
ЗЫ: Текущая версия работает только в локальной инсталляции Microsoft Dynamics CRM 4.0!
ЗЫ2: видео-инструкции по использованию новых шагов бизнес-процессов:
Спасибо большое за статью. Поставил плагин. Но функционал, который создает ссылку на CRM-обьект создает не ссылку, ведущую в «никуда».
Делаю так: создаю ссылку на обьект Заказ, в динамическом поле выбираю поле Заказ, подписываю ссылку словом: ссылка на заказ. Далее создаю емейл и вставляю в тело письма, созданную ранее ссылку на заказ. Запускаю процесс. Но ссылка в письме при нажатии имеет примерно такой вид: Канал%20передачі%20даних%20м.Житомир%20-%20м.Кијв
, тоесть словами написано значение того поля на которое я создавал ссылку а не ссылка по которой можно открыть карточку заказа. Помогите, почему так?
Добрый день 🙂
При создании ссылки Вам необходимо прописать такой URL:
http://servername/organization/SFA/salesorder/edit.aspx?id={0}
Вместо id должен обязательно быть ноль 🙂 про то как образовывать другие адреса смотрите тут http://mmcrm.ru/?p=140
Спасибо большое, все получилось 🙂
Но продолжил дальше пользоваться и столкнулся с такой проблемой. У меня бизнес-процесс создан для объекта Заказ. Если в рамках этого процесса создаю с помощью данного плагина ссылку на Заказ, то следуя вашим советам все ок. Но когда далее создаю ссылку на созданную в рамках этого бизнес-процесса Задачу, то во-первых: выбираю в динамическом поле Просмотреть: объект ту Задачу на которую нужна ссылка, потом прописиваю ссылку на Задачу, сохраняю, если потом захожу в свойства этого шага, то в поле Просмотреть: остается объект Заказ, то есть объект Задача не сохраняется. Я бы не обратил на это внимание, если бы процесс работал. Запускаю его, ссылка создается, но при нажатии на нее появляется служебная ошибка майкрософт, о том что запись не доступна или у вас нет прав для ее просмотра.
Что я делаю не так?
Если я не ошибаюсь, то ссылка создается только на ту запись в отношении которой работает бизнес-процесс (точнее пропичывается ее гуид)! т.е. в Вашем случаи в отношении заказа 🙂 Вобщем в итоге получается ссылка на задачу в качестве гуида у которой указан гуид заказа, а т.к. такой задачи нет, то формачка и сваливается с ошибкой! Можете нажать Ctrl + N чтобы отобраить адресную строку, в ней найдете гуид и сравните его с гуидом Заказа для которого у Вас срабатывает бизнес-процес!
Жаль что так, ну и на том спасибо 🙂 очень полезная штука
А можно таким же образом запихать ссылку на отчет?
Не совсем понимаю задачу? в бизнес-процессе нельзя содать отчет 🙂 Опишите более подробно что требуется 🙂
Требуется вот что. Имеется отчет. Например Заказ. (стандартный отчет CRM)
В создаваемом email передать строку содержащую ссылку на отчет по конкретному заказу.
Ну надо сделать примерно так:
1.Создать отчет (или доработать существющий) который будет в условии where отбирать нужную запись Заказа (по гуиду, который поступает в качестве параметра).
2. Опубликовать отчет (возможно его придется публиковать не в CRM, а в RS менеджере).
3. Сформировать ссылку на отчет (этот акселератор может формировать гуид записи) и в этой ссылке передать ему параметр (гуид) через адресную строку.
Вот пример передачи отчету параметров: http://mmcrm.ru/?p=638
Круто! Получилось! Спасибо!
А каким образом делать ссылку на пользовательскую сущность? они все почему то называются userdefined в адресной строке. И когда делаю ссылку на такой объект, потом при ссылке на него вылетает ошибка.
а какая ссылка у Вас получается при ощибке?
http://server:8888/Organizacia/_common/error/errorhandler.aspx?ErrorCode=&RequestUri=%2fITS%2fuserdefined%2fedit.aspx%3fid%3d7b92fca6-d46d-4680-8f80-f6cc85e7723f&BackUri=http%3a%2f%2fwin.mail.ru%2fcgi-bin%2freadmsg%3fid%3d12536510030000000679
Нда… что-то не то 🙂
Ладно давайте так:
1. Откройте какую-нибудь запись кастомной сущности и скопируйте ссылку (и щапостите сюда).
2. Ппишлит также ссылку сформированную бизнес-процессом!
выдает ошибку при попытке зарегистрировать акселератор, в чем может быть проблема?