Parcours | Durée | Niveau | Avant de commencer | |
🔵 Configurateur · Niveau 1 | 50 min | Intermédiaire | [[06 · Información repetida - Tablas y Subformularios | Information répétée - Tableaux et Sous-formulaires]] |
Un bon formulaire ne demande que le nécessaire à chaque instant et fait les calculs à la place de l'utilisateur. Les règles sont l'outil pour y parvenir : elles modifient le formulaire pendant son remplissage, selon ce que l'utilisateur saisit.
🎯 À la fin vous saurez
Construire une règle avec sa condition (Quand) et son action (Il se passera ceci).
Afficher, masquer, activer ou rendre obligatoires des champs de façon dynamique.
Calculer des valeurs avec des formules et des scripts (fonctions avancées).
Distinguer quand utiliser une règle et quand un événement.
🧠 L'idée : Quand ceci, il se passera cela
Toute règle comporte deux parties :
QUAND Résultat est égal à NON OK IL SE PASSERA CECI Afficher Action corrective · Marquer comme requis Action corrective
Quand : un champ, un opérateur et une valeur. Les opérateurs dépendent du type de champ : est vide, est égal à, contient, supérieur à, est égal à un autre champ, change de valeur… Vous pouvez combiner plusieurs conditions avec ET (toutes) ou OU (au moins une).
Il se passera ceci : une ou plusieurs actions sur des champs ou des blocs : afficher, masquer, activer, désactiver, marquer ou démarquer comme requis, changer une valeur, calculer avec une formule, exécuter un script ou lancer une requête.
Règle ou événement ?
Règle | Événement | |
Quand elle agit | Pendant le remplissage | À l'enregistrement |
Sur quoi elle agit | Le formulaire lui-même | Ce qui se passe après : avertir, changer de statut, planifier… |
Exemple | Si NON OK → afficher Action corrective | Si NON OK → envoyer un e-mail à la Qualité |
💡 Gardez les règles simples. Plusieurs règles courtes et portant un nom clair sont bien plus faciles à maintenir qu'une règle géante avec dix conditions.
🛠️ Pratique guidée
Règle 1 · Demander des explications seulement si le contrôle est NON OK
À la leçon 5, vous avez laissé masqués Motif de rejet et Action corrective. Vous allez maintenant faire en sorte qu'ils apparaissent quand c'est nécessaire.
Dans le Form Builder, ouvrez l'onglet Règles et cliquez sur Ajouter une règle.
Quand :
Resultadoest égal àNON OK.Il se passera ceci :
Afficher
motivo_rechazoet le marquer comme requis.Afficher
accion_correctoraet la marquer comme requise.
Enregistrez et prévisualisez : sélectionnez NON OK puis repassez à OK.
⚠️ Vérifiez ce qui se passe au retour à OK. Si les champs restent visibles ou obligatoires, créez une seconde règle avec la condition inverse (Resultado est égal à OK → masquer et démarquer comme requis).
Règle 2 · Calculer la date de péremption avec un script
Ajoutez au formulaire deux champs :
Durée de vie (jours) · Numérique · ID
vida_util· valeur par défaut365.Date de péremption · Date · ID
fecha_caducidad· Désactivé (elle se calcule, ne se saisit pas).
Créez une règle : Quand
fecha_envasadon'est pas vide.Il se passera ceci : sur
fecha_caducidad, choisissez l'action Script. Dans la valeur, saisissez@pour voir les fonctions disponibles et choisissezaddValueDate. Utilisez{pour insérer les champs :
addValueDate({fecha_envasado}, {vida_util}, "days")
addValueDate ajoute une quantité de temps à une date (days, weeks, months, hours…). Si la quantité est négative, elle la soustrait.
Règle 3 · Une formule numérique
Ajoutez un champ Température maximale autorisée (Numérique, temp_max, désactivé, valeur par défaut 4) et un champ Marge (°C) (Numérique, margen, désactivé). Créez une règle qui calcule la marge avec l'action Formule :
{temp_max} - {temperatura}
Une marge négative indique que la température est au-dessus de la limite. Les formules fonctionnent comme celles d'Excel : elles admettent parenthèses, puissances, arrondis, maximums et minimums, entre autres fonctions.
🔍 Vérifiez que ça fonctionne
Avec OK, Motif de rejet et Action corrective n'apparaissent pas ; avec NON OK, ils apparaissent et sont obligatoires : impossible d'enregistrer sans les remplir.
En mettant une date de conditionnement au 01/01 avec 365 jours de durée de vie, la péremption est le 01/01 de l'année suivante.
Avec 5 °C, la marge donne −1.
⚠️ Erreurs fréquentes
« Le script ne fait rien. » Les fonctions doivent commencer par
@et les champs s'insèrent avec{. Vérifiez aussi que le champ de destination est du type que renvoie la fonction (une date pouraddValueDate).Masquer un champ dans le formulaire en espérant qu'il disparaisse de l'historique. Ce sont des choses distinctes : ce qui s'affiche dans l'historique se configure dans Résumé (leçon 8).
Utiliser une règle pour envoyer des alertes. Les règles n'avertissent personne ; pour cela, il y a les événements (leçon 9).
Enchaîner trop de conditions dans une seule règle. Si vous ne savez pas expliquer la règle en une phrase, divisez-la.
🏋️ Défi
Faites en sorte que, si temperatura est supérieure à temp_max, le champ resultado passe automatiquement à NON OK et reste désactivé, pour que l'opérateur ne puisse pas le marquer comme OK. Indice : l'opérateur comparer à un autre champ vous évite de saisir le 4 à la main. Les champs de la règle 1 s'afficheront-ils aussi ?
📚 Pour en savoir plus
➡️ Leçon suivante : Après l'enregistrement - historique, mobile et PDF
