Domino 9 und frühere Versionen > Entwicklung
Sortierung nach Datum fehlerhaft
(1/1)
Piranha:
Das u.a. Script nimmt aus einer Ansicht das älteste Dokument und aktualisiert das Datum im Feld "fld_Zitat_Datum" auf das Datum des neuesten Dokuments + 1. Somit sollte das nun aktualisierte Dokument (eigentlich) an erster Stelle stehen, da die Ansicht nach diesem Datum sortiert.
Das Dokument landet jedoch immer an zweiter Stelle. Sowohl eine Index-Aktualisierung als auch
--- Code: ---@Command([ToolsRefreshSelectedDocs])
--- Ende Code ---
bringen keinen Erfolg.
Für etwas Hilfe wäre ich dankbar.
Hier mal das Script:
--- Code: ---Sub Initialize
Dim oSession As New NotesSession
Dim oWorkspace As New NotesUIWorkspace
Dim oDb As NotesDatabase
Dim oView As NotesView
Dim oDocFirst As NotesDocument 'Erstes Dokument der Ansicht
Dim oDocLast As NotesDocument 'Letztes Dokument der Ansicht
Dim vReturn As Variant
Dim vNewDate As Variant
Set oDb = oSession.CurrentDatabase
Set oView = oDb.GetView("vwZitateall")
Set oDocFirst = oView.GetFirstDocument
vReturn = oDocFirst.GetItemValue("fld_Zitat_Datum")
vNewDate = vReturn(0)+1
Set oDocLast = oView.GetLastDocument
Call oDocLast.ReplaceItemValue("fld_Zitat_Datum",vNewDate)
Call oDocLast.Save(True,False,False)
Call oView.Refresh
Call oWorkspace.ViewRefresh
End Sub
--- Ende Code ---
Interessant ist, dass es mit +2 keine Probleme gibt. Dann habe ich zwar ein Dokument, was zwei Tage vor dem aktuellen Dokument liegt, allerdings fehlt mir dann natürlich das Dokument dazwischen.
Gruß
Ronny
Driri:
Ich habe das mal nachgestellt. Das Problem scheint zu sein, daß beim Speichern aus dem Datum ein Datum/Zeit-Wert wird. Irgendwie gerät da die Sortierung durcheinander.
Versuch mal mit NotesDateTime zu arbeiten, z.B. so :
--- Zitat ---Dim oSession As New NotesSession
Dim oWorkspace As New NotesUIWorkspace
Dim oDb As NotesDatabase
Dim oView As NotesView
Dim oDocFirst As NotesDocument 'Erstes Dokument der Ansicht
Dim oDocLast As NotesDocument 'Letztes Dokument der Ansicht
Dim vDate As NotesDateTime
Set oDb = oSession.CurrentDatabase
Set oView = oDb.GetView("vwZitateall")
Set oDocFirst = oView.GetFirstDocument
Set vDate = New NotesDateTime(oDocFirst.GetItemValue("fld_Zitat_Datum")(0))
Call vDate.AdjustDay(1)
Set oDocLast = oView.GetLastDocument
Call oDocLast.ReplaceItemValue("Date1",vDate.DateOnly)
Call oDocLast.Save(True,False,False)
Call oView.Refresh
Call oWorkspace.ViewRefresh
--- Ende Zitat ---
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln