Après plusieurs mois de boulot, j’ai le plaisir de vous annoncer la sortie de mon module de suivi des subventions, financements et paiements.
J’étais un peu frustré de prendre autant de plaisir à utiliser Dolibarr et à gérer mon suivi de subventions dans un tableau Excel… donc j’ai pris le temps d’apprendre à coder en PHP, avec l’aide de toute la communauté, d’une petite visio avec @defrance (+ ses vidéos tuto) pour pouvoir sortir de module de terre.
J’ai développé ça en partant du module-builder, en essayant un peu tous les trucs qui existait (droits, menus, hooks, dictionnaires, traductions, tabs, import-export et même un petit script. Merci pour tout le travail accompli par la communauté, sans quoi je n’aurais jamais fait ce module. Je reste débutant, donc c’est sans doute codé un peu à la pisse
Bref, il est où ce module ? Il est et gratuit sur le Dolistore : Suivi des subventions (ce n’est pas la version la plus à jour)
Les modules qui touchent à l’associatif ou aux RH sont souvent un peu lésé (pas de budget ou pas la priorité). Donc je vais essayer de travailler sur des améliorations dans ce sens à l’avenir.
Merci pour ton message !
Alors aujourd’hui ce n’est pas possible, mais c’est une amélioration que je souhaite mettre en place dans une prochaine version.
Il faut que je termine deux autres projets avant, mais je m’en occuperai ensuite.
Sauf si c’est quelque chose que tu sais gérer ?
bravo pour ce module subvention qui s’avère très utile pour notre asso.
J’ai cependant un problème. Je ne parviens pas à enregistrer un paiement, j’ai ce message :
*Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home/dolicharpente/www/dolicharpente.futuretic.fr/htdocs/core/lib/functions.lib.php on line 2210
Deprecated: preg_match(): Passing null to parameter #2 ($subject) of type string is deprecated in /home/dolicharpente/www/dolicharpente.futuretic.fr/htdocs/custom/subventions/class/paiement.class.php on line 454
This website or feature is currently temporarily not available or failed after a technical error.
This may be due to a maintenance operation. Current status of operation (2026-04-26T09:32:32Z) are on next line…
Dolibarr a détecté une erreur technique. Vous pouvez lire le fichier log ou définir l’option $dolibarr_main_prod sur ‹ 0 › dans votre fichier de configuration pour obtenir plus d’informations.*
Ton problème vient très probablement d’une mise à jour de PHP sur ton serveur (8.1+), qui est devenu plus strict sur les valeurs null passées à certaines fonctions. Si le module fonctionnait avant sans rien changer de ton côté Dolibarr, c’est quasi-certainement ça.
Ce sont 2 erreur similaires mais en deux endroits :
De ton côté tu mets à jour Dolibarr. La première erreur vient du core Dolibarr (functions.lib.php), les versions récentes, à partir ed la V19 il me semble, ont déjà ce correctif.
@Kusco deux occurrences de preg_match dans paiement.class.php (lignes 452 et 497) qui reçoivent $this->ref potentiellement null.a priori c’est le problème
merci pour ta réponse. Je transmets l’info à notre hébergeur car ça dépasse mes compétence. J’ai exploré un peu plus et il s’avère que ce module n’est pas compatible actuellement avec la v23 que nous utilisons. Une màj est elle prévue prochainement ?
Oops, au temps pour moi ! En regardant de plus près la ligne 2210, le core v23 n’est pas en cause, il reçoit simplement un null passé par le module. La correction à apporter est dans paiement.class.php côté @Kusco. Et retrouver la trace de l’appelant qui déclenche la première erreur sur le str_replace()
Donc on est sur une Debian 13 avec PHP 8.4, du coup ça explique les warnings, mais ils n’ont pas l’air bloquant.
Par ailleurs, on est bien sur Dolibarr 23.0.2.
Par contre, si je passe la variable $dolibarr_main_prod à 0, on voit la véritable erreur.
Lorsque que l’on tente un paiement, ou que l’on regarde la liste des paiements, il y a une requête SQL qui tente de récupérer la colonne “status” de la table subventions_paiement… mais elle n’existe pas.
Alors placement de produit si tu veux vérifier rapidement si des champs ou tables manquent dans ton instance Dolibarr que cela soit celles du core ou de modules externes tu as le module DoliDiag et son outil de vérification de Schéma DB par rapport aux DDL.
Désolé pour mon absence de réponse, je suis particulièrement chargé en ce moment…
Merci pour les infos, je vais jeter un oeil à tout ça, mais c’est vrai qu’avec le module-builder, les fichiers SQL ne sont pas systématiquement mis à jour, donc ça ne m’étonne pas que ça soit un oubli de ma part.
Excusez-moi pour la gêne occasionnée.
Merci pour le module @DzProd je pense que je vais le prendre pour m’aider à monter en compétence sur le sujet.
Passez une excellente journée !