Rapports instantanés (DuckDB)
Rapports instantanés (DuckDB)
Un rapport instantané lit une copie des données au lieu de la base en direct. Dokos copie les tables utiles dans un fichier DuckDB, une base analytique rapide. Le rapport s'exécute plus vite sur de gros volumes. En contrepartie, il montre l'état des données à la dernière copie.
Fonctionnement
| Élément | Rôle |
|---|---|
| Activer les rapports instantanés (Paramètres Système) | Planifie la copie automatique des tables. |
| Rapport instantané (case du rapport) | Le rapport lit la copie DuckDB au lieu de la base. |
| DocType à synchroniser (table du rapport) | Les types de documents à copier pour ce rapport. |
| Synchronisation DuckDB (type de document) | Une copie d'un type de document dans un fichier DuckDB. |
À chaque passage planifié, Dokos crée et valide une Synchronisation DuckDB pour chaque type de document listé dans un DocType à synchroniser d'un rapport. La validation copie la table et ses tables enfants dans un fichier .duckdb des fichiers privés du site. La copie tourne en tâche de fond, dans la file long.
Le rapport utilise la dernière synchronisation validée dont toutes les tables sont copiées. Il affiche alors en haut : « Il s'agit d'un rapport instantané généré {date} ».
Rapports livrés avec Dokos
Ces rapports savent lire une copie DuckDB. Ils sont livrés avec la case Rapport instantané décochée.
| Rapport | Type de document copié |
|---|---|
| Balance générale | Écriture GL (GL Entry) |
| Bilan | Écriture GL |
| Compte de résultat | Écriture GL |
| Grand livre | Écriture GL |
| Solde du stock | Écriture du grand livre des stocks (Stock Ledger Entry) |
Un rapport standard s'ouvre en lecture seule hors du mode développeur. La case Rapport instantané se règle donc dans le code du rapport, par un développeur. Un site en production n'a pas de réglage pour la cocher sur un rapport livré. Frappe Framework fonctionne de la même façon.
GL Entry et Stock Ledger Entry, même si aucun rapport ne lit encore la copie.Activer la synchronisation planifiée
Prérequis : avoir le rôle Responsable système. Les tâches de fond et le planificateur doivent tourner.
- Ouvrez la recherche (Ctrl+K) et saisissez « Paramètres Système ».
- Ouvrez l'onglet Avancé, section Rapports instantanés.
- Cochez Activer les rapports instantanés.
- Choisissez la Fréquence :
- Quotidien (défaut) : chaque jour à minuit ;
- Toutes les heures : au début de chaque heure.
- Si besoin, renseignez Délai de synchronisation (secondes). Par défaut, une copie s'arrête après 25 minutes.
- Enregistrez.
Dokos crée la tâche planifiée « DuckDB Sync ». Si vous décochez la case, Dokos supprime cette tâche.
Suivre les synchronisations
- Ouvrez la recherche (Ctrl+K) et saisissez « Synchronisation DuckDB ».
- Ouvrez une synchronisation validée.
- Dans la table Tables de la base de données, la case Synchronisé indique les tables copiées.
Si une table n'est pas copiée, le bouton Synchroniser les données relance la copie.
Vous pouvez aussi créer une synchronisation à la main : choisissez le Type de document, enregistrez, puis validez.
Les rôles Responsable système, Responsable Comptabilité et Responsable Commercial ont accès à ce type de document.
Dokos annule et supprime les synchronisations de plus de 45 jours, avec leur fichier. Vous pouvez changer ce délai dans Paramètres des journaux.
Limites
- Le rapport montre l'état à la dernière copie. Avec la fréquence Quotidien, les écritures du jour n'apparaissent pas avant le lendemain.
- Chaque synchronisation crée un fichier. Prévoyez l'espace disque des fichiers privés.
- La Balance générale lit la base en direct si l'utilisateur a des restrictions d'accès sur les écritures comptables.
- Si aucune copie complète n'existe, la Balance générale affiche une erreur qui demande de synchroniser
GL Entry.
Exemple
Exemple fictif : un développeur coche Rapport instantané sur la Balance générale dans une application. Sur le site, vous activez les rapports instantanés en Quotidien. Chaque nuit à minuit, Dokos copie les écritures comptables. Le lendemain matin, la balance s'ouvre vite et affiche « Il s'agit d'un rapport instantané généré il y a 9 heures ».