监控动态CRM字符串表更新使用插件--- StringMap作为PrimaryEntity

时间:2014-05-05 20:07:49

标签: dynamics-crm-2011 dynamics-crm crm

在动态CRM中,我可以使用插件监控stringmap表更新吗?我只需要监视一个属性,比如[AttributeName] ='abc'

我在插件XML配置文件中添加了以下项目,导入XML文件后,PrimaryEntity为none。

<Step PluginTypeName="Classes.Ind" Description="Ind PreCreate" InvocationSource="0" MessageName="Create" Mode="0" PrimaryEntityName="stringmap" SecondaryEntityName="none" Stage="10" SupportedDeployment="0" Rank="1" Id="B53A4743-*">

1 个答案:

答案 0 :(得分:0)

进入自定义项的唯一方法是收听Publish或PublishAll消息。 在您的插件中,您需要处理自定义xml(XmlDocument)以进行特定更改。

e.g。

<importexportxml>
 <optionsets>
  <optionset>new_myoptionset</optionset>
 </optionsets>
</importexportxml>

当您在Publish或PublishAll Messages上注册插件时,context.InputParameters键对应于发布请求公共属性。

在您的情况下,您需要将ParameterXml读入XmlDocument并搜索您的选项集更改。

这可能如下所示:

if (context.Message == "Publish"" && context.InputParameters.Contains("ParameterXml"))
{ 
     XmlDocument xCust = new XmlDocument();
     xCust.Load(context.InputParameters["ParameterXml"].ToString());

     // look for your optionset using xpath   …
}