17. Oktober 2008 17:33
IF GLEntry."Posting Date" = NORMALDATE(GLEntry."Posting Date") THEN BEGIN
BalanceCheckAmount :=
BalanceCheckAmount + GLEntry.Amount * ((GLEntry."Posting Date" - 01010000D) MOD 99 + 1);
BalanceCheckAmount2 :=
BalanceCheckAmount2 + GLEntry.Amount * ((GLEntry."Posting Date" - 01010000D) MOD 98 + 1);
END ELSE BEGIN
BalanceCheckAmount :=
BalanceCheckAmount + GLEntry.Amount * ((NORMALDATE(GLEntry."Posting Date") - 01010000D + 50) MOD 99 + 1);
BalanceCheckAmount2 :=
BalanceCheckAmount2 + GLEntry.Amount * ((NORMALDATE(GLEntry."Posting Date") - 01010000D + 50) MOD 98 + 1);
END;
21. Oktober 2008 14:42
Der Code ist dort, um zu garantieren, dass sich Buchungen zu einem spezifischen Datum ausgleichen. Wenn Sie sich wundern, warum es einen MOD 99 und einen MOD 98 gibt; dies ist so, weil Sie zwei Buchungen auf 2 Daten mit (wenn nur 99 verwendet würde) mit 99 Tagen Abstand buchen könnten und das System würde noch glauben, dass dieses ausgeglichen wurde. Wenn wir 99 und 98 kombinieren, wird 99*98 verwendet, die als Daten zwischen den gleichen Zahlen für das Multiplizieren benutzt werden - das sind 25 Jahre.
28. Oktober 2008 15:17
28. Oktober 2008 20:38
fragglet hat geschrieben:Danke Kowa.
So richtig schlau geworden bin ich daraus irgendwie nicht.
Trotzdem danke für die Mühe.
Tschau Frank