Autor Thema: Problem bim ersetzen  (Gelesen 1459 mal)

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Problem bim ersetzen
« am: 02.02.07 - 11:51:12 »
Hallo,

in einer Maske habe ich eine Schaltfläche zum ersetzen des Dokuments.

Code
Sub Click(Source As Button)
	Dim session As New NotesSession
	Dim workspace As New NotesUIWorkspace
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument
	Dim doc As NotesDocument, docNeu As NotesDocument
	Set uidoc = workspace.CurrentDocument
	Set doc = uidoc.Document
	Set db = session.CurrentDatabase
	Set docNeu = New NotesDocument(db)
	
	If Messagebox ("Soll das gewählte Dokument ersetzt werden? ", 36,"Dokument archivieren" ) = 7 Then
		Exit Sub
	End If

	'Felder werden geändert, wie z.B. Status auf archiviert gesetzt und das Archivierungsdatum gesetzt
	doc.Status = "archiviert"
	doc.ArchDat = Now
	doc.Rolle = ""
	
	Call doc.CopyAllItems(docNeu)
	Call doc.Save(True, False)
	
	
	'Felder des neuen Dokuments auf leer setzen
	
	docNeu.Datum = ""
	docNeu.Status = "aktuell"
	docNeu.ArchDat = ""
	docNeu.Rolle = "[Bearbeiten]"

	'Neu erstelltes Document wird geöffnet
	Call workspace.EditDocument( True, docNeu)
	Call workspace.ViewRefresh
	
End Sub

Das Script hat einen kleinen Hacken:
Wenn der Benutzer die Esc Taste benützt, ohne dass er zuvor in das neue Dokument geklickt hat, dann wird das neue Dokument nicht abgespeichert und in der Ansicht gibt es somit auch kein Dokument mehr, welches aktuell ist. Wenn ich versuche ein    Call docNeu.Save(True, False) an das Ände des Script zu hängen und der Benutzer macht Änderungen und will diese Speichern, so erhalte ich die Fehlermeldung, dass die Datenbank bereits ein Dokument mit dieser ID enthält.
Wie schaffe ich es, dass es immer ein aktuelles Dokument gibt?


Glombi

  • Gast
Re: Problem bim ersetzen
« Antwort #1 am: 02.02.07 - 13:32:51 »
Das Save muss hinter dem
docNeu.Rolle = "[Bearbeiten]"
erfolgen, d.h. bevor das im UI geöffnet wird.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Problem bim ersetzen
« Antwort #2 am: 02.02.07 - 13:44:24 »
Abgesehen davon feld noch docNeu.Form = "....."

Bernhard

Glombi

  • Gast
Re: Problem bim ersetzen
« Antwort #3 am: 02.02.07 - 14:00:29 »
wobei das durch CopyAllItems bereits da sein dürfte...

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Problem bim ersetzen
« Antwort #4 am: 02.02.07 - 14:07:24 »
Ja, das habe ich nicht beachtet  ::)

Bernhard

Glombi

  • Gast
Re: Problem bim ersetzen
« Antwort #5 am: 02.02.07 - 14:09:30 »
warten wir mal die Antwort ab...  ;)

Grüße nach unten links!

Offline mariab

  • Aktives Mitglied
  • ***
  • Beiträge: 123
Re: Problem bim ersetzen
« Antwort #6 am: 02.02.07 - 15:13:17 »
super  :), Glombi hatte Recht, wenn ich das Save hinter dem docNeu.Rolle = "[Bearbeiten]" einfüge, klappts wunderbar. Das docNeu.Form wird hier nicht benötigt, da es, wie Glombi bereits vermutet  durch das CopyAllItems bereits da ist.

Danke für Eure Hilfe

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz