Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: wuschel am 03.12.03 - 15:35:40

Titel: Verhindern des Öffnens eines Dokuments
Beitrag von: wuschel am 03.12.03 - 15:35:40
Ich habe Dokumente in einer Datenbank, in denen ich gespeichert habe, wer dieses Dokument als letztes bearbeitet hat. Beim Öffnen soll geprüft werden, ob die öffnende Person gleich dem aktuellen Bearbeiter ist. Ist dies der Fall, soll das Dokument geöffnet werden, andernfalls soll eine Hinweisabfrage kommen, dass das Dokument von jemand anders zuletzt bearbeitet wurde und ob es trotzdem geöffnet werden soll. Wird die Frage bejaht, soll eine Bearbeitung möglich sein, andernfalls soll das Dokument gleich wieder geschlossen oder erst gar nicht geöffnet werden.
Ich habe das über POSTOPEN und @COMMAND([FILECLOSEWINDOW]) probiert, aber offensichtlich funktioniert dieses Command nicht im POSTOPEN und im QUERYOPEN habe ich offensichtlich noch keinen Zugriff auf Dokumentfelder mittels source.fieldgettext(...).
Hat hier jemand ne Lösung für mich???
Titel: Re:Verhindern des Öffnens eines Dokuments
Beitrag von: Glombi am 03.12.03 - 15:48:08
Du solltest das in LS machen und dann die Events QueryOpen und QueryModeChange nutzen.

(Declarations)
dim session as NotesSession
dim cuser as String
dim ret as integer

QueryOpen:
set session = New NotesSession
cuser = session.Username

If (not Source.IsNewDoc) and Source.EditMode then
 if Source.Document.Bearbeiter(0) <> cuser then
  ret = msgbox("Das Dokument wird von ...... bla",4+32,"Dokument bearbeiten?")
  if ret = 7 then
     continue = false
     xit sub
  end if
 end if
end if


QueryModeChange:
If not Source.EditMode then
 if Source.Document.Bearbeiter(0) <> cuser then
  ret = msgbox("Das Dokument wird von ...... bla",4+32,"Dokument bearbeiten?")
  if ret = 7 then
     continue = false
     xit sub
  end if
 end if
end if



Ich hoffe, es sind keine Syntaxfehler drin. Aber die Funktionalität sollte deutlich werden.

Andreas
Titel: Re:Verhindern des Öffnens eines Dokuments
Beitrag von: wuschel am 03.12.03 - 16:02:42
genau so funktionierts,
jetzt wurde mir auch klar, dass ich auf document muss und nicht uidocument...
VIELEN DANK