Edit Modus verhindern.

  • Ich möchte verhindern, dass ein User ein Dokument mittels Doppelklick in den Editionmodus bringt. Der User benötigt aber Editorechte, da eine Aktionsformel den Inhalt eines Feldes ändert. Rollen wurden auch vergeben.
    Hat jemand eine Idee ?

  • Mehrere..
    1. Editmode = False beim dokument postopen, und
    2. If Editmode=True then Editmode = False im QuerymodeChange event.


    Fertig. Mittels agenten / (ansicht!) aktionen ist es dann trotzdem möglich feldinhalte zu ändern.


    Ronka

    • Offizieller Beitrag

    Patri
    dies funktioniert aber nicht, wenn das Dokument mit STRG + B (oder STRG + E im engl. Client) geöffnet wird, weil dann QueryModeChange nicht durchlaufen wird.


    Es muss im PostOpen und im QueryModeChange verhindert werden, dass der User in den Bearbeitungsmode kommt.



    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Ein "continue=false" im QueryModeChange würde dazu führen das er den status nicht wechseln kann, welches beim STRG-B öffnen eines dokument dazu führt das er in bearbeitungsmodus bleibt.


    Mein if statement würde dazu führen das dieses dokument trotzdem öffnet, aber dann nur in lese modus.


    Ronka

  • Vielen Dank. Ihr seid Alle so gut zu mir.
    Ich habe Ronkas Tipp mit dem IF Statement ausprobiert, funktioniert aber nicht. Ich muss aber dazu sagen, dass ich (noch) absoluter Amateur auf diesem Gebiet bin. Eventuell fehlt noch etwas, was für euch selbstverständlich ist. Ich habe also in der Event Prozedur wirklich nur dieses IF Statement eingetragen.

  • nach ein wenig hin und her probieren habe ich eine Lösunge gefunden, die zwar nicht perfekt ist, aber funktioniert..


    pack den Code in das Feld, in das er als ersten geht, wenn man das Dokument bearbeitet und dann hast du deinen erwünschten Erfolg ;)


    Code
    Sub Entering(Source As Field)
    	Dim uiDoc As NotesUIDocument
    	Dim ws As New NotesUIWorkspace
    
    	Set uiDoc = ws.CurrentDocument
    
    	If Not(uiDoc.IsNewDoc) Then
    		uiDoc.EditMode = False
    	End If
    End Sub

    Ärgerlich wenn am Ende des Geldes noch soviel Monat übrig ist...

  • Hallo Patri,


    vielen Dank für den Code. Er funktioniert tastsächlich. Ein Doppelklick ins Formular schaltet nicht mehr in den Editmode. Ein Doppelklick auf das Feld in dem der Code liegt auch nicht. Aber ein Doppelklick auf alle andere Felder. Jetzt kann man natürlich den Code bei allen Felden eintragen (sind nicht viele), aber die Sache hat einen kleinen Kollateralschaden. Ein Aktionsbutton führt folgenden Code aus: schaltet in den Editmodus, ändert einen Feldinhalt und schaltet den Editmodus wieder aus. Das funktioniert aber dann auch nicht mehr. Da sich bei der Sache die Katze immer wieder in den Schwanz beisst, habe ich aufgegeben und den Workflow so geändert, dass der User selbst keine Feldinhalte ändern muss.
    Ich danke aber euch allen für Eure Mühe.

  • hättest ja nun für nicht in jedem feld das eintragen müssen sondern einfach nur im Postopen continue = false eintragen und den Code in das erste feld.. dann geht es nicht mehr..
    Für deinen Aktionsbutton: du hättest das Feld auch im Backend ändern können ;)

    Ärgerlich wenn am Ende des Geldes noch soviel Monat übrig ist...

  • Code
    und dazu im PostOpen der Maske Editmode = False dann klappt alles.


    Das wird so nicht klappen.. wenn ich ein Dokument erstelle, gibt es eine Fehlermeldung

    Ärgerlich wenn am Ende des Geldes noch soviel Monat übrig ist...