Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Wdetat Pb urgent

6 réponses
Avatar
Roumegou Eric
(supersedes <mn.e2c87d76b8ecd5df.62635@fin.msg>)

Bonjour,

J'ai un pb urgent pour une mise en prod d'un état pdf.

Il s'agit d'un état principal avec 6 sous-états.
Le gros problème c'est que si l'on utilise les sous états, les sauts de
page sont mal gérés et les en-têtes de colonnes ne sont pas reprises à
chaque saut de page à l'intérieur des sous états.

Ces mèmes sous états s'ils sont envoyés individuellement; cela gère
bien les sauts.

Donc mon besoin (car le client hurle et ne veux pas comprendre que l'on
ne fait pas toujours ce qu'on veut dans notre pauvre vie de Wdforçat),
c'est de savoir comment utiliser PROPREMENT ces sous états

ou (bidouille) comment envoyer plusieurs états et n'avoir qu'un PDF ?

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)

6 réponses

Avatar
mat
Roumegou Eric wrote:
(supersedes )


Il s'agit d'un état principal avec 6 sous-états.
Le gros problème c'est que si l'on utilise les sous états, les sauts de
page sont mal gérés et les en-têtes de colonnes ne sont pas reprises à
chaque saut de page à l'intérieur des sous états.

Ces mèmes sous états s'ils sont envoyés individuellement; cela gère bien
les sauts.




Bonjour Eric,

donc toujours pas trouvé de solution? Je pense il faut d'abord parler du
type de sous-état que tu utilises, mais je travaille avec la version
anglaise et n'ai pas les versions antérieures en français avec moi.

Il y a deux types de sous-états: intégrés (terme?, comme un champ
graphique) et imbriqués. Moi, je n'ai réussi qu'avec les états imbriqués
à contrôler les en-têtes. L'autre type a été conçu pour des étiquettes
et graphiques et les entêtes se perdent.

D'autre part tu a dit que tu les lances avec iImprimeEtat, donc il
devrait s'agir d'états imbriqués. Voici le code que j'ai pour arriver à
ce que je pense tu cherches:

// ouverture
vFirst is boolean = True

// CODE DU CORPS
iNestedHeaderFooter(True)
SWITCH vRepType
CASE 1 : DoReport("RepProcResult")

CASE 2 : DoReport("RepProcResult")
DoReport("repProcUsedProd")

CASE 3 : DoReport("RepProcResult")
DoReport("repProcUsedOrig")

CASE 4 : DoReport("RepProcResult")
DoReport("repProcUsedProd")
DoReport("repProcUsedOrig")

END


PROCEDURE DoReport(vRepName)
IF vFirst THEN
vFirst = False
ELSE
iPageEnd()
END
iPrintReport(vRepName,vParams)
Avatar
Pascal F
Roumegou Eric vient de nous annoncer :
(supersedes )

Bonjour,

J'ai un pb urgent pour une mise en prod d'un état pdf.

Il s'agit d'un état principal avec 6 sous-états.
Le gros problème c'est que si l'on utilise les sous états, les sauts de page sont mal gérés et les en-têtes de colonnes ne sont
pas reprises à chaque saut de page à l'intérieur des sous états.

Ces mèmes sous états s'ils sont envoyés individuellement; cela gère bien les sauts.

Donc mon besoin (car le client hurle et ne veux pas comprendre que l'on ne fait pas toujours ce qu'on veut dans notre pauvre
vie de Wdforçat), c'est de savoir comment utiliser PROPREMENT ces sous états

ou (bidouille) comment envoyer plusieurs états et n'avoir qu'un PDF ?



Dans les états intégrés que j'utilise, je n'utilise le bloc CORPS que pour faire une boucle qui remplit les champs du bloc
ITERATION1 que j'appelle par iImprimeBloc(ITERATION1) à chaque itération de la boucle du bloc CORPS.
ensuite dans le code Avant Impression de ITERATION1, je mets:
SI iHauteurRestantePage()<ITERATION1..Hauteur ALORS
iImprimeBloc(HAUT_DE_PAGE)
FIN

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Roumegou Eric
Roumegou Eric avait énoncé :
(supersedes )

