Impossible de renommer un relevé

Bonjour,

Quand j’essaie de renommer un relevé ca ne fonctionne pas. Il n’y a pas d’erreur apparente. Ca reviens au sommaire des relevés, inchangé.

Merci

Ubuntu Server 18.04 à jour
Dolibarr 10.0.1
PostgreSQL 10.10
Apache 2.4.29
PHP 7.2.19

Slt

Un relevé de quoi ?
Pas compris la
C est de la compta …?

Salut JosQuelqu1,

ça doit venir de ton install : je viens de tester sur une 10.0.1 et ça fonctionne.
quelle syntaxe utilises tu pour nommer tes relevés ?

Dans le module « Banques | Caisses »

Ancien nom : 201809
Nouveau nom : 2018-09

C’est comme ca que je les nommes maintenant sans problème mais pour renommer ca ne fonctionne pas. J’essais de simplement ajouter une lettre et ca ne fonctionne pas.

Si c’est mon installation, est-ce que je peux simplement réinstaller mon serveur Ubuntu/Dolibarr et restaurer la sauvegarde? Ou si le problème va suivre?

Merci de votre aide.

Salut JosQuelqu1,

le champs contenant le nom du relevé est du texte limité à 50 caractères, donc pas de raison que ça ne fonctionne pas.
Champs num_releve dans la table llx_bank : varchar(50)

tu es sûr et certains que la mise à jour n’est pas effective ?
comme l’écran trie les relevés par ordre alphabétique, le nom du relevé que tu changes se retrouve tout en bas, voir dans une autre page.

Le relevé que tu renomme est encore là tel qu’avant la modif ? tu es sûr ?

Sûr et certain. J’ai seulement 8 relevés.

Étrange… pourquoi ça fonctionnerait sur une instance 10.0.1 chez moi alors que ça ne fonctionnerait pas chez toi …
on est d’accord : tu vas dans le compte bancaire, onglet relevé et tu cliques sur le crayon pour le renommer et tu valides grâce au bouton « rename » ?

si oui :

il va falloir se plonger dans les logs :

va dans Accueil > configuration > modules et active « Journaux et traces de Debug »

ensuite, va renommer un relevé

et retourne dans Accueil > configuration > modules>« Journaux et traces de Debug » (le petit engrenage à droite du module
et clique sur le liens « télécharger » en face de fichier.
ça contiendra toutes les manip que tu as fait, et tu y verra peut être une erreur.

(et désactive ensuite « Journaux et traces de Debug » : tu aurais un log qui ne ferait que grossir pour rien)

Il faut aussi regarder les logs apache (mais la localisation du log dépend de ton installation)

Voici mon post sur Github si ca peut aider

ton erreur est là :

2019-08-07 19:51:19 DEBUG 10.0.1.200 sql=UPDATE llx_bank SET num_releve = « 2018-08 » WHERE num_releve = « 201808 »
2019-08-07 19:51:19 ERR 10.0.1.200 DoliDBPgsql::query SQL Error message: ERROR: 42703: column « 201808 » does not exist
LINE 1: …_bank SET num_releve = « 2018-08 » WHERE num_releve = « 201808 »
^
LOCATION: errorMissingColumn, parse_relation.c:3293 (DB_ERROR_NOSUCHFIELD)

alors que la syntaxe de la requête : UPDATE llx_bank SET num_releve = « 2018-08 » WHERE num_releve = « 201808 »
est juste.

Je ne comprends pas pourquoi il veut chercher une colonne qui s’appellerai « 201808 »

Comment je peux corriger ca?

Ce qui est étrange c’est que le UPDATE est directement dans le code de la page /compta/bank/releve.php, alors que ça devrait passer par la classe AccountLine comme tous les autres scripts.
Pourtant, je n’y voit aucun test qui fait qu’il y aurait une différence entre mysql et postgre.

Bref, mes compétences s’arrêtent ici, et je n’ai pas d’instance sous postgre pour faire des tests.

Il te faudra attendre qu’un dev se penche sur le problème.

En attendant :
C’est la table llx_bank
le champs : num_releve
tu peux faire les modif manuellement ou avec un update directement dans la base de données (vu que c’est un problème ponctuel, ça ne te gênera pas dans un avenir proche, en attendant un correctif)

Ok merci,

c’est déjà ca!

Toujours présent dans 10.0.2

Bon j’ai refais mon serveur Dolibarr en neuf et j’ai migré la BD PostgreSQL 10 à 12.

meme probleme…

php 7.3
postgresql 12

(message identique dans mon autre sujet)

Bonjour,

J’ai l’impression que c’est à cause des double guillemts
pouvez changer la ligne https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/compta/bank/releve.php#L178

$sqlupdate = 'UPDATE '.MAIN_DB_PREFIX.'bank SET num_releve = "'.$db->escape($newbankreceipt).'" WHERE num_releve = "'.$db->escape($oldbankreceipt).'"';
En

$sqlupdate = 'UPDATE '.MAIN_DB_PREFIX.'bank SET num_releve = \''.$db-\>escape($newbankreceipt).'\' WHERE num_releve = \''.$db-\>escape($oldbankreceipt).'\'';

1 « J'aime »

Je viens de tester avec une installation fraiche et un BD vierge et le probleme se produit

J’ai activé le module banque et caisse, rempli les champs obligatoire seulement et configuré :
pays : canada
province : quebec
devise : cad
assujetti a la TVQ (2e taxe) : oui

le probleme de rapport par mois pour taxe 2 aussi se produit

toujours présent dans 10.0.3

la j’écris du texte inutile autrement le forum me laisse pas poster le message comme je l’ai aussi écris dans mon autre tread

Salut JosQuelqu1,

as tu testé la modification proposée par ksar ? (le remplacement des doules quote par simple quote)

Je viens de tester et ca fonctionne très bien, merci beaucoup!

Bonjour,

Je suis en version 18.0.0, je rencontre le même problème (je cherche à renommer un relevé « 20230408 » en « 20230428 »).

Dans les logs, je trouve le message suivant :
2023-08-25 16:22:31 ERR 2a01:cb11:74e:8f00:390a:841e:2c34:45d8 DoliDBMysqli::query SQL Error query: UPDATE sve9_bank SET num_releve = ‹ 20230428 › WHERE num_releve = ‹ 20230408 › AND fk_account = 1 AND entity IN (1)
2023-08-25 16:22:31 ERR 2a01:cb11:74e:8f00:390a:841e:2c34:45d8 DoliDBMysqli::query SQL Error message: DB_ERROR_NOSUCHFIELD Unknown column ‹ entity › in ‹ where clause ›