2

我在 MS CRM 4.0 中创建了一个自定义实体,并尝试通过 .Net 中的自定义工作流更新几个属性。我已经阅读了几个论坛和博客文章,但仍然对如何访问自定义实体和更新它们的一些属性感到困惑。

我创建了一个自定义实体来替代 CRM 进行分配的方式,因为我们公司有一些 CRM 没有执行的特定业务规则。当事件的任务完成时,我想用任务持续时间更新自定义实体中的属性。任何帮助将不胜感激。

谢谢

4

4 回答 4

5

在自定义工作流中使用 CRM Web 服务时,您需要使用 DynamicEntity 对象。工作流上下文 Web 服务只是一个 ICrmService,因此它不知道您的特定自定义。这里有一个漂亮的示例:http: //www.stunnware.com/crm2/topic.aspx?id=CustomWorkflowActivity

我想您还可以将 CRM Web 服务添加为您的工作流项目的 Web 参考。然后,您将拥有自定义实体的强类型对象。我从来没有为我的自定义工作流程这样做过,但它适用于访问 CRM 的其他自定义应用程序。

于 2009-01-28T22:21:16.870 回答
1

选择动态实体而不是 WSDL 总是更好的选择。当您开发一段代码时,您的类会更加灵活。您可以在不同的环境中为不同的系统使用您的软件。这就是发明动态实体的原因。

于 2011-07-04T17:46:20.043 回答
0

这非常简单,您不必使用 DynamicEntity。您必须转到设置 -> 自定义 -> 下载 WSDL。获取 wsdl 并在您的项目中使用它。现在您拥有所有自定义实体的强类型。你所要做的就是写这样的东西:

Guid entityId = getEntityId();
new_yourCustomEntity entity = new new_yourCustomEntity();
entity.new_yourCustomEntityid = entityId;
entity.new_customProperty = "value";
CrmService crmService = new CrmService();
crmService.Update(entity);
于 2009-03-05T15:14:18.877 回答
0

也许您真正的意思是 Custom Workflow Activity这涉及编写您自己的 .NET 类,以新步骤类型的形式向标准 CRM WF 添加功能。如果您想要做的只是更新您并不真正需要的属性,即使它位于自定义实体上。更新记录步骤就是这样做的,它允许指定动态值(来自其他实体)。

希望能帮助到你

丹尼尔

于 2009-03-26T15:39:45.583 回答