Scolar Pilotage
Pour voir l'exécution budgétaire autrement...
J'ai créé Scolar Pilotage afin d'avoir une vision de l'exécution budgétaire qui me convenait mieux.
Après avoir exporté d'Opale et importé le fichier Excel dans le logiciel, je peux voir sous forme de graphique et d'informations les données.
Importation des données
Le fichier issu d'Opale est un peu "Space" car il comprend 2 onglets (Un tableau croisé dynamique lié à l'onglet 2 qui contient les données brutes).
Si on regarde l'onglet 2 on remarque que les valeurs sont en négatif et en positif, on remarque aussi que les colonnes budget, réalisé, engagé et en cours sont les mêmes pour les recettes et les dépenses. Une conclusion simple en ressort, les données fournies ne sont pas exploitables en l'espèce.
Il faut donc les importer en les traitant avec le code suivant
nNbreLigne est un entier
sBudget est un xlsDocument
sBudget=xlsOuvre(SAI_Fichier)
//Avant d'importer on vide la bdd Exécution
HSupprimeTout(Exécution)
HRAZ(Exécution)
//On se positionne sur la feuille 2 du fichier excel
sBudget..Feuille=2
SI sBudget<>-1 ALORS
nNbreLigne=xlsNbLigne(sBudget)
//On commence l'importation à partir de la ligne 3
POUR k=3 À nNbreLigne
//On importe les données du tableur excel exporté d'Opale
Exécution.Type=xlsDonnée(sBudget,k,5)
Exécution.Type2=xlsDonnée(sBudget,k,8)
Exécution.Service=xlsDonnée(sBudget,k,11)
Exécution.Domaine=xlsDonnée(sBudget,k,14)
Exécution.Activité=xlsDonnée(sBudget,k,17)
Exécution.Dep_Rec=xlsDonnée(sBudget,k,35)
Exécution.Compte=xlsDonnée(sBudget,k,43)
//On récupère la valeur absolue de la colonne Budget
rAbsBudget est un réel
rAbsBudget=xlsDonnée(sBudget,k,64)
Exécution.Budget=Abs(rAbsBudget)
//On récupère la valeur absolue de la colonne Engagé
rAbsEngagé est un réel
rAbsEngagé=xlsDonnée(sBudget,k,65)
Exécution.Engagé=Abs(rAbsEngagé)
//On récupère la valeur absolue de la colonne Réalisé
rAbsRéalise est un réel
rAbsRéalise=xlsDonnée(sBudget,k,66)
Exécution.Réalisé=Abs(rAbsRéalise)
//On récupère la valeur absolue de la colonne En cours
rAbsEncours est un réel
rAbsEncours=xlsDonnée(sBudget,k,67)
Exécution.En_cours=Abs(rAbsEncours)
//On récupère la valeur absolue de la colonne Disponible
rAbsDisponible est un réel
rAbsDisponible=xlsDonnée(sBudget,k,68)
Exécution.Disponible=Abs(rAbsDisponible)
Exécution.RNE=xlsDonnée(sBudget,k,78)
//On ajoute les données dans la bdd Exécution
HAjoute(Exécution)
//On met à jour la table d'affichage
TableAffiche(TABLE_Exécution,taInit)
Avec ce code, on va pouvoir récupérer les valeurs contenues dans l'Onglet 2 puis importer les colonnes d'Excel qui nous intéressent pour les intégrer dans la base de données du logiciel.
Afin que les résultats soient cohérents, il va aussi falloir récupérer les valeurs absolues de toutes les données sinon on se retrouve avec tous les disponibles en négatif et ce n'est pas le but recherché...
A chaque importation, la base de données est vidée de tout son contenu et reçoit les nouvelles données alors qu'elle est vide. Cela permet d'éviter les ennuis avec les requêtes et les doublons éventuels...
Les requêtes
Les requêtes sont simples à gérer car dans le fichier importé il y a une colonne DEP et REC (Dépenses et recettes).
Mes requêtes fonctionnent donc comme Opale, en sélectionnant les recettes OU les dépenses pour effectuer les calculs.
Il aurait été encore plus simple d'importer d'Opale les Dépenses puis les Recettes mais ça m'obligeait à faire des manipulations ...
Pourquoi un bouton données pluriannuelles ?
Tout d'abord il est important de comprendre que les bases de données de l'évolution de la DGF et du FDR sont séparées de la base du budget. Cela signifie que les données qui y sont intégrées ne sont pas effacées lors de l'importation d'un nouveau budget.
D'accord mais pourquoi ? Simplement parce que je voulais avoir certains éléments à conserver même si je change de budget. Comme je suis agent comptable, je veux pouvoir importer plusieurs budgets distincts mais aussi conserver les éléments de mon établissement.