Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: cfiber am 10.10.05 - 09:17:50

Titel: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: cfiber am 10.10.05 - 09:17:50
Hallo,

ein klitzekleines Problem plagt mich:

Mit einem Agenten im Back-End versuche ich die ParentDocumentUNID von verschiedenen Dokumenten herauszubekommen, der Debugger meldet aber immer "Invalid Universal ID".

Mein Quellcode ist grob so:

Dim doc As NotesDocument
Dim parentdoc As NotesDocument
Dim db As NotesDatabase

Set db = session.CurrentDatabase
Set dc = db.AllDocuments
Set doc = dc.GetFirstDocument

Set parentdoc = db.GetDocumentByUNID(doc.ParentDocumentUNID)



dc ist nicht leer und doc ist ein Antwortdokument.


Kann mir jemand helfen?
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: umi am 10.10.05 - 09:19:57
Wie sieht den deine ParentdocumentUNID aus?  evtl. ist die leer?
Oder zeigt auf ein Parent das nicht mehr existiert?
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: cfiber am 10.10.05 - 09:23:15
habe die ID mal mit Prompt ausgeben lassen und die stimmt mit dem parent überein.

Und es existiert natürlich auch...  ???
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: klaussal am 10.10.05 - 09:23:30
Copy & Paste aus der Hilfe:  :D

Code
Sub Initialize
  Dim s As New NotesSession
  Dim db As NotesDatabase
  Dim dc As NotesDocumentCollection
  Dim doc As NotesDocument, pdoc As NotesDocument
  Dim docSubj As String, pdocSubj As String
  Set db = s.CurrentDatabase
  Set dc = db.AllDocuments
  Set doc = dc.GetFirstDocument
  While Not(doc Is Nothing)
    If doc.IsResponse Then
      Set pdoc = _
      db.GetDocumentByUNID(doc.ParentDocumentUNID)
      docSubj = doc.Subject(0)
      pdocSubj = pdoc.Subject(0)
      Messagebox "Parent: " + pdocSubj,, docSubj
    End If
    Set doc = dc.GetNextDocument(doc)
  Wend
End Sub
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: cfiber am 10.10.05 - 09:36:47
hm hier wird ja auch nur gecheckt, ob das wirklich nen Antwortdoc ist. Aber die Collection, wo "doc" herkommt habe ich so gebastelt, dass es nur aus bestimmten Antwortdokumenten besteht.

Warum meckert der Compiler trotzdem??
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: klaussal am 10.10.05 - 09:40:49
Dann wäre etwas mehr Code hilfreich, weil unsere Kristallkugeln nicht mehr so recht wollen.....
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: cfiber am 10.10.05 - 09:58:34
ok, jetzt gehts, ich frage mich zwar, warum ich diese Abfrage brauche, denn laut Debugger ist sie immer wahr und somit sinnlos, aber damit kann ich leben...


Danke euch!
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: Axel am 10.10.05 - 10:03:38
ich frage mich zwar, warum ich diese Abfrage brauche, denn laut Debugger ist sie immer wahr und somit sinnlos, aber damit kann ich leben...

Also, wenn ich mit deinen Quellcode oben anschaue, dann kann die Abfrage nicht immer wahr sein. Mit db.AllDocuments hast du nämlich alle Dokumente aus der Datenbank in der Collection und somit auch die Hauptdokumente.


Axel
 
Titel: Re: ParentDocumentUNID aus Back-End bekommen??
Beitrag von: cfiber am 10.10.05 - 10:08:34
ja der ist sehr grob, ich habe mir auf ziemlich komplizierte Weise ne Collection gebastelt, die wirklich nur Response enthält und später im Code heisst es dann:

Set doc = dcresp.GetFirstDocument
.
.
.
Set parentdoc =    db.GetDocumentByUNID(doc.ParentDocumentUNID)
.
.
.
Set doc = dcresp.GetNextDocument(doc)