Bonjour,
je crée actuellement un grist pour suivre le budget de mon service. Etant annualisé, je dois, pour chaque exercice annuel, avoir les même tables, widgets, formules une année sur l’autre.
Mon problème est simple : comment puis-je créer des pages identiques pour une nouvelle année ? La fonction « dupliquer » ne fonctionne pas du tout comme cela car les changements sur une page affectent l’autre (je n’en comprends pas la fonction…). Je suis sur l’instance grist.numerique.gouv.fr.
Merci d’avance et à disposition si besoin de précisions
Une page est un ensemble de vues sur des données sources : si vous dupliquez les pages, cela signifie que vous reproduisez les vues sur les mêmes données, donc il est logique que les vues affichent la même chose quand les données changent.
Voici ce que je ferais à votre place :
- créer une structure de données qui évite de répéter les tables d’une année à l’autre : par ex. une seule table pour toutes les dépenses, avec une colonne Date ou Année pour filtrer l’exercice annuel
- créer une page qui contient des vues filtrées sur la colonne Date ou Année afin de pouvoir n’afficher que l’exercice qui vous intéresse
- et si c’est plus pratique de naviguer entre les pages 2025 et 2026 plutôt que de changer le filtre à chaque fois, dupliquez la page 2025 pour garder la même collection de vues sur l’exercice 2026 en changeant la valeur filtrée afin que dans un cas on observe l’exercice 2025 et dans l’autre l’exercice 2026.
Gristez bien !
Bonjour,
je vous remercie vivement pour votre réponse.
Etant allé un peu trop loin dans les liaisons, je suis coincé (système de reports de commandes d’une année sur l’autre que j’ai peiné à créer, et qu’il faudrait complètement revoir), mais j’entends parfaitement votre réponse et aurai en tête ce fonctionnement par la suite (en tout cas j’espère). J’ai réussi à copier les exercices budgétaires par les données sources (c’est pas très propre, mais ça va faire l’affaire).
Encore merci pour les conseils et l’entraide !
Bonjour,
je suis allé trop loin, mais la solution proposée est tout de même celle vers laquelle je dois aller…
Je suis confronté à d’autres problématiques, du coup.
Une première est que les engagements financiers ne sont pas comptés pareil en fonction de l’année pendant laquelle ils sont passés. Pour avoir une idée des fonds disponible au cours de l’année actuelle, je ne dois déduire que les engagements effectués sur l’exercice budgétaire.
En termes de structure, j’ai 2 tables principales :
- le budget, avec des intitulés de lignes correspondant à des acquisitions et le budget prévu par année (colonnes)
- les commandes et factures : les lignes sont des engagements ou des factures, à chaque fois rattachés à un intitulé budgétaire de la table budget.
Pour déduire ce qui a été engagé, je dois sommer l’ensemble des commandes et factures se rapportant au même intitulé budgétaire.
Pour suivre une ligne, je dois donc effectuer :
(reste disponible pour l’année en cours) = (budget pour la ligne) - (ce qui a été engagé dans l’année).
Pour l’instant, je fais : SUM(Commandes.lookupRecords(Intitule_budget=$id).engage) pour rechercher l’ensemble des engagements par ligne de budget. La difficulté est que des engagements persistent de l’année précédente, et je dois les éliminer de ce calcul.
Quelqu’un a-t-il une solution pour moi ?
Merci
Bonjour,
il est possible d’ajouter des conditions dans votre formule LookupRecords, par exemple SUM(Commandes.lookupRecords(Intitule_budget=$id, Annee_en_cours="Oui").engage)
Est-ce que cette piste vous aide ?
Bonjour,
cette piste m’aide complètement. Est-il possible de placer des conditions, de type Annee_engagement<2026 ? Cela me permettrait de prendre en compte toutes les années précédentes (calcul du report de budget) ?
J’ai essayé SUM(Commandes.lookupRecords(Articles=$id, Annee_cde=2025, Annee_cde=2024, Annee_cde=2023).engage) mais j’ai une erreur.
En tout cas merci pour vos réponses : je progresse !
Bon week-end
Il faut faire, dans la table Commandes, une colonne “Année en cours”, de type booléen qui vérifie si c’est une ligne qui concerne l’année en cours tel que YEAR(TODAY())=YEAR($Date)
Et ensuite rajouter le critère Annee_en_cours=True, comme le propose Enro, dans la formule de somme.
Bonjour,
mille merci : c’est exactement ce dont j’avais besoin : des valeurs relatives qui se mettent à jour en fonction de l’année, sans que je doive faire de modifications. C’est top.
Bonne journée,