Line 1:
Line 1:
−
Pour chaque entité crée dans l'application, Dolibarr attribue une référence. Afin de pouvoir adapter cette référence à toute utilisation, Dolibarr utilise des modules pour définir la règle de génération de cette référence. Des modules sont fournis en standard donc certains sont génériques et permettent de définir le masque de numérotation (nombre sur x caractère, avec ou sans prefix, incluant la date ou pas, etc), ce qui permet de répondre à la plupart des besoins. Toutefois, il existe toujours des cas où le module fourni en standard ne répond pas au besoin. Dans ce cas il est nécessaire de développer son propre module de numérotation.
+
Pour chaque entité (facture, proposition, commande, etc) créée dans l'application, Dolibarr attribue une référence (numéro ou texte). Afin de pouvoir adapter cette référence à toute utilisation, Dolibarr utilise des modules de numérotation pour définir la règle de génération de cette référence. Des modules sont fournis en standard donc certains sont génériques et permettent de définir le masque de numérotation (nombre sur x caractère, avec ou sans prefix, incluant la date ou pas, etc), ce qui permet de répondre à la plupart des besoins. Toutefois, il existe toujours des cas où le module fourni en standard ne répond pas au besoin. Dans ce cas il est nécessaire de développer son propre module de numérotation.
+
== Créer un nouveau module de numérotation ==
−
== Créer un nouveau module de numérotation ==
+
Pour l'exemple, on part du principe qu'on crée un nouveau module de numérotation de factures qu'on nommera 'terrebis' et qui s'inspire du module 'terre' fourni en standard:
−
Pour l'exemple, on part du principe qu'on crée un nouveau module de numérotation de factues qu'on nommera 'terrebis' et qui s'insprire du module 'terre' fourni en standard:
* copier-coller ''htdocs/includes/modules/facture/terre/terre.modules.php'' en ''htdocs/includes/modules/facture/terrebis/terrebis.modules.php''. Vous pouvez utilisez le nom que vous désirez a la place de terrebis pour peu qu'il ne soit pas déjà utilisé et ne contienne que des caractères alphabétiques.
* copier-coller ''htdocs/includes/modules/facture/terre/terre.modules.php'' en ''htdocs/includes/modules/facture/terrebis/terrebis.modules.php''. Vous pouvez utilisez le nom que vous désirez a la place de terrebis pour peu qu'il ne soit pas déjà utilisé et ne contienne que des caractères alphabétiques.
−
* éditer le nouveau fichier afin de faire les modifs suivantes dans le code :
+
* éditer le nouveau fichier afin de faire les modifications suivantes dans le code :
1. Renommer le nom de la classe pour remplacer l'ancien nom de classe par le nom choisi (conserver les même convzntions de nommages).
1. Renommer le nom de la classe pour remplacer l'ancien nom de classe par le nom choisi (conserver les même convzntions de nommages).
Line 25:
Line 25:
== Tester ce module ==
== Tester ce module ==
+
Tester ce module en l'activant depuis la page de configuration du module.
Tester ce module en l'activant depuis la page de configuration du module.
Vérifiez que dans la colonne description, exemple et valeur suivante, vous obtenez des informations cohérentes (renvoyées respectivement par les fonctions info(), getExample() et getNextValue() ).
Vérifiez que dans la colonne description, exemple et valeur suivante, vous obtenez des informations cohérentes (renvoyées respectivement par les fonctions info(), getExample() et getNextValue() ).