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.
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.
@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.