Domino 9 und frühere Versionen > ND8: Entwicklung
Richtextfeld kopieren und Attachments rauslöschen
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