【问题标题】:Exit custom C# CRM Workflow back into designer workflow退出自定义 C# CRM 工作流回到设计器工作流
【发布时间】:2016-05-17 22:48:22
【问题描述】:

我正在开发一些自定义 CRM 工作流程,其中一些需要发送电子邮件。据我所知,这不能通过代码来完成。我想要实现的是 - 运行一些自定义代码,并根据该代码期间发生的情况,即 Web 服务的超时异常引发异常或所述 Web 服务发生验证错误,工作流将重试或发送电子邮件。

因此,使用上面的示例,自定义工作流在 CRM 字段更改时运行。工作流调用 Web 服务,该服务超时。然后,工作流会发现它是 TimeoutException,并添加一个重试工作流的步骤。工作流重新启动,并引发 ArgumentException。工作流选择此异常,并在表单中设置一个字段。 (我知道这可以在代码中完成,这只是一个示例,因为我希望将此功能用于许多工作流程中的许多领域!)

我想到的唯一方法是在表单上添加一个名为 Workflow Action 的新字段,让工作流检测更改,然后自定义代码更改此字段。工作流知道它已更改为什么状态并采取相应的行为。

谢谢。

【问题讨论】:

  • 无法通过代码发送电子邮件?为什么?一些道德限制?
  • 在编码方面我没有道德;)但实际上 - 这只是一个例子。我希望尽可能利用工作流设计器。没有必要重新发明轮子。因此,将自定义代码引入设计器工作流程将是有利的。
  • 那就没有什么能阻止你通过代码发送邮件了,看看SmtpClient类
  • 没错,我可以使用 SmptClient 发送电子邮件,甚至可以使用 CRM 的邮件消息发送电子邮件——但这只是一个示例。我的问题不是解决眼前的问题,而是 CRM 工作流具有的功能,以及是否可以将两者交织在一起,根据状态跳入和跳出自定义代码。
  • 您使用的产品版本/SKU 是什么? 2013/2015/2016,本地/在线?

标签: c# workflow dynamics-crm crm


【解决方案1】:

毛绒绒,

您可以根据自己的要求在自定义代码中设置输出参数,并在开箱即用的工作流设计器中的下一步中访问该参数。在设计器中使用条件表达式检查输出并根据自定义代码的结果执行您想要执行的操作。

希望这是您正在寻找的东西。如果您需要更多信息,请告诉我。

【讨论】:

  • 啊,是的!我知道有类似的东西,我完全忘记了输出参数。谢谢。
猜你喜欢
  • 2013-02-04
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
相关资源
最近更新 更多