Modification ducode du module commande

Bonjour,

Je voudrais modifier le code Dolibarr afin qu’à la création de commande, certaines infos soient automatiquement remplies.
Par exemple, je voudrais que la date prévue de livraison et le délai de livraison soient automatiquement mis à 2 jours.

Je voudrais aussi que lorsque je sélectionne comme origine « internet », les conditions de règlement soit mis à « à la commande » et pour un « client contact commercial » que le règlement soit mis à « 30 jours fin de mois ».

J’aimerais aussi que pour la méthode de livraison, il soit toujours renseigné automatiquement « transporteur ».

Et dernièrement, je voudrais qu’un clic sur « classé livré » génère automatiquement la facture.

Pensez-vous que cela est faisable ? Faut-il créer un nouveau module ou modifier directement le code source de Dolibarr ? Je suis une jeune développeuse (1ère année de BTS) et le code de Dolibarr est un peu compliqué pour moi.

Pouvez vous m’aider à réaliser cela ? Au moins pour quelques points…

Merci d’avance

Bonjour,

C’est effectivement faisable, via un module.
Il faut éviter le plus possible de toucher le code source de dolibarr, sinon cela devient trés dur à maintenir.

Pour les sélections automatiques, je dirais que le plus simple serrait de passer par du java j’imagine : https://wiki.dolibarr.org/index.php/Développement_module#D.C3.A9finir_vos_fonctions_Javascript_.28optionnel.29

Pour le classé livré, génére une facture automatique, il faudra passer par les triggers https://wiki.dolibarr.org/index.php/Triggers-actions

Bon courage !

Ok merci,

Alors j’ai regardé du côté de js pour le remplissage automatique du formulaire de commande.
Il faudrait que je passe par les Hook non ?
Je ne vois pas trop comment les utiliser, ni où mettre mon code js exactement pour qu’il influe sur le formulaire de commande uniquement. (Ou qu’il influe tout court même, car j’ai testé avec un console.log() et a priori je m’y prends mal car rien n’apparaît dans la console).

Peux-tu m’orienter un peu plus ?

Bonjour,
Tu as déjà la possibilité de définir des valeurs par défaut, dans Configuration, Valeurs par défaut.
Par ailleurs, en activant le module Workflow, tu as aussi la possibilité de :

Ça devrait déjà faire une partie du boulot ?

Bonjour,

Merci pour ta réponse Yves57 (désolé pour le temps de réponse, je ne l’avais pas vu).
Oui effectivement cela devrait déjà faire une partie du boulot.
Le problème, je n’arrive pas à définir des valeurs par défaut.
Par exemple pour mettre la valeur 30 jours fin de mois dans le formulaire de nouvelle de commande, j’ai essayé :

- url : commande/card.php (page commande, j’ai essayé aussi avec les paramètres)
- champ : cond_reglement_id (qui est le nom du select)
- valeur : 30 jours fin de mois (j’ai aussi essayé « 3 » qui est la value des options du select dans le code sources)

J’ai ensuite désactivé et réactivé le module au cas où, mais rien y fait ça ne fonctionne pas…
Peux-tu m’expliquer la procédure ?

Sanstitre.png

Et pour le module workflow, j’avais effectivement vu cette option, je l’ai activée et fait testé mais ils m’ont demandé de la désactiver car a priori cela ne supprime plus le brouillon à la validation de la commande, donc ça ne leur faisait pas forcément gagner de temps.