Autor Thema: uidoc.fieldsettext für Date/Time Feld  (Gelesen 3422 mal)

Offline SlyFox

  • Senior Mitglied
  • ****
  • Beiträge: 256
  • Geschlecht: Männlich
uidoc.fieldsettext für Date/Time Feld
« 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
10 x Domino 8.5 EN
2 x Domino 9.0.1 EN
30 x Notes 8.5 DE / EN / FR / IT
220 x Notes 9.0.1 DE / EN / FR / IT

Offline ronka

  • Senior Mitglied
  • ****
  • Beiträge: 377
  • Was macht der hier denn, muß der überall sein ?
    • das nächste DominoCamp kommt in Juni 2023
Re: uidoc.fieldsettext für Date/Time Feld
« Antwort #1 am: 15.10.16 - 21:15:25 »
hast du schon versucht das dokument zu speichern ?
das neueste von Notes und Domino auf den DominoCamp vom 19 bis 21 Juni 2023 auf www.DominoCamp.de

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: uidoc.fieldsettext für Date/Time Feld
« Antwort #2 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 ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz