Si tu travailles avec une bibliothèque fixe d'actions et que ces actions se retrouvent dans plusieurs manuels voilà ce que je ferais.
Table Paragraphe
ClefParagraphe (numauto, clefprimaire)
ClefParagrapheParent (entier long, relie le paragraphe courant au paragraphe qui le contient, Null si pas de contenant)
Pararagraphe (mémo)
OrdreParagraphe (Reel double)
Table Manuel
ClefManuel (numauto)
Table AssManuelParagraphe
ClefAssMaunuelParagraphe (numauto, clefprimaire)
ClefManuel (entier long, index unique en combinaison avec ClefParagraphe)
ClefParagraphe (entier long, index unique en combinaison avec ClefManuel)
InclureEnfant (boolean, vrai si il faut inclure tous les enfants du paragraphe)
OrdreParagrapheManuel (Reel double)
L'index unique évite qu'on mette 2 fois le même paragraphe dans le manuel.
Table AssManuelEntreprise
ClefAssManuelEntreprise (numauto, clef primaire)
ClefEntreprise (entier long, index unique en combinaison avec ClefAssManuelParagraphe)
ClefAssManuelParagraphe (entier long, index unique en combinaison avec ClefEntreprise)
OrdreParagrapheEntreprise (Reel double)
L'index unique évite qu'on mette 2 fois le même paragraphe dans le manuel de cette entreprise
Selon le nombre d'ajouts ou de retraits au modèle, il peut être pertinant de recopier le modèle dans le manuel de l'entreprise ou de partir à rien et d'ajouter les morceaux qui t'intressent.
Après pour la numérotation d'impression, tu la fais à l'impression pas avant.
Les champs Ordre... te permettent de décider dans quel ordre tes paragraphes ou tes ensembles de paragraphes vont s'imprimer.
Pour l'impression il faudra sans doute remplir une table temporaire et recopier tous les paragraphes dedans avec un parcourt/ajout des enfants de chaque paragraphe. Y calculer les numérotations puis s'en servir pour l'impression.
La table d'impression ressemblerai à
ClefImpression (numauto, clefprimaire)
ClefEntreprise (pas indispensable mais utile pour une personnalisation)
ClefManuel (EntierLong, pas indispensable mais utiles pour une personnalisation)
ClefParagraphe
OrdreParagrapheEntreprise
OrdreParagrapheManuel
OrdreParagraphe
En triant sur OrdreParagrapheEntreprise, OrdreParagrapheManuel, OrdreParagraphe tu devrais avoir tous les morceaux dans le bon ordre.
Il faudrait peut-être aussi avoir une notion de Type de paragraphe pour distinguer les titres du texte.
A+
Partager