Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: andi24 am 24.10.06 - 07:55:21
-
Hallo,
ich traue mich fast nicht so eine einfache Frage zu stellen:
Ich bräuchte einen Formelsprachebefehl, der mir das Datum/Uhrzeit vom ersten Speicherzeitpunkt des Dokuments zurückgibt ? Über @Created bekomme ich ja nur das Anlagedatum.
Stehe ich gerade so auf dem Schlauch oder kommt man da wirklich nicht über einen einfachen Formelbefehl ran ? Das einzige was mir spontan einfällt, ist ein berechnetes Feld welches nur bei ersten mal speichern gesetzt wird (will ich aber nicht machen).
Bin für jeden Tipp denkbar.
Gruß
Andi
-
Hallo
Wenn das Dokument erstellt wurde, wurde es auch das "erste mal" gespeichert !
Also passt dann @Created ?! :-:
Wenn Du den Zeitpunkt benötigst, als ein "anderer" Benutzer das Dokument das erste mal speicherst, kommst Du wohl nicht an ein berechnetes Feld drumrum ( @IsDocBeingSaved... ) oder Du liest das feld "@Revisions" aus ???
-
Wenn das Dokument erstellt wurde, wurde es auch das "erste mal" gespeichert !
Also passt dann @Created ?! :-:
Leider Nein - wenn du ein Dokument anlegst und erst eine Stunde später zum erstenmal speicherst, dann ist da eine Stunde Differenz zwischen Anlage und Speichern.
Trotzdem Danke !
(Man solle nie "g'schwind" was an fremden DBs ändern ... )
-
Um Dirk zu zitieren.
Schon daran gedacht das Feld $Revisions auszulesen?
-
Das mit dem "$Revisions" geht aber nur, wenn in den DB-Eigenschaften die "Last-Accessed-Optin" gesetzt ist.
Ansonsten ein berechnetes Feld verwenden, was ja kein Aufwand darstellt und die Performance nicht beinträchtigt.
P.S. Was ist das für eine Maske, wo der Benutzer eine Stunde benötigt diese auszufüllen ;)
-
Vor der Mittagspause aufmachen, danach ausfüllen... ;D
-
Ansonsten ein berechnetes Feld verwenden, was ja kein Aufwand darstellt und die Performance nicht beinträchtigt.
Leider gibt es in der DB schon ca. 150.000 Dokumente ohne das Feld und ich betreue die nur Offline (und es wird schon schwierig wenn die einen Agenten starten müßen).
Vor der Mittagspause aufmachen, danach ausfüllen... ;D
Genau, oder Maske öffnen und dann telefonieren ...
-
Wenn schon 150000 Dokumente vorhanden sind, dann kannst Du sowieso nicht den Zeitpunkt des 1. Speichern mitbekommen ;-)
Die Dokumente wurden doch schon bestimmt nach dem Erstellen ein mal gespeichert.
Du kannst das nur für neue erfassen.
// OFFTOPIC
Genau, oder Maske öffnen und dann telefonieren ...
Man sollte auch keine Frauen telefonieren lassen, dann dauert es nur 5 Minuten ;-)
-
Die Dokumente wurden doch schon bestimmt nach dem Erstellen ein mal gespeichert.
Du kannst das nur für neue erfassen.
Genau dieser Sachverhalt war der Grund für meine Frage !
Es gibt ein Feld "OriginalModTime" welches genau meinen Zweck erfüllen würde - allerdings beruht das Feld auf einem IBM Bug ab dem 6.5.3 Client, deshalb laß ich die Finger weg.
Nichts für ungut und Danke fü die Bemühungen - werde es das Problem anderweitig lösen, dachte nur es gibt vielleicht einen einfachen Formelsprachebefehl.
-
Du solltest in einem Dokument schon ein Feld haben, das dir das @Created wegspeichert. Ansonsten schaust du nach einer ARchivierung alt aus, weil alle archivierten Dokumente das Archivierungsdatum als @Created ausweisen.
Gruß
Norbert
-
Und für den angestrebten Zweck kann man ja ein simples
If Not (Isdate (Source.Document.DT1Saved)) Then
Source.Document.DT1Saved = Now
End If
in das QuerySave-Event einfügen.
In einer bestehenden Datenbank hilft das natürlich auch nichts mehr unter den von Dir beschriebenen Umständen. Da müssten die Leute vor Ort sich schon etwas mehr bewegen (oder eben Du Dich - wenn es denen das dann wert ist).
Bernhard