Autor Thema: .responses Collection enthält auch nicht Antworten  (Gelesen 3619 mal)

Offline Caspar Fromelt

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Hej,

bisher habe ich mich immer auf NotesDocument.Responses verlassen, jetzt hab ich aber bei einer Replik das Problem, dass ich beim Bilden der Collection mit NotesDocument.Responses auch Dokument in der Collection habe, die gar keine Antworten sind...

Wenn ich folgenden Code Ausschnitt ausführe, bekommen ich auf einem Server keine "Fehler" und mit einer Replik der gleichen DB auf einem anderen Server bekomme ich "Fehler":

   Set dbCurrent = session.currentDatabase
   
   ' Wir finden nehmen alle Aufgaben, die erledigt sind
   Set dcAbzuarbeiten = dbCurrent.Search(|Form = "Aufgabe" & Status = "15":"20"|, Nothing, 0)
   
   Print "Habe " & Cstr(dcAbzuarbeiten.count) & " erledigte Aufgaben gefunden."
   
   'Wir nehmen uns die erste Aufgabe ...
   Set docAufgabe = dcAbzuarbeiten.GetFirstDocument
   While Not docAufgabe Is Nothing
      
      ' .. bilden eine Collection aller Antworten dieser Aufgabe ...
      Set dcAntworten = docAufgabe.Responses
      
      ' ... und schauen uns jede Antwort an...
      Set doclaufAntwort = dcAntworten.GetFirstDocument
      While Not doclaufAntwort Is Nothing

         ' ... ob doclaufAntwort auch wirklich eine Antwort von docAufgabe ist:
         If doclaufAntwort.Parentdocumentunid <> docAufgabe.Universalid Then
            Print "Fehler: Document " & doclaufAntwort.Universalid & " aus Response Collection ist gar keine Response...."
            intfehler = intFehler + 1         
         End If
         Set doclaufAntwort = dcAntworten.GetNextDocument(doclaufAntwort)
      Wend

      ' Wir nehmen uns die nächste Aufgabe ...
      Set docAufgabe = dcAbzuarbeiten.GetNextDocument(docAufgabe)
   Wend
   
   Messagebox "Bin fertig."
   Print "Es gab Fehler: " & intFehler
   
   Exit Sub

Bisher habe ich mich immer auf NotesDocument.Responses blind verlassen - muss ich denn immer abfragen ob ein Collection Mitglied wirklich eine Antwort ist??

Grüße
Caspar

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: .responses Collection enthält auch nicht Antworten
« Antwort #1 am: 08.07.15 - 16:48:00 »
Hast Du denn mal UNTERSUCHT, was für ein Dokument Du da bekommst? Also mal die UNID des vorgeblichen Antwort- Dokumentes und die UNID des Parentdocuments ausgeben und die Dokumente nachher manuell untersucht?

Ich könnte mir vorstellen, dass das entweder:

- Ein Konflikt- Dokument ist (die laufen manchmal Amok)
- Ein Dokument ist, was sich selbst als Hauptdokument hat (hatte ich schon ein paar mal, und Ytria hat im ScanEZ sogar eine Option eingebaut, genau solche Fälle zu finden, also ist es wohl eher nicht selten)
- Ein "invalides" oder "gelöschtes" Dokument ist.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Caspar Fromelt

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Re: .responses Collection enthält auch nicht Antworten
« Antwort #2 am: 08.07.15 - 17:24:09 »
Grrr - warum loggt mich das Forum aus, wenn ich auf den Button schreiben klicke. Jetzt ist mein ganzer Text futsch....
Also alles nochmal tippen, diesmal kürzer:

Ja, es sind ganz normale Dokumente, die einfach nur zu anderen Hauptdokumenten gehören (10% der Fehler hatte ich untersucht). Ich hatte 30 "Fehler" bei 120.000 Dokumenten.
Ich kann die falschen Antworten auch manuell in einer View mit Antworthierarie suchen und da stehen die bei ihren echten Parents.

Wenn ich die mir inhaltlich ansehen, dann könnte es sein, dass es mal früher Antworten zu den Hauptdokumenten gewesen sind, wo .responses sie findet. Die DB hat eine Funktion, um Antworten zu verschieben.
Das würde bedeuten, dass ein Hauptdokument sich merkt, welche Antworten es hat (und damit wäre erklärt, warum .responses auch so schnell ist).

Aber: mir war es zu blöd, ich bin jetzt pragmatisch vorgegangen und habe ein compact -c gemacht und der Effekt ist weg.
Ich habe noch eine dritte Replik der DB, die auch die solche fehlerhaften .responses Collection bildet - wenn ich mal Zeit habe, versuche ich der sache mal auf den Grund zu gehen.

Frustrierend nur, dass ich mich nicht auf so ne simple Funktion verlassen kann. Ist nur durch Zufall aufgefallen...

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: .responses Collection enthält auch nicht Antworten
« Antwort #3 am: 09.07.15 - 07:53:35 »
Grrr - warum loggt mich das Forum aus, wenn ich auf den Button schreiben klicke. Jetzt ist mein ganzer Text futsch....
Ist mir auch schon ein paar mal passiert :( Meist kopiere ich mir den Inhalt vor dem Senden in die Zwischenablage, es passiert aber immer genau dann, wenn ich das vergesse  >:D

Zum eigentlichen Problem:

Kann es sein, dass der Problemserver 8.5.3FP6/9.0.1 ohne FP ist?
Hier gibt es bekannte Probleme mit Antwortdokumenten in Ansichten. Wir hatten das Problem, dass viele Antwortdokumente gar nicht angezeigt wurden. Ich glaube mich sogar erinnern zu können, dass die Antwortdokumente nach dem Verschieben in der Ansicht an der falschen (=alten) Stelle angezeigt wurden, obwohl die Feldeigenschaften was anderes behaupteten.

Könnte mir vorstellen, dass .responses ebenfalls davon betroffen ist.

Als Workaround haben wir auf allen betroffenen Servern den MAX_PERMUTE_RECURSE Parameter in der Notes.ini gesetzt

Weiterführende Links:
http://atnotes.de/index.php/topic,57392.0.html
http://www.assono.de/blog/d6plinks/Domino-9.0.1-und-8.5.3FP6-Ansichten-zeigen-nicht-alle-Dokumente

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Caspar Fromelt

  • Frischling
  • *
  • Beiträge: 17
  • Geschlecht: Männlich
Re: .responses Collection enthält auch nicht Antworten
« Antwort #4 am: 09.07.15 - 16:06:06 »
also der "Problemserver" ist 9.0.1FP"ganz aktuell", der "Nicht-Problemserver" ist 8.5.3FPvermutlicht6  ;) - ich müsste nachsehen.
ABER: die Problem DB hatte ODS43, die nicht Problem DB ODS51 - das finde ich eher das auffällige.

Nach dem Compact hat meine (ex)ProblemDB jetzt zwangsläufig ODS52 und die Probleme sind ja weg.

Ich muss gestehen, ich hatte bisher nie Bauchschmerzen, wenn ich eine DB mit ODS R6 hatte. Vielleicht sehe ich das jetzt anders...
« Letzte Änderung: 09.07.15 - 16:11:40 von Caspar Fromelt »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz