Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Helge Jantzen am 23.06.06 - 10:00:53

Titel: EDIT: Gelöschte Dokumente noch vorhanden
Beitrag von: Helge Jantzen am 23.06.06 - 10:00:53
Hallo,

ich starte einen Agenten im PostDocumentDelete-Event der Datenbank. Ich erstelle mit dem Agenten eine DocumentCollection und eigentlich sollten da doch die gerade gelöschten Dokumente nicht mehr vorhanden sein, oder?

EDIT: Anscheind startet der Agent gar nicht, ist etwas an dem Aufruf falsch?
Code
Sub Postdocumentdelete(Source As Notesuidatabase)
	Dim db As NotesDatabase
	Dim Agent As Notesagent
	
	Set db = Source.Database
	Set Agent = db.GetAgent("ACL_Entry_Delete")
	
	Call Agent.Run 'OnServer -> teste den lokal, soll später auf dem Server laufen
End Sub
Titel: Re: EDIT: Gelöschte Dokumente noch vorhanden
Beitrag von: umi am 23.06.06 - 14:02:26
Liefert Agent.Run nicht einen Wert zurück? evtl. hilft der weiter ansonsten könntest Du auch noch einen Errorhandler einbauen.
Titel: Re: EDIT: Gelöschte Dokumente noch vorhanden
Beitrag von: Helge Jantzen am 23.06.06 - 14:40:25
Ja, liefert eine 0 wenn erfolgreich gelaufen.

Hab getestet und er läuft, aber anscheinend sind die gelöschten Dokumente wirklich noch in der DocumentCollection vorhanden. Der Agent löscht einen Eintrag in der ACL, wenn das entsprechende Personendokument nicht mehr in der Datenbank vorhanden ist. Wenn ich ein Dokument lösche und aktuallisiere passiert nichts, lösche ich ein zweites und aktuallisiere wird der Eintrag des erstes Dokuments in der ACL gelöscht, der zweite bleibt aber!

Irgendeine Idee was ich machen kann?
Titel: Re: EDIT: Gelöschte Dokumente noch vorhanden
Beitrag von: Tode am 23.06.06 - 17:15:00
ja, Du kannst uns mehr als nur ein paar "Häppchen" hinwerfen: Code her (zumindest, wie die NotesDocumentCollection im Agenten erstellt wird), oder keiner kann Dir helfen.

z.B. liefert eine Suche über NotesViews in vielen Fällen gelöschte Dokumente zurück (weil der Ansichts- Index noch nicht aktuell ist), hier musst Du dann die isDeleted- Eigenschaft des Docs abfragen.

Vielleicht hjast Du aber ja auch die Soft- Deletions aktiviert...

mit so spärlichen Infos kann Dir niemand helfen...

Tode
Titel: Re: EDIT: Gelöschte Dokumente noch vorhanden
Beitrag von: Glombi am 23.06.06 - 17:20:21
@Helge: Dein Agent sollte, wenn er die Backend-Dokumente bearbeitet, auf jeden Fall folgendes berücksichtigen:

To get: flag = notesDocument.IsValid
Legal values
True indicates that the document exists.
False indicates that the document is a deletion stub.


To get: flag = notesDocument.IsDeleted
Legal values
True indicates that the document is a deletion stub.
False indicates that the document exists.


Andreas