Frappe Framework
Impression
Chaque document a une vue d’impression. On la personnalise dans le constructeur, en HTML Jinja, ou par un fichier à côté du rapport.
Vue d’impression
Frappe génère des formats d’impression et les convertit en PDF. Le langage des formats est Jinja. Les méthodes disponibles sont dans Jinja.
La vue s’ouvre depuis le formulaire. Un format standard est généré pour chaque DocType, d’après la disposition et les champs obligatoires. Le retrouver dans les fichiers est expliqué dans Où trouver les formats d’impression standard.
Constructeur
Pour personnaliser, copiez le format standard et passez par le Print Format Builder. Ces formats sont éditables par l’utilisateur et ne sont pas livrés comme fichiers de l’application.
Le bouton Custom HTML se glisse depuis la barre de gauche. Le champ accepte du HTML avec les classes Bootstrap 3, et du Jinja pour le contenu dynamique. Le CSS personnalisé s’ajoute par Customize, puis Edit Properties.
Format avancé
Le constructeur ne suffit pas pour changer toute la mise en page. On écrit alors le HTML. Dans l’AwesomeBar : « new print format ».
- Nom unique.
- Standard à No.
- Cochez Custom Format.
- Type Jinja.
- Écrivez le HTML.
Si Standard vaut Yes et que le mode développeur est actif, un JSON est généré, à versionner avec l’application.
Rapports
Les formats des Query Reports et Script Reports ne se créent pas dans l’interface. Déposez {report-name}.html dans le dossier du rapport. L’exemple cité est le grand livre ERPNext. Le détail est dans Formats d’impression pour les rapports.
Ces formats sont produits côté client : pas de Jinja. C’est une adaptation du micro-template de John Resig, d’aspect proche. L’extrait publié boucle sur data, formate posting_date, affiche partie ou compte, la mention Against, les remarques, ou un compte en gras et un débit via format_currency.
Point d’attention
Un format de rapport n’utilise pas Jinja. Un format de document en Jinja, lui, ne se génère pas dans le navigateur de la même façon. Standard Yes n’écrit un JSON que si le mode développeur est actif.
