2015-10-22 45 views
0

在crm我有幾個實體的解決方案。有三個導致問題。讓我們稱之爲A,B和Ccrm級聯刪除不啓動插件

A和B有一個與刪除

B和C的級聯效應一對多的關係有一個一對多的關係沒有級聯刪除。

對於B我開發了一個crm插件,刪除時它也刪除了C。一種級聯刪除插件。我無法在B和C之間創建級聯,因爲C已經與另一個實體處於級聯關係。

當我刪除任何實體B時,它會關閉插件代碼並刪除C的所有子項。當我刪除任何實體A時,級聯刪除B,但它不會觸發插件。

我怎樣才能確保插件沒有爲實體A創建插件而觸發?我在crm方面很新,所以我不知道在哪裏尋找這種問題。

UPDATE

用於擊發在 '預驗證' 階段的插件。將其更改爲「預操作」實際上會導致插件啓動。不幸的是,在這個階段,所有已經刪除的對象的子引用。所以現在當刪除A時級聯刪除,並且插件啓動,但我找不到任何它的子實體C引用

回答

0

創建一個對象,它將存儲子引用並將其傳遞到「共享變量」中預驗證階段。然後您可以訪問操作前階段的共享變量:https://msdn.microsoft.com/en-us/library/gg328579.aspx。你需要在兩個步驟都註冊的插件,但這會處理你的兩個挑戰。

0

在實體B的刪除消息的預操作階段註冊您的插件。然後註冊實體的預映像以獲得原始查找字段給實體C.