Autor Thema: HasEmbedded True, aber Embedded Objects leer  (Gelesen 2767 mal)

Offline rhaller

  • Junior Mitglied
  • **
  • Beiträge: 67
HasEmbedded True, aber Embedded Objects leer
« am: 01.12.08 - 18:13:42 »
Hallo,

trotz aller Suche hier im Forum und auch in der Designer-Hilfe finde ich keinen Hinweis, warum bzw. unter welchen Umständen "EmbeddedObjects" in der doc- bzw. Item-Klasse nicht funktionert. Es spielt dabei auch keine Rolle, wie das Item definiert wird, ob als NotesItem, RichtextItem oder Variant, das Attachment bleibt versteckt. Dabei will ich es nur von einem Frontend-Dokument in ein anderes Backend-Dokument mit einer anderen Form (Archiv) kopieren.

Einzig CopyItemToDocument funktioniert, allerdings wird das Attachment nicht in das bezeichnete Feld, sondern unten ans Dokument geklebt. Und das ist für die Anwender "unschön", vor allem wenn das Attachment vom Archiv-Backend zurück geholt wird.



Hier der Code, vielleicht kann mir jemand weiterhelfen. Die ersten beiden IF-Abfragen liefern true, d.h. das Dokument hat Embedded Objects und das Feld ist ein Richtext-Feld. Das Objects-Array dagegen ist leer. Im Debugger wird es auch so angezeigt, und auch dort ist  EmbeddedObjects leer, für HasEmbedded wird der Wert True zurück geliefert.
 

   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
        Dim doc As NotesDocument
        Dim childdoc as NotesDocument
   Dim rtitem As NotesRichTextItem
   
   Set doc = session.CurrentDatabase.UnprocessedDocuments.GetFirstDocument
   Set childdoc = session.CurrentDatabase.GetDocumentByUNID ( doc.KSDocUnID(0) )
   
   Set rtitem = New NotesRichTextItem ( doc, "Attachment" )      
   
   If doc.HasEmbedded Then
      If ( rtitem.Type = RICHTEXT ) Then
         If Isarray(rtitem.EmbeddedObjects) Then
            Forall o In rtitem.EmbeddedObjects
               If ( o.Type = EMBED_OBJECT ) Then
                  objectName = o.Name
               End If
            End Forall
         End If
      End If
   End If

Es spielt auch keine Rolle, ob das Dokument im Workspace als UIDoc geöffnet ist oder ob man es als Backend anfasst, bei dem das Frontend geschlossen ist.

Ich weiß, dass hier schon einige Male das Problem angesprochen wurde, aber ich konnte keine Lösungsidee finden.   ???  :-:

Danke schonmal für Eure Hilfe und viele Grüße!

Offline TRO

  • Senior Mitglied
  • ****
  • Beiträge: 296
Re: HasEmbedded True, aber Embedded Objects leer
« Antwort #1 am: 01.12.08 - 21:21:37 »
Bist Du sicher, dass das Attachment wirklich ein EmbeddedObject in dem RT-Item "Attachment" ist?

Eventuell hängt das Attachment ohne Bezug zu einem RT-Item "nur so" im NotesDoc rum?

Dann Zugriff daruaf mit EmbeddedObjects property of NotesDocument.

DatenDuck

  • Gast
Re: HasEmbedded True, aber Embedded Objects leer
« Antwort #2 am: 30.03.10 - 17:26:56 »
TRO, wie kann man denn feststellen ob ein Anhang "nur so" im Dokument rumhängt, ohne Bezug auf ein RTItem?
Laut Doku liefert EmbeddedObjects von NotesDocument keine Anhänge zurück, wie kommt man damit dann zum Ziel!?

Ich kenne Dateianhänge nur an RTITems und habe zur Zeit ein ähnliches Problem, daher wüsst ich gerne wie ich auf "verwaiste" Anhänge komme, wenns vom RTItem nicht klappt.

Vielen Dank schon mal!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: HasEmbedded True, aber Embedded Objects leer
« Antwort #3 am: 30.03.10 - 21:06:40 »
Verwaiste Anhänge sollten auch mit @AttachmentNames gefunden werden. (ungetestet!)
Das Problem ist dann wohl dass du nicht feststellen kannst, aus welchem RT-Item sie stammen. Aber einen möglichen Würgaround hab ich ja hier schon beschrieben

Gruß
Roland
Roland Praml

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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz