@Peter
Dank für den Tip, hab ich gleich mal umgesetzt
Sub Click(Source As Button)
On Error Resume Next
Dim wksp As New NotesUIWorkspace
Dim db As NotesDatabase
Dim uidoc As Notesuidocument
Dim bdoc As NotesDocument
Dim doc As NotesDocument
Dim docunid As String
Call wksp.DialogBox ( "(Dialog: Eingabe Stellungnahme)", True, True, False, True, True, False, "Stellungnahme eingeben" )
Set uidoc = wksp.CurrentDocument
Set bdoc = uidoc.Document
Set db = bdoc.ParentDatabase
docunid = uidoc.Document.UniversalID
Call uidoc.Close(True)
Delete uidoc
Set doc = db.GetDocumentByUNID(docunid)
Call wksp.EditDocument(False,doc,False)
End Sub
@Andreas
Die Abbrechen-Option wird im QueryClose der Dialogmaske behandelt, es gibt dort auch noch einen zusätzlichen Schalter, mit dem der Benutzer seine Eingaben zur Übernahme bestätigt.
Dim tempKommentar As String
tempKommentar = source.FieldGetText("temp_Eingabe")
If Source.DialogBoxCanceled Then
If Messagebox ("Wollen Sie den Vorgang wirklich abbrechen?", _
MB_YESNO+MB_ICONQUESTION, "Cancel") = IDNO Then
Continue = False
Exit Sub
Else
Continue = True
Exit Sub
End If
End If
If tempKommentar = "0" Then
If Messagebox ("Sie haben Ihre Eingaben nicht gespeichert, der Workflow kann nicht fortgesetzt werden. " &_
"Wollen Sie den Dialog wirklich schließen?", _
MB_YESNO+MB_ICONQUESTION, "Cancel") = IDNO Then
Continue = False
Exit Sub
Else
continue = True
Exit Sub
End If
End If
Bezüglich der Übergabe von Daten von der Dialogmaske an das Haupdokument:
http://atnotes.de/index.php/topic,48858.0.htmlUnd die Maske heißt tatsächlich so
Da ich das Problem ursprünglich in der Dialogmaske oder deren Aufruf vermutet hatte, habe ich den Debugger außen vor gelassen (geht ja innerhalb von Dialogmasken nicht). Nachdem der Fehler inzwischen auch beim Aufruf aus der Datenbak selber auftritt, habe ich mir das mal im Debugger angesehen und so wie es aussieht habe ich ein Problem im QueryClose Event des Hauptdokuments (bzw. in dem der dort verwendeten Steuerungsteilmaske).
Gehe ich mit dem Debugger alle Schritte einzeln durch, tritt der Fehler nicht auf. Lasse ich das Script jedoch per 'Fortfahren' Schalter durchlaufen setzt er mir an flogender Stelle auf:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim sOption As String
Dim quest As Integer
Dim rc As Variant
--> sOption = source.FieldGetText("SaveOptions") 'Hier erfolgt der Abbruch mit der Fehlermeldung
If sOption = "0" Then
quest = Messagebox("Wenn Sie das Dokument schließen gehen alle Eingaben verlohren." & Chr(13) & Chr(13) &_
"Wollen Sie das Dokument jetzt schließen?", 36, "Sicherheitsabfrage")
If quest = 7 Then
rc = False
Else
rc = True
End If
Else
rc = True
End If
continue = rc
End Sub
[Edit] Code aktualisiert, da standen noch ein paar Relikte drin
Laut Ausgabe des Debuggers ist in diesem Fall das Objekt 'Source' leer.