PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → // Aperçu avant impression // boucle sur un champ de l'état//
// Aperçu avant impression // boucle sur un champ de l'état//
Débuté par Marc.v, 25 fév. 2007 23:40 - 4 réponses
Posté le 25 février 2007 - 23:40
Hello à tous,

Je n'en peux plus, au niveau de l'aperçu avant impression. En fait dans la partie corps de la mise en page, j'ai des articles qui seront affichés soit par une requète soit remplie par une table mémoire

Ce qui veut dire que je ne peut pas utiliser l'assistant, et que je veux faire cette opération par programmation. ( car ca pourra varier le contenu )

Cependant, lorsque avant je voulait remplir une table ou autre, je procédait comme ci-dessous. Mais ça ne marche pas dans l'état, il n'y a qu'une seule ligne qui s'affiche lors de l'apercu. Comment puije procéder pour afficher toutes les lignes ? Ou qu'est-ce qui est incorrect ? ( pour que toutes mes lignes s'affichent )


HExécuteRequête(REQ_Requête2,hRequêteDéfaut,FEN_factures.TABLE.fac_detail_no,hNumEnrEnCours)

HLitPremier(REQ_Requête2)
TANTQUE HEnDehors(REQ_Requête2) = Faux
Rub_rtf_desc_longue1 = REQ_Requête2.detail_article_desc
RUB_montant = REQ_Requête2.detail_article_total_ligne
RUB_ar_qte = REQ_Requête2.detail_article_quantite

FichierVersEcran()
HLitSuivant(REQ_Requête2)
FIN

Encore quelque chose, au niveau de ma première rubrique. C'est un champ rtf, est-ce que je doit bien mettre REQ_Requête2.detail_article_desc ou REQ_Requête2."%detail_article_desc%" ou REQ_Requête2.[%detail_article_desc%]

En vous remerciant d'avance

Bonne journée et bon DEV
Posté le 26 février 2007 - 12:13
Bonjour,
Puisque ton état se base soit sur une table mémoire, soit sur une requête, pourquoi ne pas le baser tout le temps sur une table mémoire, et remplir cette table avec ta requête ? De cette façon, tu n'a rien à faire dans l'état, seul la méthode utilisée pour remplir la table change.

Frédéric.
Posté le 26 février 2007 - 18:11
Bonjour,

Merci pour votre information, mais je ne peux pas le faire ainsi, pourquoi ?

J'ai un bouton impression quand je suis dans la facture : a ce moment là ca me prends les informations dans ma table de la factures.

J'ai un bouton impression à l'extérieur de mes factures : a ce moment là il fait une requète, car j'ai aucune table ouverte.

On doit faire une boucle dans l'état pour afficher la requète ? Ou doit-on procéder différemment.

Ce que j'ai besoin c'est de savoir en fait comment afficher toutes les informations d'une requète en les faisant afficher dans un champ de la mise en page. Actuellement j'ai que la première ligne à chaque fois qui s'affiche et pas les lignes suivantes.

merci encore
Posté le 26 février 2007 - 18:45
>J'ai un bouton impression à l'extérieur de mes factures : a ce moment là il fait une requète, car j'ai aucune table ouverte.
Dans ce cas, tu peux avoir une table à l'extérieur de la fenêtre (pour qu'elle ne soit pas visible, si c'est ce que tu veux), qui te sert de source de données pour l'impression. tu remplies ta table avec la requête, et tu peux lancer l'impression.
Sans avoir l'air d'insister, je pense que c'est la façon la plus souple de gérer les impressions, puique celà "déconnecte" l'état de la source des données. Peut importe que les données viennent d'une requête, d'un fichier, d'un traitement, d'une saisie de l'utilisateur... l'état fonctionne sans aucune modification.

Sinon pour répondre plus directement à la question "Ce que j'ai besoin c'est de savoir en fait comment afficher toutes les informations d'une requète en les faisant afficher dans un champ de la mise en page. Actuellement j'ai que la première ligne à chaque fois qui s'affiche et pas les lignes suivantes.", j'aurai répondu "il faut un tableau", mais comme ça fonctionne avec un champ table, j'avoue que sans plus d'informations sur le fonctionnement de l'état je ne sais pas quoi répondre.

Frédéric.
Posté le 26 février 2007 - 22:38
merci bien pour ton aide,

Au final, j ai simplifié, je fait directement uniquement avec la requete intégrée à l état.

Si la personne veut visualiser et printer la facture alors elle l enregistre d abord. C est encore plus simple

Je vous remercie.