Domino 9 und frühere Versionen > Entwicklung

Agent doppelte Dokumente löschen

<< < (3/5) > >>

Axel:
Hi,

ich glaube aber auch, dass das nicht ganz unproblematisch ist.

Das Problem dürfte hier liegen:

Set entrycollection = view.AllEntries

Damit hast du alle Dokumente in einer Ansicht. Was passiert aber, wenn doppelte Dokumente gelöscht werden. In entrycollection sind sie aber noch vorhanden. Versucht man dann drauf zuzugreifen, knallts. Das müsste man irgendwie abfangen. Aber dafür fehlt mir im Moment die Idee wie.

Axel
 

klaussal:
@axel,

so gesehen ist mein erster ansatz dann doch nicht so schlecht. dabei fliegt ja nur das doppelte doc raus. das ist zwar zeitaufwendig, aber es klappt.

Axel:
@klaussal

Ja aber,....

Ein Teufel steckt auch hier noch im Detail. Du machst das mit

Set doc = view.GetFirstDocument

While...

  Set doc = view.GetNextDocument(doc)
Wend
...

Wenn du dann doc löscht, weil doppelt und älter, fehlt der Bezug für GetNextDocument. Das muss auch irgendwie abgefangen werden.


Axel
 

klaussal:
@axel,

jau, stimmt. :'(
nächster ansatz: eine view seq. durchgehen. für jedes doc eine collection bilden, jedes doc dieser collection anschauen, wenn docid-collection = doc-id-view, nix tun, sonst löschen, next document.
da mrmagoo sich aber ausgeklinkt hat, sollte es jetzt reichen.

Don Pasquale:

Wie wäre damit ?



   Dim session As NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   
   Dim doc As NotesDocument   
   Dim RemoveDoc As NotesDocument
   
   Dim LOESCHLISTE List As String*32   
   
   Set session = New NotesSession
   Set db  = session.CurrentDatabase
   Set view = db.GetView( "DEINE VIEW" )
   Set doc = view.GetFirstDocument
   
   
   While Not doc Is Nothing
      
      
      If DOPPELT Then
         j = j + 1
         LOESCHLISTE(j) = doc.UniversalID
      End If
      
      Set doc = view.GetNextDocument(doc)         
   Wend
   
   Forall x In LOESCHLISTE
      
      Set RemoveDoc = db.GetDocumentByUNID(X)   
      Call Removedoc.RemoveFromFolder("($Inbox)")         
      
   End Forall

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln