Mise en place de l’auto-completion avec une entité référentielle

Dans l'article précédent, Nouveautés Microsoft Dynamics CRM 2016 KeyPress & Auto-complétion, nous avons abordé les nouveautés de Microsoft Dynamics CRM 2016, notamment les nouvelles méthodes introduites dans l’API cliente Xrm.Page. Ces méthodes nous permettent de rendre l'utilisation du CRM plus agréable en gérant plus d'évènements et en donnant la possibilité de mettre en place une fonctionnalité extrêmement pratique qui est l'auto-completion, de manière simple et tout à fait supportée.

L'objectif de cet article est de vous montrer comment nous pouvons alimenter la liste des suggestions de l'auto-complétion de manière dynamique. Nous nous baserons sur les enregistrements d'une entité CRM. Pour ce faire, nous allons reprendre le dernier exemple de l'article Nouveautés Microsoft Dynamics CRM 2016 KeyPress & Auto-complétion dans lequel nous avons mis en place la fonction d'auto-completion sur le champ Pays de l'entité Compte, et allons l'adapter pour remplacer le tableau statique des pays par des enregistrements d'une entité Custom.


Pour commencer, nous allons créer une entité Custom que nous allons appeler "Pays". Cette entité permettra à notre administrateur CRM d'administrer de manière simple les suggestions de l'auto-completion en créant ou supprimant des enregistrements de cette entité.



Ensuite, nous allons écrire une requête ODATA qui permettra de rechercher dans ce nouveau référentiel et de sélectionner la liste des pays à proposer aux utilisateurs. Notre requête sera donc:

Var query = "?$select=jav_name&$top=10&$filter=startswith(jav_name,'" + strCountry + "')";

Cette requête ODATA permettra de récupérer le nom 'jav_name' des 10 premiers enregistrements de l'entité Pays 'jav_pays' qui commence par la chaine de caractères spécifiée dans le filtre de la requête ; l'opérateur startswith permet quant à lui de comparer la chaine passée 'strCountry ' avec le début du champ 'jav_name'.

Pour exécuter cette requête nous allons utiliser la fonction  «retrieveMultipleRecordsSync" de la bibliothèque SDK.Rest.js. Cette dernière fournie dans le SDK a pour objectif de rendre l'écriture du code JavaScript dans le CRM beaucoup plus simple, en particulier, pour la construction des requêtes ODATA réalisant les opérations dites CRUD (Create/Read/Update/Delete)(pour plus d'informations sur cette bibliothèque https://msdn.microsoft.com/fr-fr/library/gg334427(v=crm.7).aspx#BKMK_SDKREST).

Ensuite, nous allons modifier le code d'auto-completion que nous avons réalisé dans l'article précédent afin d'intégrer cette nouvelle fonction, ce qui donne :


Pour tester ce code, vous devrez:
·        Créer une nouvelle ressource web JavaScript avec le contenu de la bibliothèque SDK.Rest.js
·       Créer une nouvelle ressource web JavaScript "Auto-completion" et y copier le code ci-dessous.
·       Attacher les deux ressources web JavaScript au formulaire principal de l'entité Compte.
·       Enregistrer la fonction OnLoadHandler à l'évènement OnLoad du formulaire

·       Enregistrer et publier le formulaire.



Et voilà, maintenant si vous modifiez le champ Pays d'un nouveau ou un compte existant, une liste de suggestions va s'afficher comme ci-dessous:



Aucun commentaire:

Enregistrer un commentaire