Bonjour,

J'ai un pb urgent pour une mise en prod d'un état pdf.

Il s'agit d'un état principal avec 6 sous-états.
Le gros problème c'est que si l'on utilise les sous états, les sauts de page
sont mal gérés et les en-têtes de colonnes ne sont pas reprises à chaque saut
de page à l'intérieur des sous états.

Ces mèmes sous états s'ils sont envoyés individuellement; cela gère bien les
sauts.

Donc mon besoin (car le client hurle et ne veux pas comprendre que l'on ne
fait pas toujours ce qu'on veut dans notre pauvre vie de Wdforçat), c'est de
savoir comment utiliser PROPREMENT ces sous états

ou (bidouille) comment envoyer plusieurs états et n'avoir qu'un PDF ?



Merci à tous les 2 pour vos réponses.

Mat c'est génial, cela marche !!
Merci infinimment.

Donc les états internes que j'utilisais avec des blocs ne sont pas très
interressant mais les états imbriqués que je ne connaissais pas sont à
la limite bcp plus simple à utiliser.
Me reste plus qu'un pb de titres qui ne va pas bien où il faut, mais ça
cela ne devrait pas être trop compliqué.

Sinon pour Pascal, je ne peux pas trop intervenir sur les états
intégrés qui sont en fait des tableaux croisés (c'est super ça et j'ai
pas envie de me les taper à l'os).

Encore merci à vous de m'avoir permis de sortir de là.

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou Eric
Après mûre réflexion, Roumegou Eric a écrit :
(supersedes )

Bonjour,

J'ai un pb urgent pour une mise en prod d'un état pdf.

Il s'agit d'un état principal avec 6 sous-états.
Le gros problème c'est que si l'on utilise les sous états, les sauts de page
sont mal gérés et les en-têtes de colonnes ne sont pas reprises à chaque saut
de page à l'intérieur des sous états.

Ces mèmes sous états s'ils sont envoyés individuellement; cela gère bien les
sauts.

Donc mon besoin (car le client hurle et ne veux pas comprendre que l'on ne
fait pas toujours ce qu'on veut dans notre pauvre vie de Wdforçat), c'est de
savoir comment utiliser PROPREMENT ces sous états

ou (bidouille) comment envoyer plusieurs états et n'avoir qu'un PDF ?



Merci à Mat pour cette solution qui fonctionne très bien et qui me rend
moins nul en wdetat.


Donc :
//en init d'état
vFirst est un booléen=Vrai

//dans mon traitement total rupture

iHautBasPageImbriqué(Vrai)

SI TA_CIRCUIT ALORS DoReport("EI_QCIRCUIT")
SI TA_AGENCE ALORS DoReport("EI_QAGENCE")
SI TA_DRAGENCE ALORS DoReport("EI_QDRAGENCE")
SI TA_ENSEIGNE ALORS DoReport("EI_QENSEIGNE")
SI TA_REGION ALORS DoReport("EI_QREGION")
SI TA_DEMON ALORS DoReport("EI_QDEMONST")

(les TA_CIRCUIT etc sont des param passés à l'état pour savoir si oui
ou non je veux ce recap)

et ma proc locale DoReport
PROCEDURE DoReport(vRepName)
IF vFirst THEN
vFirst = False
ELSE
iPageEnd()
END
iInitRequêteEtat(vRepName,RUB_SESSIONID) // passe le filtre
iImprimeEtat(vRepName)

--
Eric Roumégou
Webmaster des wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
mat
Roumegou Eric wrote:

Merci à Mat pour cette solution qui fonctionne très bien et qui me rend
moins nul en wdetat.





Je suis content que cela a servi. Il n'y a pas mal de gens qui n'aiment
pas wdetat. Pour ma part je n'ai jamais connu meilleur et j'ai toujours
trouvé une solution pour les problèmes qui se sont posés. Donc pour une
fois je suis content du produit, et cela sans réservations :-)

Mat
Avatar
mat
mat wrote:
...
fois je suis content du produit, et cela sans réservations :-)


...

...sans réserves

bien entendu. J'étais juste en train de réfléchir sur un problème de
gestion de réservations...

Mat