G
Если документ "жестко" удалить, он летит в тартарары мимо корзины. Какой код удаления?При удалении документа ответ он не отображается в карзине вчем может быть причина?
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
On Error Goto ERRORHANDLER
Dim db As NotesDatabase
Set db = Source.Database
Dim strMsg As String
Dim workspace As New NotesUIWorkspace
Dim noteid As String
Dim rc As NotesDocumentCollection
Dim dc As NotesDocumentCollection
Set dc = Source.Documents
Dim doc As NotesDocument
Dim g As Integer
For g=1 To Source.Documents.Count
Set doc = Source.Documents.GetNthDocument( g )
If( doc.IsUIDocOpen ) Then
noteid = doc.NoteID
Delete doc
Set doc = Source.Database.GetDocumentByID( noteid )
End If
Call doc.Remove( True )
Next
Continue = False
Call workspace.ViewRefresh
EXITSCRIPT:
Exit Sub
ERRORHANDLER:
Call ErrorMessage("Database Script: QueryDocumentdelete")
Resume EXITSCRIPT
End Sub
For g=1 To Source.Documents.Count
Set doc = Source.Documents.GetNthDocument( g )
...
Next
Set doc = docs.GetFirstDocument
Do Until doc Is Nothing
....
Set doc = docs.GetNextDocument(doc)
Loop
Dim nextDoc as NotesDocument
Set doc = docs.GetFirstDocument
Do Until doc Is Nothing
Set nextDoc = docs.GetNextDocument(doc)
....
Set doc = nextDoc
Loop
Ну, если нужно удалять документы из коллекции, то разумеется. Только я в Querydocumentdelete перебираю доки "снизу вверх", чтобы в иерархических вьюхах сперва обработать/удалить отклики, а потом родителей. Натыкался на грабли - удаляю док и его отклики и nextDoc указывает в пустоту.Я бы советовала получать сразу следующий документ коллекции:
Dim prevDoc as NotesDocument
Set doc = docs.GetLastDocument
Do Until doc Is Nothing
Set prevDoc = docs.GetPrevDocument(doc)
...
Set doc = prevDoc
Loop
Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab