Domino 9 und frühere Versionen > ND6: Entwicklung

löschen in eingebetteter View verhindern?

(1/3) > >>

fritandr:
Hallo,

bei meiner Suche hier im Forum bin ich nur auf Beiträge gestossen, in denen beschrieben wird, wie man unter R5 mit diversen Workarounds Dokumente aus einer eingebetten View löschen kann. Ab und zu habe ich dann auch den Hinweis gelesen, daß das ja unter ND6 dann problemlos geht.

Genau das ist der Punkt, an dem ich jetzt gerade bin. Ich habe eine Maske mit einer eingebetteten Ansicht. Aus dieser Ansicht kann ich per Doppelklick die einzelnen Dokumente aufrufen, oder auch Dokumente löschen. Ich möchte nun gerne erreichen, daß meine Anwender aus dieser eingebetteten Ansicht keine Dokumente löschen können.

Hat jemand von Euch einen Tipp, wie ich das erreichen kann?

Viele Grüße
Andreas

Axel:
Hi,

was mir spontan dazu einfällt, wäre der Weg über das Database-Script und hier das QueryDocumentDelete. Das funktioniert aber nur, wenn man die Dokumente aus der eingebetteten Ansicht eindeutig identifizieren kann, z.B. über den Maskennamen.

Hast du ein paar mehr Infos, dann wird's vielleicht einfacher zu durchschauen.


Axel

Semeaphoros:
Das ist wohl schon die einzige Möglichkeit, da einzugreifen. Nebst dem Identifizieren des Docs über das Form-Feld, wie es Axel beschreibt, sehe ich das Hauptproblem darin, festzustellen, ob dieses Löschen jetzt tatsächlich aus einem schlafenden Vieh heraus ausgelöst wurde oder ob das sonstwo ausgelöst wurde.

TMC:

--- Zitat von: fritandr am 29.10.04 - 14:55:14 ---Ich habe eine Maske mit einer eingebetteten Ansicht. Aus dieser Ansicht kann ich per Doppelklick die einzelnen Dokumente aufrufen, oder auch Dokumente löschen. Ich möchte nun gerne erreichen, daß meine Anwender aus dieser eingebetteten Ansicht keine Dokumente löschen können.
--- Ende Zitat ---

Wie schon oben erwähnt kannst Du über "QueryDocumentdelete" arbeiten.

Beispiel:

--- Code: ---Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim uiws As New NotesUIWorkspace
If uiws.Currentview.viewalias ="Embedded01" Then
Continue = False
End If
End Sub
--- Ende Code ---

Dadurch darf kein User aus der Ansicht heraus Doks löschen, wenn der Aliasname der Ansicht "Embedded01" lautet. Das funktioniert auch mit eingebetteter Ansicht.



--- Zitat von: Axel am 29.10.04 - 18:12:08 ---Das funktioniert aber nur, wenn man die Dokumente aus der eingebetteten Ansicht eindeutig identifizieren kann, z.B. über den Maskennamen.
--- Ende Zitat ---
Verstehe ich jetzt nicht. Was meinst Du mit "eindeutig identifizieren"?

Matthias

Semeaphoros:
Genau das, was Du oben beschrieben hast. Sprich, man darf diese Ansicht nur als Embedded verwenden und nirgends sonst. Frage, bist Du sicher, dass CurrentView nur dann gesetzt ist, wenn diese Ansicht auch aktiviert ist? Wie ist das, wenn ein Dokument aus der View heraus geöffnet ist und man dann die Delete-Taste drückt?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln