Ich programmiere ja noch nicht lange Notes- Datenbanken (maximal 20 Jahre oder so), aber manchmal verzweifle ich an mir selbst (oder es liegt einfach daran, dass ich alt werde).
Gegeben sei:
Eine Ansicht mit 2 Spalten.
Die erste Spalte ist versteckt, nicht sortiert, und zeigt ein MultiValue- Feld an. Die Spalte steht auf "Trennz. bei Mehrfachwerte" = Neue Zeile, mehrfachwerte getrennt anzeigen ist nicht aktiviert.
Die zweite Spalte ist die, die der User sieht. Sie ist sortiert, hat keine Mehrfachwerte, sehr simpel.
In einer Aktionsschaltfläche steckt folgender hochkomplizierter Code:
_title := "Title";
_msg := "Message";
_srv := @Subset( @DbName ; 1 );
_db := TrailerDBName;
_viw := "ViwPicklistCompany";
_col := 1;
_pickList := @PickList( [Custom] : [Single] ; _srv : _db ; _viw ; _title ; _msg ; _col );
Laut
Designer Hilfe liefert Picklist Mehrfachwerte:
Return value
columnValue
Text list. The value(s) in the specified column for the document(s) that the user selected.
Mache ich jetzt ein @Prompt( [OK] ; "TEST"; _pickList ), dann bekomme ich alle Werte, die auch in der Spalte stehen (Moment: Müsste der Code nicht auf die Nase fallen, wenn _picklist wirklich Multivalue wäre!?).
Jetzt kommt das große ABER: Mache ich ein @Prompt( [OK] ; "ELEMENTS"; @text( @Elements( _picklist ) ) ), dann bekomme ich -und ich kann mich auf den Kopf stellen- IMMER 1.
Und das geht mir einfach nicht in den Kopf...
Ich habe das in einer leeren Datenbank nachgestellt, und es ist auch dort definitiv so...
Natürlich ist der Code nicht neu, sondern schon eine Weile im Einsatz.
Und ich könnte wetten, dass ich das so schon zig mal verwendet habe...
Das Ergebnis von Picklist wird in ein Feld geschrieben. Und wie ich jetzt herausgefunden habe, hat dann das Feld anhand seiner Multi- Value- Trenner aus diesem String wieder einen Multivalue gemacht.
Das Ganze funktioniert aber sporadisch nicht (dann wird der Text nicht in Einzelwerte geteilt, sondern bleibt ein langer String), und darüber bin ich auf dieses unglaubliche Problem gestossen.
Client ist 9.0.1FP4, andere habe ich noch nicht ausprobiert.
Jetzt sagt mir: Werde ich so langsam bescheuert, oder ist es die Formelsprache?