Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: berti@web am 04.04.07 - 12:49:09
-
Hallo zusammen,
wie kriege ich es denn hin, dass ich mit einem Script einem Datumsfeld einen Wert zuweise, der nur das Datum und nicht zusätzlich die Uhrzeit 00:00:00 enthält.
Folgendes Script liefert nicht das gewünschte Ergebnis:
zeitpunkt.lslocaltime=Cdat(res.GetValue("KONTAKTDAT"))
doc.Kontaktdatum=zeitpunkt.lslocaltime
Dabei stammt der Wert "KONTAKTDAT" bereits aus einem Feld in einer DB2-Datenbank, das bereits nur das Datum enthält. Notes setzt mir aber immer die Uhrzeit hinten dran. Lässt sich das vermeiden?
Grüße
-
doc.Kontaktdatum=zeitpunkt.DateOnly
???
-
Sorry, dateonly gibt leider nur Text zurück. Als echtes Datum funktioniert es nicht?
-
Nein, dass ist m.E. nicht möglich. Entweder es wird mit DateOnly ein String gespeichert, oder mit den übrigen mir bekannten Methoden das Datum mit Uhrzeit 00:00:00. Aber das ist doch auch unschädlich - oder wo ist das Problem?
Hubert
-
Schreib "zeitpunkt.lslocaltime" doch auf eine Variable vom Typ Variant.
Dann mit ReplaceItemValue oder sowas in das Dokument setzen.
Du kannst das Feld auch so einstellen, dass nur das Datum angezeigt wird.
Ich habs auch schon mit einem DateRange gemacht, aber das sieht auch nicht schön aus- geht aber.
Die Datumswerte sind immer so eine Sache für sich...
Matthias
-
Notes-Datums-/Zeitwerte sind (im Backend) immer Datumsseriennummern (0 = 30.12.1899). Die Bruchteile des Wertes entsprechen den Stunden, Minuten und Sekunden. Es ist aus diesem Grunde (via Backend) nicht direkt möglich, eine Darstellung (im Frontend) zu ermöglichen, der die Darstellung des fraktionierten Teils (also Stunden, Minuten, Sekunden) fehlt.
Man kann tricksen, meist stellt sich aber heraus, dass das gar nicht notwenig gewesen wäre. Bitte beschreibe das Ziel, das Du erreichen möchtest, genauer: Nicht nur mir wird dann bestimmt ein kontextnaher Vorschlag einfallen.
Bernhard
-
Vielen Dank für die Infos.
Meine Dokumente sollen anhand eines Datumsfeldes in verschiedenen Ansichten auftauchen. Bei einigen Ansichten spielt es eine entscheidende Rolle, ob die Uhrzeit vorhanden ist oder nicht. Dabei kann ich leider nicht davon ausgehen, dass 00:00:00 auf jedenfall auf das Script-Problem zurückgeht, sondern andere Dokumente, die nicht über das Script befüllt werden können ebenso gewollt Mitternacht enthalten. Die Dokumente sollen nach dem Speichern (ebenfalls im Script) auch möglichst nicht mehr angefasst werden (z.B. neuberechnet).
Ich habe mir zwischenzeitlich mit folgendem Script geholfen:
doc.Kontaktdatum=res.GetValue("KONTAKTDAT")
tmp=Evaluate("FIELD Kontaktdatum:=Kontaktdatum;@setfield
(""Kontaktdatum"";@date(Kontaktdatum))",doc)
Bisher scheint es zu funktionieren. Ich hoffe, dass ich dabei nichts vergessen habe?!
-
Das scheint tatsächlich zu funktionieren. Allerdings halte ich es für sinnvoller, beim Import ein entsprechendes flag zu setzen und die Auswahlformeln anzupassen.
Hubert