Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: oson00 am 09.08.06 - 15:32:06
-
Hallo,
ich habe hier mal wieder ein merkwürdiges Phänomen. Ich habe ein Dokument mit diversenen RT-Feldern. Aus diesem Dokument soll eine Kopie erstellt werden. Dazu kopiere ich verschiedene Felder von Quell- zum Zieldokument. Unter anderem kopiere ich auch das RT-Item "Body".
Das funktioniert soweit auch wunderbar, so wie es soll, allerdings bei einem Ausnahmefall funkioniert es nicht. Da erscheint die Fehlermeldung "Notes Error: Note item not found (body)".
In diesem Dokument ist das Feld Body mit sehr viel Text, Abschnitten und Anhängen gefüllt. Wenn ich hier drin einige Abschnitte ändere/ lösche, funktioniert mein Code.
Kopiere ich das gesamte Body-Feld per Hand in ein neues Dokument, kann ich davon per Lotusscript auch eine Kopie erzeugen.
Ich kopiere das Body-Feld mit folgendem Code:
Dim newItem as NotesRichTextItem
If doc.HasItem ( "Body" ) Then
Set newItem = doc.GetFirstItem("Body") <----- Die Variable newItem ist mit dem Item gefüllt!
Call newdoc.CopyItem(newItem, "") <----- hier tritt der Fehler auf
End If
Interessant ist auch, dass in dem Dokument, bei dem der Fehler auftritt, 6 Mal ein Body-Item in der Feldliste der Dokument-Eigenschaften auftritt.
Kennt jemand ähnlich Phänomene? Wie kann ich trotzdem das Body-Item kopieren?
Danke schonmal für die Hilfe...
-
Mit einer kleinen Schleife sollte es gehen:
Forall feld in doc.Items
if feld.Name = "Body" then
call feld.CopyItemToDocument(newdoc, "Body" )
End if
End Forall
Andreas
-
Wenn Du das gesamte Dokument kopieren willst, würde ich aber
set newdoc = doc.CopyToDatabase(db)
machen.
Dann erspart man sich die lausigen RTF Issues.
-
Auch über die Schleife bekomme ich den gleichen Fehler. :(
Ich möchte eigentlich nicht das gesamte Dokument kopieren, weil ich nur bestimmte Felder daraus übernehmen möchte und weitere Vorgabewerte setze.