Exemple n° 2 : un document multi-folio avec un parcours principal !
Imaginons que nous souhaitions rééditer les factures triées par client et par date d'émission, avec pour chaque client une page de garde et une page de totalisation des chiffres d'affaires facturés. Nous postulons ici l'existence de trois tables :
- la table client,
- la table des factures en relation avec la table client et mémorisant au moins la date de la facture et le montant TTC facturé,
- la table des lignes de factures contenant pour chaque facture le détail des articles facturés.
Le folio « Corps » est ici utilisé pour imprimer les factures avec le détail des lignes. Il contient donc au moins un élément « liste » rattaché à la table des lignes (avec un filtre sur la facture en cours et un classement sur le numéro de ligne). Le parcours principal étant quant à lui associé à la table des factures avec comme critères de tri le code du client, et la date d'émission de la facture.
Jusqu'ici, aucun problème, l'impression en mode « Test » imprime pour chaque facture le détail des articles, le tout classé correctement. Il ne nous reste plus qu'à ajouter les folios d'impression de la page de garde et de la totalisation du chiffre d'affaires facturé. Rien de plus simple, le code de client étant notre premier critère de tri, il suffit d'ajouter les folios de code « DEBUT1 » pour imprimer la page de garde et « FIN1 » pour la totalisation.
Vous avez compris, que les folios « DEBUT1 » et « FIN1 » sont imprimés, lorsque le parcours principal détecte une rupture de niveau 1 ; c'est-à-dire chaque fois que l'on change de client.
Résultat à l'impression :
- La totalisation des chiffres d'affaires ne nécessite aucune programmation ; le générateur d'états prend en charge de manière automatique les cas normaux de cumuls par niveau de rupture ( cf : les opérations : totalisations & calculs divers ) |