PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Orientation état : différence aperçu / résultat
Orientation état : différence aperçu / résultat
Iniciado por c.grapin, 26,ago. 2020 09:58 - 8 respuestas
Publicado el 26,agosto 2020 - 09:58
Bonjour,

Pour une impression, je définis un état en A4 paysage.

Problème 1 : lors de l'aperçu avant impression, l'état s'affiche en portrait, et ce, malgré l'utilisation de iConfigure(iOrientation, iOrientation_Paysage) ou de iParamètre("ORIENTATION=PAYSAGE"), j'ai essayé les deux.

Problème 2 : l'impression réelle sort systématiquement en portrait.

Se pourrait-il que cela soit lié au pilote d'impression ou au langage d'impression ?

Une autre idée ?

Merci pour votre aide.
Publicado el 26,agosto 2020 - 10:43
Petit complément d'information :

Il semble que le mode d'impression par enchaînement sorte une impression dans la bonne orientation :

En utilisant la syntaxe :

iAperçu(i100, "Etat paysage n° " + _n_id_parametre)

iParamètre(iCouleur, iCouleur_Mono)
iParamètre(iRTFAvecImagesEtTableaux, Vrai)
iParamètre("ORIENTATION=PAYSAGE")

iEnchaînementAjoute(E_ETAT_PAYSAGE, ics_ClasseParametre_1, in_EntierParametre_2, ib_BooleenParametre_3)

iEnchaînementImprime()

L'état est systématiquement sorti en Paysage y compris en aperçu.
Miembro registrado
953 mensajes
Publicado el 26,agosto 2020 - 17:44
bonjour Christophe,

avez vous testé la fonction iConfigureEtat() à la place du iConfigure() ?

=> https://doc.pcsoft.fr/fr-FR/?3046076&name=iConfigureEtat
Publicado el 27,agosto 2020 - 08:40
Bonjour,

Peu être, vérifier que la description initiale de l'état soit dans le bon mode.





Ou alors, une commande s'exécute après l'appelle du code initial, peut être dans l'un des blocs de l'état, à vérifier.

Alain
Publicado el 27,agosto 2020 - 09:23
Bonjour,

Merci pour l'info.

Je viens de tester, et cela provoque l'apparition de la fenêtre de configuration d'impression.

Tout se passe normalement si on ne choisit pas d'aperçu.

Si on repasse par la fenêtre d'aperçu avant impression : l'état apparaît en paysage à l'écran, mais est imprimé en portrait.

C'est à devenir fou ...
Publicado el 27,agosto 2020 - 09:29
Bonjour,

Merci pour la réponse.

Je viens de recontrôler : tout est ok : état A4 paysage avec 5 mm de marge partout.
Pas d'étirement du contenu : imprimer l'état tel qu'il est configuré.

Plus aucune commande de modification de la configuration d'impression : on imprime basiquement l'état.

Et donc : si on passe par la fenêtre d'aperçu avant impression : il y a un changement de l'orientation qui s'opère, la partie droite de l'état est coupée.
Si on ne fait pas d'aperçu, l'impression est respectée.

Il n'y a que l'impression par enchaînement d'un seul état qui réussit à cumuler l'aperçu du document et le respect du format.

Je vais procéder de cette façon, et ferai des tests avec d'autres imprimantes pour savoir si c'est lié à l'appareil ou au programme.

Merci.
Miembro registrado
953 mensajes
Publicado el 27,agosto 2020 - 09:52
rebonjour Christophe,

avez vous bien suivi l'ordre d'appel des fonctions de la documentation ??

Extrait de la documentation : https://doc.pcsoft.fr/fr-FR/?3046069&name=iApercu
Quand utiliser la fonction iAperçu ?

La fonction iAperçu doit être la première fonction d'impression appelée. Elle doit donc figurer avant les fonctions iImprime, iCréePolice, etc. Mais la fonction iAperçu doit être appelée après les fonctions iConfigure ou iParamètre.



De plus, dans la version 25, iAperçu() est déprécié, il faut utiliser iDestination() dans le 'visualisateur de rapports'
Publicado el 27,agosto 2020 - 10:46
Re-Bonjour,

Ah merci, je n'avais pas vu que la fonction iAperçu() est en fin de vie.

Je viens d'essayer la fonction iDestination() mais le résultat est identique : paysage en aperçu avant impression, portrait à la sortie de l'imprimante.

Ma syntaxe exacte :

iParamètre(iOrientation, iOrientation_Paysage)
iDestination(iVisualisateur, i100, "Etat paysage n° " + _n_id_parametre)
iImprimeEtat(E_ETAT_PAYSAGE, ics_ClasseParametre_1, in_EntierParametre_2, ib_BooleenParametre_3)

Ou

iParamètre("ORIENTATION=PAYSAGE")
iDestination(iVisualisateur, i100, "Etat paysage n° " + _n_id_parametre)
iImprimeEtat(E_ETAT_PAYSAGE, ics_ClasseParametre_1, in_EntierParametre_2, ib_BooleenParametre_3)

Je vais vraiment faire des tests avec d'autres imprimantes.

En attendant je garde l'option du mode d'enchaînement d'impression :

iParamètre("ORIENTATION=PAYSAGE")
iDestination(iVisualisateur, i100, "Etat paysage n° " + _n_id_parametre)

// Mode d'impression en enchainement pour forcer le respect de l'orientation paysage

iEnchaînementAjoute(E_ETAT_PAYSAGE, ics_ClasseParametre_1, in_EntierParametre_2, ib_BooleenParametre_3)
iEnchaînementImprime()

Merci pour le support.
Publicado el 27,agosto 2020 - 12:48
Re,

Des fois ça plante et le soucis vient plutôt du côté WD que du coté du code utilisateur.

Moi, en cas de problème "inexplicable" avec une fenêtre ou un état, je fais un "enregistrer sous" de l’élément posant soucis et je teste.
En fait dans le projet WD cet élément sera alors "nouveau" et pourvu de sa bonne description interne à WD.

Alain