Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: skywook am 02.11.04 - 23:20:44
-
In einer Maske sind zwei Datum/Zeit Felder (werden als Vorgabe mit @time gefüllt). Über ein berechnetes Feld ziehe ich die Differenz in Minuten dieser beiden Felder.
Nun mein Problem: Bei @time wird die aktuelle Zeit wird vom Betriebssystem des Clients gezogen. Besteht die Möglichkeit, dass der Client die Zeit vom Notes-Server zieht. Damit eventuelle Zeitunterschiede bei den Clients übergangen werden.
-
Bei @time wird die aktuelle Zeit wird vom Betriebssystem des Clients gezogen.
Ich gehe mal davon aus Du hast da ein @Now drin, denn @Time wandelt nur um.
Besteht die Möglichkeit, dass der Client die Zeit vom Notes-Server zieht. Damit eventuelle Zeitunterschiede bei den Clients übergangen werden.
Da ist mir nichts bekannt (was aber auch nichts heißt, weil ich mich mit dieser "Problematik" noch nie beschäftigen musste).
Hast Du aber berücksichtigt, dass der User auch lokal am Südpol arbeiten könnte? Und erst z.B. in Neuseeland am Flughafen das Dok dann repliziert?
-
Das kann ich über die Zeitzoneneinstellungen abfangen (An lokale Zeitzone anpassen). Wird aber bei dieser DB nie vorkommen. Mein Problem sind die unterschiedlichen Systemzeiten. Selbst wenn es nur eine Minute ist, summiert sich dies zusammen.
-
Wie oben schon geschrieben, hab ich da eigentlich keine Erfahrung.
Idee:
Die session muss auf dem Server laufen.
Mit notesSession.IsOnServer kann man das abfragen.
Das heißt theoretisch könnte man die Zeitvergabe über einen Agenten machen lassen. Du willst das aber durch User-Interaktion (z.B. Button-Klick durch User).
Für ND6 fällt mir da spontan "Run on behalf of" ein (siehe: http://www.atnotes.de/index.php?topic=16181.0). Theoretisch sollte der Agent dann, wenn der Server als "Run on behalf of" eingetragen ist, unter dem Server laufen. Habe das aber noch nie getestet, nur mit Usern.
Eine "Server-Klasse" z.B. mit der Property "Server.GetCurrentDateTime" habe ich im Web noch nirgends gesehen.
*Edit* Blödsinn. Hilft wohl auch nix, da der Agent zwar dann mit dem Recht des Servers laufen würde, aber so wie ich Now in LS verstehe, dann trotzdem die Zeit des User-OS gezogen wird.
Da müssen Dir die Experten für so was antworten, ich enthalte mich jetzt :-X ;D
Ist aber ein interessantes Thema.
-
Erst ab Notes 6 mit @Now ([SERVERTIME];Servername); möglich
Alternative: Man synchronisiere die Zeiteinstellungen der Clients über einen Timeserver. Lösungen dafür gibt es verschiedene.