Autor Thema: Querymodechange  (Gelesen 3041 mal)

botschi

  • Gast
Querymodechange
« am: 19.09.06 - 14:35:16 »
Hallo,

ich möchte verhindern, dass nur einige Leute ein Dokument ins Bearbeiten setzen dürfen.
Im Querymodechange habe ich folgende Formel eingetragen:
@IsNotMember(@UserNamesList; "Admingruppe")
Ich bin nicht in dieser Gruppe und kann das Dokument trotzdem ins Bearbeiten setzen.
Dann habe ich das Script eingebaut
Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
   
   Dim s As New NotesSession
   Dim formel As String
   Dim eval_formel As Variant
   
   
   formel = | @IsNotMember(@UserNamesList; "Admingruppe") |
   eval_formel = Evaluate(formel)
   
End Sub
Ergebnis ist, dass die Formel immer 0 zurückgibt, auch wenn ich dort eine Gruppe eintrage, in der ich Mitglied bin.

Kann mir jemand helfen? Wie kann ich das realisieren? Kann man dort keine Formel verwenden? Selbst wenn ich @False in das Ereignis eintrage kann ich ins Bearbeiten wechseln.
Leser- und Autorenfelder sind jetzt nicht mehr möglich, da es sehr viele dieser Dokumente gibt und ich diese denn ja erstmal updaten müsste. Es gibt auch viele Editoren in der DB usw. Die DB ist schon sehr alt und voll, aus den Anfängen von R4...
« Letzte Änderung: 19.09.06 - 15:43:15 von botschi »

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re: Querymodechange
« Antwort #1 am: 19.09.06 - 14:40:24 »
Hi,

   formel = | @IsNotMember(@UserNamesList; "Admingruppe") |

ich würde es an deiner Stelle einmal andersherum probieren:

   formel = | @IsNotMember("Admingruppe";@UserNamesList) |

Dann klappts auch mit dem Member.

Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Querymodechange
« Antwort #2 am: 19.09.06 - 14:42:07 »
Hallo,

der Paramater Continue muß um das Ereigniss abzubrechen auf den Wert 'False' gesetzt werden.

Rainer
Rainer Zaske

MCSD - C#

botschi

  • Gast
Re: Querymodechange
« Antwort #3 am: 19.09.06 - 15:42:56 »
Aaaaah  ;D
Formel umstellen ist ein guter Hinweis gewesen! So gehts auch.

Danke dafür!

Und Continue will ich ja auch auf false setzen, deswegen mach ich ja die Prüfung....

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Querymodechange
« Antwort #4 am: 20.09.06 - 10:59:19 »
Nur nebenbei: ich hoffe, Du erhoffst Dir von dieser Änderung keine Sicherheit...

Jeder, der in seinem Client das Smarticon "Debug Lotus Script" schon mal gedrückt hat, kann damit Dein QueryModeChange locker ausheben, indem er einfach das Script vor der Zeile Continue = False abbricht..

mal ganz abgesehen davon (aber dieser Hinweis kommt JEDESMAL, wenn jemand so versucht, das bearbeiten zu verhindern: Warum verwendet niemand die Suche....), dass man über Strg + B oder über eine Aktion "Dokument bearbeiten" mit dem Code "@Command([EditDocument])" aus der Ansicht DIREKT im Edit- Mode landet, ohne dass das QueryModeChange gefeuert wird...

Um wenigstens das zu verhindern, muss der Code auch noch ins QueryOpen mit Abfrage auf "uidoc.EditMode = True" und isNewDoc....

BITTE: Gib Deinen Benutzern "Author"- Rechte und verwende die entsprechenden Felder für ECHTE Sicherheit... Dann kannst Du im Autor- Feld einfach die Admingruppe eintragen und gut ist...

Tode

Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

botschi

  • Gast
Re: Querymodechange
« Antwort #5 am: 20.09.06 - 13:16:30 »
Danke für den Hinweis.

Ich habe die Suche benutzt und den Beitrag (ich glaube von Lossa) gefunden, der Strg + B beschreibt. Dem Verantwortlichen der DB habe ich dies auch so gesagt.
Es handelt sich bei den Dokumenten um Vermerke, die auch an einen Kunden gehen. Damit nicht jeder User dort seinen Senf eintragen kann (Ausdruck, Formulierung, Rechtschreibfehler), soll nur eine bestimmte Gruppe das Dokument bearbeiten dürfen.

Ne RICHTIGE Sicherheit habe ich mir davon nicht erhofft.

Für die Zukunft merke ich mir das aber  ;)

The problem with quick and dirty is that dirty remains long after quick has been forgotten.  ;D
« Letzte Änderung: 20.09.06 - 13:18:57 von botschi »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz