Domino 9 und frühere Versionen > ND6: Entwicklung

EDIT: Gelöschte Dokumente noch vorhanden

(1/1)

Helge Jantzen:
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
--- Ende Code ---

umi:
Liefert Agent.Run nicht einen Wert zurück? evtl. hilft der weiter ansonsten könntest Du auch noch einen Errorhandler einbauen.

Helge Jantzen:
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?

Tode:
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

Glombi:
@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

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln