Rapports

Rapports préparés

Comprendre et configurer les rapports préparés dans Dodock, y compris l'option de désactivation de l'automatisation.

Rapports préparés

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.

Fonctionnement général

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é.

Option : désactiver l'automatisation du rapport 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é :

ChampNom techniqueDescription
Désactiver l'automatisation du rapport préparédisable_prepared_report_automationSi coché, l'observateur de 15 secondes n'activera jamais automatiquement le mode préparé pour ce rapport.
Ce champ remplace l'ancien 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.

Configurer l'option via l'interface

  1. Accédez à Paramètres → Rapport (ou recherchez le nom du rapport dans la barre de recherche).
  2. Ouvrez la fiche du rapport concerné.
  3. Dans la section Paramètres, cochez Désactiver l'automatisation du rapport préparé.
  4. Enregistrez.

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.

Configurer l'option par code

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()

Migration depuis l'ancien champ

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 :

  1. Identifie tous les rapports ayant disable_prepared_report = 1.
  2. Copie cette valeur dans disable_prepared_report_automation = 1.

Aucune action manuelle n'est requise de votre part.

Cas d'usage recommandés

SituationRecommandation
Rapport rapide (< 15 s) utilisé en temps réelLaisser l'automatisation active (comportement par défaut)
Rapport lent accepté par les utilisateurs en arrière-planLaisser l'automatisation active
Rapport dont le mode préparé cause des problèmes fonctionnelsCocher Désactiver l'automatisation
Rapport toujours destiné à s'exécuter en temps réel, quelle que soit la duréeCocher Désactiver l'automatisation
Attention : Désactiver l'automatisation sur un rapport lent peut dégrader l'expérience utilisateur, car l'interface sera bloquée pendant toute la durée d'exécution. Évaluez cette option avec soin.