Les rapports préparés (Prepared Reports) permettent d'exécuter des rapports volumineux en arrière-plan et de consulter les résultats une fois le traitement terminé, sans bloquer l'interface utilisateur.
Lorsqu'un rapport basé sur un script (Script Report) met trop de temps à s'exécuter, Dodock peut l'activer automatiquement en mode « rapport préparé ». Un observateur surveille la durée d'exécution et, si elle dépasse 15 secondes, bascule automatiquement le rapport en mode préparé.
Pour certains rapports, le basculement automatique en mode préparé n'est pas souhaitable — par exemple si le rapport doit toujours s'exécuter en temps réel, ou si l'activation automatique pose des problèmes dans un contexte personnalisé.
Depuis la version 15, chaque rapport dispose d'un champ dédié :
| Champ | Nom technique | Description |
|---|---|---|
| Désactiver l'automatisation du rapport préparé | disable_prepared_report_automation | Si coché, l'observateur de 15 secondes n'activera jamais automatiquement le mode préparé pour ce rapport. |
disable_prepared_report utilisé dans les versions précédentes. Une migration automatique (copy_disable_prepared_report_to_prepared_report) copie la valeur de l'ancien champ vers le nouveau lors de la mise à jour.Une fois cette option activée, le rapport ne passera jamais automatiquement en mode préparé, quelle que soit sa durée d'exécution.
Si vous gérez vos rapports via des fichiers JSON (typique dans le développement d'applications), ajoutez le champ dans le fichier .json du doctype Report :
{
"disable_prepared_report_automation": 1
}
Ou dans un patch ou un script de migration Python :
import frappe
frappe.db.set_value(
"Report",
"Nom du rapport",
"disable_prepared_report_automation",
1
)
frappe.db.commit()
Si votre instance utilisait disable_prepared_report (champ désormais obsolète), la mise à jour vers la version 15 exécute automatiquement un patch qui :
disable_prepared_report = 1.disable_prepared_report_automation = 1.Aucune action manuelle n'est requise de votre part.
| Situation | Recommandation |
|---|---|
| Rapport rapide (< 15 s) utilisé en temps réel | Laisser l'automatisation active (comportement par défaut) |
| Rapport lent accepté par les utilisateurs en arrière-plan | Laisser l'automatisation active |
| Rapport dont le mode préparé cause des problèmes fonctionnels | Cocher Désactiver l'automatisation |
| Rapport toujours destiné à s'exécuter en temps réel, quelle que soit la durée | Cocher Désactiver l'automatisation |