Bonjour @WebAuxilium et @altatof
Merci pour votre réponse, je pense qu’il y a confusion sur mon besoin car vous me parlez de récupérer le prix d’achat de la commande, or ce n’est pas réellement ce que je souhaite effectuer.
Ci-dessous, voici un récapitulatif de mon besoin :
-
J’ai donc un attribut supplémentaire nommé prov dans le module « Produits » (plus précisément dans l’onglet « Attributs supplémentaires (Prix Fournisseur) ») comme vous pouvez le constater ci-dessous :
-
J’ai également un attribut supplémentaire nommé prov dans le module « Lot/Série » comme vous pouvez le constater ci-dessous :
-
Donc, j’ai un produit avec plusieurs prix fournisseur comme présenté ci-dessous (chacun des prix fournisseur possède une Provenance [=attribut supplémentaire prov du module « Produits »]) :
-
J’effectue une commande fournisseur auprès de mon fournisseur « Ferme Larrere » contenant le produit « LEG001 », comme indiqué ci-dessous :
-
Lors de la réception de cette commande fournisseur, je note un numéro de série/lot comme indiqué ci-dessous :
==> Mon besoin final : Pouvoir récupérer automatiquement la valeur du champ prov du prix fournisseur (pour le fournisseur correspondant à cette commande) de mon produit (« LEG001 ») dans mon attribut supplémentaire nommé prov de mon module « lot/série ».
Pour cela, j’ai donc ajouté le champ calculé (sur l’attribut supplémentaire prov de mon module « lot/série ») suivant :
(($reloadedobj = new ProductFournisseurPrice($db)) && ($reloadedobj->fetchNoCompute($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0) && ($secondloadedobj = new Product($db)) && ($secondloadedobj->fetch($reloadedobj->fk_product) > 0)) ? var_dump($reloadedobj) : var_dump($reloadedobj)
Malheureusement, cela ne fonctionne pas car j’obtiens l’affichage suivant sur le listing des numéros de lots/séries :
Alors que si je retire ce champ calculé, j’obtiens l’affichage suivant :
Par conséquent, je devrais obtenir l’affichage ci-dessus avec la colonne « Provenance » rempli.
J’espère avoir été plus précis dans ma demande afin que vous puissiez m’aider à résoudre ce problème.
Merci par avance.
==>EDIT DU 09/06/2022 à 16:09 :
J’ai aussi essayé d’ajouter le champ calculé (sur l’attribut supplémentaire prov de mon module « lot/série ») suivant :
mysql_query('select prov from llxwp_product_fournisseur_price_extrafields as pfpe inner join llxwp_product_fournisseur_price as pfp on pfpe.fk_object = pfp.rowid inner join llxwp_product as p on p.rowid = pfp.fk_product inner join `llxwp_product_lot` as pl on pl.fk_product = p.rowid where batch = ($obj->batch ? $obj->batch : ($obj->batch ? $obj->batch : $object->batch)) group by batch');
Voici le résultat obtenu :
Comme vous pouvez le constater, j’ai l’erreur suivante sur chacune de mes lignes :
Bad string syntax to evaluate: mysql_query(‹ select prov from llxwp_product_fournisseur_price_extrafields as pfpe inner join llxwp_product_fournisseur_price as pfp on pfpe.fk_object = pfp.rowid inner join llxwp_product as p on p.rowid = pfp.fk_product inner join llxwp_product_lot
as pl on pl.fk_product = p.rowid where batch = ($obj->batch ? $obj->batch : ($obj->batch ? $obj->batch : $object->batch)) group by batch ›);
Avez-vous une idée pour résoudre ce problème ou pour faire fonctionner ma première méthode ?
Merci par avance.