Hallo,
vielen Dank, aber das hilft mir nicht weiter. Eine Bitte ans Forum, schaut euch doch bitte meine Codes an, ob ich da was verkehrt mache!
Vorweg die Sachlage:
Es ist ein Handbuch. Mit vielen Doc-Links in den Dokumenten untereinander innerhalb der DB. Das Dokument wird, wenn Änderungen erforderlich, aus der View raus über Script auf "in Bearbeiten" gesetzt und dabei der Inhalt "Body" in ein Bearbeitungsfeld "BodyinBearbeitung" (beides RT-Felder) gesetzt und die Maske gewechselt. Mit dem Maskenwechsel steuere ich, daß die User den derzeit gültigen Eintrag sehen, diewelchen das Dokument bearbeiten müssen, die zu Bearbeitenden beieinander haben. Wird ein Dokument bearbeitet, ist der Doc-Link noch da. D.h. das Kopieren ins Bearbeitungsfeld und der Maskenwechsel können nicht Schuld dran sein.
Nach dem Speichern einer Änderung ist der doc-Link in einen db-Link verwandelt.
Hier die Codes:
"Dokument auf in Bearbeitung setzen":
Sub Click(Source As Button)
Dim Sitzung As New NotesSession
Dim db As NotesDatabase
Dim Sammlung As NotesDocumentCollection
Dim Dokument As NotesDocument
Set db = Sitzung.CurrentDatabase
Set Sammlung = db.UnprocessedDocuments
Set Dokument = Sammlung.GetFirstDocument()
Do While Not (Dokument Is Nothing)
Dim bereitsinBearbeitung As String
bereitsinBearbeitung = Dokument.StatusinBearbeitung(0)
If bereitsinBearbeitung = "1" Then
Msgbox "Dieses Dokument befindet sich bereits in Bearbeitung!",16, "ACHTUNG"
Exit Sub
End If
' Richtextfeld Body nach BodyinBearbeitung kopieren
Dim ritem1 As NotesRichTextItem
Dim ritem2 As NotesRichTextItem
Set ritem1 = Dokument.GetFirstItem("Body")
Set ritem2 = New NotesRichTextItem(Dokument,"BodyinBearbeitung")
Call ritem2.AppendRTItem(ritem1)
' wer bearbeitet das Dokument und Status in Bearbeitung = 1
Dim user As String
user = Sitzung.CommonUserName
Dokument.inBearbeitungdurch = user
Dokument.StatusinBearbeitung = "1"
Dokument.Inhalt_letzte_Änderung = " "
' Maske auf Eintrag in Bearbeitung wechseln
Dokument.Form="Eintrag in Bearbeitung"
' ... speichere Dokument ab
Call Dokument.Save(True,False,True)
Set Dokument = Sammlung.GetNextDocument(Dokument)
Loop
Msgbox "Die markierten Dokumente wurden auf 'in Bearbeitung' gestellt." + Chr(13) + "Bitte nun über die Ansichten 'in Bearbeitung nach . . . ' bearbeiten!"
End Sub
"Speichern & Schließen":
Sub Click(Source As Button)
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
' im Backend speichern mit drittem "True" , dann bleibt das Dokument "gelesen"
Dim backdoc As NotesDocument
Set backdoc = uidoc.Document
Call backdoc.Save(True,False,True)
' Meldung und schließen im Frontend
Msgbox "Das Dokument wurde gespeichert."
Call uidoc.Save
Call uidoc.Close(True)
End Sub
(Ach ja: wenn ich die Schaltfläche speichern & schließen nicht verwende sonder ESC > Speichern Ja, ists genauso)
Vielen Dank für alles und FROHE Weihnachten!! :)