DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des champs
  • Prise de focus
  • Fonctions EcranPremier, DonneFocus et RepriseSaisie
  • Erreur
  • Fonction RepriseSaisie sur une fenêtre
  • Fonction RepriseSaisie sur une colonne d'un champ Table
  • Fonction RepriseSaisie sur le champ en cours
  • Fonction RepriseSaisie sur le dernier champ en cours
  • Traitements / Evénements exécutés lors de l'utilisation de la fonction RepriseSaisie
  • Fonction RepriseSaisie et FIN:
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Arrête le traitement en cours et force la reprise de saisie dans le champ, la fenêtre ou la page spécifié(e).
WEBDEV - Code Navigateur La fonction RepriseSaisie peut être utilisée dans un événement navigateur (onchange, onclick, etc.), mais elle ne peut pas être utilisée dans une procédure locale ou une procédure globale navigateur.
Remarque : Cette fonction est identique à la fonction DonneFocusEtRetourUtilisateur.
Exemple
// Si l'utilisateur n'a rien saisi dans le champ
SI SAI_Saisie1 = "" ALORS
// On affiche un message et on remet l'utilisateur en saisie sur le champ
Erreur("Saisissez une valeur")
RepriseSaisie(SAI_Saisie1)
FIN
WINDEVEtats et RequêtesJavaCode Utilisateur (MCU)
// Positionner le curseur de souris dans une cellule d'un champ Table (multisélection ou non)
TABLE_Nom_De_Table = Indice_de_ligne
RepriseSaisie(TABLE_Nom_De_Table.COL_Nom_de_colonne)
Syntaxe
RepriseSaisie([<Elément à manipuler>])
<Elément à manipuler> : Nom de champ, nom de fenêtre ou nom de page
Nom du champ, de la colonne ou de la fenêtre qui doit prendre le focus (voir Remarques). Si ce paramètre n'est pas spécifié, le focus est donné au champ en cours.
Pour indiquer un champ appartenant à une fenêtre ouverte différente de la fenêtre en cours, <Elément à manipuler> doit être de la forme <Nom de fenêtre>.<Nom du champ>.
WEBDEV - Code Navigateur Nom du champ ou de la page qui doit prendre le focus (voir Remarques). Si ce paramètre n'est pas spécifié, le focus est donné au dernier champ en cours.
Android Nom du champ ou de la fenêtre qui doit prendre le focus (voir Remarques). Si ce paramètre n'est pas spécifié, le focus est donné au champ en cours.
Remarques

Prise de focus

La possession du "focus" est matérialisée de différentes manières :
  • Curseur clignotant (ou "Caret") pour les champs de saisie.
  • Rectangle pointillé pour les autres types de champs (champs Bouton, champs Liste, champs Sélecteur, etc.).

Fonctions EcranPremier, DonneFocus et RepriseSaisie

