PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 23 → Etat principal et 4 sous etats sur 4 fichiers
Etat principal et 4 sous etats sur 4 fichiers
Débuté par TheYro, 13 juin 2018 16:25 - 2 réponses
Posté le 13 juin 2018 - 16:25
Bonjour,

J'éprouve quelques difficultés pour construire mon état.

J'ai 4 fichiers
- Client(IdClient, Nom, Prenom, .....)
- Fiche (IdFiche, IdClient, Date, .....)
- Prestations (IdPrestation,IdFiche, Libelle, Qté,Valeur, .....)
- Reglements (IdReglement, IdFiche, Date, Valeur)

Le but avoir état comme celui-ci :
-------------------------------------------------------
| Id Client 0001 Nom client
|-------------------------------------------------------
| Fiche 00001
| ------------------------------------------------------
| Prestation 1
| Prestation 2
| Prestation 3
| TOTAL Fiche 0001 :
|-------------------------------------------------------
| Reglement 1
| Reglement 2
| TOTAL Reglement Fiche 0001 :
|-------------------------------------------------------

<Saut de page>

-------------------------------------------------------
| Id Client 0001 Nom client
|-------------------------------------------------------
| Fiche 00002
| ------------------------------------------------------
| Prestation 1
| Prestation 2
| Prestation 3
| TOTAL Fiche 0002 :
|-------------------------------------------------------
| Reglement 1
| Reglement 2
| TOTAL Reglement Fiche 0002 :
|-------------------------------------------------------

etc etc

Je voudrais pouvoir passer en paramètre la liste des fiches que je veux imprimer (Une page par fiche)

J'ai pensé faire un état principal dont l'entête contiendrais la première partie (Info client et info fiche)
Ensuite 2 états imbriqué auxquel je passe l'id de la fiche (pour les prestations et pour les règlements.

J'ai déjà essayé de différentes manières mais je n'y arrive pas.
La plupart des exemples fonctionnent sur base de tableau ou il y a toutes les données. Moi je recois uniquement une liste d'id de fiche a imprimer.

J'ai essayé avec la programation manuelle de l'etat mais sans succès.

Pouvez-vous m'aider ou du moins m'orienter sur une solution?

Merci beaucoup
Membre enregistré
40 messages
Posté le 13 juin 2018 - 17:30
Hello,

Un seul état suffit je pense, tu devrais "jouer" sur le changement d'id lors de l'impression de ton état,

Dans le traitement du bloc "Avant impression de corps" (donc au moment ou il imprime les données), tu vérifies si il a changé d'id ou non et si oui tu insères un saut de page avec la fonction
iTerminePage()


voila...
Membre enregistré
23 messages
Posté le 14 juin 2018 - 09:12
TheYro a écrit :
Bonjour,

J'éprouve quelques difficultés pour construire mon état.

J'ai 4 fichiers
- Client(IdClient, Nom, Prenom, .....)
- Fiche (IdFiche, IdClient, Date, .....)
- Prestations (IdPrestation,IdFiche, Libelle, Qté,Valeur, .....)
- Reglements (IdReglement, IdFiche, Date, Valeur)

Le but avoir état comme celui-ci :
-------------------------------------------------------
Id Client 0001 Nom client
-------------------------------------------------------
Fiche 00001
------------------------------------------------------
Prestation 1
Prestation 2
Prestation 3
TOTAL Fiche 0001 :
-------------------------------------------------------
Reglement 1
Reglement 2
TOTAL Reglement Fiche 0001 :
-------------------------------------------------------

<Saut de page>

-------------------------------------------------------
Id Client 0001 Nom client
-------------------------------------------------------
Fiche 00002
------------------------------------------------------
Prestation 1
Prestation 2
Prestation 3
TOTAL Fiche 0002 :
-------------------------------------------------------
Reglement 1
Reglement 2
TOTAL Reglement Fiche 0002 :
-------------------------------------------------------

etc etc

Je voudrais pouvoir passer en paramètre la liste des fiches que je veux imprimer (Une page par fiche)

J'ai pensé faire un état principal dont l'entête contiendrais la première partie (Info client et info fiche)
Ensuite 2 états imbriqué auxquel je passe l'id de la fiche (pour les prestations et pour les règlements.

J'ai déjà essayé de différentes manières mais je n'y arrive pas.
La plupart des exemples fonctionnent sur base de tableau ou il y a toutes les données. Moi je recois uniquement une liste d'id de fiche a imprimer.

J'ai essayé avec la programation manuelle de l'etat mais sans succès.

Pouvez-vous m'aider ou du moins m'orienter sur une solution?

Merci beaucoup


Bonjour,

Je pense que vous devriez baser votre état sur une requête définissant l'ensemble des données à imprimer.
Vous pourriez imposer la liste des fiches à imprimer dans la clause "where" de votre requête ou passer par un état piloté par une zone mémoire (voir la documentation).
Ensuite quelques ruptures, judicieusement choisie, vous permettront de vous passer des sous-états.
L'avantage principal est que la rupture gérera automatiquement le saut de page même si le nb de prestation et/ou règlement dépasse la hauteur de la page.

Cordialement