J’ai fait une petite boulette : j’ai supprimé l’écriture bancaire du paiement d’une facture (au lieu de supprimer le paiement lui-même). Du coup, maintenant, le paiement a une référence cassée, et je ne peux plus ni le détruire ni l’éditer !
Pouvez-vous m’indiquer comment résoudre ce problème ? J’imagine qu’il va falloir aller taper dans la base de données ?
Merci d’avance.
Url sollicitée: /compta/bank/line.php?rowid=
Referer: https://dolibarr.logre.eu/compta/paiement/card.php?action=editnote&id=3
Gestionnaire de menu: eldy_menu.php
Modules/Applications: syslog, user, bookmark, adherent, comptabilite, banque, mailing, export, import, fckeditor, propal, don, ecm, facture, societe, categorie
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT c.label, c.rowid FROM llx_bank_class as a, llx_bank_categ as c WHERE a.lineid= AND a.fk_categ = c.rowid ORDER BY c.label
Code retour dernier accès en base en erreur: DB_ERROR_SYNTAX
Information sur le dernier accès en base en erreur: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AND a.fk_categ = c.rowid ORDER BY c.label' at line 1
Warning: Invalid argument supplied for foreach() in /var/www/html/compta/bank/line.php on line 253
Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l'option $dolibarr_main_prod sur '1' pour supprimer quelques notifications):
Date: 20211022094651
Dolibarr: 11.0.2
Niveau de fonctionnalités: 0
PHP: 7.2.28
Server: Apache/2.4.38 (Debian)
OS: Linux e18825c1f7e4 4.9.0-14-amd64 #1 SMP Debian 4.9.240-2 (2020-10-30) x86_64
UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:93.0) Gecko/20100101 Firefox/93.0
PS : au passage, il ne devrait pas être possible de supprimer une entrée référencée par une autre entrée. Il me semble que MySQL (ou MariaDB) permet de créer des tables liées qui empèche ça, non ?
ça donne l’erreur plus complète que j’ai postée plus haut (je n’ai pas tout mis, y’a sans doute des infos à ne pas transmettre ; faut que je vois avec l’admin de la machine ce que je peux montrer ou pas.
Bon, on a finalement remonté un backup, et tout est rentré dans l’ordre.
Mais ce serait bien 1) d’avoir au moins un avertissement lorsqu’on qu’on essaye de détruire une écriture référencée 2) qu’une fois l’écriture détruite, la procédure de réparation répare réellement la base.
Je précise que j’avais déjà fais ce genre de boulette avec une cotisation adhérent, et ça m’avait foutu le même bouzin, sans solution.
J’ai eu ce problème aujourd’hui.
Impossible de supprimer l’écriture de règlement.
Rien était écrit dans le grand livre.
J’ai donc supprimé le règlement de la facture dans la BDD : la dernière ligne sur les tables paiement et paiement_facture
Après recherche, ces lignes n’étaient pas liées à d’autres tables (mais je peux me tromper)
Cependant, c’est toujours délicat de supprimer des éléments dans la BDD. Il serai effectivement bien d’avoir quelque chose qui check les liens cassés et propose de les supprimer correctement.