DOLIBARR VERSION 22.0.4 sur serveur interne QNAP
VERSION WEBSERVER : Apache/2.4.54 (Unix) OpenSSL/1.1.1s SVN/1.13.0-dev PHP/7.4.33
VERSION SGBD : MariaDB 5.5.68-MariaDB encodage utf8mb4_general_ci
Bonjour à tous,
J’ai l’erreur ci-dessous depuis un bon moment, cela n’empêche en rien le fonctionnement, mais ça devient juste gênant. Donc, ce message apparait lorsque je demande la liste des factures impayées, le message apparait en premier et la liste est juste en dessous.
Ma question est juste de savoir quoi faire pour empêcher cet affichage SQL. Une idée ?
Merci d’avance.
Error in request SELECT rowid as rowid, concat(lastname,’ ', firstname) FROM llx_user WHERE Filter error - Bad syntax of the search string ORDER BY concatlastname ASC, firstname ASC LIMIT 1000 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 ‹ error - Bad syntax of the search string ORDER BY concatlastname ASC, firstname A › at line 1. Check setup of extra parameters.
Bonjour,
Je pense qu’il y a 2 choses à faire :
- corriger l’extrafield en question et l’erreur disparaitra
- passez la constante dolibarr_main_prod à 1 dans le conf.php mais vous aurez toujours une erreur.
Faites une recherche sur Universal Search Criteria sur le forum pour retrouver la bonne façon d’écrire votre extrafield.
Bonjour et merci de ta réponse.
Passer la variable à 1 dans le conf ce n’est pas un problème, par contre ta réponse 1 là je ne comprends pas, car comment faire pour corriger cet Extrafield ?, cela fait partie de Dolibarr et je n’ai rien créé, quel est le fichier php qui crée cette requête sur la table llx_user ?
Un peu plus de précisions seraient les biens venus 
Hello,
Je ne sais pas dans quel fichier se situe le problème, mais le bug vient de plusieurs prblèmes à la fois.
Si on reprend la requête erronée :
SELECT rowid as rowid, concat(lastname,’ ', firstname) FROM llx_user WHERE Filter error - Bad syntax of the search string ORDER BY concatlastname ASC, firstname ASC LIMIT 1000
Il y a une tentative de tri sur contactlastname alors que la recherche est effectué dans la table llx_user et qu’elle ne contient pas de champs nommé ainsi.
Ensuite, dans le WHERE, il y a une erreur reportée (PHP ?) au lieu d’une condition.
Bref, c’est une requête qui est très mal embouchée
Oui très mal embouchée et pourtant elle est bien présente, malheureusement je ne me souviens plus à partir de quelle version de Dolibarr j’ai cette erreur. Si au moins je pouvais identifier la source, le code qui crée cette requête erronée, je pourrais simplement le mettre en commentaire puisque cela n’a à priori aucune incidence sur le fonctionnement.
j’ai pense à un extrafield à cause de cela :
à la fin de l’erreur. Est ce qu’il y a un tri par défaut qui traine ou qqchose comme cela dans la liste des factures ? cela ne le fait que là ?
@daraelmin il y a bien un champ lastname et firstname dans la table llx_user.
Effectivement, mais il n’y a pas de champ “contactlastname” qui est utilisé comme premier champ de tri du order by
Hello, j’ai eu un message d’erreur (j’ai pas trop fait gaffe au message exactement) lors de l’affichage d’une liste (tiers, factures, je ne sais plus laquelle) après une migration de ma v20 à la v22.
J’ai décroché l’affichage des colonnes dont j’étais sûr de n’avoir jamais coché l’affichage. Et puis pfiout, plus d’erreur…
J’ai retrouvé le message d’erreur dans la liste des factures.
Comme on peut le voir en bas de la capture, il y a une liste déroulante (vide) et, en dessous, la colonne « Tâche ».
Donc, je décoche « Tâche » dans la liste des colonne disponible à l’affichage et plus d’erreur.
Ceci dit, je confirme que « Tâche » est bien un extrafield.
1 « J'aime »
Bonjour @emheyarssi je n’ai pas tout a fait le même affichage
je viens de tester sur une 22.0.4 je n’ai pas le problème, il semblerait que cela vienne de la colonne des commerciaux affectés, vous pourriez nous donner la colonne exacte ou cela pose problème svp ?
Cela fait appel à la colonne ‹ concatlastname › de la table llx_user, mais cette colonne n’existe pas dans la table
Le fichier qui crée la requête est à priori : compta/facture/list.php
Hello,
Je n’ai pas réussi à le reproduire.
j’ai l’impression que votre menu cherche à créer une liste déroulante des user, j’imagine que c’est dans la colonne “créé par”, mais sur mon dolibarr, c’est un filtre de type texte et pas une liste déroulante.
Pouvez-vous confirmer ces hypothèses ? Le cas échéant, nous dire si vous avez un module thème ou autre spécifique pour ajouter des filtres ?
Sur le serveur, j’ai un autre Dolibarr qui pour l’instant est en 19.0.3, cette version fonctionne normalement et le code source d’une page (en 19.0.3) et de l’autre (22.0.4) n’est pas identique. Donc, je mets à jour la version qui fonctionne en 19.0.3 vers 22.0.4 sans rien modifier d’autre, il n’y aura que les données qui seront différentes. De cette façon soit l’erreur sera reproduite soit la requête sera complète et acceptée sans erreur, enfin je l’espère. Les modules installés sur les deux versions sont identiques. Le thème utilisé est Oblyon.
Bon, mise à jour terminée sur le deuxième Dolibarr et erreur identique au premier.