Domino 9 und frühere Versionen > ND8: Entwicklung
entfernt Notes leere Array Elemente?
hoschie:
Hallo zusammen,
ich bin dabei im QuerySave-Ereignis Einzelwerte zu einem Array zusammenzufügen und in versteckte Mehrfachwerte-Felder zu speichern.
Zum Testen sieht es so aus:
--- Code: --- vArray(0) = "111"
vArray(1) = "222"
vArray(2) = "333"
Call oDoc.ReplaceItemValue("fdEinspruchZiffer", vArray)
vArray(0) = "1"
vArray(1) = "2"
vArray(2) = "1"
Call oDoc.ReplaceItemValue("fdAnalog", vArray)
vArray(0) = "2"
vArray(1) = " "
vArray(2) = "5"
Call oDoc.ReplaceItemValue("fdbeanstFaktor", vArray)
vArray(0) = "Analogansatz"
vArray(1) = "Analogansatz"
vArray(2) = "Analogansatz"
Call oDoc.ReplaceItemValue("fdGrund", vArray)
vArray(0) = " "
vArray(1) = "5"
vArray(2) = " "
Call oDoc.ReplaceItemValue("fdangepFaktor", vArray)
--- Ende Code ---
Die Array-Werte mit Leerzeichen sind absicht, da manchen Felder keine Pflichtfelder sind, ich aber die Werte an der richtigen Stelle brauche.
Nach dem Speichern sieht es aber so aus bei fdangepFaktor und fdbeanstFaktor:
Feldname: fdangepFaktor
Datentyp: Text
Datenlänge: 1 Byte
Seq.-Num.: 1
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY
"5"
Feldname: fdbeanstFaktor
Datentyp: Textliste
Datenlänge: 8 Byte
Seq.-Num.: 1
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY
"2"
"5"
Die Leerzeichen-Werte fehlen.
Ist das nachvollziehbar? Macht Notes das in voller Absicht? Ich hab keine Doku dazu gefunden, vielleicht habe ich auch mit den falschen Begriffen gesucht.
Bin, wie immer, für jeden Hinweis dankbar (da ich ungern mit Platzhalter-Werten arbeiten möchte).
Tode:
Das passiert NICHT in dem von Dir geposteten Code- Schnipsel.
Hast Du:
Irgendwo ein @Trim in irgendeiner Feld- Formel oder ein Fulltrim noch irgendwo im Script?
Ich habe gerade folgenden Code getestet:
--- Code: ---Dim vArray(2) as String
vArray(0) = " "
vArray(1) = "5"
vArray(2) = " "
Call g_docFocus.ReplaceItemValue("fdangepFaktor", vArray)
Call g_docFocus.Save( True, True, True )
--- Ende Code ---
Und das Ergebnis war
--- Zitat ---Feldname: fdangepFaktor
Datentyp: Textliste
Datenlänge: 11 Byte
Seq.-Num.: 2
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY
" "
"5"
" "
--- Ende Zitat ---
ERR:
Hallo,
ich denke, das ist das UI. Was für ein Typ sind die Felder (Kombinationsfeld, Listenfeld...)? Haben die Felder eine Feldumsetzungsformel oder sind es berechnete Felder?
MFG
ERR
hoschie:
@Tode:
kein Fulltrim, ein Trim verwende ich, aber nur um einen Feldwert zu prüfen (und um dann ein " " zu verwenden, statt des Leerwertes)
@ERR:
die Felder in die ich speichere sich Mehrfachwerte-Felder, versteckt am Ende des Dokumentes, vom Typ Text und auf sich selbst berechnet. Ist das vielleicht ein Problem?
Peter Klett:
Notes trimmt automatisch Arrays, also leere Werte werden beim Speichern IM FRONTEND entfernt. Das gleiche Problem hatte ich vor einiger Zeit auch. Die einzige Lösung bestand (nach meinem Kenntnisstand) darin, die Werte in Items zu schreiben, für die es keine Felder in der Maske gibt, dann bleiben leere Werte in den Arrays enthalten. Habe damals lange herumprobiert und keine andere Alternative gefunden.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln