Autor Thema: Zeiten aus View Data Sources werden falsch angezeigt  (Gelesen 10644 mal)

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Greife ich über eine View Data Source auf eine Zeitspalte zu, wird der Inhalt dieser Spalte falsch angezeigt. Die angezeigte Zeit weicht um zwei Stunden von der in Notes gespeicherten ab. Zur Illustration habe ich eine Beispiel-Anwendung angehängt.

Als Workaround kann eine Textspalte in der View eingetragen werden [@Text(<time>; "T1")]. Dies funktioniert zwar, ist aber nicht wirklich befriedigend. Unklar ist mir auch, weshalb bei View Data Sources alle Spalten als [Text] ausgewiesen werden, bei Form Data Sources aber korrekt als [Text], [Date], [Time], [Number].

Kennt jemand das Problem? Und hat sogar eine Lösung?? Und würde diese erst noch mit mir teilen???

Ruedi

P.S.: Der Anhang war versehentlich verschlüsselt, ist jetzt aber lesbar.
« Letzte Änderung: 11.04.11 - 14:28:58 von Ruedi »

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #1 am: 11.04.11 - 13:11:29 »
Keine Berechtigung. DB verschlüsselt ?!?

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #2 am: 11.04.11 - 14:28:05 »
OOoops! Sorry (und danke für den Hinweis).
Irgendwann lerne ich hoffentlich, dass lokale DBs standardmässig verschlüsselt werden. Jetzt ist der Anhang nicht mehr verschlüsselt.
Ruedi

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #3 am: 11.04.11 - 15:09:57 »
Jetzt geht`s. Aber warum der immer 2 Std dazu addiert. Ehrlich gesagt: keine Ahnung  :-:

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #4 am: 11.04.11 - 15:18:20 »
Wenn man allerdings das Feld "zeit" in der Maske auf Datumsfeld umdreht, dann geht`s.

In den bestehenden Feldern steht z.Bsp. nur 02:30 drin. Nach der Änderung allerdings 02:45 14.04.2011 CEDT.
Vielleicht liegts daran.

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #5 am: 11.04.11 - 15:21:53 »
Also wenn das Feld "Zeit" in der Form Text ist und Du es dann in der View als "Datum/Zeit" anzeigst,
a) KANN das nicht funktionieren
b) Ist das sehr PFUI.

Wenn Du Datums und/oder Zeitwerte speicherst, solltest Du auch den korrekten Datentyp dafür verwenden, sonst kommt es genau zu solchen Effekten.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #6 am: 11.04.11 - 16:59:48 »
@m3: wie kommst du denn darauf, dass das Zeit-Feld vom Typ Text ist? Wie du in der Beispiel-DB leicht selbst feststellen kannst, haben sowohl das Feld im Formular als auch die so erzeugten Felder im Dokument den Feldtyp Date/Time. Auch in der Spalte wird der Feldinhalt als Time angezeigt. Also nicht ganz so PFUI ;). Nachdem das geklärt ist, weisst du vielleicht auch, weshalb die Spalte in einer View Data Source trotzdem als [Text] erscheint (und eine Zeitspalte ohne Datum in XPages falsch angezeigt wird).

@klauss: Du hast recht: enthält der in der "Zeit"-Spalte angezeigte Wert auch einen Datumteil, funktioniert die Anzeige in XPages. Überraschend! Allerdings soll das Feld "Zeit" nur die Zeit (ohne Datum) enthalten. Und da in der Ansicht ein Datum dazuzuhängen, macht nicht eben Sinn.

Ruedi

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #7 am: 12.04.11 - 07:20:35 »
@m3: wie kommst du denn darauf, dass das Zeit-Feld vom Typ Text ist?
Deswegen:
Wenn man allerdings das Feld "zeit" in der Maske auf Datumsfeld umdreht, dann geht`s.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #8 am: 12.04.11 - 07:40:57 »
Zitat
Und da in der Ansicht ein Datum dazuzuhängen, macht nicht eben Sinn.

Versteh ich jetzt nicht. Ich kann mir doch nur die Uhrzeit zeigen lassen.

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #9 am: 12.04.11 - 07:45:45 »
Deswegen:
Wenn man allerdings das Feld "zeit" in der Maske auf Datumsfeld umdreht, dann geht`s.
Tja, wenn klauss das Feld auf ein Datumsfeld umdreht, heisst das eben nicht zwangsläufig, dass es zuvor kein Datumstyp war  ;). Ein Datumsfeld kann auch von "nur Zeit" auf "Datum+Zeit" geändert werden. Und interessanterweise verhält sich ein Datumsfeld mit Datums- und Zeitangabe anders als nur mit Zeitangabe. Aber ich bin immer noch auf der Lösungssuche...

Versteh ich jetzt nicht. Ich kann mir doch nur die Uhrzeit zeigen lassen.
Richtig! Aber wenn ich in der Spalte nur die Zeit anzeige (z.B. mit @Time(<datumsfeld>)), wird mir diese Zeit mit XPages wieder um zwei Stunden verrückt angezeigt. Irgendwie hat XPages in einer View Data Source nicht genügend Angaben um die Zeit korrekt zu interpretieren (ich muss mir wieder mal anschauen, welche Angaben zur Zeitzone Notes mit einer Zeit mitspeichert). Oder hast du es geschafft, auch in XPages die richtige Zeit zu erhalten?
« Letzte Änderung: 12.04.11 - 07:52:40 von Ruedi »

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #10 am: 12.04.11 - 07:57:08 »
Ja.

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #11 am: 12.04.11 - 08:06:02 »
Ja.
Gratuliere! Ich schaffe es nicht, in XPages die Zeit korrekt anzuzeigen, wenn die Spalte, auf die ich mich beziehe, nur eine Zeitangabe enthält. Kannst du die NSF-Datei mit deiner Lösung hier publizieren? Vielen Dank.

klaussal

  • Gast
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #12 am: 12.04.11 - 08:13:26 »
Habe gestern leider schon alles wieder gelöscht   :'(

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #13 am: 12.04.11 - 08:41:20 »
Habe gestern leider schon alles wieder gelöscht   :'(
Schade  :'(! Dann gehe ich weiterhin davon aus, dass eine Spalte mit reiner Zeitinformation (ohne Datumsteil) in XPages nicht korrekt angezeigt wird. Bis ich eine bessere Lösung finde, werde ich eine Hilfsspalte benutzen, in der die Zeit in Text umgewandelt wird. Bin trotzdem weiterhin sehr interessiert an einer funktionsfähigen Lösung.

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #14 am: 12.04.11 - 09:40:29 »
Fast geschafft! Verwende ich JavaScript anstelle von Simple Data Binding, erhalte ich die korrekte Zeit (vgl. auch beiliegendes Beispiel):

falsch:
value="#{rowEvent.Zeit}"

korrekt:
<xp:this.value>
<![CDATA[#{javascript:rowEvent.getDocument().getItemValueDateTimeArray ('zeit')}]]>
</xp:this.value>

Bleibt mir "nur" noch die Aufgabe, die Zeit vom Default Format "hh:mm:ss" ins Short Format ("hh:mm") zu bringen. Mal schauen, ob das mit einem XPages Data Converter funkioniert oder ob ich dazu JavaScript benötige. Falls jemand einen Tipp zu diesem letzten (?) Stolperstein hat, bin ich begeistert, ihn zu hören!

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #15 am: 12.04.11 - 10:05:03 »
Soda, ich hab nochmal nachgedacht.

Ein Zeitfeld ohne Datum dürfte für die Default-Mechanismen problematisch sein, da diese sich bemühen, die korrekte Zeitzonen- und Sommerzeitregeln auf den Wert anzuwenden. Ich würde mal sagen, sie behandelen den Eintrag dann als GMT/UTC.

Damit bleibt Dir als Option nur, entweder mit Datum zu speichenr, damit die Default-Mechanismen damit umgehen können, oder - wie Du es nun eh schon machst - händisch drum rum coden (was vermutlich nur gut geht, solange alle in der gleichen Zeitzone und Sommerzeitzone sind).
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #16 am: 12.04.11 - 11:28:51 »
Gehört die Zeitzonen-/DST-Information denn zum Datum oder zur Zeit? Meines Erachtens zur Zeit, da ja 12:00 letztlich nur mit dem Zusatz der Zeitzone/DST die Zeit klar festlegt.

Als wir vor Jahren ein Problem mit DST hatten, musste ich mich mit der Frage beschäftigen, wie Zeitangaben in Notes gespeichert werden. Ist aber schon (zu) lange her. Mal schauen, ob ich Daniel Nashed dazu fragen kann.

Tatsache ist, dass bei einem Zeitfeld ohne Datum in den Field Properties nur die Zeit angezeigt wird (z.B. 21:00:00), bei einem Datum nur das Datum (z.B. 31.12.2011) und nur bei Datum+Zeit die Zeitzone angegeben ist (z.B. 31.12.2011 21:00:00 CET).  Ob das aber nur eine Frage der Anzeige oder wirklich der gespeicherten Information ist, kann ich nicht sagen.

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #17 am: 12.04.11 - 11:35:05 »
Prinzipiell würde sie zur Zeit gehören, da geben ich Dir recht.
A-Bär: die DST Info ist auch vom Datum abhängig, da DST Anfang/Ende in verschiedenen Jahren unterschiedlich sein kann ...
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline koehlerbv

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #18 am: 12.04.11 - 11:51:12 »
Angaben zur Zeitzone (und damit auch zu DST) gehören immer zu einem Zeitpunkt, also dem "Gesamtpaket". Wenn es heute bei uns 23 Uhr ist, dann ist in diesem Moment 1 Uhr des Folgetags in Moskau.

Intern gerechnet wird sowieso immer mit einer Datumsseriennummer, deren gebrochenen Teil das darstellt, was wir als "Uhrzeit" interpretieren. Nur an das komplette Konstrukt kann man Zeitzonenangaben binden.

Wir verwenden reine Datums- oder Uhrzeitangaben im Alltagsleben, allerdings haben diese mit der rechnerischen Darstellung nichts mehr gemein.

Bernhard

Offline Ruedi

  • Junior Mitglied
  • **
  • Beiträge: 71
  • Geschlecht: Männlich
Re: Zeiten aus View Data Sources werden falsch angezeigt
« Antwort #19 am: 12.04.11 - 13:10:43 »
Spannender Exkurs! Trotzdem nochmals zurück zum ursprünglichen Problem:

  • Im Notes Client wird ein Zeitfeld (ohne Datumsteil), in das ich 21:00 eingetragen habe, als 21:00 angezeigt.
  • Das gleiche Feld wird in XPages als 21:00 angezeigt, wenn ich Simple Data Binding nutze und die Datenquelle eine Form ist.
  • Ist die Datenquelle hingegen eine View, wird 23:00 angezeigt (Zeitdifferenz wohl abhängig von meiner Zeitzone/DST).
  • Ist die Datenquelle eine View und verwende ich die Funktion getItemValueDateTimeArray, wird 21:00 angezeigt.

Vorsichtige Schlussfolgerung: Simple Data Binding auf eine Zeitspalte über eine View Data Source ist fehlerhaft. Einverstanden? Oder greift die Schlussfolgerung doch zu kurz?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz