Exemple : Insérer ou mettre à jour un enregistrement à l'aide de Upsert
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Cet exemple de code montre comment insérer ou mettre à jour des enregistrements à l'aide du message Upsert. Pour plus d'informations sur la fonctionnalité que cet exemple illustre, voir Utilisation de Upsert pour insérer ou mettre à jour un enregistrement.
Il est possible de la télécharger à partir de Insert or update a record using Upsert (Insérer ou mettre à jour un enregistrement à l'aide de Upsert).
Conditions préalables
Accédez à une organisation Microsoft Dynamics 365 ou Mise à jour de CRM Online 2016.
Téléchargez le projet Visual Studio UpsertSample.
Ouvrez le projet Visual Studio UpsertSample et installez le package NuGet Microsoft.CrmSdk.CoreAssemblies version 8.0.0-preview ou ultérieure. Voir Installer les packages NuGet pour plus d'instructions.
Après avoir installé les packages NuGet, voir Exécuter l'exemple pour obtenir des instructions sur le mode d'exécution de l'exemple et les prévisions possibles.
Contenu de la rubrique
En quoi consiste cet exemple :
Installer les packages NuGet
Exécuter l'exemple
En quoi consiste cet exemple :
La méthode Run de la classe ProductUpsertSample appelle la méthode ImportUpsertSampleSolution qui détecte d'abord si la solution gérée UpsertSample est déjà installée. Si ce n'est pas le cas, le fichier UpsertSample_1_0_0_0_managed.zip est importé pour installer cette solution gérée.
Cette solution gérée contient une entité sample_product personnalisée qui est utilisée par cet exemple. Cette entité a une clé secondaire sample_productcode qui crée une contrainte unique sur les valeurs stockées dans cet attribut.
La méthode WaitForEntityAndKeysToBeActive est nécessaire car les clés secondaires requises pour cet exemple peuvent ne pas être prêtes immédiatement après l'installation de la solution UpsertSample. Cette méthode interroge les métadonnées de l'entité sample_product pour retarder l'exécution du reste de l'exemple jusqu'à ce que les clés secondaires soient prêtes.
La première fois que la méthode ProcessUpsert est appelée, elle traite les données du fichier newsampleproduct.xml pour représenter de nouveaux produits.UpsertRequest est passé à la méthode Execute pour créer 13 enregistrements.
La propriété UpsertResponse.RecordCreated retourne la valeur true pour indiquer que les enregistrements ont été créés.
Avant l'exécution de la méthode ProcessUpsert, le programme vous demandera si vous souhaitez afficher les exemples d'enregistrements d'entités de produits. Si vous répondez « y » (oui), le programme essaiera d'ouvrir Internet Explorer sur une vue affichant les enregistrements récemment créés.
La deuxième fois que la méthode ProcessUpsert est appelée, elle traite les données du fichier updatedsampleproduct.xml pour représenter les mises à jour des produits créés précédemment. Le message Upsert permet de mettre à jour 6 enregistrements. La propriété UpsertResponse.RecordCreated retourne la valeur true pour indiquer que les enregistrements ont été mis à jour.
Une fois encore, la méthode ProcessUpsert demande si vous souhaitez afficher les enregistrements dans le navigateur. Si la vue est déjà ouverte, vous ne pourrez qu'actualiser la vue pour observer les modifications.
Enfin, DeleteUpsertSampleSolution vous invitera à supprimer la solution gérée Upsert Sample (Exemple Upsert).
Si vous choisissez « y » (oui), la solution gérée est supprimée incluant l'entité sample_product et toutes les données contenues dans cette entité. Votre organisation sera totalement vide.
Si vous choisissez « n » (non), vous pourrez consulter les détails de la solution notamment les données créées par l'exemple. Cependant, vous devrez supprimer la solution gérée manuellement pour rétablir l'état d'origine de votre organisation.
Installer les packages NuGet
Suivez les étapes suivantes pour installer les assemblys requis par exemple :
Téléchargez cet exemple et extrayez les fichiers.
Accédez au dossier C# et ouvrez le fichier UpsertSample.sln à l'aide de Visual Studio.
Dans Visual Studio, cliquez avec le bouton droit sur le projet UpsertSample et cliquez sur Gérer les packages NuGet.
Pour la version de prévisualisation, veillez à cliquer sur Inclure la version préliminaire au lieu de Stable uniquement dans les critères de recherche. Ensuite recherchez « Microsoft Dynamics CRM 2016 SDK core assemblies ». Veillez à sélectionner la version 8.0.0-preview ou ultérieure.
Cliquez sur Installer. Vous devrez accepter les termes du contrat de licence pour terminer l'installation de ce package.
Exécuter l'exemple
Dans Visual Studio, avec la solution ouverte et les packages NuGet nécessaires installés, appuyez sur F5.
Si vous n'avez pas déjà exécuté l'un des exemples de code gérés Microsoft Dynamics 365, vous devez entrer les informations permettant d'exécuter le code. Sinon, entrez le numéro de l'un des serveurs Dynamics 365 que vous avez déjà configurés.
Invite
Description
Entrer un nom de serveur Dynamics 365 et de port CRM [crm.dynamics.com]
Tapez le nom de votre serveur Microsoft Dynamics 365. La valeur par défaut pour Microsoft Dynamics 365 (Online) est crm.dynamics.com en Amérique du Nord.
Exemple :
myservername
myprefix.myservername:5500
crm5.dynamics.comN’incluez pas le nom de votre organisation ou protocole Internet (HTTP ou HTTPS). Vous serez invité à le saisir ultérieurement.
Ce serveur est-il configuré pour SSL (Secure Sockets Layer) (https) (o/n) [n]
Tapez y si l'URL qui vous permet d'accéder à Microsoft Dynamics 365 commence par https://, sinon tapez n.
Est-ce que cette organisation est mise en service dans Microsoft Office 365 (o/n) [n]
Tapez y s’il s’agit d’une organisation mise en service par Microsoft Office 365. Sinon, tapez n.
Entrez le domaine\nomutilisateur.
Tapez votre compte Microsoft.
Pour Microsoft Dynamics 365, tapez votre domaine réseau et votre nom d’utilisateur séparés par une barre oblique inverse (\).Entrez le mot de passe.
Tapez votre mot de passe. Dans la fenêtre, les caractères s’afficheront sous la forme de « * ». Le mot de passe est enregistré de façon sécurisée dans le gestionnaire d’informations d’identification Microsoft pour être réutilisé ultérieurement.
Spécifiez un numéro d'organisation (1-n) [1].
Dans la liste des organisations auxquelles vous appartenez, tapez le numéro correspondant. La valeur par défaut est 1, indiquant la première organisation de la liste.
L'exemple effectuera les opérations décrites dans En quoi consiste cet exemple : et pourra vous demander des options supplémentaires.
À la fin de l'exemple, appuyez sur Entrée pour fermer la fenêtre de la console.
Voir aussi
Utilisation de Upsert pour insérer ou mettre à jour un enregistrement
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright