Domino 9 und frühere Versionen > Entwicklung

Fehlermeldung: "Document is not from this collection"

(1/2) > >>

Gravedigger:
Hallo,

kann jemand was mit der Fehlermeldung "Document is not from this collection" anfangen.

Der Fehler tritt bei folgenden Codezeilen auf:

>>>START<<<
Set appldoc = appldc.GetFirstDocument
 While Not appldoc Is Nothing
  If(appldoc.fdDeleted(0) <> "True") Then
   Call logEntry(4, "Anwendungsdokument noch nicht gelöscht => Löschantrang")
   appldoc.fdStatus = "Löschantrag"
   appldoc.fdDeleteDateRequest = Now
   Call appldoc.save(True, True)
   Call mailApplDelete(appldoc)     <- Fehler anscheinend hier
  End If
 Set appldoc = appldc.GetNextDocument(appldoc)
Wend
>>>ENDE<<<


Danke

Max

animate:
den Fehler hatte ich mal nach der Umstellung von 4.6 auf R5.
ich habe die DocumentCollection dann mal anders durchlaufen und es hat funktioniert

statt so
Set appldoc = appldc.GetFirstDocument
While Not appldoc Is Nothing
    ...
    Set appldoc = appldc.GetNextDocument(appldoc)
Wend

hab ichs mal so probiert:

hab ich
for i = 1 to appldc.count
    Set appldoc = appldc.GetNthDocument(i)
    ...
next


vielleicht klappts bei dir auch.
Leider weiß ich nicht _warum_ das so war und wo der Fehler lag.

Glombi:
Was passiert bei
 Call mailApplDelete(appldoc)  
genau? Wird das Dokument gelöscht, so wie der Name vermuten lässt. Falls ja, wird die Fehlermeldung durch
  Set appldoc = appldc.GetNextDocument(appldoc)
produziert, da es GetNextDocument(appldoc) nicht mehr gibt.

Die Methode von Thomas Völk mit dem NthDocument sollte gehen. Wobei das sehr unperformant bei sehr vielen Dokumenten in der Collection ist.
Performanter wäre mit einem 2. Dokument zu arbeiten.

Andreas

Gravedigger:

--- Zitat von: Glombi am 16.01.04 - 13:52:35 ---Was passiert bei
 Call mailApplDelete(appldoc)  
genau? Wird das Dokument gelöscht, so wie der Name vermuten lässt.
--- Ende Zitat ---

Nicht ganz. Hier wird eine Email versendet, deswegen "mail...".


Dank euch, funktionert einwandfrei.

Nice weekend.

Semeaphoros:
Thomas:

8tung:

for i = 0 to appldc.count -1
    Set appldoc = appldc.GetNthDocument(i)
    ...
next

Ansonsten: Glombi hat recht, mit einem zweiten Doc-Object, wenn es um Löschungen geht.

Max:
Was sagt denn der Debugger, wo der Fehler auftritt? Vermutlich nicht, wo Du es glaubst, sondern beim GetNextDocument.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln