Domino 9 und frühere Versionen > ND6: Entwicklung

Warum wird Code im Postdocumentdelete nicht ausgeführt

<< < (2/2)

geissbock:
Hallo,
vielen Dank für die vielen Hinweise. Das hat mir schon mal geholfen und ich habe über den Debugger nun Informationen erhalten. So, nun aber die nächste Frage. Ich will ja hier ein Bewertungsdokument löschen und aufgrund der verbliebenen dann den neuen Gesamtbewertungsstatus ermitteln. Ich durchlaufe also die verbliebenen Dokumente und vergleiche deren Werte. Hier nun das Problem: In der Kollektion die ich da durchlaufe, ist das gelöschte Bewertungsdokument noch drin und damit stimmt die Berechnung dann wieder nicht. Wie kann das denn sein, wenn ich doch im Postdocumentdelete bin?
Die Kollektion bekomme ich mit
Set coll = patentview.GetAllDocumentsByKey(key(0), True). Kann es sein, dass die Ansicht dann nicht so schnell aktualisiert wird und die Kollektion damit noch das gelöschte Dokument enthält?

Danke & Gruß Klaus

geissbock:
Also hab da nochmal ein bisschen geforscht, es ist tatsächlich so, dass die Dokumente in diesem Event noch nicht komplett weg sind. Die Dokumente lassen sich ja auch noch ansprechen und Werte auslesen. Ganz schön dumme Sache. Jemand eine Idee für einen Würgaround?
Dabke
Klaus

pete_bla:
Hi,

schonmal versucht die Dokumente zu markieren, dass sie z.B. nicht mehr gültig sind,
anstatt sie gleich zu löschen?
(eventuell auch generell, bevor du sie löscht)
Du kannst sie dann bei Deinem "Sammeln" auf dieses Flag prüfen und eben nicht mitnehmen.

Ausserdem kannst Du so ja auch aus den Ansichten Filtern, hast aber sie noch im "Archiv"
und im nachhinein könntest du sie wiederherstellen,
bzw. wenn die Löschung aus irgeneinem Grund nicht funktionierte einfacher als "Leichen" identifizieren und per Agenten automatisch löschen
(z.B. auch ganz praktisch wenn die Anwender eingeschränkte Rechte haben und evenutell selbst garnicht löschen dürfen)

Gruss, Pete(r)

koehlerbv:
Merk Dir doch in einer globalen Variablen des DatabaseScripts im QueryDocumentDelete dessen UNID - darauf kannst Du dann im PostDocumentDelete zurückgreifen.

Ich habe es nicht probiert: Was sagt eigentlich im PostedDocumentDelete beim "gelöschten" Dokument zur Property IsValid der NotesDocument class?

Bernhard

geissbock:
Hallo,
danke für die Hinweise. Hat geholfen. Merke mir die docid und schliesse die bei der Schleife aus. Bernhard, das Isvalid liefert leider auch ein True und das Isdeleted ein False. Schon merkwürdig, aber gut. Würgaround arbeitet nun wie gewünscht. Gelobt sei mal wieder das Forum und ihre hilfreichen Mitstreiter.
Schöne Woche noch.
Gruß Klaus

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln