如何在Dynamic CRM 2011中使用自定义Workflow
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Dynamic CRM 2011中使用自定义Workflow相关的知识,希望对你有一定的参考价值。
参考技术A 实现步骤:创建自定义workflow activity ,实现对CRM数据更新。
创建自定义workflow,实现整个流程。
集成自定义workflow到CRM.
?
创建自定义workflow activity
启动 Microsoft Visual Studio 2010。
在"文件"菜单上,单击"新建",然后单击"项目"。
在"新建项目"对话框的"已安装的模板"窗格中,选择"Visual C#"下的"工作流",然后选择"活动库"。
指定解决方案的名称和位置,然后单击"确定"。
导航到"项目"菜单并选择"属性"。在"应用程序"选项卡上,指定".NET Framework 4"作为目标框架。
添加对 Microsoft.Xrm.Sdk.dll 和 Microsoft.Xrm.Workflow.dll 程序集的引用。
删除项目中的 Activity1.xaml 文件。
将类文件 (.cs) 添加到项目中。在解决方案资源管理器中,右键单击项目,选择"添加",然后单击"类"。在"添加新项"对话框中,键入类的名称,然后单击"添加"。
打开类文件,然后添加以下 using 指令:
using System.Activities;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Workflow;
使该类继承自 CodeActivity 类:
public class SampleCustomActivity : CodeActivity
通过添加Execute方法为类添加功能:
protected override void Execute(CodeActivityContext context)
//Activity code
Update Data here
编译项目以创建程序集 (.dll)。
?
?
创建自定义workflow
若要使用在 Microsoft Dynamics CRM 之外创建或修改的 XAML 工作流,请确保:
您的用户帐户在 Microsoft Dynamics CRM 中具有 Deployment Administrator权限。
在 Microsoft Dynamics CRM 服务器上启用了声明性工作流。 PowerShell($setting.AllowDeclarativeWorkflows="True")
创建工作流项目
在 Microsoft Visual Studio 中的"文件"菜单上,选择"新建",然后单击"项目"。
在"已安装模板"下展开"Visual C#",然后单击"工作流"。
单击"活动库",选择".NET Framework 4",为项目指定名称和位置,然后单击"确定"。
在"解决方案资源管理器"中,右键单击"活动库",然后单击"添加引用"。
单击"浏览",并找到 Microsoft.Xrm.Sdk.dll 和 Microsoft.Xrm.Sdk.Workflow.dll文件。选择这些文件并将其添加到项目。
进行工作流的定制。
集成自定义workflow到CRM.
使用插件注册工具来注册自定义工作流活动程序集到CRM。
构建 Plug-in Registration 工具。您可在SDK\Tools\PluginRegistration 文件夹中找到该工具的源代码。若要构建和使用插件注册工具,您必须首先安装 Windows Identity Foundation。
用户帐户必须具有系统定制员或系统管理员角色。
导入自定义的workflow
%TrainingKit%\Labs\WorkflowVS2010\Sources\Assets\WorkflowXamlTool.
打开 WorkflowXamlTool.sln, 修改workflow name and primaryentity ,执行solution.
?
var newWF = new Entity("workflow");
newWF.Attributes.Add("name", "On test 10311");
newWF.Attributes.Add("type", new OptionSetValue(1));
newWF.Attributes.Add("scope", new OptionSetValue(4));
newWF.Attributes.Add("category", new OptionSetValue(0));
newWF.Attributes.Add("primaryentity", "abc_dummy");
newWF.Attributes.Add("xaml", content2);
newWF.Attributes.Add("ondemand", true);
?
try
_serviceProxy.Create(newWF);
?
MessageBox.Show("Workflow successfully imported.", "Import",MessageBoxButtons.OK, MessageBoxIcon.Information);
catch (FaultException ex)
选择自定义xaml 文件,导入。
Dynamic CRM 数据密钥 忘记 解决方案
UPDATE EmailServerProfile SET IncomingPassword=null UPDATE EmailServerProfile SET OutgoingPassword=null UPDATE Mailbox SET Password=null UPDATE Queue SET EmailPassword=null UPDATE UserSettings SET EmailPassword=null
以上是关于如何在Dynamic CRM 2011中使用自定义Workflow的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在没有 SDK 的情况下调用 Dynamics CRM 2011 后期绑定 WCF 组织服务 - 直接自定义绑定?