Dialog für Nicht-Autor

  • Hallo


    ich habe Dokumente mit Leser- und Autorenfelder. Funktioniert auch alles.


    Aber, wenn ein User der nur Lesen darf einen Doppelklick macht, passiert eben nix.


    Ich hätte hier gerne eine Meldung: "Du hast kein Bearbeitungsrecht."



    Wie und wo muss ich das eintragen???



    Danke
    Lizzy


  • Moment!
    Doppelklick in einer Ansicht oder in einem Ordner, da feuert das QueryOpen-Event.
    Innerhalb eines Dokumentes ist es dann das QueryModeChange-Event, das ist richtig.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Wenn man in einer Ansicht Strg-B (deutscher Client) drückt oder man hat eine Ansichtsaktion "Bearbeiten" oder benutzt das Menü, dann geht das Dokument gleich im EditMode auf - das QueryModeChange Event wird *nicht* durchlaufen.
    QueryModeChange alleine reicht für solche Prüfung nie.


    HTH,
    Bernhard

  • manu: es ging mir nur um die Konkretisierung, dass "Doppelklick" != "EditMode" ist. Wenn ich mir den Thread aber nochmal ansehe, sehe ich, dass das Korinthenkakcerei ist. Mein Fehler!


    Bernhard: ist es möglich, dass das nur Strg+B, bzw. die "eingebaute" Aktion, also das Systemkommando, betrifft? Weil, hier (8.5.3 FP1 Client, 8.5.2 FP3 Server) gilt das jedenfalls nicht fürs @Command.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Wenn ich eine Ansichtsaktion mit @Command ([EditDocument]; "1") baue, dann wird bei mir ebenfalls das QueryModeChange *nicht* ausgeführt. Wie auch - der Modus ist ja bereits festgelegt.
    Wenn bei Dir das Event trotzdem durchlaufen wird, dann muss da noch etwas anderes wirken.
    Bernhard

  • Ergänzung: In dem Fall wird das QueryOpen-. Event ausgeführt, und dort ist dann EditMode = True... Man muss seinen Code also immer im QuerymodeChange (Abfrage ob EditMode = False) UND im QueryOpen (Abfrage ob EditMode = True ) einbauen

  • Das Beispiel von Bernhard mit dem PostOpen event finde ich persönlich nicht ganz geeignet. Befindet sich doch der Benutzer bereits im Editmode und der Code schickt ihn zurück in den Readmode. Dabei werden einige berechnete Felder aktviert, unter Umständen auch nach einer Speicherung gefragt und auch andere Events wie Query-/Post- recalc, save und modechange ausgelöst.


    Ich verhindere das bearbeiten bereits vor dem Öffnen wenn jemand STRG+B klickt.


    Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)


    If IsNewDoc Then
    'neue Dokumente dürfen immer geöffnet werden
    Continue = True
    Else
    If Mode = 1 Then
    'User will das Doc direkt im Editmode öffnen
    If BEDINGUNG Then
    'darf bearbeiten
    Continue = True
    Else
    'darf nicht
    Continue = False
    Msgbox "Sie dürfen nicht bearbeiten!"
    End If
    End If
    End If


    End Sub


    Das hat den Nachteil, dass der Benutzer es gar nicht direkt im Editmode öffnen kann, ist mir aber lieber als alle möglich events auszulösen.


    lg
    k0Nr@d