diff --git a/modules/purchase_trade/docs/template-rules.md b/modules/purchase_trade/docs/template-rules.md index bf97f3d..adcbe93 100644 --- a/modules/purchase_trade/docs/template-rules.md +++ b/modules/purchase_trade/docs/template-rules.md @@ -31,6 +31,16 @@ Derniere mise a jour: `2026-04-07` - `modules/account_invoice/invoice.fodt` - `modules/sale/sale.fodt` - Reprendre en priorite la syntaxe Relatorio deja validee dans ces templates. +- Pour creer un nouveau report `.fodt`, copier d'abord un template voisin qui + fonctionne deja dans le meme module, puis remplacer uniquement les blocs + metier necessaires. Ne pas demarrer avec un FODT minimal construit a la main: + Relatorio et LibreOffice attendent une enveloppe ODT complete (`office:meta`, + settings, namespaces `draw`/`xlink`, styles, master pages, header/footer). Un + XML valide peut quand meme echouer au parsing Relatorio ou produire un rendu + inutilisable. +- Exemple: pour `account/general_ledger_detail.fodt`, partir de + `account/general_ledger.fodt` et adapter les colonnes plutot que reconstruire + la structure ODT. ### TR-002 - Eviter les expressions Genshi trop complexes dans le `.fodt` diff --git a/notes/template_business_rules.md b/notes/template_business_rules.md index 490efe8..b0aa37d 100644 --- a/notes/template_business_rules.md +++ b/notes/template_business_rules.md @@ -16,6 +16,12 @@ Scope: templates Relatorio + ponts `report_*` Python. ## 2) Pratiques templates Relatorio - Preferer des proprietes Python `report_*` stables sur le modele plutot que des expressions Genshi complexes. +- Pour creer un nouveau report `.fodt`, partir d'un template voisin qui fonctionne + deja dans le meme module, puis remplacer seulement le contenu metier + necessaire. Eviter les FODT minimaux faits a la main: Relatorio et + LibreOffice attendent une enveloppe ODT complete (`office:meta`, settings, + namespaces comme `draw`/`xlink`, styles, master pages), sinon le parsing ou le + rendu peut casser. - Pour `stock.shipment.in`, privilegier `records[0].report_*` dans le template. - Si un placeholder s'affiche en brut dans le PDF: - verifier que c'est un vrai `text:placeholder` ODF et pas du texte simple.