Autor Thema: Gruppen auflösen in LotusScript  (Gelesen 4132 mal)

Offline 2stupid4this

  • Junior Mitglied
  • **
  • Beiträge: 70
  • Geschlecht: Männlich
  • Never touch a running system!
Gruppen auflösen in LotusScript
« am: 20.09.06 - 16:43:41 »
Hallo zusammen,
stelle mich mal wieder zu blöd an oder denke vielleicht auch zu kompliziert. Ich habe eine Maske in der im QueryModeChange abgefangen werden soll, ob das Dokument im bearbeiten-Modus geöffnet werden darf oder nicht.
Hierzu habe ich ein Feld $Autoren (Textfeld).In diesem Feld können sowohl einzelne Personen aus dem NAB sein, wie auch Gruppen aus dem NAB und es ist auch die Rolle [Admin] vertreten.
Inhalt des Feldes $Admin z.B: Fritz Mustermann/Musterfirma/DE:Vorstand:[Admin]

Die Rollen kann ich ja per Skript noch ermitteln, z.B.
Code
dim rc
rc=Evaluate({@IsNotMember("[Admin]";@UserRoles)})
if rc(0)<>0 then continue=False
Schön wäre es, wenn das auch per Script geht, aber roles=db.QueryAccessRoles geht ja soweit ich gesehen habe nur, wenn der User als Person und nicht als Gruppenbeteiligter in der ACL der DB steht.

Mit Gruppen in der ACL funktioniert es anscheinend auch noch wie folgt:
Code
dim rc
rc=Evaluate({@IsNotMember("[Admin]";@UserNamesList)})
if rc(0)<>0 then continue=False

Gibt es das auch in reinem Script?

Jetzt habe ich aber noch das Problem, wie ich die einzelnen Personen ausser den Rollen abfrage

Ich müsste das ja irgendwie so machen
Code
dim rc
dim autoren
autoren=source.Document.~Autoren
rc=Evaluate({@IsNotMember(autoren;@UserNamesList)})
if rc(0)<>0 then continue=False
Wie kriege ich diese Autorenliste in den Evaluate-String, bzw. geht das auch schöner mit reinem Script?
Hoffe das war nicht zu verwirrend.
Danke im voraus für die Unterstützung
2stupid4this
Wer Rechtschreibfehler findet, darf diese behalten.

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: Gruppen auflösen in LotusScript
« Antwort #1 am: 20.09.06 - 16:51:27 »
Nope, geht meines Wissens nur einigermassen Anständig per Evaluate.

Code
autoren=source.Document.~Autoren
rc=Evaluate(|@IsNotMember(| & autoren & |;@UserNamesList)|)

So sollte das mit den Autoren klappen. Wie das allerdings mit Listen funktioniert, weiss ich nicht.

Grüsse
Moritz

P.S.
Beim Deklarieren von Variablen bitte IMMER den Datentyp angeben. Zum Beispiel "Dim rc As Variant". So ersparst du dir später viele Fehler mit Typumwandlungen und der Code wird lesbarer.

Offline 2stupid4this

  • Junior Mitglied
  • **
  • Beiträge: 70
  • Geschlecht: Männlich
  • Never touch a running system!
Re: Gruppen auflösen in LotusScript
« Antwort #2 am: 20.09.06 - 17:56:40 »
Habs aufgrund eines anderen Forumeintrages gefunden. Ist viel einfacher als gedacht:
Code
dim rc
rc=Evaluate({@IsNotMember($Admin;@UserNamesList)},source.document)
if rc(0)<>0 then continue=False
Wie verhält sich hier der Evaluate-Befehl von der Performance? Gibts das oben abgebildete performanter unter script?
Wer Rechtschreibfehler findet, darf diese behalten.

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Gruppen auflösen in LotusScript
« Antwort #3 am: 21.09.06 - 08:02:44 »
... wäre mir nicht bekannt

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz