Meilleure méthode pour mise à jour des stocks

Bonjour à tous,

Ceci étant mon premier post sur les forums, n’hésitez pas à me signaler si quelque chose manque.

Un peu de contexte :

  • Version de Dolibarr : 14.0.5 (hébergé sur un RaspberryPi).
  • Nature des produits dans le stock : Composants électroniques.
  • Contraintes liées à la nature des produits : La traçabilité.

Par exemple :

Un composant « X » provient d’un lot « Y » attribué par le fabricant (ex : 431-00080 vient du lot 2526). Si nous commandons à nouveau le composant « X », il est possible que nous recevions des composants du même lot. Dans ce cas, nous attribuons aussi un « label_ID » pour différencier les composants au sein d’un même lot. Pour résumer, l’arborescence de traçabilité est : Composant > Lot > Label_ID.

Situation actuelle :

  • Comment les stocks sont gérés actuellement : Cela est géré par une machine qui place les composants sur les circuits imprimés (Mycronic MY300) et qui les décompte au fur et à mesure de la consommation.
  • Comment consultons-nous les stocks actuellement : Webquery sur Excel lié à la BDD de la machine.

Résultat souhaité :

  • Idéalement : un lien direct entre la BDD de la machine et Dolibarr pour que les 2 sources soient synchronisées.
  • Sinon : Pouvoir mettre à jour quotidiennement les stocks dans Dolibarr avec le moins d’intervention humaine possible. (moins de saisies manuelles = moins d’erreurs)
  • Autre? (nous sommes tout ouïe :slight_smile: )

Ce que nous avons essayé jusqu’ici :

  1. La fonction « Import » native de Dolibarr :

Problème : n’y a que 3 champs (Product* (ps.fk_product), Warehouse* (ps.fk_entrepot), Stock* (ps.reel)). Or, nous avons besoin de beaucoup plus de détail comme décrit dans l’exemple. La fonction « Export » comporte énormément de champs qui nous seraient utiles pour un « Import » mais je ne trouve pas comment les ajouter.

  1. Le REST API :

Problème : le « label_id » ne figure pas dans les champs consommés par l’API.

  1. Connexion directe à la BDD de Dolibarr :

Problème: J’ai essayé (en vain) de me connecter à la BDD avec le client « HeidiSQL » en me servant des données dans le fichier conf.php mais « can’t connect » sans plus de détail.

Toute piste pour nous faire avancer vers une solution plus élégante serait la bienvenue.

Merci!

Bonjour,

étant à la recherche de descriptifs détaillés d’utilisations réelles sécurisantes de Dolibarr, j’ai lu votre demande avec beaucoup d’intérêt.

Je viens de vérifier avec 15.0.1. Cette version dispose d’une fonction d’importation étendue pour les produits et tous les attributs (également les champs supplémentaires définis par l’utilisateur) peuvent être importés. Si label_id est un champ supplémentaire du produit, il peut être importé de cette manière.

J’ai également jeté un bref coup d’œil à l’API REST et là aussi, l’extrafield lable_id était disponible, au moins lors de la récupération d’un produit - je n’ai pas vérifié la mise en caisse.

Peut-être que cela a changé depuis la v14, il est donc inutile de consulter une version plus récente. Attention : j’ai également activé MAIN_FEATURES_LEVEL en tant que 2, donc il pourrait également être expérimental.

Bonjour,
Merci pour votre réponse.
Nous allons effectivement essayer de mettre à jour Dolibarr pour être certain d’avoir 100% des fonctionnalités (même les expérimentales). Je testerai alors la fonction import.

En ce qui concerne l’API, effectivement, la récupération (GET) permet d’obtenir bien plus de champs que POST. On pourrait suspecter que Dolibarr se laisse un peu de place pour développer des modules payants (mais c’est de bonne guerre :wink: )

Je reviendrai mettre à jour le post suite aux essais avec la V15.

Juste tester avec v16-beta :

Ce n’était pas un problème de définir le contenu d’un champ supplémentaire via la requête POST. Je viens de copier le même format que j’ai reçu via le get:

"array_options": {
    "options_labelid": "x21-123-456"
  },

Je ne pense pas que quiconque retienne des fonctionnalités pour promouvoir des modules payants :wink:.

J’espère que vous pourrez résoudre votre tâche d’intégration avec cette solution.

2 « J'aime »