Ces fonctions ont un comportement très différent :
  • La fonction RepriseSaisie arrête le traitement en cours pour forcer la reprise de la saisie dans le champ indiqué.
  • La fonction EcranPremier décrit quel sera le prochain champ ayant la saisie (lorsque le code en cours s'arrêtera et que la saisie reprendra).
  • La fonction DonneFocus arrête le traitement en cours, décrit quel sera le prochain champ ayant la saisie et reprend le traitement en cours.

Erreur

Une erreur du WLangage apparaît si le <Elément à manipuler> ne correspond pas à un champ existant dans la fenêtre ou la page en cours.
WINDEVEtats et RequêtesAndroidJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur une fenêtre

Si le paramètre <Elément à manipuler> correspond à un nom de fenêtre, la fenêtre est activée. Le champ prenant le focus dans cette fenêtre correspondra :
  • soit au dernier champ précédemment en saisie dans cette fenêtre,
  • soit au premier champ pouvant prendre le focus dans cette fenêtre (si aucune saisie n'a été effectuée précédemment dans cette fenêtre).
WINDEVEtats et RequêtesJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur une colonne d'un champ Table

La fonction RepriseSaisie donne le focus à la colonne spécifiée. Si le champ Table n'est pas en cours de saisie, le champ Table passe en saisie.
WINDEVEtats et RequêtesAndroidJavaCode Utilisateur (MCU)

Fonction RepriseSaisie sur le champ en cours

La fonction RepriseSaisie utilisée sans paramètre permet de donner le focus au champ en cours. Cette fonction, utilisée par exemple dans le code de sortie d'un champ de saisie, permet de forcer la saisie dans le champ en cours si les informations saisies ne correspondent pas aux informations attendues.
WEBDEV - Code Navigateur

Fonction RepriseSaisie sur le dernier champ en cours

La fonction RepriseSaisie utilisée sans paramètre permet de donner le focus au dernier champ en cours. Cette fonction, utilisée par exemple dans le code de sortie d'un champ de saisie, permet de forcer la saisie dans le champ en cours si les informations saisies ne correspondent pas aux informations attendues.
Le champ doit alors être de l'un des types de champs suivants :
  • Champ de saisie.
  • Champ Interrupteur.
  • Champ Sélecteur.
  • Champ Liste.
  • Champ Combo.
  • Champ Image de type "Zone de cliquage".
Si le nom du champ correspond à une chaîne construite, il est nécessaire d'utiliser l'alias du champ (par exemple "AliasChamp"+Num). Dans ce cas, aucune vérification n'est effectuée : des erreurs Javascript peuvent être affichées si le focus est donné à un champ qui n'existe pas.
Rappel : L'alias d'un champ correspond au nom de ce champ dans la page HTML. Pour connaître cet alias :
  • sous l'éditeur de code, utilisez la combinaison de touches Maj + F1.
  • par programmation, utilisez la propriété Alias.
WINDEVEtats et RequêtesAndroidJavaCode Utilisateur (MCU)

Traitements / Evénements exécutés lors de l'utilisation de la fonction RepriseSaisie

Le code WLangage qui suit l'appel à RepriseSaisie n'est pas exécuté et l'utilisateur reprend la main.
Cas particuliers :
  • si l'appel de RepriseSaisie est fait dans un code appelé par la fonction Exécute, ExécuteCode ou ExécuteTraitement, le code appelé par la fonction Exécute, ExécuteCode ou ExécuteTraitement est interrompu. L'exécution reprend après l'appel de la fonction Exécute, ExécuteCode ou ExécuteTraitement.
  • si l'appel de RepriseSaisie est fait dans le code d'une fonction d'une autre fenêtre que la fenêtre courante, le code de cette fonction est interrompu et l'exécution reprend après son l'appel.
  • si l'appel de RepriseSaisie est fait dans un code d'un composant (procédure ou méthode), le code du composant est interrompu et l'exécution reprend après l'appel de la procédure ou de la méthode du composant.
  • si l'appel de RepriseSaisie est fait dans un code d'une procédure de fenêtre interne, le code de la procédure de la fenêtre interne est interrompu et l'exécution reprend après l'appel de la procédure de la fenêtre interne.
  • si l'appel de RepriseSaisie est fait dans le code d'une option de menu, le code de l'option de menu est interrompu et l'exécution reprend après l'appel de l'option de menu.
  • si l'appel de RepriseSaisie est fait dans une procédure de fenêtre appelée depuis un superchamp, le code de la procédure est interrompu et l'exécution reprend après l'appel de la procédure dans le superchamp.
  • si l'appel de RepriseSaisie est fait dans une procédure d'un superchamp ou d'un modèle de champs, le code de la procédure est interrompu et l'exécution reprend après l'appel de la procédure du superchamp ou du modèle de champs.
Le traitement en cours est interrompu définitivement. Par exemple :
RepriseSaisie("Saisie1")
Info("XXX")    // N'est jamais exécuté
En règle générale, les événements de sortie (du champ ou de la fenêtre en cours) et d'entrée (dans le champ ou dans la fenêtre spécifiée) sont exécutés en même temps que la fonction RepriseSaisie.
Exceptions :
  • Aucun code n'est exécuté si <Elément à manipuler> est le champ en cours.
  • Le code de sortie du champ en cours n'est pas exécuté si la fonction RepriseSaisie est utilisée dans un des événements de ce champ.
Pour ne pas interrompre le traitement, utilisez la fonction EcranPremier ou DonneFocus.
AndroidJava Le code WLangage qui suit l'appel à la fonction RepriseSaisie n'est pas exécuté. L'exécution des traitements reprend :
WINDEVEtats et RequêtesAndroidJavaCode Utilisateur (MCU)

Fonction RepriseSaisie et FIN:

Après un appel à la fonction RepriseSaisie, le code suivant l'instruction "FIN:" n'est pas exécuté. La fonction RepriseSaisie peut être remplacée par l'appel à la fonction EcranPremier suivie de RETOUR ou RENVOYER.
Classification Métier / UI : Code UI
Composante : wd290obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Pas IDENTIQUE a DonneFocusEtRetourUtilisateur()
Quand vous utiliser DonneFocusEtRetourUtilisateur() pour reprendre la saisie dans un champ SAI d'une ZoneRépétée, DonneFocusEtRetourUtilisateur() ne fonctionne pas alors que RepriseSaisie() oui
Benjamin L.
09 juin 2023

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale