Erreur sur accès cotisation depuis Bank Journal

Bonjour,

Après une migration en 12.0.2, j’ai commencé à utiliser les modules Comptabilité ainsi que Banques.
Lorsque j’essaye d’accéder à une cotisation depuis Bank Journal, j’ai l’erreur suivante :

PHP: 5.6.40
Server: Apache
OS: Linux turbo-web1.celeo.net 3.2.8 #1 SMP Thu Mar 15 13:56:56 CET 2012 x86_64
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36

Url sollicitée: /adherents/subscription/card.php?rowid=3118
Referer: http://equipe.xxxxx.com/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3
Gestionnaire de menu: eldy_menu.php

Modules/Applications: user, bookmark, fckeditor, categorie, agenda, deplacement, don, ecm, facture, opensurvey, societe, tax, banque, adherent, projet, propal, mailing, export, import, accounting
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT rowid, fk_source, sourcetype, fk_target, targettype FROM llx_element_element WHERE (fk_source = AND sourcetype = ‹ subscription ›) OR (fk_target = AND targettype = ‹ subscription ›) ORDER BY sourcetype
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 MySQL server version for the right syntax to use near 'AND sourcetype = ‹ subscription ›) OR (fk_target = AND targettype = ‹ subscription › at line 1

J’ai pas mal cherché dans le forum mais je n’ai pas trouvé comment résoudre le problème.
Quelqu’un a-t-il une idée?
Merci bien.

Bonjour apprilab,

dans config>module>adhérent:
tu as quoi dans « Action complémentaire proposée par défaut à l’enregistrement de l’adhésion » ?

Bonjour Arre,

Pour répondre à ta question, j’ai choisi l’option : « Création une écriture directe sur le compte bancaire ou caisse »

Merci bien

testé en 12.0.4 et 13.0.1 : ça fonctionne.

As tu des modules tiers installés ?

Les adhésions sont elles antérieures à l’activation de la compta ? (si tu en crées une nouvelle maintenant : ça fonctionne ?)

Voici les réponses :

  • Oui, j’ai des modules Tiers installés
  • Oui, mêmes les nouvelles adhésions génèrent la même erreur.
    Merci

Comme le problème n’apparait pas sur un dolibarr qui vient d’être installé,
il s’agit certainement d’un module tiers
-> les désactiver un par un pour voir.
-> s’assurer qu’ils sont bien compatible avec ta version
-> voir avec ton intégrateur ou le dev du module concerné

Merci Arre,
Je me rends compte que je n’avais pas compris ta question sur les modules Tiers. Je croyais que tu me demandais si je gérais des Tiers. Alors, j’ai répondu Oui. Mais j’aurais dû dire Non car je n’ai pas installé de modules Tiers.
L’erreur pourrait-elle être due à un mauvais paramétrage des comptes par défaut ?
Merci bien

ah ! ok :slight_smile:
non, je ne pense pas: c’est une erreur sql, pas un défaut de paramétrage.

Tu peux activer les logs, refaire l’action et copier/coller ici depuis les logs la requête qui pose pb ?

Merci beaucoup de ton aide

voici les logs

  • 2021-02-13 18:21:09 DEBUG sql=SELECT DISTINCT r.module, r.perms, r.subperms FROM llx_usergroup_right…debug
  • 2021-02-13 18:21:09 INFO — Access to /adherents/subscription/card.php - action=, massaction=info
  • 2021-02-13 18:21:09 DEBUG sql=SELECT transkey, transvalue FROM llx_overwrite_trans where lang='fr_FR…debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftm…debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT rowid, title, url, target FROM llx_bookmark WHERE (fk_user = 2 …debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT rowid, code, label, nature FROM llx_accounting_journal WHERE en…debug
  • 2021-02-13 18:21:09 DEBUG Subscription::fetchdebug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT rowid, fk_type, fk_adherent, datec, tms, dateadh as dateh, date…debug
  • 2021-02-13 18:21:09 DEBUG Adherent::fetchdebug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT d.rowid, d.ref_ext, d.civility as civility_code, d.gender, d.fi…debug
  • 2021-02-13 18:21:09 DEBUG Translate::getLabelFromKeydebug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT label as label FROM llx_c_civility WHERE code = 'Mme’debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT rowid,name,label,type,size,elementtype,fieldunique,fieldrequire…debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT rowid, grp, hist, npai, mpai, mens, einfos FROM llx_adherent_ex…debug
  • 2021-02-13 18:21:09 DEBUG Adherent::fetch_subscriptionsdebug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT c.rowid, c.fk_adherent, c.fk_type, c.subscription, c.note, c.fk…debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT MAX(te.rowid) FROM llx_subscription as te, llx_adherent as pare…debug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT MIN(te.rowid) FROM llx_subscription as te, llx_adherent as pare…debug
  • 2021-02-13 18:21:09 DEBUG Adherent_type::fetchdebug
  • 2021-02-13 18:21:09 DEBUG sql=SELECT d.rowid, d.libelle as label, d.morphy, d.statut as status, d.du…debug
  • 2021-02-13 18:21:10 DEBUG Subscription::fetchObjectLinkdebug
  • 2021-02-13 18:21:10 DEBUG sql=SELECT rowid, fk_source, sourcetype, fk_target, targettype FROM llx_el…debug
  • 2021-02-13 18:21:10 ERR DoliDBMysqli::query SQL Error message: DB_ERROR_SYNTAX You have an error in …error
  • 2021-02-13 18:21:10 ERR Error url=/adherents/subscription/card.php?rowid=2610, query_string=rowid=26…

Voici les statements database
13 statements were executed, 1 of which failed

  • SELECT transkey, transvalue FROM llx_overwrite_trans where lang='fr_FR' OR lang IS NULL AND entity IN (0, 1) ORDER BY lang DESC
  • SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
  • SELECT rowid, title, url, target FROM llx_bookmark WHERE (fk_user = 2 OR fk_user is NULL OR fk_user = 0) AND entity IN (1) ORDER BY position
  • SELECT rowid, code, label, nature FROM llx_accounting_journal WHERE entity = 1 AND active = 1 ORDER BY label DESC
  • SELECT rowid, fk_type, fk_adherent, datec, tms, dateadh as dateh, datef, subscription, note, fk_bank FROM llx_subscription WHERE rowid=2610
  • SELECT d.rowid, d.ref_ext, d.civility as civility_code, d.gender, d.firstname, d.lastname, d.societe as company, d.fk_soc, d.statut, d.public, d.address, d.zip, d.town, d.note_private, d.note_public, d.email, d.socialnetworks, d.phone, d.phone_perso, d.phone_mobile, d.login, d.pass, d.pass_crypted, d.photo, d.fk_adherent_type, d.morphy, d.entity, d.datec as datec, d.tms as datem, d.datefin as datefin, d.birth as birthday, d.datevalid as datev, d.country, d.state_id, d.model_pdf, c.rowid as country_id, c.code as country_code, c.label as country, dep.nom as state, dep.code_departement as state_code, t.libelle as type, t.subscription as subscription, u.rowid as user_id, u.login as user_login FROM llx_adherent_type as t, llx_adherent as d LEFT JOIN llx_c_country as c ON d.country = c.rowid LEFT JOIN llx_c_departements as dep ON d.state_id = dep.rowid LEFT JOIN llx_user as u ON d.rowid = u.fk_member WHERE d.fk_adherent_type = t.rowid
  • SELECT label as label FROM llx_c_civility WHERE code = 'Mme'
  • SELECT rowid, grp, hist, npai, mpai, mens, einfos FROM llx_adherent_extrafields WHERE fk_object = 2296
  • SELECT c.rowid, c.fk_adherent, c.fk_type, c.subscription, c.note, c.fk_bank, c.tms as datem, c.datec as datec, c.dateadh as dateh, c.datef as datef FROM llx_subscription as c WHERE c.fk_adherent = 2296 ORDER BY c.dateadh
  • SELECT MAX(te.rowid) FROM llx_subscription as te, llx_adherent as parenttable WHERE te.rowid < '' AND te.fk_adherent = parenttable.rowid AND parenttable.entity IN (1)
  • SELECT MIN(te.rowid) FROM llx_subscription as te, llx_adherent as parenttable WHERE te.rowid > '' AND te.fk_adherent = parenttable.rowid AND parenttable.entity IN (1)
  • SELECT d.rowid, d.libelle as label, d.morphy, d.statut as status, d.duration, d.subscription, d.mail_valid, d.note, d.vote FROM llx_adherent_type as d WHERE d.rowid = 1
  • SELECT rowid, fk_source, sourcetype, fk_target, targettype FROM llx_element_element WHERE (fk_source = AND sourcetype = 'subscription') OR (fk_target = AND targettype = 'subscription') ORDER BY sourcetype [DB_ERROR_SYNTAX] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND sourcetype = ‹ subscription ›) OR (fk_target = AND targettype = ‹ subscription › at line 1

bizarre,
fk_source et fk_ttarget ne sont pas définis…

tu es toujours en 12.0.2 ou tu es passé en 12.0.4 ?

je suis toujours en 12.0.2

Alors essaie de passer à la version la plus à jour de la branche 12 : la 12.0.4.
C’était peut être un bug de la 12.0.2.

OK, je ferai ça demain.
Merci et bonne soirée

Bonjour Arre,
Je suis passé en 12.0.4. Le bug est toujours là.
En examinant d’un peu plus près, je constate que, dans le journal de banque, c’est le numéro d’adhérent au lieu du numéro d’adhésion qui est envoyé quand on clique sur la petite icone pour afficher les détails de l’adhésion…
A bientôt.

Sur les anciennes ?
ou sur une nouvelle crée en 12.0.4 ?

Sur toutes les adhésions. Je viens de tester en 12.0.4, même chose.

Bonjour Arre,

Oui, le phénomène se produit sur toutes les adhésions. J’ai testé en 12.0.4, c’est même chose.
Qu’en pensez-vous ?

Merci bien

étrange vu que ça fonctionne sur une install neuve …
ou alors, on ne parle pas de la même chose:
peux tu prendre un screen de l’écran sur le quel tu cliques et un screen de l’écran une fois l’erreur apparue ? (en faisant apparaitre les url à chaque fois stp, mais en masquant le domaine et autres infos perso)

Voici les infos demandées:
adresse de la page : [xxxxxx.com/accountancy/journal/bankjournal.php?mainmenu=accountancy&leftmenu=accountancy_journal&id_journal=3]

Quand on passe la souris, le message « Afficher l’adhésion 2610 » apparaît. Mais comme je l’ai mis sur la capture, ce numéro d’adhésion n’existe pas, c’est le numéro d’adhérent.

Merci bien!

Tu as raison, il y a une erreur. (je ne le voyais pas en faisant un test car tous mes id étaient à 1)

Il faut le faire remonter le bug sur github, tu sais faire ?