Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: rhaller 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!
-
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.
-
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!
-
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 (http://atnotes.de/index.php/topic,48172.msg309449.html#msg309449) schon beschrieben
Gruß
Roland