2014-09-14 3 views
1

J'utilise late bound et comme un compte est créé, je crée également un appel téléphonique. J'ai également trouvé un très useful example à faire presque cela. La seule chose qui me dérange est que les lignes suivantes:Obtention du nom logique de l'entité

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

suppose que la cause de l'appel téléphonique est un compte. Eh bien, c'est le cas, mais dans le futur ça pourrait ne pas l'être. J'ai essayé d'obtenir le type comme suit:

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); 
} 

mais j'ai reçu une erreur me disant qu'un tel champ n'existe pas. Le nom du champ est-il faux? Ou suis-je en utilisant toute la mauvaise approche pour récupérer le nom logique de l'entité (c'est-à-dire le nom réel du type d'entité, soit ce compte, contacts ou un crazydonkeyass)?

En outre, je ne suis pas entièrement sûr si OutputParameters est le bon endroit pour regarder po Suggestions?

+0

Comment ce plugin est-il enregistré? 'OutputParameters' sera très basé sur le message et le mode. – Nicknow

+0

@Nicknow Il est enregistré sur * Créer * et * Mettre à jour *, après l'événement, synchronisé. Est-ce que ça ouvre une explication? –

Répondre

1

Disponible en context.PrimaryEntityName

EDIT

Voici le bit de l'exemple qui vérifie si c'est le compte

// 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; 

Je suppose que ce pourquoi ils ont compte hardcoded (laid!

+0

Pas vrai? C'est ce que je pensais aussi. Mais consultez le lien vers MS. Ils suggèrent clairement une approche différente. Je reçois mes trucs principalement de * InputParameters * mais ils vont avec * OutputParameters *. Vous ne pouvez pas déterminer si c'est juste un pouf par MS ou une nouvelle et meilleure façon de faire des choses dans CRM 2013 ... –

+0

Pouvez-vous coller le lien? – MarioZG

+0

'OutputParameters' ne sont pas nouveaux pour 2013 (http://msdn.microsoft.com/en-us/library/gg309673(v=crm.5).aspx#bkmk_inputandoutput) - Je crois que cette réponse est correcte est le plugin est enregistré sur une création ou une mise à jour. – Nicknow

Questions connexes