Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit querymodechange

(1/2) > >>

jens1979:
Hallo,

ich habe ein kleines Problem mit meiner Datenbank. Ich möchte das ein Dokument nachdem es angelegt wurde nicht mehr bearbeitbar ist. Dies hab ich einfach mit einem versteckten Feld ("bearbeitungsmodus"="ja" oder "nein") und einer Formel im Querymodesave


--- Code: ---Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
If Not Source Is Nothing Then
If Source.Document.bearbeitungsmodus (0) = "1" And Not Source.EditMode Then
Msgbox "Das Dokument wurde freigegeben und ist nicht mehr bearbeitbar.", 48, "Hinweis"
continue = False
End If
End If
End Sub
--- Ende Code ---

gemacht. Soweit funktioniert das auch alles, aber nun bekomme ich die Anforderung das das an dem Dokument doch noch Änderungen vorgenommen werden sollen, allerdings ausschließlich über Aktionen. Wie kann ich das Realisieren? Kann ich irgendwie aus dem Script der Aktion eine Variable an das QueryModeChange übergeben die ich abfrgae und dann "continue" auf "true" setze?

Danke schonmal für eure Unterstützung,

Jens

Driri:
Man könnte die Felder einfach im Background-Dokument schießen und dann das Dokument neu im UI öffnen.


Noch ein Hinweis : Das Abfangen des EditMode ist keine echte Sicherheit gegen Änderungen. Der Hobby-Progger unter den Usern könnte sich einfach einen Agent basteln und damit Feldwerte ändern.

jens1979:
Danke erstmal für die schnelle Antwort ...


--- Zitat ---Noch ein Hinweis : Das Abfangen des EditMode ist keine echte Sicherheit gegen Änderungen. Der Hobby-Progger unter den Usern könnte sich einfach einen Agent basteln und damit Feldwerte ändern.
--- Ende Zitat ---

Das sollte nicht das große Problem sein ... es ist eher ne Sicherung damit keine Fehler passieren. Und die Spielkinder unter den Usern haben eh nur Lese-Rechte ;)


--- Zitat ---Man könnte die Felder einfach im Background-Dokument schießen und dann das Dokument neu im UI öffnen
--- Ende Zitat ---

Okay das hab ich jetzt irgendwie nicht so ganz verstanden. Welche Felder soll ich schließen? Das Dokument wird über die Aktion eigentlich nur mit ein Paar Flags versehen und als neue Version gespeichert.

Gruß Jens

MatthiasH:
Am einfachsten in der Ansicht durch eine Aktion für gewählte Dokumente das Feld "bearbeitungsmodus" ändern, somit zieht Dein QueryModeChange nicht mehr. Du kannst dies ja dann auch in dem Dokument protokollieren lassen wer den Button betätigt hat.

Axel:

--- Zitat von: jens1979 am 23.11.07 - 12:18:04 ---Okay das hab ich jetzt irgendwie nicht so ganz verstanden. Welche Felder soll ich schließen? Das Dokument wird über die Aktion eigentlich nur mit ein Paar Flags versehen und als neue Version gespeichert.

--- Ende Zitat ---

Du kannst keine Felder schließen, sondern nur Dokumente.

Was er meint ist, dass du mit Backendmethoden (NotesDocument-Klasse) die entsprechenden Felder füllst und das Dokument im Frontend schließt und wieder öffnest.

Unser Forenmitglied ata (Anton Tauscher) hat da mal eine Funktion dafür gebaut. Suche hier im Forum mal nach Reopen.


Axel


Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln