Also wir haben seit geraumer Zeit eine Funktion im Einsatz, die zumindest unter 8 und 9 zuverlässig funktioniert:
| Function Our_IsNewDoc( doc As NotesDocument ) As Boolean |
| On Error Goto ErrorRoutine |
| |
| Our_IsNewDoc = (doc.Lastmodified = 0) |
| |
| EndOfRoutine: |
| Exit Function |
| ErrorRoutine: |
| If ErrorHandler (GetThreadInfo (LSI_THREAD_PROC), GetThreadInfo (LSI_THREAD_CALLPROC)) = ERRORHANDLER_TOP_OF_STACK Then |
| Resume EndOfRoutine |
| End If |
| End Function |
Nicht vom Error- Handler irritieren lassen, das ist unser default- Error- Handler, den müsstest Du natürlich ersetzen.
Habe leider grade keinen 6er Client da, um zu prüfen, ob das dort auch so ist.
In der Formelsprache haben wir ein Computed- For- Display- Feld mit der Formel:
@Text( @Modified - @Created < 5 )
Dabei ist die 5 ein Wert, der ein wenig Paranoia, ein wenig Erfahrung wiederspiegelt, denn manchmal liegen @Modified und @Created tatsächlich einige wenige Sekunden auseinander...
Ach ja: Das Feld ist Text, weil ich mir dann die Nummern- Umwandlung bei der Abfrage spare, und weil man sonst im Backend unschöne Ergebnisse bekommt, wenn man z.B. Feld <> 1 abfragt und das Feld nicht vorhanden ist (Zahl erwartet...)