Requête SQL et affichage Dolibarr

Bonjour à tous,

Je vous explique ma question. J’ai fait une requete sql me permettant de connaitre les produits à expedier en fonction des expeditions déja envoyé même partiel et bien sur de ne mettre que les produits en stocks.

SELECT
    p.ref AS product_ref,
    c.ref AS order_ref,
    s.nom AS customer_name,
    cd.qty - COALESCE(SUM(ed2.qty), 0) AS quantity,
    c.fk_statut AS order_status,
    p.stock
FROM
    llx_product AS p
    LEFT JOIN llx_commandedet AS cd ON cd.fk_product = p.rowid
    LEFT JOIN llx_commande AS c ON cd.fk_commande = c.rowid
    LEFT JOIN llx_societe AS s ON c.fk_soc = s.rowid
    LEFT JOIN llx_element_element AS ee ON ee.fk_source = c.rowid AND ee.sourcetype = 'commande'
    LEFT JOIN llx_expedition AS e ON e.rowid = ee.fk_target
    LEFT JOIN llx_expeditiondet AS ed1 ON ed1.fk_expedition = e.rowid
    LEFT JOIN llx_expeditiondet AS ed2 ON ed2.fk_origin_line = cd.rowid
WHERE
    cd.qty > 0 AND
    c.fk_statut < 3 AND
    p.stock IS NOT NULL
GROUP BY
    p.ref,
    c.ref,
    s.nom,
    c.fk_statut
HAVING
    quantity > 0

Mon problème est maintenant d’afficher le résultat de cette requête dans dolibarr, j’ai essayer mylist sur la version de test que patas monkey mets très gentillement à disposition mais impossible de faire fonctionner la requête. J’ai regarder du coté mondule builder mais j’avoue que le vertige m’as pris. Si vous avez une idée je suis preneur.

Bonjour,

Je n’ai pas vérifié si les résultats sont bons, mais la requête fonctionne :slight_smile:

Par contre, avec le having à la fin, pas de filtre possible.

demo mylist

Il manquait les champs.

Merci beaucoup pour l’info !!

Par contre question je dois être nul mais j’arrive à mettre la liste dans le bloc commande dans commerce.

J’ai lu la doc je mets donc comm et commande mais aucun affichage

il est probable que selon votre version de dolibarr le nom des menus aient évolué, le mieux est de regarder votre url et s’en inspirer…

Je suis sur votre site de test. et je voudrais arriver à mettre cette liste dans Commerce puis commande. En regardant les url je mets donc comm en premier puis commerce en second.

Merci je viens de comprendre… Désolé pour le dérangement

@defrance désolé de revenir sur ce sujet. J’avoue être très intéressé par mylist mais je n’arrive pas à le faire fonctionner. Je m’explique sur votre site de test j’ai essayer une autre requête (test fournisseur)

SELECT
    p.ref AS product_ref,
    c.ref AS order_ref,
    s.nom AS customer_name,
    cd.qty AS quantity,
    c.fk_statut AS order_status,
    f.ref AS supplier_ref,
    fe.qty AS supplier_qty,
    fe.fk_commande AS supplier_order_id
FROM
    llx_product AS p
    LEFT JOIN llx_commandedet AS cd ON cd.fk_product = p.rowid
    LEFT JOIN llx_commande AS c ON cd.fk_commande = c.rowid
    LEFT JOIN llx_societe AS s ON c.fk_soc = s.rowid
    LEFT JOIN llx_element_element AS ee ON ee.fk_source = c.rowid AND ee.sourcetype = 'commande'
    LEFT JOIN llx_expedition AS e ON e.rowid = ee.fk_target
    LEFT JOIN llx_expeditiondet AS ed ON ed.fk_expedition = e.rowid
    LEFT JOIN llx_commande_fournisseurdet AS fe ON fe.fk_product = p.rowid
    LEFT JOIN llx_commande_fournisseur AS f ON fe.fk_commande = f.rowid
WHERE
    cd.qty > 0 AND
    (
        (ee.fk_target IS NULL AND e.rowid IS NULL) OR
        (ed.qty <= cd.qty)
    ) AND c.fk_statut < 3 AND
    fe.qty IS NOT NULL

J’ai compris qu’il ne fallait pas mettre la partie select. Mais cela ne marche pas. Pour essayer de comprendre j’ai essayer de copier coller celui d’un autre mylist que j’ai crée sur votre site (test prepa) mais la aussi cela ne marche pas. En désespoir de cause j’ai essaye une requête simple FROM llx_product mais la aussi cela ne marche pas (test requete). Je précise toutes mes requêtes SQL fonctionne dans HeidiSQL. Je ne comprends pas ce que je fais de mal.

dans l’ordre :

Merci beaucoup il faut mettre les champs.

Sinon pour les requetes SQL en general j’utilise un service qui s’appelle Metabase, gratuit si heberge en local et vraiment tres pratique!

Pas mal ça a l’air sympa !
J’utilise le plugin Dolibarr « Visual Query » pour exectuer les requetes, c’est rustique mais ça fonctionne.

1 « J'aime »