Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: theBastian am 22.08.05 - 12:26:43

Titel: geöffnetes Doc im Backend per Script schließen
Beitrag von: theBastian am 22.08.05 - 12:26:43
Hallo,

ich versuche ein geöffnetes Doc (Read) per Script zu schließen.

Das Doc soll nach dem erstmailgen Speichern nicht mehr bearbeitbar sondern nur noch archivierbar sein. Damit nicht wahllos archiviert wird, soll das Doc zum Lesen geöffnet sein. In der Form gibt einen Actionbutton, der folgenden Agent aufruft.

Code
On Error Goto errHandler	
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim archuser As String
	Dim archtime As String
	Set db = session.CurrentDatabase	
	Set doc = session.DocumentContext
	
		'Get the current user and time
	archuser = session.CommonUserName
	archtime =Format(Now(), "Long Date")
	
	'Set the archive field
	Dim item As NotesItem
	Set item = doc.ReplaceItemValue( "$ArchivedBy", archuser )
	Set item = doc.ReplaceItemValue( "$ArchivedOn", archtime )
	Call doc.Save( True, True )
	
	Msgbox "Die Archivierung wurde durchgeführt." & Chr(10)  & Chr(10) _
	& "von: " & archuser & Chr(10) _
	& "am: " & archtime & Chr(10) _
	,64,"Archivierung durchgeführt"
	
exitScript:
	Exit Sub
	
errHandler:
	Msgbox "Es ist ein Fehler aufgetreten." & Chr(10)  & Chr(10) _
	& "Fehlermeldung: " & Error$ & Chr(10) _
	& "Fehlernummer: " & Err & Chr(10) _
	& "Codezeile: " & Erl & Chr(10) _
	,64,"Error"
	Resume exitScript

Klappt alles wunderbar.  :)

Super wäre natürlich, wenn das Doc dann geschlossen werden würde und der User wieder in der View ist. Geht das im Backend überhaupt?

cu
der B@sti
Titel: Re: geöffnetes Doc im Backend per Script schließen
Beitrag von: robertpp am 22.08.05 - 12:33:21
Du kannst nicht das Backend doc schließen du musst das Uidoc schließen weil das ist ja öffen.

  Dim ws As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = ws.CurrentDocument
  Call uidoc.Close(True)


Titel: Re: geöffnetes Doc im Backend per Script schließen
Beitrag von: theBastian am 22.08.05 - 13:18:44
Du kannst nicht das Backend doc schließen du musst das Uidoc schließen weil das ist ja öffen.

  Dim ws As New NotesUIWorkspace
  Dim uidoc As NotesUIDocument
  Set uidoc = ws.CurrentDocument
  Call uidoc.Close(True)

Vielen Dank. Manches kann so einfach sein. ;)

cu
der B@sti