Documentation Frappe Framework

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.

2 min de lectureMis à jour le Source : docs.frappe.io

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

  1. Type : Script Report.
  2. Is Standard : Yes.
  3. Choisissez le module.
  4. Dans le dossier du module, par exemple erpnext/accounts/report/[report-name], des modèles de fichiers sont créés.
  5. Le .js définit les filtres.
  6. Le .py gé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.