Fermer

juillet 21, 2022

Compréhension approfondie du script côté client sur Model Driven App et Dynamics 365

Compréhension approfondie du script côté client sur Model Driven App et Dynamics 365


Dans cet article Power Platform, nous verrons comment ajouter des scripts côté client à une application pilotée par modèle. Lisez la suite pour savoir comment utiliser un script côté client dans les formulaires pilotés par modèle ou Dynamics 365, ainsi que les méthodes et les collections disponibles. J’essaierai de répondre à autant de questions que possible afin d’acquérir une compréhension approfondie de la mise en œuvre du script côté client sur les applications pilotées par modèle et Dynamics 365.

Qu’est-ce que le script côté client sur Model Driven App ?

Script côté client nous permet d’utiliser JavaScript sur une application basée sur un modèle pour implémenter une logique métier personnalisée. Cela doit être utilisé comme alternative si les règles métier d’application pilotées par un modèle standard ne répondent pas aux exigences. Les scripts côté client aideront à implémenter une logique métier personnalisée.

Les scripts côté client s’exécutent sur des applications basées sur un modèle avec une réponse aux événements au niveau du formulaire, tels que :

  • Evénement de chargement de formulaire
  • Événement de changement de données
  • Événement d’enregistrement de formulaire
  • Barre de commandes, invoquer le script côté client lors d’un événement de clic sur un bouton

Maintenant, nous allons voir quelles sont les tâches courantes qui peuvent être effectuées à l’aide de scripts côté client sur Form.

  • Obtenir ou définir les valeurs des attributs d’un formulaire
  • Afficher et masquer l’interface utilisateur telle que les onglets, les sections et les attributs
  • Changement de formulaire piloté par le modèle, s’il existe plusieurs formulaires
  • Ouvrir une boîte de dialogue, des formulaires, des rapports et une ressource Web personnalisée (pages HTML)
  • Interagir avec le flux des processus métier

Structure de haut niveau du modèle d’objet et des espaces de noms de l’API de script côté client

Objet Xrm

Application: fournit des méthodes liées à l’application, telles que des gestionnaires d’événements pour toutes les notifications au niveau de l’application.

Dispositif: Fournit des méthodes pour utiliser les fonctionnalités natives de l’appareil telles que l’image, la vidéo, l’audio, l’emplacement, etc.

Codage: Fournit des méthodes pour encoder et décoder des scripts (utile pour HTML et XML).

La navigation: Fournit des méthodes liées à la navigation, telles que l’ouverture de la boîte de dialogue Alerte ou Confirmer, l’ouverture du fichier, l’URL, etc.

Panneau: Fournit une méthode pour ouvrir la page Web sur le panneau latéral du formulaire piloté par le modèle.

Utilitaire: Fournit des informations sur les métadonnées d’entité/table, la transition d’état de table, le paramètre d’origine actuel et bien d’autres.

API Web : Fournit des propriétés et une méthode pour utiliser l’API Web.

Que sont les gestionnaires d’événements ?

La logique du script client s’exécute en tant que gestionnaire d’événements pour les événements de formulaire. Ici, nous devons enregistrer l’événement sur le formulaire pour que votre logique soit exécutée et certains événements peuvent être exécutés à partir du code.

Comment enregistrer un script client sur un formulaire basé sur un modèle à l’aide de gestionnaires d’événements

Dans le concepteur de formulaires, vous pouvez enregistrer des gestionnaires d’événements pour les événements suivants :

Formulaire: Il vous permet d’enregistrer un événement sur les gestionnaires d’événements « OnLoad » et « OnSave »

2022 07 19 18 02 35 Document1 Mot

Onglets : Vous permet d’enregistrer un événement sur l’événement « On Tab State Change »

2022 07 19 18 03 12 Paramètres

Colonnes: Vous permet d’enregistrer un événement sur « On Change »

2022 07 19 18 03 43 Paramètres

Comment enregistrer le script client sur le gestionnaire d’événements

Allez dans Formulaire, puis Événements, puis choisissez Type d’événement comme « Au chargement », puis sélectionnez la bibliothèque JavaScript dans l’option de liste déroulante où le code a été écrit, suivi du nom de la fonction, avec à la fois « Activer » et « Passer le contexte d’exécution comme premier paramètre » marqué comme coché.

2022 07 19 18 28 32 Document1 Mot

