Passer au contenu principal

Leçon 7 · Règles : un formulaire qui réagit

M
Écrit par Mairu

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.

  1. Dans le Form Builder, ouvrez l'onglet Règles et cliquez sur Ajouter une règle.

  2. Quand : Resultado est égal à NON OK.

  3. Il se passera ceci :

  • Afficher motivo_rechazo et le marquer comme requis.

  • Afficher accion_correctora et la marquer comme requise.

  1. 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

  1. Ajoutez au formulaire deux champs :

  • Durée de vie (jours) · Numérique · ID vida_util · valeur par défaut 365.

  • Date de péremption · Date · ID fecha_caducidad · Désactivé (elle se calcule, ne se saisit pas).

  1. Créez une règle : Quand fecha_envasado n'est pas vide.

  2. Il se passera ceci : sur fecha_caducidad, choisissez l'action Script. Dans la valeur, saisissez @ pour voir les fonctions disponibles et choisissez addValueDate. 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 pour addValueDate).

  • 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

Avez-vous trouvé la réponse à votre question ?