DailyCounter

Lecture et incrémentation d'un compteur journalier

Syntaxe

function DailyCounter(counterName: String; increment: Integer = 1): Integer
counterName: nom du compteur journalier
increment: augmentation du compteur après l'appel

Remarques

La fonction renvoie la valeur courante du compteur puis l'incrémente de la valeur de increment (par défaut : 1).

Si le compteur n'existe pas, il sera automatiquement créé et renverra la valeur 0.

Un compteur journalier revient automatiquement à zéro au premier appel après minuit.

Pour garantir l'unicité des valeurs de compteur, elles sont attribuées par la base de données.
Ainsi, la lecture d'un compteur fait des requêtes, ce qui peut prendre du temps.
Quand on doit prendre plusieurs valeurs d'un même compteur, il est recommandé de les prendre "en masse" et d'utiliser le paramètre increment pour décaler d'autant la valeur du compteur.

Exemples

// Exemple de création de 10 numéros de lot
// en appelant une seule fois le compteur
var artGPAOID:='AB123';
var nbLots:=10;

// Le numéro de lot contient année mois jour suivi d'un compteur journalier
var numLot:=DailyCounter('NUM LOT', nbLots);
for var i:=1 to nbLots do begin
   var gpaoidLot:=FormatDateTime('yyyymmdd', Date)+FormatInteger('%.3d', numLot);
   CreateLot(gpaoidLot, artGPAOID);
   Inc(numLot);
end;

Classification

QuBES