Re: Id automatique spécifique

Posté par R&B le 6/5/2009 14:36:09
Bonjour.
Il faut stocker un compteur.
Pour se faire, il y a plein de possiblité mais celle que nous avons retenu est celle d'un fichier générique dans nos analyses COMPTEUR.FIC(#CP_NOM C 20,CP_VALEUR C 10).
Ainsi nous disposons d'un fichier qui conserve l'ensemble des compteurs des différents modules d'un projet. il peut y avoir un enregistrement pour le compteur de code client, de numéro de chaque type de document (commande, livraison...).
Pour ce faire il suffit de créer un enregistrement par compteur.
En outre, l'utilisation d'un fichier HF permet de gérer les blocages lors de la réservation d'un numéro et donc de prévenir la création de doublons.
Enfin, une petite classe permet de créer les numéro selon le format désiré.

Dans votre cas :
PROCEDURE NumAjoute()
NouveauNumero est une chaine
AncienNumero est une chaine = COMPTEUR.CP_VALEUR
SI VAL(Gauche(AncienNumero,4))=0 ou VAL(Gauche(AncienNumero,4))<=Gauche(DateDujour(),4) ALORS
   NouveauNumero = Gauche(DateDujour(),4)+numériqueversChaine(1,"04d")
SINON
   NouveauNumero = val(AncienNumero)+1
FIN
RENVOYER NouveauNumero


Je vous renvoie à l'aide des fonctions utilisées.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=6155&post_id=24663