2011-10-11 61 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