2014-09-14 5 views
1

Я использую позднюю привязку и при создании учетной записи тоже создаю телефонный звонок. Я также нашел очень useful example, делая почти это. Единственное, что меня беспокоит, заключается в следующем:Получение логического имени объекта

if (context.OutputParameters.Contains("id")) 
{ 
    Guid id = new Guid(context.OutputParameters["id"].ToString()); 
    String type = "account"; 
    followup["regardingobjectid"] = new EntityReference(type, id); 
} 

Предположим, что причиной телефонного звонка является учетная запись. Ну, это так, но в будущем это может быть не так. Я пытался получить тип следующим образом:

if (context.OutputParameters.Contains("id")) 
{ 
    Guid id = new Guid(context.OutputParameters["id"].ToString()); 
    String type = context.OutputParameters["logicalname"] as String; 
    followup["regardingobjectid"] = new EntityReference(type, id); 
} 

, но потом я получил сообщение об ошибке говорит мне, что такое поле не существует. Неправильное имя поля? Или я использую неправильный подход для получения логического имени объекта (т. Е. Фактическое имя типа объекта, будь то учетная запись, контакты или crazydonkeyass)?

Кроме того, я не совсем уверен, что OutputParameters - это подходящее место для поиска. Предложения?

+0

Как регистрируется этот плагин? 'OutputParameters' будет очень основан на сообщении и режиме. – Nicknow

+0

@Nicknow Он зарегистрирован на * Create * и * Update *, после события, синхронизирован. Открывается ли это для объяснения? –

ответ

1

Это доступно в context.PrimaryEntityName

EDIT

Вот несколько из примера, который проверяет, является ли это учетная запись

// Obtain the target entity from the input parameters. 
Entity entity = (Entity)context.InputParameters["Target"]; 

// Verify that the target entity represents an account. 
// If not, this plug-in was not registered correctly. 
if (entity.LogicalName != "account") 
    return; 

Я думаю, именно поэтому у них есть счет зашиты (некрасиво!)

+0

Правильно? Это то, что я тоже думал. Но проверьте связь с MS. Они явно предлагают другой подход. Я получаю свой материал в основном от * InputParameters *, но они идут с * OutputParameters *. Невозможно определить, является ли это просто пуфом по MS или новым и лучшим способом делать вещи в CRM 2013 ... –

+0

Можете ли вы вставить ссылку? – MarioZG

+0

'OutputParameters' не являются новыми для 2013 года (http://msdn.microsoft.com/en-us/library/gg309673(v=crm.5).aspx#bkmk_inputandoutput). Я считаю, что этот ответ правильный, это плагин зарегистрировано в «Создать» или «Обновить». – Nicknow

Смежные вопросы