savenote.save True, True, True
Das kann nicht funktionieren. Da müßte dir eigentlich direkt ein Fehler im Designer gemeldet werden.
Das ist Original-Code aus der Datenbank Template! Das diejenigen, die Notes gemacht haben, nicht programmieren können, habe ich schon immer vermutet.
Ich kann gerne auch mehr Zeilen kopieren:
Function SendToNext
Dim RevCompleteMailError As String 'new 462
If Not(dbug Is Nothing) Then dbug.LogAction("SendToNext")
SendToNext = True
'On Error Goto StandardError
Set mailnote = New NotesDocument(db)
ReviewerList = note.ReviewerList
TotalReviewers = Ubound(ReviewerList)
RevCompleteMailError = "0" 'new 462
Set username = New NotesName(note.CurrentUser(0))
Set reviewername = New NotesName(note.CurrentEditor(0))
Set fromname = New NotesName(note.From(0))
If Lcase(username.Common) = Lcase(reviewername.Common) Then IsCurrentReviewer = True
'Statuses: 1=New, 2=In Review, 3=Review Complete
If note.Status(0) = 1 Then
note.reviewernumber = 0
ReviewerNumber = note.ReviewerNumber(0)
'savenote is a copy of the original which we save as a response to the copy that will be reviewed
If Not(note.HasItem("OriginalSaved")) Then
note.save True, True, True
Set savenote = New NotesDocument(db)
Call note.CopyAllItems(savenote, False)
'from the Notes client, the body field is not available to note until a ui save
If note.HasItem("Body") Then
Set rtitem = note.GetFirstItem("Body")
savenote.RemoveItem("Body")
Call rtitem.CopyItemToDocument(savenote, "Body")
Else
note.CopyBody = True
End If
Call savenote.MakeResponse(note)
savenote.~$RefOptions = "1"
savenote.Subject = GetString(1)
savenote.save True, True, True
note.OriginalSaved = savenote.UniversalId
End If
Else
ReviewerNumber = note.ReviewerNumber(0) + 1
End If
[... Abschnitte für Benachrichtigung der Reviewer etc. gelöscht]
End Function
Gruß,
Oliver