Utiliser les outils XRM pour créer des données

 

Date de publication : novembre 2016

S’applique à : Dynamics CRM 2015

Il existe sept méthodes disponibles dans la classe CrmServiceClient pour créer des données et des associations. Une action de création à l’aide de l’API des outils XRM exige une charge utile de données. La charge utile des données prend la forme d'un objet Dictionary<string, CrmDataTypeWrapper>.CrmDataTypeWrapper est utilisé pour informer l’interface du type de gestion qu’il convient d’appliquer au point de données auquel vous faites référence. Certaines méthodes de création de données sont répertoriées dans cette rubrique.

CreateNewRecord

Cette méthode est utilisée pour créer tout type de données d’entité dans Microsoft Dynamics 365. Pour utiliser, vous devez connaître le nom de schéma de l’entité dans laquelle vous souhaitez créer un enregistrement, et vous devez créer une charge utile de données à lui transmettre. Cet exemple crée un enregistrement de compte.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>",“<Domain>”),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you’re connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    // Create an account record
    Dictionary<string, CrmDataTypeWrapper> inData = new Dictionary<string, CrmDataTypeWrapper>();
    inData.Add("name", new CrmDataTypeWrapper("Sample Account Name", CrmFieldType.String));
    inData.Add("address1_city", new CrmDataTypeWrapper("Redmond", CrmFieldType.String));
    inData.Add("telephone1", new CrmDataTypeWrapper("555-0160", CrmFieldType.String));
    accountId = ctrl.CrmConnectionMgr.CrmSvc.CreateNewRecord("account", inData);

    // Verify if the account is created.
    if (accountId != Guid.Empty)
    {
        Console.WriteLine(“Account created.”);
    }
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

Dans cet exemple, nous avons créé un objet de charge utile appelé indata. Nous l’avons ensuite complété à l’aide de la syntaxe générale : crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType). Après avoir installé l’objet indata pour obtenir les valeurs à créer, nous avons appelé la méthode CreateNewRecord en fournissant le nom logique de l’entité du compte et la charge utile de données (indata).

Notes

Vous pouvez également créer un enregistrement d’entité à l’aide des outils XRM en exécutant le message CreateRequest avec la méthode ExecuteCrmOrganizationRequest.Pour plus d'informations :Utiliser les messages (classes de demande et de réponse) avec la méthode ExecuteCrmOrganizationRequest

CreateAnnotation

Cette méthode permet de créer et de joindre un objet de note à tous les enregistrements d’entités. Vous pouvez renseigner toutes les variables pour la note au cours du premier transfert, mais vous devez seulement renseigner les champs de texte du sujet et de la note. Dans la pratique, cette méthode est généralement utilisée pour joindre des notes générées par le système à une entité, ou pour joindre des fichiers stockés dans Dynamics 365 à une entité. En outre, si vous fournissez votre propre interface utilisateur pour créer des notes pour votre utilisateur, c’est ainsi que vous joindriez cette note à l’entité propriétaire dans Dynamics 365. Cet exemple est la suite de l’exemple précédent et vise à créer une note sur le compte nouvellement créé.

CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”),"<Server>", "<Port>", "<OrgName>");

// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
    //Display the CRM version number and org name that you are connected to.
    Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}", 
    crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);

    // Create and attach a note.
    inData.Clear(); 
    inData.Add("subject", new CrmDataTypeWrapper("This is a NOTE from the API" , CrmFieldType.String)); 
    inData.Add("notetext", new CrmDataTypeWrapper("This is text that will go in the body of the note" , CrmFieldType.String));
    Guid noteID = crmSvc.CreateAnnotation("account", accountId, inData);
}
else
{
    // Display the last error.
    Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);

    // Display the last exception message if any.
    Console.WriteLine(crmSvc.LastCrmException.Message);
    Console.WriteLine(crmSvc.LastCrmException.Source);
    Console.WriteLine(crmSvc.LastCrmException.StackTrace);

    return;
}

Voir aussi

Exemple : Démarrage rapide de l’API des outils XRM
Utiliser les outils XRM pour exécuter des actions dans CRM

© 2017 Microsoft. Tous droits réservés. Copyright