Les consultants techniques peuvent bénéficier encore
une fois d'une nouveauté technique très intéressante de Microsoft Dynamics CRM
puisque la fonction UPSERT est enfin implémentée dans le SDK de CRM,
ceci depuis la version 2015 update 1. La fonction UPSERT (contraction d'UPDATE
/ INSERT) permet de réaliser une opération de création ou de mise à jour avec
un seul message UpsetRequest, et ainsi nous simplifier les
développements en déléguant au CRM la tâche de vérifier s’il faut créer ou
mettre à jour l'enregistrement.
Le message UpsetRequest utilise les clés
additionnelles pour l'identification de l'enregistrement, ceci afin de déterminer
si un enregistrement existe ou non dans le CRM, donc :
§
Si la clé n'est pas mappée, un nouvel enregistrement
est créé.
§
Si la clé est mappée, l'enregistrement existant est
mis à jour.
Si vous n'êtes pas familier avec la notion des clés
additionnelles, merci de vous référer à l'article Une nouvelle fonctionnalitépour gérer les clés métiers dans Microsoft Dynamics CRM 2/2
Ce message va être vraiment intéressant notamment en
termes d'intégration des données et va nous permettre d'éviter de coder des
requêtes intermédiaires pour savoir si un enregistrement est déjà synchronisé
ou non avec le CRM. Nous allons donc laisser l'application décider à l'aide des
clés additionnelles s’il faut faire une création ou une mise à jour des
enregistrements.
Prenons l'exemple suivant dont nous allons exécuter le
message UpsertRequest sur un enregistrement de type Compte qui a comme
clé additionnelle le numéro de compte 12345. Si ce compte existe dans le
CRM il va être mise à jour et s’il n'existe pas il va être créé.
Comme vous le remarquez dans le code ci-dessus, la
réponse de la requête UpsertRespone contient un paramètre intéressant RecordCreated
de type booléen qui permet de savoir si le Upsert a fait une création ou une
mise à jour.
Avant de continuer, nous allons vérifier que le compte
JAVISTA a bien été créé dans le CRM:
Maintenant, je vais lancer le même code encore une
fois en rajoutant une description au compte:
Comme vous pouvez le constater dans le code
ci-dessous, le paramètre RecordCreated indique cette fois-ci que le compte
identifié par la clé additionnelle 12345 a été mise à jour.
Vérifions cela dans le CRM:
Cette nouveauté est un vrai plus pour les consultants
technique CRM. Il permet de simplifier l'écriture des développements. Cependant
Il est préférable d'utiliser UpsertRequest uniquement lorsque vous
n'êtes pas sûr que l'enregistrement existe, car l'utilisation de UpsertRequest
réduit les performances par rapport à CreateRequest.
Aucun commentaire:
Enregistrer un commentaire