Domino 9 und frühere Versionen > ND6: Entwicklung

Bug in 6.5.3 ??? Absturz beim Speichern

(1/2) > >>

klaussp:
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

klaussal:
Hallo Namensvetter,

wo stürzt das Script denn ab ? Schon mal den Debugger genommen ?

klaus

klaussp:
Hier:
 nStunden = Ccur(uiDoc.FieldGetText("cStunden"))

koehlerbv:
Ja, das ist ein Bug in R6.5.3 - der Client crasht, wenn Du einer Currency-Variablen einen Wert aus einem Currency-Item zuweist. Total bescheuert und erst ab 6.5.3, abre es ist so.
Wenn Du nStunden als Double deklarierst, ist die Welt wieder in Ordnung.

Bernhard

klaussp:
OK - dann muss ich ja nicht weiter suchen!

DANKE!!!

Gibt es eigentl. irgendwo eine offizielle Bugliste???
oder eine Inoffizielle???

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln