2011-10-11 60 views
0

我正在尝试在创建1:n关系时运行一个工作流程。触发创建1:N关系的工作流程?

我有一个Contact实体和PortalRole实体。当我将PortalRole与联系人相关联时,我想触发一个向用户发送欢迎电子邮件的工作流程。

的PortalRoles被分配到从功能区按钮,启动一个HTML网页资源和使用JSON/jQuery和REST的服务创建关联的联系人。

如何调用工作流程?我需要获取联系人的电子邮件地址,并将它们发送1 2的电子邮件,这取决于他们有多少协会有(新的门户网站用户或门户网站用户获得额外的角色)

回答

0

此博客文章提供了处理关系的非常好的解释。

(很多)多对多选项:使用哪一个?

所以...这三种方法,这是最好的?一如往常,这取决于 你需要做的,但这里有一些经验法则,你可以为 指导使用方法:

天然N:N

也许最简单的配置,但最重要的限制。当您的 只需要知道两个记录相互连接时使用,但您的 不需要有关连接本身的附加信息。

例子:

自定义实体产业与N:N账户添加自定义N:N的竞争对手和领土实体之间 关系跟踪 其竞争对手活跃在该地区的自定义实体颜色 与N:N联系(你不跟踪你的联系人的最爱 颜色?)

手册N:N

一点更多的工作来配置,但一般值得努力。使用 除了知道两条记录已连接之外,还需要有关连接的信息,例如其状态,创建的时间为 等等。

实例:

协会和会员计划和注册(1:N从联系 到登记,1:N从事件到登记)订阅者和 订阅(1:N从联系到自定义实体“预订” ,1:从自定义实体“订阅产品”到订阅)N

连接和连接角色

正如我上面提到的,这些实际上如手动方法 的特殊执行。如果你仔细研究这一点,你会发现 Connection实体是一个真正的可定制的实体。您甚至可以自定义它,将自定义字段添加到连接表单中,然后再输入 。但是,要小心过度使用它:只有一个连接 实体,并且为一个连接角色所做的自定义通常将 不适用于另一个连接角色。

这些一个具体优势是一个连接作用,可 连接不同类型的记录(例如,联系人可以参考其他 联系人,帐户和机会)

这是一个主观判断,但我当你需要 跟踪一些关于实际连接的信息时(比如他们创建时的 以及有多少...),但没有那么多。例子:

介绍人(联系到联系人,联系到客户,联系人,以 机会)前员工(联系到帐户,导致帐户)董事 局(联系到自定义实体“董事会”,导致局)

http://community.dynamics.com/product/crm/crmtechnical/b/richardknudson/archive/2011/05/08/many-to-many-relationships-in-dynamics-crm-2011.aspx

0

你应该建立自己的工作流程为PortalRole实体,然后从触发它创建。您仍然可以访问工作流程中的联系人字段。

关键是在你的最后一个要求 - 发送“邮件A”的第一个角色关联,然后选择“电子邮件B”为每个额外的关联。

你可以添加一个是/否字段来联系被称为“第一个角色分配”。您的工作流程会是这个样子:

  • 如果联系人:FirstRoleAssigned =是
    • 发送 “邮件B”
  • 否则
    • 发送 “通过电子邮件发送”
    • 设置联系人:FirstRoleAssigned =是
+0

但我不希望工作流来上创建一个新的角色触发。如果有意义的话,一个人被分配到这个角色?我现在想我需要使用Connections,然后才能从那里触发工作流程? – Andrew

+0

如果联系人与PortalRole具有1:N的关系,则“为某人分配角色”实际上只是通过为联系人设置ContactId查找来创建PortalRole。在您的Web资源中,您是否使用PortalRole的创建请求?如果你使用“Associate”,那么它是一个多对多的关系。 –

+0

它显示为2个关系1:n来自contact和portalrole 1:n,所以它是一个多关系。 – Andrew