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 :

Etat - Utiliser différents plan dans le corps pour plusieurs pages [WD23]


Sujet :

WinDev

  1. #1
    Membre habitué Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Points : 125
    Points
    125
    Par défaut Etat - Utiliser différents plan dans le corps pour plusieurs pages
    Bonjour à tous,

    Je souhaite faire un état plutôt simpliste dans l'idée.
    En effet j'ai 4 pages à imprimer disposant d'un texte plus ou moins important qui serra remplit par endroits par programmation (avec un ChaineConstruit() par exemple).

    Mon test:
    Sur chaque plan de 1 à 4 j'ai un champ RTF que je pré-alimente avec un texte.
    Je cherche à savoir si avec cette technique il est possible d'alimenter l'état en chargeant le corps avec le plan correspondant pour chaque page.
    Le code dans l'idée hyper générale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pour i = 1 _a_ 4
       Corps..Plan = i
       Requête qui va bien
       ChaineConstruit() pour alimenter le texte convenablement.
       Impression du corps
       iSautePage()
    fin
    Actuellement mes tests ne sont pas concluant pour 2 pages. Soit je ne boucle pas et ne vois jamais la seconde page, soit j'ai uniquement le plan 2 affiché sur la seconde page et la page une est vide.

    J'avoue que j'ai toujours un peu de mal avec le fonctionnement des états sur Windev par moment, au final il y a peut être plus simple pour faire ce que je souhaite.

    Le but étant de tout faire sur un état. Je ne cherche donc pas de réponse avec des états internes ou l'impression de 4 états avec une page chacun.

    Si vous avez des solutions, merci d'avance.

    Jefty

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Bonjour;
    je n'ai jamais travailler avec les plans dans les états, mais comment que je vois les choses.

    1 - la variable i doit être déclarée globale
    2 - le code d'affectation du numéro de plan dans l'ouverture de l'état, + la requête et la construction de la chaîne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Corps..Plan = i
       Requête qui va bien
       ChaineConstruit() pour alimenter le texte convenablement.
    Remarque : la requête et la construction de la chaîne, peut être dans le code du CORPS

    3 - Le code du bouton d'impression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Pour i=1 _A_ 4
    iimprimeétat(TonEtat)
    Fin
    Bon Dev.

  3. #3
    Membre habitué Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Points : 125
    Points
    125
    Par défaut
    Bonjour fouedusa,

    Déjà merci pour ta participation.
    Je vois ton idée et c'est pas bête en effet de boucler avant et d'appeler simplement l'impression à chaque fois pour un plan différent.
    Je vais tester par curiosité voir si ça passe.

    Par contre le coté un peu négatif que je vois, c'est que je vais exécuter 4x la requête.
    C'est un formulaire lié à une personne, qui va avoir des données diverses qui lui sont liés.
    Donc en principe avec une seule requête je suis normalement sur de remplir les données variables des 4 pages.

    Après je vais essayé de voir avec une requête avant de lancer l'impression et une structure de données passée en paramètre de l'état mais je trouve ça lourd comme méthode.

    Si d'autres idées, je reste preneur le temps de tester la première idée.

    Cordialement,

    Jefty

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Je pense que au lieu de corps..plan = i, il faut faire mon_etat..plan = i ... ou un truc du genre.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 174
    Points : 287
    Points
    287
    Par défaut
    Re;

    Par contre le coté un peu négatif que je vois, c'est que je vais exécuter 4x la requête.
    Dans ton code du premier message la requête s’exécute 4 fois aussi , j'ai pas chercher à trop comprendre, j'ai essayer de voir qu'est ce qu'il faut pour imprimer différents plans.

    Après je vais essayé de voir avec une requête avant de lancer l'impression
    Oui possible et la source de ton état peut être la requête.

    Bon Dev.

  6. #6
    Membre habitué Avatar de Jefty
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Décembre 2009
    Messages
    203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 203
    Points : 125
    Points
    125
    Par défaut
    Par contre le coté un peu négatif que je vois, c'est que je vais exécuter 4x la requête.
    Dans ton code du premier message la requête s’exécute 4 fois aussi , j'ai pas chercher à trop comprendre, j'ai essayer de voir qu'est ce qu'il faut pour imprimer différents plans.
    En effet, j'ai écris trop vite.


    Je pense que au lieu de corps..plan = i, il faut faire mon_etat..plan = i ... ou un truc du genre.
    Depuis le corps, ça fonctionne dans mon cas.

    -----

    Suite à mes tests, le résultat est que je fais une impression en PDF, j'ai donc 2 PDF que je fusionne juste après.
    C'est parfait.
    Je vais pouvoir m'occuper du détail, les modifications de textes.

    Merci à vous deux pour votre aide.
    Bon dev'

    Jefty

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/10/2016, 01h04
  2. Réponses: 1
    Dernier message: 20/01/2014, 15h11
  3. [WD14] Wdeat Utiliser une variable dans le corp
    Par le_dilem dans le forum WinDev
    Réponses: 2
    Dernier message: 25/02/2010, 11h02
  4. Réponses: 5
    Dernier message: 25/02/2009, 11h02
  5. Réponses: 2
    Dernier message: 18/02/2007, 21h30

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