DailyCounter
Lecture et incrémentation d'un compteur journalier
Syntaxe
function DailyCounter(counterName: String; increment: Integer = 1): Integer
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
// 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;