2014-01-16 25 views
3

我正在爲Dynamics CRM 2011創建一個插件,以在用戶打開潛在客戶時執行。所以我使用Retrieve消息來執行插件。使用Retrieve消息獲取實體

IPluginExecutionContext context = (IPluginExecutionContext) 

serviceProvider.GetService(typeof(IPluginExecutionContext)); 

Entity entity; 

if (context.InputParameters.Contains("Target") && 

context.InputParameters["Target"] is Entity) 
{ 
    entity = (Entity)context.InputParameters["Target"]; 
} 
else 
{ 
    return; 
} 

但我總是以回報結束。當我使用它whith更新消息它工作得很好。在Retrive消息中執行插件時,如何獲得領導實體?

回答

1

對於Retrieve信息的正確參數,以檢查是BusinessEntityOutputParameters

嘗試

IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); 

Entity entity; 

if (context.OutputParameters.Contains("BusinessEntity") && 

context.OutputParameters["BusinessEntity"] is Entity) 
{ 
    entity = (Entity)context.OutputParameters["BusinessEntity"]; 
} 
else 
{ 
    return; 
} 
+0

還是一樣。也許我應該使用特定的管道?像同步前或後? – user3032348

+0

你正在使用哪個步驟? –

+0

感謝一切正在工作。從同步預操作更改爲同步後操作 – user3032348