Erreur clone devis facture

Bonjour,

Depuis la version 18.0.0, une erreur se produit lorsque je souhaite cloner un devis.

erreur ci-dessous.

Dolibarr a détecté une erreur technique.
Ces informations peuvent être utiles à des fins de diagnostic (vous pouvez définir l’option $dolibarr_main_prod sur ‹ 1 › pour masquer les informations sensibles):
Date: 20230906162429
Dolibarr: 18.0.1 -
Niveau de fonctionnalités: 0
PHP: 7.3.33
Serveur: Apache
OS: Linux .fr..net 4.18.0-425.13.1.lve.el7h.x86_64 #1 SMP Mon Feb 27 14:44:55 UTC 2023 x86_64
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69

Url sollicitée: /comm/propal/card.php?id=3800&socid=116&action=clone&token=d167615bd963871b8b83a4074158e2f9&object=propal
Referer: https://*******.fr/comm/propal/card.php?id=3800&socid=116&action=clone&token=d167615bd963871b8b83a4074158e2f9&object=propal
Gestionnaire de menu: eldy_menu.php

Modules/Applications: user, multicompany, dolicalc, mailing, facture, ftp, societe, propal, banque, prelevement, mrp, product, stock, bom, accounting, expedition, tax, commande, workflow, fournisseur, agenda, autonotes, service, soustotal, ecm, fckeditor, categorie, barcode
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur FROM llxif_societe as s WHERE s.entity IN (1,3,4,5,6,7,8,10,11,2) AND (Filter syntax error - Bad syntax of the search string) ORDER BY nom ASC
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 ‹ syntax error - Bad syntax of the search string) ORDER BY nom ASC › at line 1

BUG?

Bonjour,

Je ne reproduis pas le bug sur mon installation.

Vous avez des modules externes ?
Si oui désactivez les pour voir
Si non, pouvez-vous activer le module log de dolibarr et reproduire le défaut et nous renvoyer le résulat ?
image

Merci pour la réponse

fichier log en zip car trop volumineux
dolibarr-log.zip (298,1 Ko)

Même si j’ai un très grand doute de savoir quel est le module qui pose un problème.

J’attends bien une confirmation.

Pour moi, c’est le module multisociete (non mise à jour, je dois le reconnaître).

Bonjour,

Effectivement ça semble être multicompany qui fou le bazard :

2023-09-06 20:36:07 DEBUG   ******    HookManager::initHooks Loading hooks: context=commonobject-path=/multicompany/class/actions_multicompany.class.php
2023-09-06 20:36:07 DEBUG   ******    sql=SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total_ht FROM llxif_societe as s, llxif_commande as t WHERE t.fk_soc = s.rowid AND t.fk_soc IN (493) AND t.entity IN (2,3,4,5,6,7,8,10,11,1)
2023-09-06 20:36:07 DEBUG   ******    sql=SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total as total_ht FROM llxif_societe as s, llxif_facture as t WHERE t.fk_soc = s.rowid AND t.fk_soc IN (493) AND t.entity IN (2,3,11,1)
2023-09-06 20:36:07 ERR     ******    DoliDBMysqli::query SQL Error message: DB_ERROR_NOSUCHFIELD Unknown column 't.total' in 'field list'
2023-09-06 20:36:07 ERR     ******    Error url=/comm/propal/card.php?id=2938&save_lastsearch_values=1, query_string=id=2938&save_lastsearch_values=1, sql=SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total as total_ht FROM llxif_societe as s, llxif_facture as t WHERE t.fk_soc = s.rowid AND t.fk_soc IN (493) AND t.entity IN (2,3,11,1), db_error=Unknown column 't.total' in 'field list'
2023-09-06 20:36:11 DEBUG   ******    HookManager::initHooks Loading hooks: context=main-path=/multicompany/class/actions_multicompany.class.php
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT s.rowid, s.nom as name, s.name_alias, s.entity, s.ref_ext, s.address, s.datec as date_creation, s.prefix_comm, s.status, s.fk_warehouse, s.price_level, s.tms as date_modification, s.fk_user_creat, s.fk_user_modif, s.phone, s.fax, s.email, s.socialnetworks, s.url, s.zip, s.town, s.note_private, s.note_public, s.client, s.fournisseur, s.siren as idprof1, s.siret as idprof2, s.ape as idprof3, s.idprof4, s.idprof5, s.idprof6, s.capital, s.tva_intra, s.fk_typent as typent_id, s.fk_effectif as effectif_id, s.fk_forme_juridique as forme_juridique_code, s.webservices_url, s.webservices_key, s.model_pdf, s.last_main_doc, s.code_compta, s.code_compta_fournisseur, s.accountancy_code_buy, s.accountancy_code_sell, s.vat_reverse_charge as soc_vat_reverse_charge, s.code_client, s.code_fournisseur, s.parent, s.barcode, s.fk_departement as state_id, s.fk_pays as country_id, s.fk_stcomm, s.mode_reglement, s.cond_reglement, s.deposit_percent, s.transport_mode, s.fk_account, s.tva_assuj, s.mode_reglement_supplier, s.cond_reglement_supplier, s.transport_mode_supplier, s.localtax1_assuj, s.localtax1_value, s.localtax2_assuj, s.localtax2_value, s.fk_prospectlevel, s.default_lang, s.logo, s.logo_squarred, s.fk_shipping_method, s.outstanding_limit, s.import_key, s.canvas, s.fk_incoterms, s.location_incoterms, s.order_min_amount, s.supplier_order_min_amount, s.fk_multicurrency, s.multicurrency_code, fj.libelle as forme_juridique, e.libelle as effectif, c.code as country_code, c.label as country, d.code_departement as state_code, d.nom as state, r.rowid as region_id, r.code_region as region_code, st.libelle as stcomm, st.picto as stcomm_picto, te.code as typent_code, i.libelle as label_incoterms, sr.remise_client, sr2.remise_supplier FROM llxif_societe as s LEFT JOIN llxif_c_effectif as e ON s.fk_effectif = e.id LEFT JOIN llxif_c_country as c ON s.fk_pays = c.rowid LEFT JOIN llxif_c_stcomm as st ON s.fk_stcomm = st.id LEFT JOIN llxif_c_forme_juridique as fj ON s.fk_forme_juridique = fj.code LEFT JOIN llxif_c_departements as d ON s.fk_departement = d.rowid LEFT JOIN llxif_c_regions as r ON d.fk_region = r.code_region  LEFT JOIN llxif_c_typent as te ON s.fk_typent = te.id LEFT JOIN llxif_c_incoterms as i ON s.fk_incoterms = i.rowid LEFT JOIN llxif_societe_remise as sr ON sr.rowid = (SELECT MAX(rowid) FROM llxif_societe_remise WHERE fk_soc = s.rowid AND entity IN (1)) LEFT JOIN llxif_societe_remise_supplier as sr2 ON sr2.rowid = (SELECT MAX(rowid) FROM llxif_societe_remise_supplier WHERE fk_soc = s.rowid AND entity IN (1)) WHERE s.entity IN (2,3,4,5,6,7,8,10,11,1) AND s.rowid = 493
2023-09-06 20:36:11 DEBUG   ******    Propal::liste_contact
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT ec.rowid, ec.statut as statuslink, ec.fk_socpeople as id, ec.fk_c_type_contact, '-1' as socid, t.statut as statuscontact, t.login, t.photo, t.civility as civility, t.lastname as lastname, t.firstname, t.email, tc.source, tc.element, tc.code, tc.libelle FROM llxif_c_type_contact tc, llxif_element_contact ec LEFT JOIN llxif_user t on ec.fk_socpeople = t.rowid WHERE ec.element_id = 2938 AND ec.fk_c_type_contact = tc.rowid AND tc.element = 'propal' AND tc.source = 'internal' AND tc.active = 1 ORDER BY t.lastname ASC
2023-09-06 20:36:11 DEBUG   ******    Propal::liste_contact
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT ec.rowid, ec.statut as statuslink, ec.fk_socpeople as id, ec.fk_c_type_contact, t.fk_soc as socid, t.statut as statuscontact, t.civility as civility, t.lastname as lastname, t.firstname, t.email, tc.source, tc.element, tc.code, tc.libelle FROM llxif_c_type_contact tc, llxif_element_contact ec LEFT JOIN llxif_socpeople t on ec.fk_socpeople = t.rowid WHERE ec.element_id = 2938 AND ec.fk_c_type_contact = tc.rowid AND tc.element = 'propal' AND tc.source = 'external' AND tc.active = 1 ORDER BY t.lastname ASC
2023-09-06 20:36:11 INFO    ******    files.lib.php::dol_dir_list path=/home/esdmmzfe/dolibarrdata/7/propale/DEVIS-ZC-2303-00043 types=files recursive=0 filter= excludefilter="(\\.meta|_preview.*\\.png)$"
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT COUNT(rowid) as nb FROM llxif_links WHERE objecttype = 'propal' AND objectid = 2938 AND entity = 1
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT COUNT(id) as nb FROM llxif_actioncomm WHERE fk_element = 2938 AND elementtype = 'propal'
2023-09-06 20:36:11 DEBUG   ******    Form::select_thirdparty_list
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur FROM llxif_societe as s WHERE s.entity IN (2,3,4,5,6,7,8,10,11,1) AND (((s.client IN (1,2,3)))) ORDER BY nom ASC
2023-09-06 20:36:11 DEBUG   ******    Form::select_thirdparty_list
2023-09-06 20:36:11 DEBUG   ******    sql=SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur FROM llxif_societe as s WHERE s.entity IN (2,3,4,5,6,7,8,10,11,1) AND (Filter syntax error - Bad syntax of the search string) ORDER BY nom ASC
2023-09-06 20:36:11 ERR     ******    DoliDBMysqli::query SQL Error message: DB_ERROR_SYNTAX 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 'syntax error - Bad syntax of the search string) ORDER BY nom ASC' at line 1
2023-09-06 20:36:11 ERR     ******    Error url=/comm/propal/card.php?id=2938&socid=493&action=clone&token=7d3d0f6c051c20f1f830f3d7ed977778&object=propal, query_string=id=2938&socid=493&action=clone&token=7d3d0f6c051c20f1f830f3d7ed977778&object=propal, sql=SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur FROM llxif_societe as s WHERE s.entity IN (2,3,4,5,6,7,8,10,11,1) AND (Filter syntax error - Bad syntax of the search string) ORDER BY nom ASC, db_error=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 'syntax error - Bad syntax of the search string) ORDER BY nom ASC' at line 1

Merci pour la réponse

Après mise à jour du plugin multicompany le problème persiste.

Ci-joint le fichier log.

dolibarr .zip (1,8 Mo)

Je vais contacter www.inodbox.com.

Régis Houssin posté 07/09/2023 10:42
Bonjour,
cette erreur ne concerne pas Multicompany !
avez-vous d’autres modules externes ?

problème résolue par Régie

Bonjour,

Super @regis !

Pouvez-vous partager la solution ?

Merci

@REGIS a mis à jour le plugin

Ok donc c’était bien lié à Multicompany ?

oui

Régis Houssin posté 07/09/2023 11:48
effectivement il y a eu des changements dans Dolibarr 18, ci-dessous le module corrigé

Bonsoir tout le monde.
où peut on trouve le module corrigé svp ?
faut il racheter le module complet ?
Merci.

Bonjour,
Je serais également intéressé de la correction apportée suite au passage à Dolibarr 18, je retrouve le même bug dans un autre plugin.

Merci @regis !

Bonjour
oui désolé c’était un filtre Dolibarr qui a changé et que je reprenais dans Multicompany dans son ancienne version…
Vous pouvez me contacter par mail afin de récupérer la mise à jour
R

Bonjour,
il me semble avoir une erreur similaire, lorsque je veux cloner une propal sur la machine en prod, depuis que je suis passé de la V17 à la V18.0.5.
Voici le message obtenu : (Sur ma machine de test pas de souci :roll_eyes:)

Dolibarr a détecté une erreur technique.
Ces informations peuvent être utiles à des fins de diagnostic (vous pouvez définir l’option $dolibarr_main_prod sur ‹ 1 › pour masquer les informations sensibles):
Date: 20240308111742
Dolibarr: 18.0.5 -
Niveau de fonctionnalités: 0
PHP: 7.4.33
Server: Apache
OS: Linux 5.14.21-150400.24.66-default #1 SMP PREEMPT_DYNAMIC Tue Jun 6 10:18:38 UTC 2023 (98adc02) x86_64
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0

Url sollicitée: /dolibarr17/htdocs/comm/propal/card.php?id=2578&socid=304&action=clone&token=2349c9980c523705456329f2a6cc2a06&object=propal
Referer: /comm/propal/card.php?id=2578&save_lastsearch_values=1
Gestionnaire de menu: eldy_menu.php

Modules/Applications: api, syslog, user, modulebuilder, bookmark, propal, subtotal, prixmasse, timesheet, taskgantt, dav, eventorganization, notification, cdav, workflow, categorie, stock, contrat, ficheinter, expedition, supplier_proposal, product, projet, importpropallines, adherent, comptabilite, vpm, loan, dolitools, import, export, prelevement, tax, agenda, reception, banque, cron, commande, don, ecm, externalsite, expensereport, facture, hrm, fournisseur, holiday, margin, opensurvey, resource, salaries, service, societe, extraprice, variants, fckeditor
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT s.rowid, s.nom as name, s.name_alias, s.tva_intra, s.client, s.fournisseur, s.code_client, s.code_fournisseur FROM llx_societe as s WHERE s.entity IN (1) AND (Filter syntax error - Bad syntax of the search string) ORDER BY nom ASC
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 ‹ syntax error - Bad syntax of the search string) ORDER BY nom ASC › at line 1

pouvez-vous m’aider SVP ?
merci par avance