Domino 9 und frühere Versionen > ND6: Entwicklung

Problem mit Gruppenauflösung

<< < (2/3) > >>

koehlerbv:

--- Zitat von: jo@chim am 22.02.07 - 17:38:40 ---Ich würde das gerne einfach über eine Eingabeumsetzung lösen, verschachtelte Gruppen benutzen wir mW nicht.
--- Ende Zitat ---
Wirkliche Programmierer verwenden solcherart Konjunktive nicht, sondern rechnen immer mit dem schlimmsten!

Die Eingabeumsetzung kannst Du auch mit Script benutzen: Das PostRecalc Event ist Dein Freund.

Wenn Du doch mit @functions arbeiten willst:
Schleifen mit Formelsprache sind incl. Beispielen in der DesignerHelp sehr gut erklärt.

Bernhard

jo@chim:

--- Zitat ---Wirkliche Programmierer
--- Ende Zitat ---
Komm mal runter, Junge.


--- Zitat ---PostRecalc Event
--- Ende Zitat ---
Danke für den Hinweis, daran habe ich nicht gedacht.

jo@chim:
Wusst ich doch, dass das auch mit schlappem Skript funktioniert  ;D
Hier das Ganze noch einmal fürs Forum:


--- Code: ---tmpFieldName:=NamensfeldUmDasEsGeht;
tmpGroupMembers:=@IfError(@DbLookup("":"NoCache"; @Subset (@DbName; 1):"names.nsf"; "($Users)"; tmpFieldName; "Members"); "");
tmpPerson := "";
@For(n := 1; n <= @Elements(tmpFieldname); n := n + 1;
@If(@DbLookup("":"NoCache"; @Subset (@DbName; 1):"names.nsf"; "($Users)"; tmpFieldName[n]; "Members")="";tmpPerson:=tmpPerson:tmpFieldName[n];""));
@If(tmpFieldName!="";@Trim(@Unique(@Name([CN];@If(@Subset(@DbName;1)="";tmpFieldName;tmpPerson:tmpGroupMembers))));"")
--- Ende Code ---

Die Formel löst in der Eingabeumsetzung eines Namensfeldes die Gruppe(n) in die jeweiligen Usernamen auf und entfernt die Bezeichnung der Gruppe selbst; Einzelnamen werden übernommen. Known Limitations: wie B. schon richtig erwähnt hat, funktioniert das bei verschachtelten Gruppen nicht. Wenn man von einer lokalen Replik aus arbeitet, wird die Gruppe erst beim nächsten Recalc von einer Server-Replik aus aufgelöst. Und die "names.nsf" muss natürlich auch im Zugriff sein.

koehlerbv:
Klar kriegt man sowas ab R6 auch mit @functions hin - ich hatte ja genau darauf hingewiesen. Und wenn man den Code noch unleserlicher / unwartbarer machen will: Damit geht sogar Rekursion (in diesem Fall)  ;D

Eine Frage noch: Warum kommt das

--- Code: ---@If (@Subset (@DbName; 1) = ""
--- Ende Code ---
erst, wenn eigentlich schon alle Messen gelesen sind? Die Operation sollte doch eigentlich gleich abgebrochen werden, wenn auf eine lokale DB "NAMES.NSF" zugegriffen wird ...


--- Zitat von: jo@chim am 22.02.07 - 19:40:05 ---Komm mal runter, Junge.
--- Ende Zitat ---
Was das angeht: Ich bin kein "Junge". Ich stehe aber zu meiner Aussage.

Bernhard

dirk_2909:
..und noch so als Info:

@ifError gibt es ab R7 nicht mehr (funktioniert aber noch)  8) 
Es macht auch den Code unübersichtlich  ???

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln