Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: zeeboo am 22.07.03 - 10:06:55
-
hallo
wie kann ich verhindern das ein dokument (dh die maske) von einem view aus per doppelklick geöffnet wird???
thx
-
Ein ganz simpler Weg wäre, die Maskenformel der View zu verwenden und auf eine leere Maske mit einem Warnhinweis (oder so) und keinem bearbeitbaren Feld darauf zu verweisen.
-
Hi,
Du kannst im QueryOpen ein Continue = False setzen.
Aber irgendwie willst Du doch das Dokument öffnen, oder? Evtl. nur für bestimmte Rolle?
Andreas
-
danke so mach ichs nun
ich mache das damit niemand das dok verändern kann. selbst die nicht die an sich schreibrecht haben.
-
Und wer erstellt das Dokument ???
-
Zwischen nicht verändern und nicht öffnen ist aber ein Unterschied. Willst Du evtl. verhindern, dass man das Dokument in den Bearbeitenmodus setzt?
Andreas
-
wiedermal schlecht ausgedrückt. verzeiht bitte (bin neu auf dem gebiet)
es soll nur nicht geöffnet werden können.
also bei doppelklick auf das dok im view soll sozusagen "nichts" passieren.
mfg
-
Ok,
also kannst Du das wie folgt machen:
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
If Not Isnewdoc Then
Continue = False
End If
End Sub
Damit kann man neue Dokumente erstellen, aber vorhandene nicht öffnen.
Es sei darauf hingewiesen, dass das KEIN Sicherheitsfeature ist. Man kann über die Dokumenteigenschaften die Feldinhalte sehen oder Dokumente ganz normal (Structure Text) exportieren. Dann sieht man, in welchen Felderm was steht. Geht auch wenn das Design versteckt ist.
Andreas
-
Mit der Abfrage in QueryOpen kann man das Dok immer noch in den Edit Mode bringen (Bearbeiten, Strg-B etc.) im Dokument).
Die Abfragen müssen im PostOpen und im QueryModeChange stehen und dort den EditMode auf false setzen (dabei die wechselseitige Abhängigkeit - EditMode = false in PostOpen triggert QueryModeChange - beachten.
Ich weiß aber nicht, ob es eine gute Idee ist, (bestimmte) Dokumente nur noch erstellen zu lassen ...
-
Hi Bernhard,
wenn ich im QueryOpen Continue = false setze, bekomme ich kein Dokument auf.
zeeboo will ja verhindern, dass man das Dokument öffnet.
Andreas
-
Natürlich hast Du recht, Andreas. Ich bin jetzt von der falschen Voraussetzung ausgegangen: Dok darf nicht in den Bearbeiten-Modus gebracht werden.
Sorry wegen der Konfusion ...
Bernhard
-
Hallo,
kann man nicht einfach das komplette Dokument als Absatz setzen und dann die bearbeitung des Absatzes verhindern ?
N. Newbie
-
Nun sind wir ja doch bei meiner Annahme - das BEARBEITEN soll verhindert werden.
Dann also doch meine Methode verwenden und den Wechsel in den EditMode = true verhindern.
Mit einem kontr. Abschnitt kann man's auch probieren.
Bernhard
-
Ja, aber das kam von Newbie
Kontrollierte Abschnitte gehen auch. Ist halt immer die Frage, was genau erreicht werden soll und das geht in diesem Thread nicht so klar hervor.
Andreas
-
Ist schon klar, von wem das kam ;-)
Und bevor wir jetzt weiter rätseln, sollten vielleicht mal die exakten Bedingungen und das eigentliche Ziel geklärt werden.
- Ein Dokument soll nicht mehr bearbeitbar sein oder überhaupt nicht mehr mit einer Maske angezeigt werden ?
- Wie lautet die Bedingung, ab wann die Sperre wirken soll ? "Immer" geht ja nicht (es sei denn, man kopiert diese Doks in die DB, aber dann brauch man ja keine Maske mehr für diesen DokTyp)
- Wer will und nur halbwegs Know-How hat, kann ein Dokument immer noch manipulieren (so'n kleiner schnuckeliger persönlicher Agent eines DB-Managers ...)
Und so weiter ...
HTH,
Bernhard
-
das dokument soll überhaupt nicht mehr in der maske geöffnet werden.
warum brauch ich dazu eine bedingung? das verseh ich jetzt nicht.
mfg
-
Hi zeeboo,
nimmt den von mir geposteten Script Code im QueryOpen, dann hast Du alles was Du brauchst.
Das Dokument kann dann nicht mehr geöffnet werden. Finito!
Mein Hinweis zur Sicherheit bleibt...
Andreas
-
sollte auch genügen, ja
danke