Domino 9 und frühere Versionen > Entwicklung

ParentDocumentUNID findet parent obwohl nicht vorhanden

(1/5) > >>

AC:
Hi Leute.
Frage hierzu (fand bei der Suche hier im Forum keine Antwort):

Set parent = db.GetDocumentByUNID( doc.ParentDocumentUNID )
(zuvor dim parent as notesdocument)

Was ich nicht verstehe, daß ich auch ein Parentdocument bekomme (zu sehen im Debugger)
obwohl keins existiert bzw. nie existiert hat , weil es z.B. nicht gespeichert wurde (via backend in dem speziellen Fall)

Im Debugger sehe ich, daß das "pseudo"parent keinerlei items besitzt.

Auch   
If parent Is Nothing Then
msgbox "nicht da"
else
msgbox "vorhanden"  ...

liefert mir als Ausgabe ein vorhanden.

In der ganzen Testdatenbank ist aber nur ein einziges Dokument, nämlich das elternlose Kinderdokument natürlich.

Was seh ich hier falsch oder was passiert hier ?
Ich hätte erwartet, daß kein Elterndokument gefunden wird.
Habe ich hier Dokumentengeister ?   (Die TestDB hier war jungfräulich, keinerlei Löschmarken etc)

holcomb
PS Bin ich bei ner Produktivanwendung hier drübergestolpert wie ich auf Fehlersuche ging.

Semeaphoros:
Da würd ich mal vermuten, dass tatsächlich irgend ein Ghost-Dokument existiert. Musst Du mal mit NotesPeek in die DB reinschauen

AC:

--- Zitat von: Semeaphoros am 08.01.04 - 15:11:44 ---Da würd ich mal vermuten, dass tatsächlich irgend ein Ghost-Dokument existiert. Musst Du mal mit NotesPeek in die DB reinschauen

--- Ende Zitat ---

Danke für den Tip-
NotesPeek kannte ich bisher nicht, ich werde mal danach suchen.


Ich kann den "Fehler" immer wieder reproduzieren. Hmm.
Auch, wenn ich mal die Dokumente von Hand anlege und dann das Elterndokument von Hand lösche, findet ich via  
Set parent = db.GetDocumentByUNID( doc.ParentDocumentUNID )
das nicht mehr vorhandene Dokument.

Strange, dürfe IMO eigentlich nicht sein.

In der produktiven Anwendnung werden die Eltern und die Antwortdokumente im Backend via Script erzeugt.

Zuerst das Elterndokument (ohne  save erstmal), dann in einer While scheilfe die Antwortdokumente) und danach wird das Elterndokument erst geseichert.


Während des Durchlaufs der Scheilfe passierte ein Fehhler und ich war daher der Meinung es könnte kein Elterndokument existieren.

Aber ich finde eben was für parent, aber ohne jegliche items (im debugger).



Mir scheint, daß ich obige script Zeile hier gar nicht mehr anwenden kann in diesem Zusammenhang, weil wenn er nicht vorhandene Elterndokumente findet, dann isses für die Katz.  :-/

Holcomb

Glombi:
Vielleicht wird ja auch das Deletion Stub für das Elterndokument gefunden.

Wie kann man abfragen, ob ein Dokument ein Deletion Stub ist? Evtl. so

if doc.Size < 101 then
'Deletion Stub
end if

Vermutung, da

How large is a deletion stub in Notes?

In Notes 5.x,  a deletion stub occupies 100 bytes.
In Notes 4.x, a deletion stub occupies 88 bytes.
In Notes 3.x, a deletion stub occupies 64 bytes.

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

Andreas

Semeaphoros:
Na, wenn Du nach dem Löschen des Parent noch ein Parent findest, bekommst Du wahrscheinlich den Deletion Stub zurück. Da gibts einen Parameter, "IsValid" oder so ähnlich, mit dem man das feststellen kann.

Für NotesPeek gibt es in 2 bis 3 Minuten im Fachwörterbuch einen Link ....   :D

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln