Documentation Frappe Framework

Frappe Framework

Query Report

Le rapport exécute une seule requête SQL. L’accès suit le DocType de référence. Un rapport standard en mode développeur produit un fichier JSON.

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

À quoi sert le Query Report

Un Query Report est généré par une seule requête SQL, simple ou complexe, pourvu qu’elle produise des colonnes et des enregistrements. Seul un System Manager peut le créer. Il est stocké en base. La création côté fichiers est aussi décrite dans Créer un Query Report.

Dans l’AwesomeBar, saisissez « new report ».

  1. Type : Query Report.
  2. DocType de référence : qui y a accès a accès au rapport.
  3. Module : le rapport apparaît dans Custom Reports de ce module.
  4. Écrivez la requête.

Si Standard vaut Yes et que le mode développeur est actif, un fichier JSON est généré, à versionner. Ne le faites que pour livrer le rapport avec l’application. Le module décide de l’emplacement du JSON.

Colonnes et filtres

Depuis la version 13, colonnes et filtres se configurent sur le document Rapport : libellé, largeur et format (fieldtype). Un filtre sert de variable, par exemple un filtre customer s’écrit %(customer)s dans la requête.

L’exemple sélectionne nom, création, article, quantités et société dans tabWork Order, pour les documents soumis dont la quantité produite est inférieure à la quantité.

Ancien format de colonne

Sans réglage sur le rapport, le libellé suit {label}:{optional fieldtype}{optional /}{optional options}:{optional width}. Work Order:Link/Work Order:200 devient un lien vers Work Order, large de 200 px. Si les champs sont déjà configurés sur le rapport, ce style n’est pas nécessaire.

L’exemple ancien style ajoute une condition : aucune entrée de stock (Stock Entry) ne doit pointer vers cet ordre de travail.

Point d’attention

Le fichier JSON n’apparaît que si Standard est Yes et le mode développeur actif. Le format dans l’alias SQL est l’ancien style. L’impression du rapport est dans Formats d’impression pour les rapports.