动态 crm - 如何从 Microsoft.Xrm.Sdk.IPlugin 将输出返回到客户端(rest 调用)



我创建了一个自定义实体和一个匹配的插件。插件在实体、预操作和同步的"创建"消息上注册。通过休息调用,插件执行被触发。输入正确。但是我无法将数据发送到客户端。

我应该设置输出参数,更改输入参数,更改插件注册,...?还是我应该在之后检索实体?

此模式在 中描述http://crm.davidyack.com/journal/2012/6/26/crm-client-extension-data-access-strategies.html 在命令模式段下

要在预创建中更新记录中的某些值,您可以使用如下所示的内容:

public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)
serviceProvider.GetService(typeof(IPluginExecutionContext));
Entity yourEntityName= (Entity)context.InputParameters["Target"]
if(yourEntityName.Attributes.Contains("SomeAttribute"))
yourEntityName.Attributes["SomeAttribute"] = "SomeValues"
}

这就是你要找的吗?

更改

要更改的属性名称的"SomeAttribute",并为要传递到记录中的值"SomeValues"

在"预创建"事件中,使用结果填充文本区域。在创建结束时,您的实体将用结果填充此字段。在 rest 调用中,在创建实体后检索实体,并从文本区域检索结果。

如果您使用的是 CRM 2013,则可以使用操作来执行服务器端执行,并且可以从 REST 调用调用操作,而不是使用自定义实体和插件。操作与任何 SDK 消息类似,您可以在其中提供输入,并且它将具有输出。

谢谢麦

最新更新