Bonjour
Si je ne suis pas dans le bon fil merci de me l’indiquer.
Malgré que la case soit cochée dans la configuration, les commandes validées ne sont pas décrémentées du stock physique.
Les commandes sont créées par l’API Rest.
Je pense que je n’ai pas correctement renseigné l’enregistrement.
Si quelqu’un peut me renseigner.
D’avance merci
Bien cordialement
Fais-tu la commande par api directement au statut validé ou bien crée-tu la commande avec l’API au statut brouillon, puis tu rappelle l’api pour valider ?
Bonjour,
Je fais la commende via l’API mais sans précisé le statut.
Elle apparait dans l’interface avec un préfixe « PROV ».
Je la valide ensuite dans l’interface Dolibarr. Elle change d’identifiant et le statut apparaît comme « VALIDEE ».
Quel est le champ dans lequel je peux préciser le statut avec l’API REST ? Quelles sont les valeurs autorisées ?
Merci pour ton aide.
Le process est bon. Es tu as bien configuré le module stock pour decrementer sur validation de commande ? Les lignes dans la factures sont bien des produits soulis a gestion de stock (et non des services) ?
Bonjour,
Oui. J’ai été dans la configuration du module pour cocher cette option.
Oui. Les lignes des commandes sont bien des produits soumis à la gestion de stock. Les références existent dans la gestion de stock. Ce sont bien des produits et non des services.
Merci pour ton aide
Dans mon test, je fais la commande avec le statut brouillon. Je n’ai pas validé la commande par l’API mais manuellement par l’interface Dolibarr.
Mais dans le futur je ferai certaines commandes avec le statut validé et d’autres avec le statut brouillon.
Bonjour
Je viens de faire un test dans l’interface Dolibarr.
- Création d’une commande
- Validation d’une commande
- Vérification du stock virtuel
Tout est OK.
La configuration des modules est donc correcte.
Il faut maintenant que je puisse reproduire le process via l’API REST Orders.
Tu confirmes @jaleg qu’après la validation de la commande directement depuis l’application Dolibarr le stock est décrémenté ?
Ton process, c’est bien de pouvoir créer des commandes depuis l’API (via une application tierce) puis d’aller sur Dolibarr pour suivre la facturation, n’est-ce pas ?
Bonjour @marcori
Oui c’est absolument cela.
Depuis l’application le stock est bien décrémenté.
Je dois maintenant trouver comment réaliser cette opération via l’API rest.
La documentation swagger n’est pas complète à ce sujet. Elle décrit seulement comment générer une commande en mode brouillon.
Si tu as des informations je suis preneur. Je débute sur Dolibarr.
Je viens de trouver comment valider les commandes via l’API.
Il n’est pas possible de créer une commande validée directement.
Il y a un service dédié à cet effet que je n’avais pas vu.
Il n’en reste pas moins que même avec ce service le stock virtuel n’est pas décrémenté. Alors qu’il l’est dans la procédure via l’interface.
Je crois avoir compris comment décrémenté le stock avec les commandes.
Il faut, en même temps que de créer la commande, générer un mouvement de stock. C’est ce qu’il se passe quand la commande est créée via l’interface.
La création de la commande via l’API orders ne crée pas cette enregistrement.
Je vais maintenant regarder avec quelles données est créé ce mouvement.
Bonjour,
Effectivement certain traitements sont gérés directement dans le code des pages et non dans les methodes des classes CRUD.
Le code des pages Dolibarr est simple à lire (et un peu riches). Le mieux sur ce type de dévelopement c’est de regarder ce que fait Dolibarr sur les pages Web et reproduire, si c’est possible, le fonctionnement en API.
Voir créer son propre module Dolibarr qui expose des points d’entrées d’API qui reproduisent le comportement des pages.
Quoi qu’il en soit à chaque changement de version majeure, il y a un travail de veille et test à faire pour vérifer que tout reste OK.
Bonjour
Merci pour ce retour.
La suggestion est bonne. Malheureusement je n’ai aucune compétence en PHP.
Je travaille avec une architecture Java / Angular.
En rapide coup d’oeil me laisse à penser que j’en ai pour un bon moment pour comprendre la structure du code et son contenu.
J’y reviendrai peut-être en dernier ressort.
Encore merci pour l’idée.
La mise à jour du stock sur validation de commande se fait dans la methode validate qui est la meme par l’écran et par l’API, donc il ne devrait pas etre nécessaire d’appeler ensuite l’api pour créer des mouvements de stock. Ceci se fait dejà à condition que l’appel de validate passe bien l’id de l’entrepot à décrémenté en paramètre du validate.
OK. Je vais tester cette méthode. Effectivement jusqu’ici je n’avais pas ajouté un body avec l’id de l’entrepôt.
Après tests, je confirme la décrémentation se fait si l’id de l’entrepôt est précisé.
Merci
Suite à la suggestion de @eldy, je viens de tester le processus de gestion des commandes et de décrémentation du stock via l’API REST. Il faut :
- Créer une commande (brouillon) : POST /orders
- Valider la commande en précisant l’id de l’entrepôt (idwarehouse). Le stock est mis réel est mis à jour : POST /orders/{id}/validate
- Commande livrée : POST /orders/{id}/close