0

我对 CRM 很陌生,现在我已经建立了一个自定义活动。Activity 是全局的,不绑定到实体。

活动由放置在 CRM 中的表单(实体)上的按钮触发。

现在我需要在上下文中检索记录的 RecordId 和 OwnerId。

在客户端,这很容易,也可以使用插件。但是直到现在我才弄清楚如何在我的自定义活动中获取这些指南。

编辑:我试过了,但 Guid 总是“000-00-000-000 ....”

IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
Guid recordId = context.PrimaryEntityId;

也许这是因为我的 CodeActivity 是全局的并且我没有“PrimaryEntity”?

非常感谢任何帮助!

4

1 回答 1

0

如果您的操作是全局的,那么根据定义,它不会绑定到任何实体,因此您将没有任何“上下文”信息 - 您甚至可以从 CRM 外部调用此操作,系统不会根据表单传递任何信息您当前正在播放的内容。

你的全局动作应该有一些输入参数,你应该在调用动作时传递它们(我理解正确的来自 JavaScript)。这可以是实体 ID、实体类型或您需要的任何其他内容。然后你应该在你的自定义工作流活动中传递它们(使用自定义活动的输入参数)。或者您可以简单地将这个动作重新创建为绑定动作(但在这种情况下,您仍然需要在调用动作时传递绑定实体,系统不会神奇地为您注入上下文信息)

于 2017-10-25T12:47:54.753 回答