Domino 9 und frühere Versionen > ND9: Entwicklung

Hinzugefügt-Zeitpunkt eines Dokuments ermitteln (LS)

<< < (2/2)

JayDee:
Abschließende Anmerkungen:
Die LS-Variante mit den API-Calls funktioniert wie gewünscht, aber nur wenn der Agent bzw. das Script im Client läuft. Auf dem Server gibt es einen Laufzeitfehler, dem ich aber nicht weiter nachgegangen bin. Ich vermute dass da nur die entsprechende DLL nicht gefunden wird.

Die @AddedToThisFile Variante funktioniert perfekt mit Evaluate in LS, entgegen der Doku, die behauptet dass diese Formel nur in Spaltenformeln funktioniert:
https://www.ibm.com/support/knowledgecenter/en/SSVRGU_9.0.1/basic/H_ADDEDTOTHISFILE.html

eknori (retired):
Hier noch der Vollständigkeit halber eine etwas kompaktere API Lösung. Da wir das NotesDocument ja schon haben, sparen wir uns das erneute Öffnen über die API

--- Code: ---'Declaration
Type TIMEDATESTRUCTE
Innards(1) As Long
End Type

Declare Sub W32_NSFNoteGetInfo Lib "nnotes" Alias "NSFNoteGetInfo" (_
Byval note_handle As Long, _
Byval note_member As Integer, _
value_ptr As Any )
Declare Function W32_ConvertTIMEDATEToText Lib "nnotes.dll" Alias "ConvertTIMEDATEToText" (_
Byval nullFormat As Long, _
Byval textformat As Long, _
td As Any, _
Byval Buff As String, _
Byval maxlen As Integer, _
textLength As Integer) As Integer

Function NotesDocumentAddedToFile( ndoc As NotesDocument) As Variant

Dim hNote As Long
Dim tds As TIMEDATESTRUCTE
Dim sDateTime As String*256
Dim iDate As Integer
Dim vDateTime As Variant

hNote = ndoc.Handle
Call W32_NSFNoteGetInfo( hNote, 13, tds )
Call W32_ConvertTIMEDATEToText (0,0,tds, sDateTime, 256, iDate%)
vDateTime = Cdat( sDateTime)
NotesDocumentAddedToFile = vDateTime
End Function
--- Ende Code ---

Sample Usage:


--- Code: ---Sub Click(Source As Button)
Dim s As New NotesSession
Dim db As NotesDatabase
Dim col As NotesDocumentCollection
Dim doc As NotesDocument

Set db = s.CurrentDatabase
Set col = db.AllDocuments
Set doc = col.GetFirstDocument

Msgbox doc.subject(0) & " added: " &  NotesDocumentAddedToFile(doc)
End Sub
--- Ende Code ---

ghostmw:
Ein DXL-Export und anschließendes Parsen müsste auch gehen ...als Alternative zu den API-Calls.

LG
Marco

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln