|
FOROS PROFESIONALES WINDEV, WEBDEV y WINDEV Mobile |
| | | | | |
| Inicio → WINDEV 2025 → [WD24] iEnchaînementAjoute et rectoverso ajouter une page blanche |
| [WD24] iEnchaînementAjoute et rectoverso ajouter une page blanche |
| Iniciado por Gurdarr, 20,feb. 2020 11:56 - 3 respuestas |
| |
| | | |
|
| |
Miembro registrado 237 mensajes |
|
| Publicado el 20,febrero 2020 - 11:56 |
Bonjour,
J'utilise iEnchaînementAjoute sur une imprimante recto verso pour imprimer à la chaine des Factures bien entendu l'objectif est qu'une facture qui tient sur une page n'est pas dans son verso le début de la facture suivante.
J'ai essayer le code suivant en fin de document
SI bRectoversoActiver ALORS SI EstPair(iNumPage()) = Faux ALORS iRAZNbPages() {"HAUT_DE_PAGE"}..Visible = Faux iTerminePage() iRAZNbPages() SINON iRAZNbPages() FIN SINON iRAZNbPages() FIN
Sauf que cela fausse complétement le nombre de page total des états suivants qui garde quand nombre de page total (+1 pour chaque iterminepage que j'ai effectué)
Je veux juste pouvoir insérer une page blanche... c'est triste à dire
Note iimprimeetat ne marche pas du tous avec iEnchaînementAjoute ça c'est con
Vous avez une astuce ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 194 mensajes |
|
| Publicado el 20,febrero 2020 - 12:21 |
Bonjour
De mémoire (je n'ai pas les codes sous les yeux là) je jouais sur les données (ajout d'un enregistrement vide dans ma variable tableau utilisée en databinding sur l'état) lorsque j'avais un verso sans recto. C'est une piste à explorer.
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 237 mensajes |
|
| Publicado el 20,febrero 2020 - 15:19 |
Bon
j'avais oublié un truc sur windev il est pas fait pour être simplevous allez comprendre
bon j'ai réussi à intégré mes pages blanches sur les impression pair lors du recto verso uniquement sur les document qui terminent sur une page impair...
le secret c'est de faire :
iRAZNbPages() iEnchaînementAjoute(NomEtatExt,sZoneEnchainement) SI bRectoversoActiver ALORS iRAZNbPages() iEnchaînementAjoute(Etat_PageBlanche,sZoneEnchainement) FIN
et la vous allez me dire Gurdarr tu es pété ce code imprime une page blanche pour chacun de tes états... Et je vous dirais que tu as parfaitement raison Billy !
Mais regarde dans le code de Etat_PageBlanche
NumPage++ n est un entier = 0
SI EstImpair(NumPage) ALORS RENVOYER Faux FIN n++ SI n>1 ALORS RENVOYER Faux FIN RENVOYER Vrai
Attention j'utilise la variable global NumPage sur toutes mes pages de mes états, n'utiliser pas inumpage() il est bugué en wd24 (il marche en wd23)
Et la on se retrouve bien avec une page blanche sur les page pair des documents qui terminent sur une page impair
Sauf qu'il y a encore un bug Billy ! Malgré l'utilisation de iRAZNbPages() tes documents comptes toujours la page blanche Pour résoudre cela met hors champ le champ avec le numéro de page windev
Merci |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 194 mensajes |
|
| Publicado el 21,febrero 2020 - 11:18 |
Bonjour
Bon en fait ma mémoire m'a joué des tours ! Dans mon cas pour résoudre le point j'ai en fait procédé ainsi :
- initialisation d'un compteur de page à l'ouverture de l'état :
nNumPage est un entier - Avant impression de haut de page :
nNumPage++ - Après impression fin de rupture 1 (mon problème était là parfois le bloc rupture 1 tenait sur une page et parfois il tenait sur plus)
SI Modulo(nNumPage,2) <> 0 ALORS nNumPage++ iSautePage() FIN Donc rien à voir avec ma réponse initiale désolé (souvenir d'une autre technique surement également utilisé dans d'autres situations)
-- Côme, Clairinfo |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|