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