Comment gérer les états avec rupture ?
Créer un champ de rupture
Etat/Editer les ruptures
Il y a deux blocs de générés :
HAUT_RUPTURE1 et BAS_RUPTURE1
Dans HAUT_RUPTURE1 mettre tout les titres et en-têtes
de colonnes
Dans BAS_RUPTURE1, éventuellement trait horizontal et/ou
totalisation
Il serait possible de cocher saut de page après bloc, mais on utilisera
plutôt du code car cela produit une dernière page surnuméraire.
Créer un HAUTPAGE_SUITE contenant l’en tête de page en cas de page suite
Créer un HAUTPAGE_VIDE
Ce bloc servira à cacher le haut de page car le haut_rupture aura déjà
provoqué l’édition des en-têtes.
Dans Ouverture de l’Etat
rupture_fin est un booléen
Après Impression de BAS_DE_PAGE
SI rupture_fin=Vrai ALORS
iSubstBloc(HAUT_DE_PAGE,HAUTPAGE_VIDE)
SINON
iSubstBloc(HAUT_DE_PAGE,HAUTPAGE_SUITE)
FIN
Avant Impression de HAUT_RUPTURE1
Libtab=SansEspace(TABLE_NAME)+" "+SansEspace(DESC_TABLE)
Après Impression de HAUT_RUPTURE1
rupture_fin=Faux
Avant Impression de BAS_RUPTURE1
rupture_fin=Vrai
Après Impression de BAS_RUPTURE1
SI DocTableMySQL..NbEnrImprimé<>DocTableMySQL..NbEnrTotal ALORS
iTerminePage()
//préférable à la coche saut de page après bloc
Comment gérer une table des matières ?


L’idéal serait de gérer des polices et des retraits selon
le style (zone TM_STYLE)
Dans Ouverture de l’Etat
HChangeRep(TABLE_MATIERES,gPrivateRep)
HCréation(TABLE_MATIERES)
Après Impression de HAUT_RUPTURE1
// sauvegarde pour la table des matières
TABLE_MATIERES.TM_TITRE=Libtab
TABLE_MATIERES.TM_PAGE=iNumPage()
TABLE_MATIERES.TM_STYLE="H1"
TABLE_MATIERES.TM_TITREPAGE=LeTitre
HAjoute(TABLE_MATIERES)
iAperçu(100)
iImprimeEtat(DocTableMySQL)
SI OuiNon("Voulez vous imprimer la table des matières ?") ALORS
iImprimeEtat(TableMatières)