Frappe Framework
Créer un Script Report
Le rapport vit dans le dépôt de l’application : un fichier JavaScript pour les filtres, un fichier Python qui renvoie colonnes et lignes.
Qui peut le créer
Un Script Report est un tableau produit par un script serveur. Il faut les permissions Administrator : le script Python donne un accès sans restriction. Le script entre dans le dépôt de l’application. Il faut aussi le mode développeur. Voir Activer le mode développeur. La fiche du bureau est dans Script Report.
Créer
- Type : Script Report.
- Is Standard : Yes.
- Choisissez le module.
- Dans le dossier du module, par exemple
erpnext/accounts/report/[report-name], des modèles de fichiers sont créés. - Le
.jsdéfinit les filtres. - Le
.pygénère le rapport.
Les filtres ont les mêmes propriétés qu’un DocField. L’exemple Accounts Receivable a un lien Company, valeur par défaut frappe.defaults.get_user_default("company"). Le code publié écrit getuserdefault.
Script
execute renvoie deux listes, columns et data. Chaque colonne est un dictionnaire : fieldname, label, fieldtype, options, width. L’exemple a un lien Account large de 300 et un lien Currency. Tous les modules serveur sont utilisables. La source renvoie au bilan (Balance Sheet) comme modèle.
Lien dans le module
Dans erpnext/config/accounts.py, get_data ajoute un item de type report, avec le nom, un DocType (GL Entry dans l’exemple) et is_query_report: True.
Prepared Report
Certains rapports sont trop longs pour le navigateur. Si Prepared Report est coché, chaque exécution est mise en file au lieu de tourner de façon synchrone. L’utilisateur voit une progression et une notification. Le résultat est un document Prepared Report, rouvert plus tard avec les mêmes filtres.
Cette case débloque Generate CSV, qui joint un CSV au JSON, et Timeout (In Seconds), durée maximale du travail avant échec, 1500 secondes par défaut. La source destine cela aux rapports lents mais stables : on attend le résultat, on ne l’a pas tout de suite dans le navigateur.
Point d’attention
Sans Administrator et sans mode développeur, le rapport standard n’est pas créé de cette façon. Le délai par défaut d’un Prepared Report est 1500 secondes.
