IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Saisie et état


Sujet :

WinDev

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Saisie et état
    Bonjour,

    J'ai windev 12 express, je voudrais que lorsque l'utilisateur rentre une saisie (chiffre ou texte) dans un zone de saisie, et bien ce qu'il a saisie apparaisse dans une case que j'ai défini dans une feuille d'état.

    Malgré mes "bidouilles", je n'arrive pas à avancer.

    Merci pour votre aide !

  2. #2
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par BOB13000 Voir le message
    Bonjour,

    J'ai windev 12 express, je voudrais que lorsque l'utilisateur rentre une saisie (chiffre ou texte) dans un zone de saisie, et bien ce qu'il a saisie apparaisse dans une case que j'ai défini dans une feuille d'état.

    Malgré mes "bidouilles", je n'arrive pas à avancer.

    Merci pour votre aide !
    Si j'ai bien compris la question ,il y a plusieurs façons de faire ce type de traitement, tout d'abord tout dépend si la donnée est enregistrée dans la base ou pas. Imaginons, que cette donnée est provisoire, tu peux la transmettre de l'écran (fenêtre) vers l'état via une procédure comme suit :

    Lors de l ouverture de l'état ou d un autre formulaire, il faut récupérer
    l'information et la transmettre avec un paramètre :

    // Ici un exemple de code écrit dans le bouton d ouverture d une fenêtre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // RECUPERATION DU SOLDE DU COMPTE
     
    XValeurSolde est un monétaire =""
     
    POUR TOUTE LIGNE DE TABLE_Comptes
     
    	XValeurSolde =  XValeurSolde + (TABLE_Comptes.COL_Crédit - TABLE_Comptes.COL_Débit)
     
    FIN
     
    // OUVERTURE DE LA FENËTRE RELANCE
    Ouvre(FEN_Relance_Contacts, gIdentifiantClient,XValeurSolde)
    Ensuite lors de l ouverture de l'état ou de ton autre fenêtre, tu récupères le ou les paramètres dans le code de procédure globale ( idem état et fenêtre), comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PROCEDURE FEN_Relance_Contacts(gIdentifiantClient, xvaleurSolde)
    il est également possible de réaliser une requête directement dans l'état
    afin de récupérer une valeur comme suit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    PROCEDURE AffichageCoordonnnéesClient()
     
     
    // AFFICHAGE DES COORDONNEES CLIENT
    sdReq_Rech_Client est une Source de Données
    sText_Requet est une chaîne = "SELECT * FROM Client WHERE Client.IDClient =" +gIdentifiantClient
     
    SI HExécuteRequêteSQL(sdReq_Rech_Client,sText_Requet) ALORS
     
    	HLitPremier(sdReq_Rech_Client)	
     
    	//RECHERCHE DE LA VOIE CORRESPONDANTE ET AFFECTATION
    	TypeVoie est une entier = sdReq_Rech_Client.Typedevoie
     
    	SELON TypeVoie
     
    		CAS 1 :
    			LIB_Type_Voie = "Avenue"
    		CAS 2 :
    			LIB_Type_Voie = "Boulevard"
    		CAS 3 :
    			LIB_Type_Voie = "Chemin"
    		CAS 4 :
    			LIB_Type_Voie = "Résidence"
    		CAS 5 :
    			LIB_Type_Voie = "Route"
    		CAS 6 :
    			LIB_Type_Voie = "Rue"
     
    	FIN
     
    	LIB_Raison_Sociale = sdReq_Rech_Client.RaisonSociale
    	LIB_Numero_Voie = sdReq_Rech_Client.Numerodevoie
    	LIB_Adresse1 = sdReq_Rech_Client.Adresse1
    	LIB_Adresse2 = sdReq_Rech_Client.Adresse2
    	LIB_Code_Postal = sdReq_Rech_Client.CodePostal
    	LIB_Ville = sdReq_Rech_Client.Ville
     
    SINON
     
    	DélaiAvantFermeture(1000)
    	Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo())
    	RETOUR		
     
    FIN
    Je ne sais pas si tout ceci est possible dans les versions express,

    Bon dèv

    Arnaud

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Merci pour ton aide.

    Cela me semble bien compliqué ! Je vais détailler mon problème afin que ça soit plus clair.

    Je veux que l'utilisateur rentre le titre de la feuille à imprimer.
    Pour cela, sur une fenêtre, j'ai crée une zone de saisie. J'ai crée un état et sur cette feuille (d'état), j'ai crée une rubrique dans laquelle je souhaite que le titre qu'a rentré l'utilisateur apparaisse.

    Donc, il suffit que le contenu de la rubrique récupère ce qu'a rentré l'utilisateur.

    J'espère que c'est plus clair; le code que tu m'as donné répond il à ma demande ?

    Merci, je suis tout nouveau débutant avec windev que je trouve adapté à mes attentes !

  4. #4
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Oui avec un paramètre tu peux faire ce genre de chose,
    sinon encore plus simple :

    Dans l'aperçu avant impression de ta rubrique dans l état :
    ou même ailleurs !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    EXTERNE NOMDEMAFENETRE
     
    MonLibellédelEtat = NOMDEMAFENETRE.NOMDUCHAMPSAISI
    Voilà, mais essaies avec les paramètres, c'est une chose fondamentale à savoir par cœur...

    Bon dev...

    Arnaud

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé mais il me dit qu'il n'y a aucune donnée à imprimer. Je ne sais pas d'où ça peut venir.

    Je préfère prendre en main le logiciel de cette manière avec des codes simples, après je passerai à plus complexe !

  6. #6
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    S'il n'y a aucune donnée à imprimer, c'est que ta source de données pour ton état est vide. Comment remplis-tu ton état?
    «Un problème bien défini est un problème à moitié résolu.»

  7. #7
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Pour forcer l impression, vas dans la description de l état et sélectionne
    dans l onglet "Détail" : Si la source de données est vide

    "Imprimer l état et ne pas afficher de message"

    Ceci te permettra d afficher ton état

    D autre part, dans l aide tape ceci :" Paramètres " et lis ce que tu trouves sur Paramètre d'une procédure.

    Sinon dans ton code place le curseur sur le mot clé EXTERNE et tape F1

    L aide en ligne faut vraiment s en servir... C est la bible !

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Pour la source de mon état, j'ai mis "programmation" mais cela ne change rien.

    On dirait qu'il ne récupère pas ce qu'il y a dans la fenêtre de saisie.

    Merci d'aider un débutant pour des choses simples !

  9. #9
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Que veux tu imprimer dans ton état, soit précis STP !

    D'autre part, je ne suis pas certain que tu es correctement programmé
    la récup des données pour les afficher dans l'état...

    Est que tu parviens à voir le résultat de ta rubrique saisie dans la fenêtre ??

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je vais détailler ce que j’ai fait.

    La fenêtre principale de mon proget s’appelle EXPRESS_FEN_Fenêtre1. Sur celle-ci, j’ai crée un champ de saisie qui s’appelle SAI_Saisie1. J’ai crée un état qui s’appelle EXPRESS_ETAT_DETAILS. Dans cet état qui est composé initialement de 5 blocs, j’ai ajouté une rubrique qui s’appelle RUB_RUBRIQUE1.

    Dans cette rubrique, je veux qu’apparaisse ce que j’aurai rentré dans mon champ de saisie SAI_Saisie1.

    Pour les données sources de ma feuille d’état, j’ai mis « de la programmation ». Dans la partie « avant impression » de ma rubrique RUB_RUBRIQUE1, j’ai entré le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EXTERNE EXPRESS_FEN_Fenêtre1
    RUB_RUBRIQUE1 = EXPRESS_FEN_Fenêtre1.SAI_Saisie1
    Bien sûr, j’ai créée un bouton qui s’appelle BTN_Bouton3 que j’ai placé dans ma fenêtre EXPRESS_FEN_Fenêtre1. Son action prédéfinie est « ouvrir l’aperçu avant l’impression de l’état EXPRESS_ETAT_DETAILS»

    Voila, j’espère que c’est plus clair.

    Merci.

  11. #11
    Membre régulier
    Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2007
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Octobre 2007
    Messages : 212
    Points : 87
    Points
    87
    Par défaut re
    ne serait il pas plus simple pour toi de faire cela avec des chaines globales ???
    c'est assez simple et à la portée de tout le monde !!

    tu vas dans le code de ton projet tu créé des chaines : gsMonTitre est chaine=""

    puis ensuite tu leur donne une valeur par exemple la ou tu veu definir le titre de ta fenetre : gsMonTitre="Titre de mon état" ou gsMonTitre="Sai_xXxXx"
    puis tu le reprend dans ton etat : Etat.Titre=gsMonTitre

    puis quand tu as fini tu remet gsMonTitre à vide : gsMonTitre=""

    cela me semble etre le plus simple non ??

  12. #12
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    En faite, il faudrait qu'il maîtrise toutes ces méthodes...

    As tu été dans la description de l état ??

    Rappel
    Pour forcer l impression, vas dans la description de l état et sélectionne
    dans l onglet "Détail" : Si la source de données est vide

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    J'ai forcé l'impression, j'ai écrit le code avec une chaine globale, ça marche MAIS ça m'affiche "SAI_Saisie1" dans ma rubrique mais sur une infinité de pages....

    Ca avance grace à votre aide !

  14. #14
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    Il faut continuer les tests, tu es sur le bon chemin !
    Maintenant réessaies avec le mot clé Externe
    puis avec un code de ce type dans l aperçu avant impression...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Hlitrecherche(MonFichier,Marubrique,MavaleurRecherchée)
    Si htrouve(MonfoutuFichier) ALORS   //Attention risque d erreur !
     
    Trace("MonFichier"+"   "+MonFichier.Nom)
    MaRubrique = MonFichier.Nom
    Sinon
    MaRubrique ="Encore vide !!!"
    Info("Rien n'a été trouvé !!!")
    FIN

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Ca ne marche pas car je pense avoir une erreur dans le code.
    A quoi correspond "Monfichier" ? "MonFichier.Nom" ? "EXPRESS_FEN_Fenêtre1.Nom" ?
    Voici mon code actuel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    EXTERNE EXPRESS_FEN_Fenêtre1
     
    RUB_RUBRIQUE1 = EXPRESS_FEN_Fenêtre1.SAI_Saisie1
     
    HLitRecherche(MonFichier,RUB_RUBRIQUE1,"titre")
    SI HTrouve(EXPRESS_FEN_Fenêtre1) ALORS   
     
    	Trace("EXPRESS_FEN_Fenêtre1"+"   "+EXPRESS_FEN_Fenêtre1.Nom)
    	RUB_RUBRIQUE1 = MonFichier.Nom
    SINON
    	RUB_RUBRIQUE1 ="Encore vide !!!"
    	DélaiAvantFermeture(1000)
    	Info("Rien n'a été trouvé !!!")
    Merci.

  16. #16
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 42
    Points
    42
    Par défaut
    hola ! As tu étudié un peu la doc proposée en pdf par pc soft ??

    Tu devrais commencer par travailler sur les exemples proposés dans la doc
    éventuellement, fais une recherche sur les tutoriels proposés par Jean Luc Baptiste. Ce sera un bon point de départ pour découvrir Wndev...

    Bon dev

    Arnaud

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Le problème est résolu. Merci à tout le monde pour votre aide.
    Bonne soirée.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/09/2008, 10h26
  2. Réponses: 1
    Dernier message: 09/09/2008, 09h12
  3. Réponses: 1
    Dernier message: 29/05/2008, 18h34
  4. [Cognos 8] Rafraichir un groupe d'états après invite de saisie.
    Par marchand_de_sable dans le forum Cognos
    Réponses: 3
    Dernier message: 22/03/2008, 09h38
  5. Conversion d'états en pdf avec zones de saisies
    Par tieuphuong dans le forum IHM
    Réponses: 5
    Dernier message: 03/07/2007, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo