Bienvenue, Invité
Nom d'utilisateur : Mot de passe : Se souvenir de moi

SUJET : [RESOLU] ventilation client Comptabilité Expert

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65451

  • bsizorn
  • Portrait de bsizorn
  • Hors ligne
  • Senior Boarder
  • Messages : 56
  • Remerciements reçus 2
  • Karma: 0
Bonjour @asparango.

non, ni l'un ni l'autre. C'est une version de base de Dolibarr, sans aucun module de Dolistore, juste la comptabilitéExpert d'activée.

Bruno
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65452

  • bsizorn
  • Portrait de bsizorn
  • Hors ligne
  • Senior Boarder
  • Messages : 56
  • Remerciements reçus 2
  • Karma: 0
@asparango et Fred,

faites une pause, j'ai un doute sur un truc, Je vérifie tout ça et je reviens vers vous

A plus tard

Merci
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65454

  • bsizorn
  • Portrait de bsizorn
  • Hors ligne
  • Senior Boarder
  • Messages : 56
  • Remerciements reçus 2
  • Karma: 0
Me revoilà, avec de nouvelles infos, et j'ai honte :

J'avais fais des essais sur une autre base de données reconfigurée, et j'ai effectué tous les tests que vous m'aviez demandé sur la mauvaise BDD. Je suis vraiment confus. Vraiment, vraiment, toutes mes excuses.

L'erreur est toujours présente évidemment, mais Fred à peut-être mis le doigt sur le problème : effectivement, toute la bdd est en "latin1_swedish_ci"

Je suppose que l'on peut passer toute la base en "utf8_general_ci" avec une seule requête au lieu de le faire table par table, mais je ne trouve pas. Est-ce que vous auriez la requête pour faire le changement sur toute la base ?

Une fois cela changé, si j'ai toujours le soucis, je referais tous les tests demandés par Fred et vous donnerais tous les résultats en une fois (Déjà, après un petit test, pratiquement toutes les requêtes proposées par Fred renvoient un résultat).

Encore merci, et encore toutes mes excuses

Bruno
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65456

  • frederic34
  • Portrait de frederic34
  • Hors ligne
  • Gold Boarder
  • @NetLogic
  • Messages : 1289
  • Remerciements reçus 346
  • Karma: 62
Bonjour
L'encodage n'est pas gênant si c'est partout pareil. cela peut le devenir si on compare une colonne en utf8 avec une colonne en latin1 pour la performance et l'usage des index. Il vaut mieux ne pas le changer tu risque d'avoir des caractères bizarres si ça se passe mal.

Fred
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65461

  • bsizorn
  • Portrait de bsizorn
  • Hors ligne
  • Senior Boarder
  • Messages : 56
  • Remerciements reçus 2
  • Karma: 0
Ok, je le laisse donc comme ça.