Qu’est-ce que le contexte d’exécution ?

Lorsque vous enregistrez le gestionnaire d’événements, vous pouvez passer le contexte d’exécution comme premier paramètre, sur la photo ci-dessus, vous pouvez voir que la case à cocher est cochée ici, l’importance du contexte d’exécution est qu’il récupérera le contexte de formulaire et de grille piloté par le modèle. Voyons maintenant la déclaration dans le code JavaScript :

function GetValues(executionContext)
{
   //Get column values of form
}

Qu’est-ce que le contexte de formulaire ?

Il s’agit d’un contexte de formulaire API client (formContext), et en créant un objet, il fournira une référence au formulaire, comme obtenir les valeurs des colonnes sur le formulaire ou masquer ou afficher un onglet, une section ou toute colonne de un formulaire ou récupérer une ligne d’une grille.

function GetValues(executionContext) 
{
  //Create object 
  var formContext = executionContext.getFormContext(); 

  //Retrieve's the value of Column FirstName
  var firstName = formContext.getAttribute('firstname').getValue();

}

Vue d’ensemble de haut niveau du diagramme formContext

Diagramme de contexte de formulaire

Hear verra à la fois l’objet de données et l’objet d’interface utilisateur en détail ainsi que des exemples d’extraits de code :

Objet de données (formContext.data)

Il est très utile de récupérer ou d’effectuer toute action au niveau de la table/entité, telle que la récupération des valeurs de colonne, il a été classé en trois sections. Pour plus d’informations, accédez à lien

  • Les attributs – Il aide à récupérer la valeur de la colonne contenant les données dans le formulaire ou la grille de l’application basée sur le modèle

Ex: formContext.data.entity.attributes

  • Entité – Il aide à récupérer les informations spécifiques à la ligne affichée sur le formulaire, ici vous pouvez effectuer l’opération d’enregistrement

Ex: formContext.data.entity.addOnSave(myFunction)

  • Traiter- Il fournit la méthode, les événements et l’objet pour interagir avec le flux des processus d’entreprise sur un formulaire. Dans l’exemple ci-dessous, vous pourrez ajouter une fonction JavaScript en tant que gestionnaire d’événements pour le changement d’étape, de sorte que l’événement JavaScript personnalisé soit appelé lorsque l’événement de changement d’étape du processus métier est appelé.

Ex: formContext.data.process.addOnStageSelected(myFunction)

Objet d’interface utilisateur (formContext.ui)

L’objet d’interface utilisateur fournit les méthodes pour récupérer les informations de l’interface utilisateur telles que les onglets, les sections, le flux des processus métier et la collection de plusieurs autres composants de formulaire et de grille. Pour plus d’informations, accédez à lien

  • Les contrôles – Il représente un élément HTML qui est présent sur un formulaire basé sur un modèle, l’objet Control fournira la méthode pour modifier la présentation et le comportement des contrôles

Ex: formContext.ui.controls

formContext.ui Section.controls

  • Sélecteur de formulaire – Il fournit une méthode pour récupérer des informations sur le formulaire actuellement utilisé. Utilisez la collection formSelector.items pour renvoyer des informations sur tous les formulaires disponibles pour l’utilisateur, l’exemple ci-dessous utilisera pour récupérer le nom du formulaire.

Ex: formItem = formContext.ui.formSelector.getCurrentItem();

formItem.getLabel ();

  • La navigation- Il fournit la collection de tous les éléments de navigation sur la page.

(Remarque : cette méthode ne fonctionnerait pas en mode Tablette Dynamics 365)

  • Traiter – Fournit des objets et des méthodes pour interagir avec le contrôle de flux des processus d’entreprise sur un formulaire, comme masquer ou afficher.
  • Formulaires rapides- Il fournit la collection de tous les contrôles de vue rapide de l’application pilotée par modèle à partir de .

Ex- quickViewControl = formContext.ui.quickForms.get(arg)

  • Onglets – Il fournit la collection de tous les onglets sur le formulaire, plus d’informations sur les onglets vont à lien

Ex- var tabObj = formContext.ui.tabs.get(arg);

Conclusion

Les scripts côté client sont très importants lorsque vous avez des règles de validation complexes à implémenter sur un formulaire, une grille ou même un flux de processus métier. Nous pouvons également améliorer les éléments de l’interface utilisateur pour répondre aux besoins de l’entreprise.






Source link