Hallo Zusammen!
Ich habe eine DB in der ich ein neues Dokument anlege. Beim Laden des Dokumentes wird aus einem anderen Dokument der gleichen DB ein Wert geladen, der dann addiert wird, und bei Speicherung des neuen Dokumentes wird der addierte Wert ebenfalls in das andere Dokument zurückgeschrieben. Bis zur Version 6.5.3 funktionierte das Problemlos, seit dem wir 6.5.3 einsetzen stürzt der Client entweder ab bevor er den Wert in das andere Dok speichert, oder es wird ein völlig utopischer Wert in das andere Dokument zurückgeschrieben (immer 12 stellig)!
Hier der Code der Aktion "Speichern":
Sub Click(Source As Button)
Const Benutzer$ = "@Name([CN]; @UserName) "
Dim ws As New NotesUIWorkspace
Dim uiDoc As NotesUIDocument
Dim doc As NotesDocument
Dim s As NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim cBenutzer As Variant
Dim cBenutzer1 As Variant
Dim schluessel As String
Dim nGesamt As Currency
Dim nStunden As Currency
Set uiDoc = ws.CurrentDocument
Set s = New NotesSession
Set db = s.CurrentDatabase
Set view = db.GetView("Personal-Nr")
' Prüfung, ob bei Bemerkung Freizeitausgleich das Stundenfeld negativ ist, wenn nicht dann entsprechend umrechnen
If uidoc.FieldGetText("cBemerkung") = "Freizeitausgleich" And Val(ReplaceSubstring(uidoc.FieldGetText("cStunden"),",",".")) > 0 Then
Call uidoc.FieldSetText("cStunden", Cstr(Ccur(uiDoc.FieldGetText("cStunden")) * -1))
End If
' Stammdaten suchen
schluessel = uiDoc.FieldGetText("cPers_nr")
Set Doc = view.GetDocumentByKey(schluessel, True)
cBenutzer1 = uidoc.FieldgetText("cVorname") + " " + uidoc.FieldgetText("cName") + "/A" + uidoc.FieldGetText("cStellen_nr") + "/Bank1Saar/De"
Call uidoc.Fieldsettext("SaveOptions", "1")
Call uidoc.Fieldsettext("cLeser", "[Personal]" + "," + doc.cVorgesetzter(0) + "," + "[Administrator]" + "," + "[Betriebsrat]" + "," + "," + cBenutzer1)
If uiDoc.IsNewDoc = False Then
cBenutzer = Evaluate(Benutzer$, doc)
Call uiDoc.FieldSetText("FiTxGeändert", cAltgeaendert + Chr(13) + Chr(10)+ Str(Today) + " " + Time$ + " " + cBenutzer(0))
End If
Call uidoc.Save
nStunden = Ccur(uiDoc.FieldGetText("cStunden"))
nGesamt = Ccur(Doc.cGesamtstunden(0)) + nStunden
Doc.cGesamtstunden = nGesamt
success = Doc.ComputeWithForm(False, False)
Call Doc.Save(True, False)
Call uidoc.Close
End Sub
Danke für Eure Unterstützung!
Gruß, Klaus