Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: SlyFox am 14.10.16 - 17:34:53

Titel: uidoc.fieldsettext für Date/Time Feld
Beitrag von: SlyFox am 14.10.16 - 17:34:53
Hallo,

ich habe ein Date/Time Feld, das nur das Datum im Format TT.MM.JJJJ anzeigt.

Dieses soll mittels

Code
uidoc.FieldSetText("CurrDate", CStr(Format(Date$, "dd.mm.yyyy")))

gefüllt werden.

Nach Aufruf von

Code
uidoc.Document.ComputeWithForm(True,True)

bekomme ich dann jedoch die Fehlermeldung

Zitat
"Ein Feld im Dokument besitzt einen falschen Datentyp"

Ich habe in Google viele Ergebnisse zum gleichen Problem gefunden, aber außer dass man das nicht im uidoc, sondern im document ändern soll - was ich nicht hilfreich finde -, habe ich keine praktikable Lösung gefunden.

Was kann ich tun, damit es direkt im Frontend klappt?

Vielen Dank für eure Unterstützung und ein schönes Wochenende

Christoph
Titel: Re: uidoc.fieldsettext für Date/Time Feld
Beitrag von: ronka am 15.10.16 - 21:15:25
hast du schon versucht das dokument zu speichern ?
Titel: Re: uidoc.fieldsettext für Date/Time Feld
Beitrag von: Peter Klett am 15.10.16 - 22:02:02
... - was ich nicht hilfreich finde - ...
Warum findest Du das nicht hilfreich? Hast Du es probiert? Gibt es dabei irgendwelche Fehlermeldungen?

Dein ComputeWithForm erfolgt doch auch im Backend. Außer bei Richtext kannst Du alle Felder eines geöffneten Dokuments auch im Backend ändern, und die Änderung ist sofort im Frontend sichtbar. Wozu soll es denn unbedingt im Frontend geändert werden? Und ins Backend schreibst Du die Felder gleich mit dem richtigen Typ, und nicht, wie hier, ein Feld vom Typ Datum, dass Du mittels FieldSetText mit Text versorgt,damit die Maske den Wert in den richtigen Typ übersetzt.

Übrigens ist das vermutlich der Grund des Fehlers. Du schreibst den Wert über das Frontend ins Dokument, das ComputeWithForm auf dem Backend kennt den neuen Wert aber noch nicht, deshalb der Tipp von ronka, das Dokument zu speichern. Schreibe direkt ins Backend, das Frontend bekommt die Änderung sofort mit und das ComputeWithForm hat ihn auch.

Ich schreibe Scripte seit fast 20 Jahren und kann mich nicht erinnern, dass ich irgendwann Werte eines geöffneten Dokuments über das Frontend geändert hätte ...