Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: nepimuk am 18.10.06 - 09:56:43
-
Hallo,
ich habe ein Problem mit einem Kalendereintrag.
Ich habe eine Datenbank erstellt mit einer Form, in der ich einen Tag, eine Start und eine Endzeit eintragen kann. In einer Ansicht habe ich im Event "Regiondoubleclick" mit LotusScript den Aufruf meiner Form mit Übernahme des Tags und der Zeit. Das funktioniert soweit richtig gut (habe ich von der Seite gediebt :) )
Nun habe ich aber ein Problem festgestellt. Wenn ich die Startzeit in der Form dann ändere, speichert er mir trotzdem die Zeit, die über das Regiondoubleclick-Event eingetragen wurde.
Was kann ich machen, dass ich die Zeit ändern kann und die richtige Zeit gespeichert wird.
Vielen Dank für eure Hilfe.
Mit freundlichen Grüßen,
Benjamin Küthe
-
Hi und willkommen im Forum :D
Das kann viele Gründe haben. Da stellen sich viele Fragen...
Wie erstellst du das Dokument?
Wie überträgst du die Uhrzeit in das Dokument?
Welches Script wird beim Speichern oder schließen ausgeführt?
Wird die Uhrzeit korrekt gespeichert und einfach nur im Kalender falsch angezeigt?
So. Jetzt hast Du ne Menge Hausaufgaben ;D
Gruß
Willi
-
Hallo Willi
zuerst einmal vielen Dank für die Antwort.
Hausaufgabe!
Ich erstelle das Dokument mit:
Sub Regiondoubleclick(Source As Notesuiview)
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim dateV As Variant
Set db = session.CurrentDatabase
dateV = source.CalendarDateTime
Set doc = db.Createdocument
doc.form = "ChirStationaer"
Call doc.ReplaceItemValue("Cal_Tag" , dateV)
Call doc.ReplaceItemValue("Time_Start" , dateV)
Call ws.editdocument(True, doc)
End Sub
Für die Uhrzeit habe ich ein Zeit/Datum Steuerelement. (Falls doch eine andere Startzeit gewünscht ist.)
Die Endzeit ist automatisch berechnet.
Beim Speichern habe ich einfach nur ein @command([FileSave])
In der Maske zeigt er mir dann die richtige Zeit an. Nach dem Speichern steht in den Eigenschaften des Felds die falsche Uhrzeit. In der Maske zeigt es die richtige Uhrzeit.
Die Uhrzeit wird, wenn ich eine andere Startzeit auswähle falsch gespeichert.
Ich hoffe, ich habe die Hausaufgabe richtig gemacht.
Vielen Dank für die Hilfe.
Gruß
Benjamin
-
Hallo Benjamin und sorry für die späte Rückmeldung.
Wenn ich das richtig sehe, dann sind die beiden Felder wie folgt formatiert:
Cal_Tag Datumsfeld, Kalendersteuerelement, Anzeige nur Datum
Tag_Start Datumsfeld, Kalendersteuerelement, Anzeige nur Zeit
Es werden jedoch in beiden Feldern Datum und Zeit gespeichert. Wenn du also die Uhrzeit Tag_Start änderst, bleibt die interne Uhrzeit im Feld Cal_Tag davon unberührt.
Gruß
Willi
-
Hallo Willi,
vielen Dank für die Antwort. Ich habe mich jetzt mal eingehender mit dem Problem befasst.
Also ich habe (glaube ich zumindest) das Feld gefunden, dass meinen Fehler verursacht. Ich habe ein Feld TagZeit in dem ich für meinen Kalender den Zeitrahmen berechne:
_List := @TextToTime (@Text (Cal_Tag) + " " + @Text (Time_Start) + " " + @Text(Time_End));
@TextToTime (@Text (_List))
Das Feld ist berechnet.
Das interessante an dem ganzen ist:
Wenn ich nur die Uhrzeit ändere, bleibt der Termin bei der ursprünglichen Uhrzeit im Kalender stehen.
Wenn ich nur den Tag ändere, bleibt der Termin beim ursprünglichen Tag im Kalender stehen.
Ändere ich aber Tag und Uhrzeit, schreib er mir den Termin zum gewünschten Tag mit der gewünschten Uhrzeit in den Kalender.
Ich habe auch schon mal versucht, die Felder mit @command([viewrefreshfields]) im Speichern-Event neu zu initialisieren, hat mir aber auch keine Lösung gebracht.
Noch irgendeine Idee, was ich da falsch gemacht haben könnte?
Gruß
Benjamin
-
Hi Ben,
das sind ja sehr merkwürdige Vorgänge von denen Du da berichtest...
1) Schließt du auch immer brav die Ansicht wenn du testen willst und hast auch schon mal die Cache.ndk gelöscht?
2) Das ist eine interessante Zeitberechngungsformel. Wie genau hast du die denn in den Spalten deiner Kalenderansicht eingebaut :-\ ?
Gruß
Willi
-
Hallo Willi,
natürlich schließe ich immer die Ansicht. Ich bin immer brav. Cache.ndk habe ich auch schon gelöscht. Habe ich in meinem ersten Lotuskurs gelernt. Mein Dozent sagte bei jedem Notesfehler "Cacheproblem". Selbst wenn Notes komplett abgestürzt war. Aber die cache.ndk habe ich auch schon gelöscht.
In meiner ersten Spalte steht das Feld TagZeit, in der zweiten Spalte habe ich
(Time_End -Time_start)/60
Gruß
Benjamin