Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Wiesel am 04.09.06 - 11:28:34
Titel: @SetField
Beitrag von: Wiesel am 04.09.06 - 11:28:34
Hallo!
Ich habe in einer Aktionsschaltfläche einer Maske einen Formelsprachencode eingebaut, der je nach Inhalten in der Maske etwas ausführen soll. Grundsätzlich hier auch kein Problem.
Aber mein @SetField bereitet mir Kopfzerbrechen.
Ich habe in meiner Maske ein berechnetes Textfeld mit Mehrfachwerten-Zulassung. Per Schaltfläche wird dieses Feld gefüllt:
@SetField("txtWerWann";txtWerWann : @Name([CN];@UserName) + " am " + @Text(@Today) + " Weiterleitung an Kollegen");
Nun wird mir aber nicht einfach genau dieser vorgegebene Text in das Feld geschrieben (Wiesel am 04.09.2006 Weiterleitung an Kollegen) sondern:
am 04.09.2006 Weiterleitung an Kollegen Wiesel am 04.09.2006 Weiterleitung an Kollegen
Und bei der nächsten Verwendung der Schaltfläche steht dann das drin:
am 04.09.2006 Weiterleitung an Kollegen am 04.09.2006 Weiterleitung an Kollegen Wiesel am 04.09.2006 Weiterleitung an Kollegen am 04.09.2006 Weiterleitung an Kollegen Wiesel am 04.09.2006 Weiterleitung an Kollegen
und so weiter...
Was mache ich falsch?
Gruß, Wiesel
Titel: Re: @SetField
Beitrag von: dirk_2909 am 04.09.06 - 11:42:30
Titel: Re: @SetField
Beitrag von: Wiesel am 04.09.06 - 12:49:19
Das funktioniert super. Aber merkwürdig finde ich das schon...
Danke auf jeden Fall!!!
Titel: Re: @SetField
Beitrag von: Tode am 04.09.06 - 14:19:16
das ist überhaupt nicht merkwürdig, sondern die grösste Stärke der Formel- Sprache....
Diese kann nämlich -ohne dass man sich manuell per loop durch elemente einer Liste arbeiten muss- Befehle automatisch auf jedes einzelne Listenelement durchführen.
Hier handelt es sich (wei in der Mathematik) um bestimmte Präzedenzen:
In der Schule haben wir gelernt: Punkt vor Strich, Klammer vor Punkt Übertragen gilt das in Notes genau so: (Doppel)punkt vor Strich, Klammer vor (Doppel)punkt
2. Operation Liste1 + " am " + @Text(@Today) + " Weiterleitung an Kollegen"
Hier zieht das oben genannt beispiel: Werden zwei Listen verkettet, von denen eine weniger Elemente hat, dann wird die "kürzere" Liste so oft wiederholt, dass es wieder passt: Das ganze wird also so aufgedröselt: "" + " am " + @Text(@Today) + " Weiterleitung an Kollegen" : "HansWurst" + " am " + @Text(@Today) + " Weiterleitung an Kollegen"
Und mit jeder weiteren Addition potentiert sich das Problem....
Mit der Klammer veränderst Du die Reihenfolge und erstellst erst einen Wert aus Username + Text + Zeit + Text, und hängst diesen EINEN Wert dann an die Liste über das ":" an.
Nur so als Erklärung für die Zukunft (und für andere mit ähnlichen Problemen)