PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → ETAT FACTURE MULTIPLE
ETAT FACTURE MULTIPLE
Débuté par Vincent, 13 jan. 2020 15:01 - 3 réponses
Posté le 13 janvier 2020 - 15:01
Bonjour à Tous,
J'ai un problème de ETAT facture qui doit imprimer plusieurs détails de plusieurs livraison (BL) dans le corps de la facture.
1) L'idée me vient est que Je peux grouper plusieurs fichiers détails (liste des articles vendus) de plusieurs fichiers BL dans un fichier temporaire.
Aussi, on a un seul fichier pour le corps de l'Etat DETAIL
Mais le problème est que je dois avoir une rupture par BL, mentionnant la date BL, no BL etc.
Je ne sais pas faire les rupture par BL détail dans le corps de l'Etat.
Avez vous une solution SVP ? Sinon solution suivante 2).
2) Créer autant de ETAT que de BL détail. La structure serait la suivante:
- ETAT ENTETE FACTURE
Boucle
ETAT DETAIL 1 du BL1
ETAT DETAIL 2 du BL 2
....
ETTAT DETAIL n du BL n
Fin de boucle
ETAT PIEDS DE FACURE
Je n'ai jamais fait ce genre de multi etats
Que me conseillez vous ?

Merci d'avance
Vincent
Posté le 16 janvier 2020 - 10:12
Bonjour,
Ma proposition :
1- modifier la requête afin que chaque ligne Détail contienne l'ensemble des informations sur la facture
ex : numFactA, Reférence article 1,nom Article1, total ligne 1 , total Facture A
numFactA, Reférence article 2,nom Article2, total ligne 2 , total Facture A
etc...
numFactB, Reférence article 1,nom Article1, total ligne 1 , total Facture B
...
1-faire l'état des détail BL dans un premier temps
2-Ajouter une rupture à chaque modification de facture (voir l'aide)
3-Ajouter les champs basés sur les en-tête de facture dans le haut de rupture et ceux du pied de facture dans le bas de rupture
Le reste c'est du design...
Avec cette méthode vous verrez comment fonctionne les ruptures pour pouvoir faire la même chose totalement par programmation.
bon dev
Posté le 17 janvier 2020 - 11:21
Bonjour,

Maintenant, j'arrive à une suite de ETATS Livraison (BL)
Le problème est que j'ai un saut de page par livraison.
Alors que les BL doivent être consécutifs
Je ne connais pas la solution d'éviter le saut de page !
Voici le code :

REQ_BL_FACTURE.pCODE_SOCIETE=SAI_Code_Client
HExécuteRequête(REQ_BL_FACTURE)
HLitPremier()
TableAffiche(TABLE_REQ_BL_FACTURE) //Je liste les identifiants des BL d'un client

POUR TOUT REQ_BL_FACTURE

iInitRequêteEtat(ETAT_BL_UN,REQ_BL_FACTURE.IDCOMMANDE_LIV_CLIENT) // Sélectionner le détail d'un BL
iImprimeEtat(ETAT_BL_UN)


FINL

Merci d'avance
Posté le 17 janvier 2020 - 14:59
Bonjour Mr Marcelin,

En lisant attentivement, votre réponse.
En fait, vous m'avez donné la solution en groupant les BL en seul fichier et en créant les ruptures pour les distinguer.

Un grand merci
Vincent