Hallo Notes Spezialisten,
ich hoffe mein Problem ist nicht zu kompliziert. Folgendes:
Wir nutzen im Unternehmen ein LotusScript Agent, welcher etliche Dokumente einliest und daraus für jedes Dokument ein XML zur Rechnungserstellung generiert. Jedes der Dokumente enthält ein Feld "fdPositions", darin sind die Beträge der Rechnungspositionen als Array, z. B. 100,00, 55,66, 154,72 usw. gespeichert.
Die Dokumente werden in einer Ansicht dargestellt. Die letzte Spalte enthält die Summe "
@Sum(fdPositions)", als Beispiel 252147,10. Die Formatierung ist auf Nummer mit 2 Dezimalstellen eingestellt.
In der erstellen XML Datei wird als Summe aber 252147,14 ausgegeben. Es sind nur 4 Cent Unterschied, aber wer Buchhalter kennt, dass kann schon eine mittelschwere Katastrophe auslösen.
Mein Debugging während er XML Erstellung ergab, dass die Summe über eine For-Schleife ermittelt wird.
for i%=0 to ubound(doc.fdPositions)
sum! = sum! + doc.fdPositions(i%)
nextLasse ich mir jetzt die Variable
sum! ausgeben, erhalte ich 252147,10 in der Anzeige. Es wurde noch nichts formatiert oder gerundet!
Jetzt kommt im Agent zur Sicherheit die Formatierung per
Format(sum!, "Standard") und jetzt ist die Summe 252147,14. Das Gleiche geschieht wenn anstatt
Format() auf
Round(sum!, 2) gewechselt wird.
Und jetzt noch ein Ergebnis der Analyse: Diese Differenz tritt nur bei Rechnungssummen über 200000 auf.
Hatte jemand mit diesem "Problem" schonmal zu kämpfen? - Ich bin für jeden Hinweis dankbar.
Gruß
gravedigger