Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Klafu am 20.05.08 - 13:58:27

Titel: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 20.05.08 - 13:58:27
Hallo,
Ich fülle mit LS ein Feld mit dem Inhalt eines Arrays in dem die Namen von Kollegen sind:
z.B. sieht der Feldinhalt nachher so aus:
"Hans Hansrich.Holger Holgerich."

Nun hab ich ein Kontrollkästchenfeld und möchte die in dem oben genannten Feld stehenden Namen dort zur Auswahl anbieten.

Ich hab als Auswahlkriterium das Feld angegeben aber nun werden die Namen auch so wie oben dargestellt, angezeigt.
Sprich ich habe nur einen Auswahlpunkt hinter dem "Hans Hansrich.Holger Holgerich." steht.
Ich kann bei dem Kontrollkästchen aber auch die Option "Werte trennen bei Eingabe von" nicht  benutzen, da die Grau unterlegt ist.
Wie schaff ich es, das ich nun jeden Namen (und ohne die Punkte) einzeln zur Auswahl habe ?


Danke
Christoph
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: ata am 20.05.08 - 14:29:43
Zitat
"Hans Hansrich.Holger Holgerich."

... das ist kein Array, sondern ein String - um daraus ein Array zu machen musst du einen Explode darauf machen => Auswahlformel => Explode(Feldname ; ".")

Werden die Namen zum Öffnen der Maske berechnet, oder können sich die Namen während des Bearbeitens ändern? Wenn ja, dann muß in den Eigenschaften der Checkbox dier Aktualisierung aktiviert werden...

Toni
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 20.05.08 - 14:43:12
Hallo Toni,
Danke für deine Bemühungen.
Das mit dem Array kam wohl ein bisschen falsch herrüber.

Ich öffne das Dokument und die Namen werden dann über ein Script nacheinander in ein Array geschrieben, welches dann am Ende des Codes in das Feld eingefügt wird.
Dannach stehen die Namen in dieser Form im Feld: "Hans Hansrich.Holger Holgerich."

Das Problem ist, das es auch so im Kontrollkästchen steht, ich aber die einzelnen Namen auflisten möchte.

Christoph

Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: ata am 20.05.08 - 14:48:23
... hast du das denn schon probiert?

Zitat
Explode( DeinFeldname ; ".")

in der Auswahlformel sollte es dann die Auswahl bringen

Toni
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 20.05.08 - 15:03:54
Hervorragend. :)
Nun gehts. Danke Toni!
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: koehlerbv am 20.05.08 - 15:48:11
Dann war das vorher aber wirklich kein Array.

Bernhard
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: ata am 20.05.08 - 16:03:52
... womit wieder einmal klar ist:

Kaum macht man es richtg - funktionierts...  ;D

Toni
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: koehlerbv am 20.05.08 - 16:14:27
By the way: Wenn das Item, was für die Auswahl hergenommen wird, tatsächlich auch ein Feld in der Maske besitzt und bei diesem keine Mehrfachwerte zugelassen werden, dann wird natürlich nach dem Öffnen aus dem Array (im Item) ein String (im Frontend).
Wobei es vermutlich keinen Sinn macht, das Item auch nochmal durch ein Feld zu repräsentieren.

Bernhard
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 21.05.08 - 11:55:08
Die Auswahl wird ebenfalls nur via Script zusammen gestellt.


Sinn und Zweck des ganzen:
Über die Kontrollkästchen werden Projekten Mitarbeiter zugewiesen.


Das 1. Problem:
Wenn die Namen in das Feld eintragen sind, welches dann das Kontrollkästchen füllt, darf das Dokument nicht gespeichert werden.
Ansonsten werden beim nächsten öffnen die Namen erneut eingetragen und alles steht doppelt in den Kontrollkästchen :(


Das 2. Problem:
Kann ich es auch irgendwie lösen, dass die Auswahl aus den Kontrollkästchen beim speichern in ein Feld geschrieben wird, in dem die Auswahl dann 'verewiglicht' wird ?
Da sich die Auswahl ändern kann (neue Kollegen kommen, andere gehen) möchte ich es irgendwie fest hinterlegen, wer an den Projekten mitgeabreitet hat. So als Nachverfolgung.

In dem Feld darf es dann aber auch keine Doppelten Namen geben.


Das 3. Problem:
Über ein Feld, in dem die aktuellen Namen hinterlegt sind, möchte ich den Personen auch noch automatisch Mails zusenden können.
Kann ich da einfach das Feld nehmen, die Namen auslesen und daraus ein E-Mail Format machen ?


Ich hoffe, ich konnte das nun klar erklären
Christoph
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: cg-home am 21.05.08 - 13:07:06
Hi Christoph,

wenn ich Dich richtig verstanden habe, habe ich so etwas ähnliches schon mal
mit einem Verteiler gemacht. Dazu habe ich ein Konfigurationsdokument in dem
ich nur einen Titel und ein Feld (mehrfach) mit der Namensliste aus dem Directory
erstelle. Dieses ist natürlich nur von einer bestimmten Person über eine Rolle änderbar.
In der Hauptmaske habe ich dann ein Namens-Feld welches per DBLookup auf das
Konfigurationsdokument zugreift und die Namen zur Auswahl bietet.
Die gewählten Namen werden dann fest im Hauptdok gespeichert, auch wenn in der
Konfiguration etwas geändert wird. Dieses Feld kann dann in einer anderen Aktion als
Email-Empfänger dienen oder sogar die Author-Berechtigungen steuern.

zu 1.)
Die Vorgehensweise verstehe ich noch nicht ganz. Du füllst also ein Feld per LS mit Namen
welches dann wiederum für ein anderes Feld zur Auswahl herangezogen wird. Dieses Feld
soll aber nicht gespeichert werden, vermutlich wegen der Akualität.
Woher bekommst Du die Namen die Du in das Feld schreibst? Aus einer Vorgabe, einem
Profil-Dco oder ist das Fest hinterlegt?

zu 2.)
Mit meiner Beschreibung von oben auf jeden Fall möglich und über ein @Unique werden auch doppelte eleminiert, welche aber vermutlich gar nicht erst entstehen werden.
Bedenken sollte man dann dabei allerdings, wenn dieses Namensfeld auch ein Autorenfeld ist,
das dann, wenn ein User gelöscht wird, je nach ACL Einstellung vom AdminP der gelöschte Name
auch aus dem Feld geschmissen wird. Somit sollte es nur ein Namensfeld bleiben und die
Authoren-Berechtigung in einem anderen Feld berechnet werden.

zu 3.)
Wenn die Namen im Doc gespeichert sind und zwar am besten mit Notes-Hierarchie, sollte das
gehen. Bei meinem oben beschriebenen Verteiler geht es auch. Es wird per Aktion eine neue Mail
erzeugt in welcher das Verteiler-Feld im "An" eingetragen wird, der Betreff mit dem Doc-Titel vorbelegt wird und ein Doc- und DB-Link eingefügt wird.

mfg Christian
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 27.05.08 - 15:37:11
Hallo Christian
Vielen Dank für deine Antwort!
Es funktioniert so, das mir ein Script Namen aus der ACL ausliest, die eine bestimmte Rolle haben.
Wenn ich die Kontrollkästchen mit Hilfe von @Unique fülle, dann klappt das hervorragend ( :D )
Allerdings werden werden die Felder, in denen die Namen 'zwischengespeichert' werden immer länger und länger.

Kann ich da mit ArrayUnique arbeiten und das mit Call uidoc.FieldAppendText( "ACLCheckLC", yLC) kombinieren, so das auch im Feld, das die Kontrollkästchen füllt, die Namen nur einmal stehen ?


Christoph


EDIT:

Ich will im Prinzip prüfen, ob der Name im Array bereits im Feld steht oder nicht.
Gibts dafür auch eine unique Methode?
Ich arbeite da leider mit LotusScript
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: ata am 27.05.08 - 17:08:12
vArray = ArrayUnique( vArray ) => siehe Hilfe

Toni
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 04.06.08 - 13:31:45
Danke Ata,
Bei mir ists nun aber so, das ich alle Namen(auch doppelte) in einem Feld hab.
Kann ich nun die Namen aus dem Feld in ein Array schreiben um mit ArrayUnique drüber zu gehn ?
Weil ich kann ArrayUnique leider nicht auf ein Feld ansetzen.

Danke!
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Kadlec am 04.06.08 - 13:53:56
Christoph,
probiers mal mit:
Temp = Evaluate({@SetField("Dein Feld";@Unique(Dein Feld))},doc)


Boris
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: Klafu am 04.06.08 - 14:14:46
Hallo Boris, danke fü deine Antwort,
Aber leider muss ich das gerade mit Lotus Script und nicht mit Formelsprache lösen.

Christoph

P.S. Hab gerade die Split funktion entdeckt.
Allerdings gelingt mir der Einsatz der Funktion noch nicht ganz.
Mal sehn, ob die mich weiterbringt
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: klaussal am 04.06.08 - 14:17:28
Zitat
Aber leider muss ich das gerade mit Lotus Script und nicht mit Formelsprache lösen.

Ist doch LS.... ?!?
Titel: Re: Kontrollkästchen richtig füllen
Beitrag von: ata am 09.06.08 - 08:37:48
docThis.DeinFeld = ArrayUnique( docThis.DeinFeld )

.. wo ist das Problem?