Dokument gegen Veränderung sichern

  • Folgendes Szenario:


    Der Benutzer legt ein Dokument an ... dort soll es dann ne Aktion zum "Versiegeln" geben, danach sind Änderungen nicht mehr möglich.
    Wie kann ich das bewerkstelligen? Meine Idee wäre en Feld einzufügen welches ich durch die Aktion auf zB Gesperrt setze und beim aufrufen des Dokuments wird geguckt auf was das Feld steht und wenn gesperrt dann ist der Edit-Modus nicht erlaubt. Klingt gut, oder?
    Jetzt das Problem .. wie mach ich das? *schnüff* ... also wie kann ich sowas abfragen, wie kann ich den Edit-Modus sperren?

  • queryopen + querymodechange events der maske
    Abfrage auf das feld / den status
    -> Continue = False


    so kannst du den anwender vom editieren des dokumentes über die maske 'abhalten'.


    über script geht es natürlich weiterhin. aber das kannst du nicht verhindern.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Verwende doch Reader und Autorenfelder.
    Sobald das Dokument versiegelt ist, setzt Du das Autorenfeld z.B. auf eine Spezielle Rolle.
    Dann kann nur noch ein Benutzer mit dieser Rolle das Dok editieren.


    gruss umeli

  • is natürlich auch ne möglichkeit. kommt halt immer drauf an wie die anwendung aufgebaut ist.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • Hi,


    ich würde sowas nur über Leser- und Autorenfelder regeln. Das ist das einzigste was wirklich sauber funktioniert.


    Der Stunt in den Events fuktioniert nicht zuverlässig. Ich hab's selbst mal versucht. Es gab immer wieder ein Weg die ganze Sache auszuhebeln. Ich spreche da aus Erfahrung.



    Axel

  • Sowas natürlich immer nur über Lese- und Autorenfelder.


    Wenn jemand mit 'nem Agenten an das Dokument rangeht, dann helfen Dir Sperrfunktionen in QueryOpen oder QueryModeChange gar nichts.


    diese aktion ist doch auch am leichtesten zu Programmieren. Musst ja nur 'nen Feldwert ändern.

    So is das mit dem Licht, mal brennt's und mal brennt's nicht.

  • Meiner Meinung nach ist das viel zu kompliziert (liegt wahrscheinlaich daran, dass ich Leser und Autorenfelder nicht besonders mag):-D


    Erstelle einfach ein verborgenes Textfeld namens SAVEOPTIONS (reservierte bezeichnung).
    Weise dem Feld den Wert "0" zu, um das Speichern zu unterbinden und "1" um das Speichern zu erlauben.


    Der User kann dann das Dokument in den Edit-Modus setzen, aber nicht mehr speichern. (vgl. "Anwendungsentwicklung unter Lotus Notes Domino 6.5"; S.156)



    Phobos

  • Das laeuft ja nun voll auf verarschen raus. Der user kann was aendern aber nimmer speichern. Ja danke. Aber, ob es nun Leserfelder braucht??
    Die Anforderung von geordi war doch lediglich zu verhindern, dass das Dokument in den Edit-Mode gesetzt wird. Dafuer ist doch bestens der Queryopen und querymodechange geeignet. Es stand nirgendwo, dass das Dokument schreibgeschuetzt sein soll.

  • Zitat


    dnotes schrieb:
    Die Anforderung von geordi war doch lediglich zu verhindern, dass das Dokument in den Edit-Mode gesetzt wird. Dafuer ist doch bestens der Queryopen und querymodechange geeignet. Es stand nirgendwo, dass das Dokument schreibgeschuetzt sein soll.


    Eben nicht. Egal wie du es in den Events machst, irgendwas funktioniert bei der Sache dann nicht. Ich kenne das aus eigener Erfahrung. Ich bin damit öfters auf die Nase gefallen.


    Außerdem, wenn du ein Dokument nicht in den Editmodus setzen kannst, dann ist es schreibgeschützt.


    Das Beste und Sicherste für solche Stunts sind immer noch Leser- bzw. Autorenfelder.



    Axel

  • Das sind Begrifflichkeiten. Ich sehe das anders. Wenn ein Dokument nicht in den Editmode gesetzt werden kann ist es nciht editierbar...aber nicht schreibgeschuetzt. Denn ich kann immer noch was uebr das backend z.B. veraendern.
    Du schreibst....irgendwas funktioniert bei der Sache nicht. Was ist denn irgendwas?? Nur weil Du damit evtl, auf die Nase gefallen bist, muss das nicht zwangslaeufig nicht funktionieren. Erklaer doch mal, womit Du auf die Nase gefallen bist.

  • Mal abgesehen von den Begrifflichkeiten:
    Er hat doch in seinem ersten Posting ganz klar geschrieben, daß er das Dokument vor Veränderungen schützen will. Das mit dem Verhindern des Edit Modes hat er ja nur als zusätzliche Idee dazugeschrieben.
    Und mit der Vorraussetzung sind Autorenfelder wirklich die einzige Möglichkeit unerlaubte Änderungen zu verhindern.

  • Zitat


    dnotes schrieb:
    Du schreibst....irgendwas funktioniert bei der Sache nicht. Was ist denn irgendwas?? Nur weil Du damit evtl, auf die Nase gefallen bist, muss das nicht zwangslaeufig nicht funktionieren. Erklaer doch mal, womit Du auf die Nase gefallen bist.


    Hi,


    mit Irgendwas war vielleicht etwas unglücklich gewählt.


    Aber es war so, dass bei der Lösung das Editieren zu verhindern über die Events, keine sauber funktionierende Lösung möglich war. Entweder war mit der Tastenkombination Strg+B ein Öffnen im Edit-Modus möglich, oder man konnte von Editmodus nicht mehr in den Lesemodus bzw. umgekehrt (bei Usern, die das Dokument editieren durften) usw. Da, das schon etwas länger her ist, habe ich nicht mehr alle Konstellationen im Kopf. Ich hab's dann aufgegeben mit der Lösung alle möglichen Löcher zu stopfen.


    Seither nehme ich für sowas Leser- und Autorenfelder und habe Ruhe. Und die sind mindestens genauso einfach zu handeln, wenn nicht sogar noch wesentlich einfacher, als der entsprechende Code in den Events.



    Axel

  • auch STRG+B lässt sich einfach verhindern wennman den mode im postopen abfragt. aber egal, hast ja ne lösung für dich gefunden.

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)