Module Commercial Commande fournisseur (1)

Bonjour à tous,

Version Dolibarr 3.8.3.
Ayant une longue liste de produits à gérer, ayant paramétré les modules conformément à la remarque de la FAQ FR « Longues listes produit », il s’avère qu’à la création d’une commande client s’affiche bien la liste des produits sélectionnés, ce qui n’est pas le cas lors de la création d’une commande fournisseur : seuls deux produits s’affichent (!!???).

D’avance merci pour votre retour

Bonjour,

éditer le fichier htdocs/core/class/html.form.class.php
Ligne 1918 :
function select_produits_fournisseurs_list($socid,$selected=’’,$htmlname=‹ productid ›,$filtertype=’’,$filtre=’’,$filterkey=’’,$statut=-1,$outputmode=0,$limit=100)
==> mettre 0 a la place de 100 en fin de ligne supprime la limite.

Pour trier dans l’ordre
Ligne 1957 :
$sql.= " ORDER BY pfp.ref_fourn DESC, pfp.quantity ASC";
==> remplacer DESC par ASC

Cordialement,

XP

1 « J'aime »

Bonjour XP,

Après mise en oeuvre des deux modifs (la 2ème modif en ligne 2038 plutôt que 1957, sauf erreur de ma part, la ligne 1957 correspondant à du commentaire) cela ne change rien à la situation.
Toutefois, à la lecture du programme, puis-je comprendre que la liste des produits qui s’affichent à la création d’un brouillon de commande tient compte du lien produit / fournisseur, ce qui pourrait expliquer ce dysfonctionnement, n’ayant pas créé de lien et pour cause : pour moi, une commande fournisseur brouillon a valeur de demande d’achat (DA), c’est ce qui m’a été également répondu dans un autre échange dans ce forum.
Dit autrement ; vu du système, dans l’entreprise je suis demandeur (pas nécessairement acheteur) et autorisé à créer une commande fournisseur brouillon : je ne sais pas par avance quel fournisseur sera retenu par l’acheteur de l’entreprise lors de la « validation » de la commande brouillon que j’aurai créée.
Suis-je dans l’erreur en raisonnant de la sorte ?
Par ailleurs, je ne me vois pas créer des liens produit / fournisseur à tout va pour pouvoir afficher la liste de tous mes produits quel que soit le fournisseur choisi (choix du fournisseur est obligatoire) lors de la création de ma commande brouillon.

D’avance merci pour le retour.

Bonjour
A déconseiller si vous avez beaucoup d’articles, privilégier la recherche ajax (on tape quelques caractères et la liste évolue)

Fred

1 « J'aime »

Bonjour,

J’ai 340 article est tout fonctionne bien. Que l’on puisse faire le choix et une chose mais qu’il y ai un bug en est une autre.

Si c’est un bug je serais content d’avoir une autre solution.

Cordialement,

XP

1 « J'aime »

Bonjour
j’en ai plus de 10 000 et certains sur le forum plus de 100 000, avec une telle liste le navigateur se bloque pendant quelques secondes…
As-tu activé la recherche ajax:

2016-02-0416_28_10-ConfigurationdesmodulesProduitsetServices.png
avec déclenchement sur au moins 2 caractères

Fred

2 « J'aime »

Dans dolibarr, on crée une commande fournisseur pour un même fournisseur

C’est pour cela que certain produits n’apparaissent pas, il faut qu’il soient référencés chez le fournisseur ou tu passe ta commande.

Il faut sans doute voir le fonctionnement du module dans la version à venir qui gère les demandes de prix fournisseur, cela pourrai te servir peut être pour tes demandes d’achats.

Fred

1 « J'aime »

Bonjour Fred,

Oui j’ai activé la recherche ajax sur 3 caractères.

Maintenant si cela peut être utile, à plusieurs reprises, j’ai fait l’essai d’une création de commande passée au fournisseur X, alors que j’ai une liste de 81 produits codifiés AXX… et que je n’ai créé aucun prix pour chacun de ces produits pour le fournisseur X (donc produit article / fournisseur inexistant), en introduisant les trois premières lettres du produit recherché (AXX) s’affiche néanmoins une liste de 2 produits, ce qui semblerait être contraire à ce qui devrait se passer si j’ai bien compris ce qui tu as écrit sur le sujet, aucune proposition de produit ne devrait s’afficher puisque n’ayant aucun prix/qté défini pour ce fournisseur/produit.

En voulant créer, de la même manière, une autre commande passée à un autre fournisseur Y qui n’a pas plus de lien produit / fournisseur que n’en a le fournisseur X avec ces 81 produits, à la recherche d’un produit à partir des 3 premières lettres AXX ne s’affiche une liste que d’un seul produit différent des deux produits affichés précédemment.

Même configuration, résultat différent, quelque part ça me gêne un peu d’obtenir cette différence qui laisse penser à un comportement aléatoire.

Par ailleurs, si maintenant je sélectionne un des produits affichés dans les listes proposées, alors le système me confirme bien qu’il n’existe aucun prix/qté défini pour ce fournisseur/produit.

Espérant que ces observations puissent être utiles

nostrenp

Bonjour Nostrenp,

Tu saisies ta demande/commande dans la partie « commande client » ou dans la partie « commande fournisseur »?
Sauf erreur pour moi toute la différence est là. A titre d’info je gère près de 6 000 produits (sans compter le matériel)
Lorsque tu saisie un brouillon dans la partie « commande client » tu tapes dans toute ta base de données produits peu importe le fournisseur à qui est rattaché l’article tu peux faire ton choix dans la liste qui apparaît. Mais si tu le saisies dans la partie « commande fournisseur » là si l’article n’est pas créé chez le fournisseur que tu as choisi au départ de ton brouillon, Dolibarr te montrera effectivement une liste qui pourrait correspondre à ce que tu cherches (code article identique, ou désignation identique à ce que tu as saisi) mais t’indiquera « aucun prix/qté défini pour ce fournisseur/produit » ce qui te permettra de savoir que tu n’as pas choisi le bon fournisseur.

