在Import上注册CRM 2011插件

时间:2013-02-04 12:32:56

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

如何在导入中注册插件?
有“导入”和“全部导入”消息。它们是如何使用的?

我想在导入特定实体后创建一条记录 我尝试使用'导入',但我不知道context.InputParameters["Target"]是什么。导入CSV时,插件没有触发。

2 个答案:

答案 0 :(得分:4)

导入是创建/更新实体,因此您应该能够根据创建和更新消息触发插件

答案 1 :(得分:1)

您可以使用更新创建消息。现在,我知道您希望将执行限制为单个(和最后一个)实例。从技术上讲,无法做到。每个更新创建将分别调用插件。

但是,有解决方法。并不为此感到骄傲,但是,我做到了。一次。

public void Execute(...)
{
  Entity entity = context.InputParameters["Target"] as Entity;
  bool isTheLast = entity["someField"] == "Viltersten is Godlike";
  if(!isTheLast)
    return;
}

这可以缩短,在一行中完成。我只是想成为教学法。另外,我还没有检查确切的语法,但你明白了。做最后一件事你导入名为独特的东西。然后,让插件点开它想要的一切。只有一个实例可以通过。

如果你无法控制进口的顺序,这将是FUBAR。

就我而言,我做不到。我的解决方案是引入一个名为 Controller 的新实体。在所有导入之后,我创建了一个新的实例。在那里,我确实执行了其他实体所需的所有操作。

Braggable?几乎不。是否可行?是。