【问题标题】:How to return values from CRM custom workflow?如何从 CRM 自定义工作流程返回值?
【发布时间】:2017-03-15 14:49:51
【问题描述】:

我是 CRM 的新手。尝试使用自定义工作流程自动化流程。有什么方法可以返回实体中记录的特定字段值。

例如:使用自定义工作流程更改记录的状态并返回该记录的帐户名称。可以在CRM中做吗?

【问题讨论】:

  • 您不能在工作流中返回值,可以这么说,不。 (我想这就是你的答案),但你想将帐户名返回到什么位置?什么叫这个工作流程? (或者它实际上是一个自定义工作流活动,即一段 C# 代码,您是从工作流中调用的?)
  • 它是每天安排的自定义工作流活动,在设置记录状态后,我希望返回记录帐户名称,以便我可以使用该值在我的自动化过程。
  • 听起来您需要重新处理流程。请记住,在 CRM 中,这一切都是异步的,因此您不会“返回”任何此类内容。除了异步服务(成功/失败/等)之外,没有什么可以返回的。当您设置记录的状态时,为什么不触发另一个工作流关闭该状态更改?这样您就拥有了完整的帐户记录,并且可以为所欲为。

标签: dynamics-crm-2011 dynamics-crm crm dynamics-crm-2013 dynamics-crm-online


【解决方案1】:

是的,这可以在使用 Output Parameters 的自定义工作流活动中实现。 This blog post 很有用。

在您的 C# 代码中,在 Execute() 函数之外,像这样定义一个输出参数:

[Output("Account Name")]
public OutArgument<string> AccountName { get; set; }

然后在您的代码(在Execute() 函数中执行)中设置输出参数的值(在本例中为AccountName),如下所示:

AccountName.Set(executionContext, "account name"); 酌情替换"account name" 字符串。

然后在您的工作流程中,您调用自定义步骤的步骤之后的每个步骤都可以访问AccountName

【讨论】:

  • 你也可以有InArgumentInOutArgument参数
猜你喜欢
  • 2013-02-04
  • 1970-01-01
  • 1970-01-01
  • 2016-05-17
  • 2016-04-25
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多