J’espère avoir pu t’aider un petit peu :wink:

Très belle journée

J.azirar

Bonjour J. azizar,

Merci pour la réponse qui reprend ce que le contenu de mon dernier message.
La seule chose que je ne m’explique pas est la suivante :
pourquoi, dans ces conditions, en créant une commande fournisseur, n’ayant créé aucun prix/fournisseur pour un certain nombre d’articles, quelques uns s’affichent néanmoins, jamais le même nombre, jamais les mêmes quand je change de fournisseur => voir fichier en pièce jointe.

nostrenp

Pbaffichage.odt (160 KB)

Bonjour Nostrenp,

Effectivement ce n’est pas simple a expliquer mais je vais essayer (si je ne suis pas assez claire n’hésite pas à me le dire)
Quand tu es dans la partie commande client :
* Tu as accès à toute ta base de données (tous les fournisseurs, tous les articles créés dans Dolibarr) tout confondu. Dis-toi que le client choisi/fait la demande de ce qu’il a besoin mais il n’a pas à savoir chez qui tu te fournies (c’est un peu l’idée) c’est pour ça que tout est « accessible » enfin je vois ça comme ça.
Dans la partie commande fournisseur :
* C’est toi qui doit savoir où tu passes commandes : tu ne peux pas commander un connecteur chez B si c’est W ton fournisseur.
Quand tu fais ta recherche en tapant axx Dolibarr te permet de visualiser toutes les références où ces caractères apparaissent : code article fournisseur, ton propre code article ou dans la désignation. Il fait un filtre au fur et à mesure où tu lui donnes plus d’information. Par contre il te montre toutes les possibilités qu’il a dans sa base avec pour détails (le plus important) si la référence que tu cherches est bien chez le fournisseur que tu as choisi en créant ton brouillon. Je m’explique :
Si tu as choisi le fournisseur B pour un connecteur axx0027 alors que c’est chez W que tu aurais du saisir ton brouillon (future commande une fois validation du brouillon) il t’informe que ce n’est pas le bon fournisseur sélectionné en t’indiquant : aucun prix/qté défini pour ce fournisseur/produit
Tu sais alors que tu t’es trompé de fournisseur mais que ton article existe bien ta base de données.

Si tu ne sais plus chez qui est l’article axx0027 tu vas sur le bouton produits/services tu tapes ta référence axx0027 puis dans l’onglet prix fournisseur et tu retrouveras le fournisseur chez qui tu as créé l’article axx0027.

J’espère avoir pu t’aider.

Je te souhaite une très belle journée

J.Azirar

Merci Azizar pour la réponse, avec toutes les réponses qui m’ont été formulées, j’ai bien intégré ce fonctionnement de Dolibarr.

Simplement, j’ai bien conscience qu’il me sera impossible de déléguer à des utilisateurs non acheteur la création des commandes fournisseur brouillon, lesquelles auraient pu être « assimilables » à des DA (demandes d’achats). Je fais référence à mon sujet « Demandes d’Achats »

nostrenp

Nostrenp,

je ne sais si c’est trop tard pour toi, mais la solution que tu demandes existe peut-être bien, mais pas comme tu sembles le penser…
Je travaille avec plusieurs sites qui utilisent tous Dolibarr pour me soumettre des demandes d’achats (je suis l’acheteuse dans la société où je travaille) toutes les demandes passent par moi avant d’être envoyées auprès des différents fournisseurs. A titre d’information nous avons passé la semaine dernière le cap des 10 000 commandes envoyées =)
J’ai réfléchi a des façons d’améliorer les commandes, les simplifier pour mes collègues et je pense avoir une solution ou du moins tenir le bon bout qui mène à la solution.
Si j’ai bien compris tu n’es pas développeur et il te faut quelque chose de plutôt simple. Tu es également le seul « administrateur » / valideur final de commande. Je me trompe? Si tu veux une dernière piste (toujours ave Dolibarr) fais moi signe.

Très belle journée

J. Azirar

Bonjour à tous,

Je déterre un peu mais n’étant pas trop satisfait des réponses et comme j’utilise l’AJAX pour l’auto complétion… j’ai creusé un peu.

En fait, je pense que le problème e situe dans le fichier …/product/ajax/product.php à la ligne 185 (je suis en version 3.8.3)

Voilà la ligne par défaut :
$arrayresult = $form->select_produits_fournisseurs_list($socid, «  », $htmlname, $type, «  », $searchkey, $status, $outjson, $socid);

Oui mais en fait, la fonction « select_produits_fournisseurs » dans le fichier …/core/class/html.form.class.php indique que le neuvième paramètre est la limite ($limit, valeur par défaut=100) et on appelle la fonction avec comme valeur pour ce fameux paramètre le $socid…

Alors forcément ça limite de façon inattendue la liste :happy:

BREF, pour corriger « proprement » le problème, il s’agit simplement de corriger la ligne 185 du fichier …/product/ajax/product.php soit en retirant le dernier paramètre :
$arrayresult = $form->select_produits_fournisseurs_list($socid, «  », $htmlname, $type, «  », $searchkey, $status, $outjson);

soit en y intégrant une valeur ou un autre paramètre plus juste à votre convenance.

Avis aux développeurs pour corriger ce qui me semble être un bug.

Bonne journée.
Pierre

Bonjour,
La taille des listes de produits (100 par défaut) se paramètre dans la configuration de Dolibarr au niveau des produits il me semble !
@+