Autor Thema: Fehlermeldung: "Document is not from this collection"  (Gelesen 1733 mal)

Offline Gravedigger

  • Aktives Mitglied
  • ***
  • Beiträge: 179
  • Geschlecht: Männlich
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
Client R 8.5.1 bis R 9.0.1 FP9 (ab Win 7 Prof.)
Server R 9.0.1 FP 6 (Win 2012 R2 Datacenter Edition x64)

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #1 am: 16.01.04 - 13:41:33 »
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.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Glombi

  • Gast
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #2 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. 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


Offline Gravedigger

  • Aktives Mitglied
  • ***
  • Beiträge: 179
  • Geschlecht: Männlich
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #3 am: 16.01.04 - 13:59:52 »
Was passiert bei
 Call mailApplDelete(appldoc)  
genau? Wird das Dokument gelöscht, so wie der Name vermuten lässt.

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


Dank euch, funktionert einwandfrei.

Nice weekend.
Client R 8.5.1 bis R 9.0.1 FP9 (ab Win 7 Prof.)
Server R 9.0.1 FP 6 (Win 2012 R2 Datacenter Edition x64)

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #4 am: 16.01.04 - 14:02:08 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #5 am: 16.01.04 - 14:27:19 »

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


äh, Zitat aus der Hilfe:

Set notesDocument = notesDocumentCollection.GetNthDocument( n% )

n%:
Integer. A number indicating the document to return. Use 1 to indicate the first document in the collection, 2 to indicate the second document, and so on.
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #6 am: 16.01.04 - 14:39:17 »
Nicht nur, dass die DesignerHelp das sagt - das IST auch so.
Es ist aber auch so, dass bei grösseren Collection das GetNthDocument verheerende Performanceeinbrüche beschert, da jedesmal der Pointer von der Basis  der Collection aus neu gebildet werden muss. Wenn man sich den Fortschritt zum Bleistift per Print-Statement anzeigen lässt, so kann man am Anfang gerade noch so die Hunderter-Stellen lesen, aber nach wenigen Tausend Docs kann man dann jedem Document einzeln die Hand schütteln.
Wirklich performant ist GetNextDocument - und das funktioniert ! Der Fehler muss also irgendwo anders liegen.
Was macht den mailAppDelete () mit appldoc ? Wird da ewendudel (SEMEAPHOROS !!!) was neu instantiiert (der Aufruf erfolgt ja by reference !) ? Das würde die Fehlermeldung ganz zwanglos erklären ;-)

Ciao,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #7 am: 16.01.04 - 15:32:13 »
Sorry für die Falschmeldung beim GetNthDocument, zeigt, wie nie ich diese Funktion brauche ..... :-) ... sonst ist doch das immer nullbasierend...... tja... die Ausnahme bestätigt die Regel.

Dudelsack ist eingetragen   ;)
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #8 am: 16.01.04 - 17:03:11 »
Zitat
... sonst ist doch das immer nullbasierend...
Jaja, "sonst". Aber hier macht es ja wegen NotesDocumentCollection.Count wirklich Sinn - das passt schon ;-)

Ciao,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Fehlermeldung: "Document is not from this collection"
« Antwort #9 am: 16.01.04 - 17:38:37 »
Passt schon, ist aber auch eine der ganz wenigen Stellen, wo der Count unfrisiert gleich passt  ;D
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz