Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Jürgen Schomann am 22.11.06 - 09:54:32

Titel: Mehrfachwertfelder
Beitrag von: Jürgen Schomann am 22.11.06 - 09:54:32
In einem Dokument ist ein Feld vom Typ Text mit Mehrfachwerten enthalten, wobei auch leere Werte, Zeichenfolge "", in den Mehrfachwerten enthalten sind. Wird dieses Dokument in einer Ansicht ausgewählt und wird dieses Feld dann über Eigenschaften Dokument angezeigt, werden alle Werte, einschließlich der leeren, angezeigt. Wird dieses Dokument aber geöffnet (egal ob im Lese- oder Bearbeitenmodus) und wird dieses Feld dann über Eigenschaften Dokument angezeigt, werden die leeren Elemente nicht mehr angezeigt. Alle nicht leeren Elemnte sind direkt hintereinander angeordnet. Wird im Bearbeitenmodus ein Aktualisieren ausgelöst, sind die leeren Elemente mit einmal wieder da.
Beim Lesen des Feldes über die Ansicht (Dokument nicht geöffnet) werden über @-Formel und LotusScript Back-End-Dokument alle Werte richtig geholt. Bei geöffnetem Dokument aber werden die leeren Elemente einfach weggelassen, wodurch eine Verschiebung der Positionen der einzelnen Werte erfolgt. Nur im Front-End-Dokument über LotusScript werden alle Werte, auch die leeren, richtig geholt.
Ausserdem, wenn ein Feld mit Mehrfachwerten und der Eigenschaft 'Berechnet beim Anlegen' leere Elemente enthält, werden diese beim Erstellen des Dokuments auch gleich eliminiert.
Kann mir jemand sagen warum?
Titel: Re: Mehrfachwertfelder
Beitrag von: dirk_2909 am 22.11.06 - 11:30:07
Hallo

Ersteinmal: Es ist ziemlich anstrengend deinen Text zu lesen. Somit auch das verstehen  :P  ???

Zum Thema:

Zitat
Kann mir jemand sagen warum?

-weil das so ist...  :(

Ich habe es mal nachvollzogen.
Habe drei Felder in einer Maske angelegt:
1. Feld berechnet beim Anlegen -> Wert: "" : "Test2" : "" : "" : " " : "Test6"
2. Feld bearbeitbar -> Vorgabewert: "" : "Test2" : "" : "" : " " : "Test6"
3. Feld berechnet -> Wert: "" : "Test2" : "" : "" : " " : "Test6"

In den Feldern 1 und 2 wurde folgender Wert gespeichert und im UI angezeigt: "Test2";"Test6"
Lediglich im 3. Feld wurde der ursprüngliche Wert gespeichert: "" : "Test2" : "" : "" : " " : "Test6"
Angezeigt wird: ; Test2 ; ; ; ;Test6     (was natürlich abhängig von den feldeigenschaften ist)


Wenn Du in den Feldern ( 1,2) auch Leerstrings abspeichern möchtest, musst Du "Alternativwerte" abspeichern; z.B: "~" anstelle "" und diesen Wert dann bei der Anzeige oder ähnliches umsetzen.

Was genau musst Du denn darstellen?



Titel: Re: Mehrfachwertfelder
Beitrag von: Jürgen Schomann am 22.11.06 - 12:21:29
Ich muss Dokumente verarbeiten, die nicht von mir erstellt wurden. Habe also keinen direkten Einfluss auf die Feldinhalte. Es sind in dem Feld jedenfalls verschiedene Werte vorhanden, bei denen manche leer sind, weil dazu keine Angabe vorliegt, z. B. Handy-Nr. und die Person hat kein Handy. Das es beim Fall mit den berechneten Feld klappt ist mir klar, da ja dann immer wieder neu mit den leeren Werten berechnet wird. Andererseits gibt es die @-Funktion @Explode, bei dem über einen Parameter ausdrücklich das Erstellen leerer Elemente für zwei unmittelbar aufeinanderfolgende Trennzeichen erzwungen werden kann. Also leere Elemente durchaus möglich sind. Das Notes dies beim Öffnen eines Dokuments einfach ignoriert bzw. wenn Felder 'Berechnet beim Anlegen' oder bearbeitbar sind, die leeren Elemente einfach löscht, ist nicht nachvollziehbar und in der Dokumentation zum Designer steht dazu auch nichts. Das Problem ist, wenn ich die Dokumente über die Ansicht verarbeite ist alles ok aber nicht wenn ich die gleiche Funktion für das geöffnete Dokument nutzen will.
Titel: Re: Mehrfachwertfelder
Beitrag von: dirk_2909 am 22.11.06 - 12:49:19
Zitat
Es sind in dem Feld jedenfalls verschiedene Werte vorhanden, bei denen manche leer sind, weil dazu keine Angabe vorliegt, z. B. Handy-Nr. und die Person hat kein Handy.

Warum speichert ihr in einem (1 !!)  Feld verschiedene Handynummern?  ::)  :P

na ja - egal....

Im nachhinein kann man dann natürlich nicht herausbekommen was eine Handynummer etc. ist.
Für weitere Fälle sollte man dann ein "-" speichern, wenn keine Nummer vorhanden ist.

.... Aber wie können wir denn für die aktuelle Problematik helfen? Die Feldinhalte wurden doch schon gespeichert?