Domino 9 und frühere Versionen > ND6: Entwicklung
Auswertung aus einer Dialogliste
cebolina:
Hallo @All,
Ich habe folgendes Problem:
Als Auswahl in einer Dialogliste (Mehrfachwerte zulassen) stehen folgende Werte zur Verfügung:
Text1|1
Text2|2
Text3|3
...
Text7|7
Bei Auswahl von "Text2" und "Text4" werden im Feld also nur die Aliasse (Bsp.: "2" ; "4") gespeichert.
Jetzt möchte ich in einem anderen (berechneten) Feld erreichen, dass folgendes enthalten ist:
"0#1#0#1#0#0#0"
Ich möchte also wissen, welche Elemente meines Quellfeldes ausgewählt wurden und welche eben nicht (0 = nein, 1= ja).
Also in meinem Besipiel: "Text1" = nein, "Text2" = ja, "Text3" = nein, "Text4" = ja, "Text5" bis "Text7" = nein.
Das Ganze soll in einem einfachen Text-Feld erfolgen (also keine Mehrfachwerte).
Die "#" soll lediglich als Trennzeichen fungieren. Ich brauche diese Information übrigens später für weitere Berechnungen in meinem Dokument.
Kann mir bitte jemand auf die Sprünge helfen, wie man sowas macht? Mir fehlt irgendwie der richtige Lösungsansatz und ich weiß auch nicht so recht wonach ich im Forum suchen soll.
Danke und Gruß
Stefan
Joe:
Hallo Stefan,
wie wär's mit so etwas als Formel für das Textfeld:
@If( @Contains(Dialogliste;"1");"1";"0")+"#"+
@If( @Contains(Dialogliste;"2");"1";"0")+"#"+
@If( @Contains(Dialogliste;"3");"1";"0")+"#"+
@If( @Contains(Dialogliste;"4");"1";"0")+"#"+
@If( @Contains(Dialogliste;"5");"1";"0")+"#"+
@If( @Contains(Dialogliste;"6");"1";"0")+"#"+
@If( @Contains(Dialogliste;"7");"1";"0")
Nur mal so grob hingeworfen! ;-)
Gruß Joe
m3:
Text|1
Text|2
...
in ein verstecktes Multifavlue Feld schreiben und von dort in der Dialogleiste verwenden.
Dann kannst Du in einem anderen Feld mit ein paar @-Formeln (@left, @right, ...) den String so hin bekommen, wie Du ihn willst.
cebolina:
@Joe
Zunächst mal vielen Dank. Die Formel funktioniert und gibt mir das gewünschte Ergebnis zurück. :D
Jetzt muss ich das Ganze nur noch in eine Schleife packen, weil die Anzahl der Elemente in der Dialogliste von Dokument zu Dokument unterschiedlich sein kann (sorry, habe ich in meinem ersten Posting nicht geschrieben).
Gruß
Stefan
m3:
Eleganter:
Ein Multivalue-Textfeld "Werte", in das die einzelnen Werte stehen, die Dialogliste holt sich die Werte aus dem Feld.
Und in dem Computed Field steht dann nur noch:
--- Code: ---y := @RightBack(Werte; "|") ;
z := @Transform(y; "x"; @If(x = Dialogliste; "1"; "0") );
@Implode( z; "#")
--- Ende Code ---
Keine endlosen @If-Wüsten. :)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln