使用CRM自定义活动检索RecordId和OwnerId

时间:2017-10-25 07:35:42

标签: c# dynamics-crm crm custom-activity

我对CRM很陌生,现在我已经构建了一个自定义活动。活动是全局的,不受实体约束。

活动由位于CRM中的表单(实体)上的按钮触发。

现在我需要在上下文中检索RecordId和RecordId。

在客户端,这很容易,也有插件。但直到现在我才能弄清楚如何在我的自定义活动中获取这些Guids。

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

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

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

如果您的Action是全局的,那么根据定义,它不会绑定到任何实体,因此您将不会拥有任何&#34; context&#34;信息 - 您甚至可以从CRM外部调用此操作,系统不会根据您当前所使用的表单传递任何信息。

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

相关问题