Domino 9 und frühere Versionen > ND8: Entwicklung

Richtextfeld kopieren und Attachments rauslöschen

<< < (2/2)

rhaller:
Hallo,

ich habe mich mit einem ähnlichen Problem herum geschlagen und folgende Lösung gefunden, wenn
ein RT-Feld in ein UI-Frontend kopiert werden soll. Vielleicht hilft das weiter...

   Dim ws      As New NotesUIWorkspace
   Dim uidoc      As NotesUIDocument
   Dim session   As New NotesSession
   Dim db      As NotesDatabase
   Dim view      As NotesView
   Dim dc      As NotesDocumentCollection
   Dim doc      As NotesDocument
   Dim ddoc      As NotesDocument
   Dim uiddoc   As NotesUIDocument
   Dim rtis      As NotesRichTextItem
   Dim rtit      As NotesRichTextItem
   
   Set uidoc      = ws.CurrentDocument
   Set db      = session.CurrentDatabase
   Set view      = db.GetView("anyView")
   
   Set dc      = ws.PickListCollection ( PICKLIST_CUSTOM, False, db.Server, db.FilePath, view.Aliases(0), _
   "Textbausteine", "Bitte einen Text auswählen")
   If dc.Count = 0 Then
      Exit Sub
   End If
   Set rdoc      = uidoc.Document
   Set doc      = dc.GetFirstDocument
   If Not doc Is Nothing Then
      Set rtis        = doc.GetFirstItem("Rechnungstext")
      Set ddoc         = db.CreateDocument
      ddoc.form           = "fmContainer"
      ddoc.SaveOptions   = "0"      
      Set rtit         = New NotesRichTextItem (ddoc, "RTTemp")
      rtit.AppendRTItem rtis
      rtit.Update
      Set uiddoc       = ws.EditDocument (True, ddoc, False)
      uiddoc.GotoField ("RTTemp")
      uiddoc.SelectAll
      uiddoc.Copy
      uiddoc.Close
      
      uidoc.GotoField "ReStandardText"
      uidoc.Paste
   End If

Der Open und Close des temporären UIDocuments geht so schnell, dass man(n) es nicht mitbekommt.

Viele Grüsse

pram:
Leider kommt man an die Attachments im RT-Item nicht immer so einfach ran
Ich würde folgenden Ansatz wählen
1. das Item zuerst in ein temporäres Dokument kopieren
2. dort mit evaluate("@attachmentnames",doc) die Attachmenst ermitteln und löschen
3. ein rtItem.update machen, ggf muss man das Dok sogar speichern
(ich weiß nicht ob hier irgendwelche Probleme zu erwarten sind, da Notes intern die
Attachments nicht im Dokument mitspeichert, sondern lediglich eine Objekt-ID)

4a. das Item im Backend in das gewünschte Dok kopieren und das Doc (neu) öffnen.
Falls dies im Backend nicht möglich ist,
4b. es so machen wie rhaller
oder
4c. http://www.qtzar.com/blogs/qtzar.nsf/blog.xsp?entry=DSLH-7NRK85&SessionID=CNFLZXUWFB

Gruß
Roland

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln