Désactiver l’enregistrement automatique dans une application pilotée par modèle
L’enregistrement automatique permet aux utilisateurs de l’application de se concentrer sur leur travail sans avoir à gérer l’enregistrement des données dans le formulaire. La plupart des utilisateurs apprécient de ne pas avoir à enregistrer explicitement les données à chaque mise à jour d’une ligne, mais certaines organisations peuvent avoir des personnalisations conçues pour être enregistrées de manière explicite. Pour ces organisations, il existe des options pour gérer la façon dont l’enregistrement automatique est appliqué.
Fonctionnement de l’enregistrement automatique
Par défaut, l’enregistrement automatique est activé pour tous les formulaires principaux des tables mises à jour et des tables classiques. Lorsqu’une ligne est créée (initialement enregistrée), toutes les modifications apportées à un formulaire sont enregistrées automatiquement 30 secondes après la modification. Si aucune modification n’est apportée au formulaire, l’enregistrement automatique ne se produit pas lorsque le formulaire est ouvert. Une fois qu’une modification est apportée, la période de 30 secondes avant un enregistrement automatique démarre de nouveau. Si un autre utilisateur a mis à jour la ligne pendant que vous la modifiez, ces modifications sont récupérées et affichées dans le formulaire lors de l’enregistrement automatique.
Lorsque l’enregistrement automatique est activé, le bouton d’enregistrement apparaît uniquement pour l’enregistrement initial de la ligne. Une fois la ligne créée, le bouton Enregistrer dans la barre de commandes n’est pas affiché, mais vous pouvez voir un bouton dans le coin inférieur droit qui indique s’il y a des modifications non enregistrées. Ce contrôle est également affiché si l’enregistrement automatique est désactivé.
Vous pouvez sélectionner ce bouton pour enregistrer la ligne et actualiser les données dans le formulaire immédiatement. Lorsque l’enregistrement automatique est activé, la ligne est enregistrée chaque fois que vous quittez une ligne ou fermez une fenêtre distincte affichant une ligne. Le bouton Enregistrer et fermer ne doit pas nécessairement apparaître dans les formulaires des tables qui ne sont pas mises à jour.
Devez-vous désactiver l’enregistrement automatique ?
Si des plug-ins, des workflows ou des scripts de formulaire s’exécutent lorsqu’une ligne est enregistrée, ils s’exécutent à chaque enregistrement automatique. Cela peut conduire à des comportements indésirables si ces extensions n’étaient pas conçues pour fonctionner avec l’enregistrement automatique. Que l’enregistrement automatique soit activé ou pas, les plug-ins, les workflows et les scripts de formulaire doivent être conçus pour rechercher des modifications spécifiques, et ne doivent pas s’exécuter indistinctement pour chaque événement d’enregistrement.
Si l’audit est configuré pour une table, chaque enregistrement est traité comme une mise à jour distincte. Si un utilisateur s’attarde sur un formulaire avec des modifications non enregistrées pendant plus de 30 secondes, vous verrez une autre entrée uniquement s’il ajoute plus de données après l’exécution de l’enregistrement automatique. Si des rapports dépendent de données d’audit et traitent chaque enregistrement comme une « touche » individuelle d’une ligne, vous pouvez constater une augmentation de la fréquence des touches. Si vous utilisez cette approche, vous devez tenir compte du fait que les comportements d’un utilisateur individuel rendent cette mesure peu fiable, que l’enregistrement automatique soit activé ou non.
Désactiver l’enregistrement automatique pour l’organisation
Si vous déterminez que l’enregistrement automatique cause des problèmes avec les extensions que vous utilisez, les administrateurs Power Platform peuvent le désactiver pour l’environnement. Aucun paramètre ne permet de désactiver l’enregistrement automatique pour des tables ou des formulaires individuels.
- Connectez-vous au centre d’administration Power Platform, accédez à Environnements, puis ouvrez l’environnement souhaité.
- Cliquez sur Paramètres dans la barre de commandes.
- Développez Produit, puis sélectionnez Comportement.
- Sous Comportement de base, pour Enregistrement automatique, sélectionnez Désactivé.
Désactiver l’enregistrement automatique pour un formulaire
Si vous souhaitez désactiver l’enregistrement automatique pour certains formulaires de table, vous pouvez ajouter du code à l’événement OnSave
dans une table.
Notes
En utilisant cette méthode, l’enregistrement automatique est désactivé pour le formulaire, mais les données sont toujours enregistrées lorsque vous cliquez sur le bouton dans le coin inférieur droit. Si vous tentez de naviguer vers une autre page que le formulaire ou de fermer ce dernier, vous êtes invité à enregistrer les modifications éventuelles avant d’accéder à une autre page ou de fermer le formulaire.
En utilisant la procédure ci-dessous, le bouton Enregistrer et fermer du formulaire ne fonctionne pas, car il appelle preventDefault
sur saveMode
2, qui fait référence à Enregistrer et fermer. Vous pouvez supprimer la coche getSaveMode() == 2
ci-dessous pour éviter cela, mais le formulaire est enregistré automatiquement lorsque vous tentez de quitter le formulaire ou de fermer le formulaire où les données ont été modifiées. Le bouton Enregistrer et continuer ne fonctionne pas non plus pour cette raison.
Connectez-vous à Power Apps.
Sélectionnez Tables dans le volet de navigation de gauche, sélectionnez la table souhaitée, puis sélectionnez la zone Formulaires. Si l’élément ne se trouve pas dans le volet latéral, sélectionnez …Plus, puis sélectionnez l’élément souhaité.
Vous pouvez également apporter des modifications aux tableaux à partir d’une solution. Pour ce faire, sélectionnez Solutions dans le volet de gauche, sélectionnez la table, puis sélectionnez la section Formulaires. Si l’élément ne se trouve pas dans le volet latéral, sélectionnez …Plus, puis sélectionnez l’élément souhaité.
Ouvrez le formulaire que vous souhaitez modifier.
Sélectionnez Basculer vers l’affichage classique pour modifier le formulaire dans le concepteur classique de formulaire.
Créez une ressource Web JavaScript et ajoutez-la au formulaire :
Dans l’éditeur de formulaires, dans le groupe Formulaire, choisissez Propriétés du formulaire.
Sous l’onglet Événements sous Bibliothèques de formulaires, choisissez Ajouter.
Dans la boîte de dialogue Rechercher une ligne, sélectionnez Nouveau.
Entrez les informations suivantes dans le formulaire de ressource Web :
Civilité Référence Nom preventAutoSave Nom d′affichage Empêcher l’enregistrement automatique Type Script (JScript) En regard de la colonne Type, choisissez Éditeur de texte.
Dans le champ Colonne, collez le code suivant :
function preventAutoSave(econtext) { var eventArgs = econtext.getEventArgs(); if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) { eventArgs.preventDefault(); } }
Choisissez OK pour fermer l’éditeur de texte.
Choisissez Enregistrer pour enregistrer la ressource Web, puis fermez la fenêtre de la ressource Web.
Dans la boîte de dialogue Rechercher une ligne, la nouvelle ressource Web que vous avez créée sera sélectionnée. Choisissez Ajouter pour fermer la boîte de dialogue.
Configurez l’événement
OnSave
:Dans la fenêtre Propriétés du formulaire, dans la section Gestionnaire d’événements, définissez Événement sur OnSave.
Sélectionnez Ajouter.
Dans la fenêtre Propriétés du gestionnaire, définissez Bibliothèque sur la ressource Web que vous avez ajoutée à l’étape précédente.
Tapez «
preventAutoSave
» dans la colonne Fonction. Vous devez respecter la casse. N’incluez pas les guillemets.Vérifiez que Activée est activé.
Activez Transmettre le contexte d’exécution comme premier paramètre.
Important
Sinon, le script ne fonctionnera pas.
La boîte de dialogue Propriétés du gestionnaire doit se présenter comme suit. Le préfixe de personnalisation « new_ » peut varier en fonction du préfixe de personnalisation défini pour l’éditeur par défaut pour votre organisation.
Sélectionnez OK pour fermer la boîte de dialogue Propriétés du gestionnaire.
Si l’événement
OnSave
contient d’autres gestionnaires d’événements, utilisez les flèches vertes pour déplacer celui-ci vers le haut.Les Propriétés du formulaire devrait s’afficher comme suit. Notez que dans l’exemple affiché ici, la mise à jour a eu lieu à partir d’une solution et par conséquent le préfixe d’éditeur (dspin_) n’est pas le même que celui fourni par l’éditeur par défaut (new_). C’est parce qu’un autre éditeur est utilisé pour la solution.
Sélectionnez OK pour fermer la boîte de dialogue Propriétés du formulaire.
Sélectionnez Enregistrer et fermer pour fermer le formulaire.
Dans l’explorateur de solutions, sélectionnez Publier toutes les personnalisations.
Après avoir appliqué ce script à l’événement OnSave
, lorsque les utilisateurs modifient une ligne à l’aide de ce formulaire, le message modifications non enregistrées apparaît dans l’angle inférieur droit du formulaire comme si l’enregistrement automatique n’était pas désactivé. Mais ce message ne disparaîtra pas tant que les utilisateurs n’auront pas cliqué sur le bouton à côté de celui-ci.
Étapes suivantes
Créer et concevoir des formulaires
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é).