2017-01-18 52 views
1

任何人都可以說,如何獲取'必要的參加者約會'預約時被刪除。 關於刪除預約,我需要對這些與會者執行更新。我無法在PRE或POST上獲得該派對列表中的值。客戶關係管理2011插件預約刪除不提取所需的與會者

即使PreImage實體沒有捕獲只有'requiredattendees'字段的信息,其餘的字段在該PreImage實體中也沒問題。

任何人都可以說我做錯了什麼?

非常感謝。

+0

實體圖片本身不會有相關記錄,您需要取回相關記錄。 – dynamicallyCRM

+0

我試過這個,它不起作用。主要問題是,當我調試它,它工作正常..當我不調試,它不起作用。 :( –

+0

看起來像數據問題,我是否在這兩種情況下使用相同的記錄?邏輯上它應該很重要,如果您正在調試或不。 – dynamicallyCRM

回答

2

您需要檢索的子記錄列表中PreValidation插件進行級聯刪除/ disassociations可以​​之前發生

假設您跨國完整性你應該PreValidation收集這些信息並保存(IPluginExecutionContext.SharedVariables是一個很好的地方保存的GUID。)在​​或PostOperation插件,您可以對存儲的要求與會者GUID列表執行邏輯。

+0

我從來沒有試過這種預驗證,第一次我會做,並會在這裏更新。 –

+0

我嘗試過了,它確實在預約的'PreValidation'階段工作。非常感謝 :) –

0

假設您已經註冊的插件上DeletePreoperation

var appointment = pluginExecutionContext.InputParameters["Target"] as EntityReference; 
var response = organizationService.Retrieve("appointment", appointment.Id, new ColumnSet("requiredattendees")); 
var requiredAttendees = response.GetAttributeValue<EntityCollection>("requiredattendees"); 

foreach (var attendee in requiredAttendees.Entities) 
{ 
     //your logic 
} 
+0

我已經嘗試過這個第一次,它沒有工作,所以嘗試了PreImage,也沒有工作:(我可以嘗試上面的方法,將更新在這裏。 –

+0

我創建了一個插件只是爲了測試這個併爲我工作。 pre-op? – dynamicallyCRM

+0

是的,當然,對於您的情況,您可以在同步模式下無需調試PreOperation of Appointment(Delete)而調試插件的情況下獲取字段'requiredattendees'的部分列表? –

相關問題