Partager via


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

Il existe sept méthodes disponibles dans la classe CrmServiceClient ou la classe ServiceClient pour créer des données et des associations. Une action de création à l’aide de l’API d’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 de table dans Microsoft Dataverse. Pour l’utiliser, vous devez connaître le nom de schéma de la table dans laquelle vous souhaitez créer un enregistrement et créer une charge de données à lui transmettre. Cet exemple crée un enregistrement de compte.

Lors de l’utilisation de la classe ServiceClient, vous pouvez trouver la méthode CreateNewRecord dans l’espace de noms CRUDExtentions.

CrmServiceClient svc = new CrmServiceClient("connectionstring");
// ServiceClient svc = new ServiceClient("connectionstring");
 
// Verify that you are connected  
if (svc != null && svc.IsReady)  
{  
    // 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.svc.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}", svc.LastCrmError);  
  
    // Display the last exception message if any.   
    Console.WriteLine(svc.LastCrmException.Message);  
    Console.WriteLine(svc.LastCrmException.Source);  
    Console.WriteLine(svc.LastCrmException.StackTrace);  
  
    return;  
}  

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

Notes

Vous pouvez également créer un enregistrement de table à l’aide des outils XRM en exécutant le message CreateRequest avec la méthode ExecuteCrmOrganizationRequest. Pour plus d’informations, voir : Utiliser les messages avec la méthode ExecuteCrmOrganizationRequest

CreateAnnotation

Cette méthode est utilisée pour créer et attacher un objet de note à n’importe quel enregistrement de table. 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. En pratique, cela est généralement utilisé pour attacher des notes générées par le système à une table, ou pour joindre des fichiers qui sont stockés dans Dataverse à une table. De plus, si vous fournissez votre propre interface utilisateur pour créer des notes pour votre utilisateur, voici comment attacher cette note à la table des propriétaires dans Dataverse. Cet exemple est la suite de l’exemple précédent et vise à créer une note sur le compte nouvellement créé.

Lors de l’utilisation de la classe ServiceClient, vous pouvez trouver la méthode CreateAnnotation dans l’espace de noms CRUDExtentions.

CrmServiceClient svc = new CrmServiceClient(connectionstring);  
// ServiceClient svc = new ServiceClient("connectionstring");

// Verify that you are connected.  
if (svc != null && svc.IsReady)  
{  
    // 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 = svc.CreateAnnotation("account", accountId, inData);  
}  
else  
{  
    // Display the last error.  
    Console.WriteLine("An error occurred: {0}", svc.LastCrmError);  
  
    // Display the last exception message if any.  
    Console.WriteLine(svc.LastCrmException.Message);  
    Console.WriteLine(svc.LastCrmException.Source);  
    Console.WriteLine(svc.LastCrmException.StackTrace);  
  
    return;  
}  

Voir aussi

Utiliser l’API des outils XRM pour exécuter des actions dans Dataverse

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).