Si je reprends tes requêtes depuis le début (sur la bonne BDD cette fois :-( ), voici les résultats, il semble que tu sois sur une bonne piste :

Le resultat du EXPLAIN :

EXPLAIN.png


La même requete dans phpmyadmin sans le EXPLAIN, renvoie :
"#2013 - Lost connection to MySQL server during query "

La requête suivante que tu avais demandée, renvoyait par contre des enregistrements :

requet1_ok.png


Ta requête suivante renvoie également des enregistrements :

requet_ok.png


La requete suivante que tu avais soumise donne exactement le même résultat que ci-dessus
SELECT f.facnumber, f.rowid as facid, f.datef, f.type as ftype , l.fk_product, l.description, l.total_ht, l.rowid, l.fk_code_ventilation, l.product_type as type_l, l.tva_tx as tva_tx_line , p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.fk_product_type as type, p.accountancy_code_sell as code_sell, p.tva_tx as tva_tx_prod FROM llx_facture as f INNER JOIN llx_facturedet as l ON f.rowid = l.fk_facture LEFT JOIN llx_product as p ON p.rowid = l.fk_product WHERE f.fk_statut > 0 AND l.fk_code_ventilation <= 0 AND (p.accountancy_code_sell IS NULL OR p.accountancy_code_sell ='') ORDER BY f.datef DESC,f.facnumber DESC,l.rowid DESC LIMIT 26

Ta requête de ce matin :
SELECT f.facnumber, f.rowid AS facid, f.datef, f.type AS ftype, l.fk_product, l.description, l.total_ht, l.rowid, l.fk_code_ventilation, p.rowid AS product_id, p.ref AS product_ref, p.label AS product_label, p.fk_product_type AS
TYPE , p.accountancy_code_sell AS code_sell, p.tva_tx AS tva_tx_prod, aa.rowid AS aarowid, l.product_type AS type_l, l.tva_tx AS tva_tx_line
FROM llx_facture AS f
INNER JOIN llx_facturedet AS l ON f.rowid = l.fk_facture
LEFT JOIN llx_product AS p ON p.rowid = l.fk_product
LEFT JOIN llx_accountingaccount AS aa ON SUBSTR( p.accountancy_code_sell, 1, 3 ) = aa.account_number
LEFT JOIN llx_accounting_system AS accsys ON accsys.pcg_version = aa.fk_pcg_version
WHERE f.fk_statut >0
AND fk_code_ventilation <=0
AND (
accsys.rowid = '2'
OR p.accountancy_code_sell IS NULL
OR p.accountancy_code_sell = ''
)
ORDER BY f.datef DESC , f.facnumber DESC , l.rowid DESC
LIMIT 26

Renvoie #2013 - Lost connection to MySQL server during query

Voilà donc tous les tests que tu avais proposé, cette fois sur la bonne base. Il semble que tu n'étais pas loin de la vérité si je n'avais pas fais de conne.... et ne t'avais pas fais perdre ton temps inutilement

Bruno
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65462

  • frederic34
  • Portrait de frederic34
  • Hors ligne
  • Gold Boarder
  • @NetLogic
  • Messages : 1289
  • Remerciements reçus 346
  • Karma: 62
Bonjour
Peux tu ajouter l'index demandé dans les premiers messages et faire la première requête sans EXPLAIN
Fred
L'administrateur a désactivé l'accès en écriture pour le public.

[RESOLU] ventilation client Comptabilité Expert il y a 3 ans 11 mois #65463

  • bsizorn
  • Portrait de bsizorn
  • Hors ligne
  • Senior Boarder
  • Messages : 56
  • Remerciements reçus 2
  • Karma: 0
Bingo !

Après avoir ajouté l'index sur "account_number", la requête renvoie des résultats et ...
La page "ventilation client" s'affiche sans problèmes.

Nous sommes apparemment opposés géographiquement, mais si tu passes par la Bretagne un de ces jours, je t'offres un verre (et même 2 ! ) pour te remercier et m'excuser de ma méprise.

Merci à vous 2
Dernière édition: il y a 3 ans 11 mois par bsizorn. Raison: resolu
L'administrateur a désactivé l'accès en écriture pour le public.

ventilation client Comptabilité Expert il y a 3 ans 11 mois #65464

  • frederic34
  • Portrait de frederic34
  • Hors ligne
  • Gold Boarder
  • @NetLogic
  • Messages : 1289
  • Remerciements reçus 346
  • Karma: 62
Bonjour
Pas de problème, ça a le mérite de faire avancer le schmilblick et comme ça on sait que l'index est nécessaire.

Fred
L'administrateur a désactivé l'accès en écriture pour le public.

[RESOLU] ventilation client Comptabilité Expert il y a 3 ans 11 mois #65465

  • aspangaro-OpenDSI
  • Portrait de aspangaro-OpenDSI
  • Hors ligne
  • Modérateur
  • Messages : 1412
  • Remerciements reçus 378
  • Karma: 34
Merci pour ton aide Frederic, je vais faire ajouter l'index chez le client dont je t'ai envoyé le dump voir si cela répare le problème.
L'administrateur a désactivé l'accès en écriture pour le public.

[RESOLU] ventilation client Comptabilité Expert il y a 3 ans 11 mois #65466

  • frederic34
  • Portrait de frederic34
  • Hors ligne
  • Gold Boarder
  • @NetLogic
  • Messages : 1289
  • Remerciements reçus 346
  • Karma: 62
Bonjour
Selon le nom de la table la requête est:
ALTER TABLE llx_accountingaccount ADD INDEX idx_accountingaccount_account_number (account_number);
ou
ALTER TABLE llx_accounting_account ADD INDEX idx_accounting_account_account_number (account_number);

Il faut aussi voir si dans la table product il y a par exemple 707000 alors que c'est seulement 707 dans accounting_account
d'ou le SUBSTR(...,1,3)
Fred
L'administrateur a désactivé l'accès en écriture pour le public.

[RESOLU] ventilation client Comptabilité Expert il y a 3 ans 11 mois #65467

  • aspangaro-OpenDSI
  • Portrait de aspangaro-OpenDSI
  • Hors ligne
  • Modérateur
  • Messages : 1412
  • Remerciements reçus 378
  • Karma: 34
Oiu, j'ai fait le changement à partir de la version 3.9 sur le nom de la table.

Par contre, le substr ne fonctionnera pas à tous les coup car un compte peut être à 2 voir 6 chiffres et même plus au besoin. Il faudrait surtout que j'écrive une fonction qui supprime tous les zéros en fin de compte (le plan comptable n'en ayant pas) et après à l'affichage et à l'export, la longueur de compte soit fixé selon la configuration actuelle. Je vais revoir ça...
L'administrateur a désactivé l'accès en écriture pour le public.