4D v14.3

REFUSER

Accueil

 
4D v14.3
REFUSER

REFUSER 


 

REFUSER {( leChamp )} 
Paramètre Type   Description
leChamp  Champ in Champ dont la saisie doit être refusée

REFUSER accepte deux syntaxes. Dans la première syntaxe, REFUSER n'a pas de paramètre. Dans ce cas, la commande rejette la totalité de la saisie et force l'utilisateur à rester dans le formulaire. La seconde syntaxe permet de ne refuser que leChamp et force l'utilisateur à rester dans le champ.

Note : Nous vous conseillons d'utiliser en priorité les outils intégrés de validation de saisie de 4D, avant de faire appel à cette commande.

La première syntaxe de REFUSER est utilisée pour empêcher l'utilisateur de valider un enregistrement incomplet. Vous pouvez parvenir au même résultat sans utiliser REFUSER : associez la touche Entrée à un bouton n'effectuant "Pas d'action" et utilisez les commandes VALIDER et NE PAS VALIDER pour valider ou annuler l'enregistrement, une fois que les champs ont été correctement remplis. Il est recommandé d'employer cette seconde technique plutôt que d'utiliser la première syntaxe de REFUSER.

En général, vous employez la première syntaxe de REFUSER pour empêcher l'utilisateur de valider un enregistrement incomplet ou comportant des valeurs incorrectes. Si l'utilisateur tente de valider l'enregistrement, l'exécution de REFUSER provoque l'annulation de cette commande et l'enregistrement reste affiché dans le formulaire. L'utilisateur doit alors recommencer la saisie jusqu'à ce que les valeurs soient considérées comme correctes ou annuler l'enregistrement.

Le meilleur emplacement pour la commande REFUSER, lorsque vous utilisez cette syntaxe, est la méthode objet d'un bouton de type Valider associé à la touche de validation. De cette manière, la validation n'est possible que lorsque l'enregistrement est accepté, et l'utilisateur ne peut pas "forcer" la validation en appuyant sur la touche Entrée.

La seconde syntaxe de REFUSER utilise le paramètre leChamp. Si elle est exécutée, le curseur reste dans la zone de saisie du champ. Cette syntaxe oblige l'utilisateur à saisir une valeur correcte. Cette instruction doit être appelée juste après la modification du champ. Vous pouvez tester la modification d'un champ à l'aide de la fonction Modifie. Vous pouvez également placer la commande REFUSER dans la méthode objet de la zone de saisie. Lorsqu'elle est utilisée avec des champs de sous-formulaires, cette commande ne fait rien.

Vous devez placer cette syntaxe de REFUSER soit dans la méthode formulaire, soit dans une méthode objet du formulaire en train d'être modifié. Si vous utilisez REFUSER avec le formulaire "pleine page" d'un sous-formulaire, placez-la dans la méthode formulaire ou une méthode objet du formulaire "pleine page".

Vous pouvez utiliser la commande SELECTIONNER TEXTE pour sélectionner, à l'intérieur du champ, les valeurs qui ont été refusées.

L'exemple suivant illustre la première syntaxe de REFUSER, placée dans la méthode objet d'un bouton Valider. La touche Entrée a été définie comme équivalent clavier pour ce bouton. Cela signifie que même si l'utilisateur appuie sur cette touche pour valider l'enregistrement, la méthode objet du bouton sera exécutée. L'enregistrement est une transaction bancaire. Si la transaction est un chèque, un numéro de chèque doit être saisi. S'il n'y a pas de numéro, la validation est refusée :

 Au cas ou
    :(([Opération]Trans="Chèque") & ([Opération]Numéro="")) ` Si c'est un chèque sans numéro...
       ALERTE("Veuillez saisir le numéro du chèque.") ` Alerter l'utilisateur
       REFUSER ` Refuser la saisie
       ALLER A OBJET([Opération]Numéro) ` Placer le curseur dans le champ "numéro de chèque"
 Fin de cas

L'exemple suivant est une partie de la méthode objet d'un champ [Employés]Salaire. La méthode objet teste si la valeur de ce champ est inférieure à 10 000 Euros et la refuse si c'est le cas. Vous pourriez effectuer le même contrôle en spécifiant une valeur minimum pour le champ, dans l'éditeur de formulaires du mode Développement :

 Si([Employés]Salaire<10000)
    ALERTE("Le salaire annuel doit être supérieur à 10 000 Euros.")
    REFUSER([Employés]Salaire)
 Fin de si

 
PROPRIÉTÉS 

Produit : 4D
Thème : Gestion de la saisie
Numéro : 38
Nom intl. : REJECT

 
HISTORIQUE 

Créé : < 4D v6

 
VOIR AUSSI  

ALLER A OBJET
NE PAS VALIDER
VALIDER

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)

Hérité de : REFUSER ( 4D v11 SQL Release 6)