Autor Thema: Richtextfeld kopieren und Attachments rauslöschen  (Gelesen 2893 mal)

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Hallo Forum,

ich sehe wohl gerade den Wald vor lauter Bäumen nicht mehr.
Ist das überhaupt möglich was ich tun will?

Ich will ein Richtextfeld, welches Attachments beinhaltet, kopieren und im neuen RT-Feld alle Attachments rauslöschen.
Das neue RT-Feld soll danach aussehen, als ob nie ein Attachment in diesem Feld gewesen wäre!

Am liebsten wäre es mir, wenn dies innerhalb des gleichen Dokuments beim Speichern geschehen könnte.


Grüße
Bernd
Arbeite klug, nicht hart.

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #1 am: 12.10.11 - 09:28:08 »
Hi Bernd.

Meinst Du

notesrichtextitem.GetUnformattedText

oder

notesrichtextitem.GetFormattedText
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #2 am: 12.10.11 - 09:42:31 »
Hallo DerAndre,

leider hilft mir diese Funktion nicht weiter, da die gesamte Formatierung des RT-Feldes verloren geht!

Der Inhalt des original RT-Feld mit all seinen Formatierunge (Schriftart, Grafik, usw.) soll im neuen RT-Feld bestehen bleiben.
Lediglich alle Attachemnts sollen aus dem neuen RT-Feld verschwunden sein, als ob diese nie da gewesen wären.

Grüße
Bernd
Arbeite klug, nicht hart.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #3 am: 12.10.11 - 09:54:31 »
Schau dir mal die Methoden

notesItem.CopyItemToDocument( document, newName$ )

notesEmbeddedObject.Remove

in der Designer-Hilfe an. Da gibt's auch Beispiele dazu. Vielleicht bringt dich das weiter.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Driri

  • Gast
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #4 am: 12.10.11 - 10:03:42 »
Ich mag mich irren, aber gab es da nicht Probleme, wenn man innerhalb eines Dokumentes das RichText-Item quasi verdoppelt ? Irgendwas habe ich da im Hinterkopf, daß dann die verdoppelten Attachments kryptischen Dateinamen bekamen oder so was. Das sollte man also auf jeden Fall gut testen.

Offline rhaller

  • Junior Mitglied
  • **
  • Beiträge: 67
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #5 am: 20.10.11 - 17:31:31 »
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

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Richtextfeld kopieren und Attachments rauslöschen
« Antwort #6 am: 20.10.11 - 20:33:50 »
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
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz