Domino 9 und frühere Versionen > Entwicklung

Kopie des Inhalts eines Richtext Feldes wird nicht angezeigt

(1/2) > >>

webchild:
Meine Frage: Benutze ich die richtigen Befehle um den Inhalt eines RichText Feldes in ein anderes zu kopieren?
Im Originaldokument werden nach mehrmaligem Ausführen des unten gezeigten Scriptes etliche Items mit dem Namen $File angezeigt, aber im Feld wo der Inhalt hinein soll erscheint nichts!

Über einen Tipp würde ich mich freuen.

Ich habe in einer Schaltfläche folgendes Script hinterlegt (kommt aus der Designer Hilfe), und im Debugger werden auch keine Fehler angezeigt, die Feldwerte scheine auch richtig erkannt zu werden:

Sub Click(Source As Button)
   Dim w As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim docA As NotesDocument
   Dim docB As NotesDocument
   Dim uidoc As NotesUIDocument
   Dim view As NotesView
   Dim rtitemA As Variant
   Dim rtitemB As Variant
   
   Set db = session.CurrentDatabase   
   Set view = db.GetView( "KursInhaltSuchen" )
   Set uidoc = w.CurrentDocument
   Set docA = uidoc.Document
   
   Set docB = view.GetDocumentByKey(docA.Kursname)
   
   Set rtitemA = docA.GetFirstItem( "Kursinhalt" )
   Set rtitemB = docB.GetFirstItem( "Kursinhalt" )
   If ( rtitemA.Type = RICHTEXT And _
   rtitemB.Type = RICHTEXT ) Then
      Call rtitemA.AppendRTItem( rtitemB )
      Call docA.Save( False, True )
      Call docB.Save( False, True )
   End If
End Sub


Grüße, Krista

Driri:
Wieso benutzt Du nicht einfach CopyItem ?

...
Dim item As NotesItem
...
Set item = docB.GetFirstItem("Kursinhalt")
Call docA.CopyItem(item, "Kursinhalt")

webchild:
@Diri
Da passiert quasi dasselbe wie in meinem Versuch! :'(
In dem Feld "Kursinhalt" erscheint nichts, aber es werden mehrere unsichtbare Anhänge erstellt mit dem Namen $File.

Ich habe noch eine bißchen im Forum gestöbert und bin dabei auf die Aussage gestoßen, dass man diesen Befehl nicht im Frontend verwenden kann, bzw. wird das Backenddokument vom Frontenddokument (das ja immer noch leer ist nach Ausführen meines Codes) überschrieben!

Da werde ich ansetzen, Danke bis jetzt!

Grüße, Krista

Driri:
Oopsa, das UIDoc hab ich total übersehen.

Dann hol dir die UNID des UIDocs, hol dir dazu das Backend-Dokument und pack dort die Items rein. Dann mußt Du das UIDoc schließen und neu öffnen.

koehlerbv:
Das NotesUIDocument sollte ERST geschlossen werden (falls es da noch was zu speichern gibt), dann das Kopieren im Backend und dann FrontEnd-Doc wieder öffnen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln