EternalCounter
Lecture et incrémentation d'un compteur éternel
Syntaxe
function EternalCounter(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 éternel ne revient jamais à zéro (mais il est possible de changer manuellement sa valeur dans l'administration des compteurs).
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;
var numLot:=EternalCounter('NUM LOT', nbLots);
for var i:=1 to nbLots do begin
var gpaoidLot:=FormatInteger('%.5d', numLot);
CreateLot(gpaoidLot, artGPAOID);
Inc(numLot);
end;