Autor Thema: Attachment aus RT-Feld in ein anderes kopieren?  (Gelesen 3729 mal)

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Attachment aus RT-Feld in ein anderes kopieren?
« am: 21.08.08 - 16:14:33 »
Irgendwie stehe ich auf dem Schlauch - vielleicht hat ja hier jemand einen Tipp für mich? Folgendes ist mein Problem:

Ich habe in meinem Dokument ein RT-Feld das Text und Anhänge enthält. Die Anhänge (und nur die) will ich in ein neu zu erstellendes RT-Feld überführen. Ich kenne aber weder Anzahl noch Dateinamen der Anhänge.

Greifen kann ich die Dinger ja als NotesEmbeddedObjects, nur wie bekomme ich sie in mein neues Feld? Die EmbedObject-Methode verlangt einen Dateinamen, den ich nicht kenne. Das ganze Feld zu kopieren ist auch keine Lösung, denn dann käme ja der Text mit. Aufs Laufwerk speichern und von da wieder einbinden geht auch nicht, da mein Agent auf dem Server läuft.

Noch jemand eine Idee? Bin für jeden Tipp dankbar!

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #1 am: 21.08.08 - 16:18:59 »
Anhänge müssen zuerst auf die Festplatte gespeichert werden und können dann wieder einem Richtext hinzugefügt werden.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #2 am: 21.08.08 - 16:21:24 »
Das darf ich auf dem Server nicht. Gibt es wirklich keine andere Möglichkeit?
Im Frontend geht es doch auch...  :-:
« Letzte Änderung: 21.08.08 - 16:23:19 von Li Si »

Driri

  • Gast
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #3 am: 21.08.08 - 16:27:56 »
Benutz einfach die Forensuche, das Problem ist hier schon öfters diskutiert worden.

jBubbleBoy hat es aber eigentlich schon zusammengefaßt.

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #4 am: 21.08.08 - 16:44:56 »
Hm, das klingt nicht gut  :( Hab mittlerweile über die Suche die Aussage auch gefunden.

Gibt es denn eine Möglichkeit wenn ich das gesamte RT-Item kopiere, danach aus dem neuen RT-Item den Text herauszulöschen? Das wäre ja auch eine Lösung.

Hab diese Frage über die Suche auch gefunden, leider keine Antworten...

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #5 am: 21.08.08 - 16:46:38 »
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #6 am: 21.08.08 - 20:01:24 »
Ich würde auch den Ansatz mit dem kopieren des kompletten RT-Items versuchen.

Dann den Text auslesen und mit FindAndReplace den Text (oder auch die einzelnen Wörter) durch Leer ersetzen.

Sollte eigentlich funktionieren.

Hubert

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.290
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #7 am: 21.08.08 - 20:38:43 »
naja dann hast oder bekommst du eine String Variable und wenn man die in das RT Feld schreibst sind die Anhänge weg.
Gruss Erik :: Freelancer :: KI-Dev, Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16 / OLI 2.0

--
Nur ein toter Bug, ist ein guter Bug!

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #8 am: 21.08.08 - 23:24:46 »
Erstmal vielen Dank für eure Rückmeldungen und Ideen.

Den Gedanken mit FindAndReplace finde ich gar nicht schlecht - wenn ich vorher den Text mit rtitm.GetFormattedText auslese und nur diesen String ersetze, sollten die Attachments doch unberührt bleiben, oder?
Alternativ könnte ich mir auch vorstellen eine Range vom ersten bis zum letzen TextParagraph zu bilden und diese dann mit range.remove zu löschen.

Jetzt habe ich allerdings ein neues Problem: ich bekomme keinen RichTextNavigator instanziiert! Trotz korrektem Aufruf bleibt das Objekt leer. Und ohne den wird es wohl nicht gehen...

Hier mein Code:
   Set rtitmbody = mdoc.GetFirstItem("Body")
   Set rtitmatt = mdoc.CopyItem(rtitmbody, "Anhänge")
   Set rtnav = rtitmatt.CreateNavigator
   Set range = rtitmatt.CreateRange

Die Range wird korrekt gefüllt, der Navigator nicht. Ich habe mir mal das Beispiel zum RichTextNavigator aus der Hilfe kopiert und laufen lassen - hier genau dasselbe Problem, der Navigator wird nicht instanziiert!!

Ist jemand schon mal über dieses Phänomen gestolpert? Woran kann das liegen? (Hab schon gesucht aber dazu leider nix gefunden).

Offline HH

  • Senior Mitglied
  • ****
  • Beiträge: 339
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #9 am: 22.08.08 - 08:40:47 »
Hab' ein wenig herum probiert. Leider kommt man mit FindandReplace nicht so recht weiter, weil

- die Dateinamen ebenfalls ersetzt werden,
- ersetzen mit Leer ("") nicht funktioniert

Hubert

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #10 am: 22.08.08 - 09:00:59 »
Hallo HH,

danke für die Unterstützung. Ja, den Eindruck dass Notes "" als String nicht schluckt hatte ich auch schon. Und dass "getFormattedText" auch die Dateinamen mit ausliest ist natürlich blöd, wenn auch nicht ganz unlogisch.

Da ich in meinem Fall das letzte Wort vor Beginn der Attachments kenne, kann ich es vielleicht lösen indem ich alles was nach diesem Wort kommt vom Suchstring abschneide. Und zum Ersetzen evtl. ein " " verwenden. Werde ich mal versuchen.

Ansonsten bliebe noch die Lösung mit der range. Dafür müsste ich aber den RichTextNavigator zum Laufen bringen. Dass Notes sich hier schlicht und einfach weigert mir ein Objekt zu liefern macht mich ehrlich gesagt etwas ratlos...

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #11 am: 22.08.08 - 12:10:25 »
So, leider habe ich festgestellt dass dieser Lösungsweg in meinem Fall auch nicht weiterhilft, da meine Attachments womöglich auf mehrere neue RT-Felder verteilt werden müssen. D.h. ich müsste nicht nur Text sondern teilweise auch Attachments wieder aus den kopierten Feldern löschen. Genau das funktioniert aber nicht, weil EmbeddedObject.Remove offenbar das Attachment hart im Hauptspeicher löscht und nicht nur aus dem Dokument entfernt. Jedenfalls bekomme ich beim Speichern nach dem remove immer die Fehlermeldung das Attachment sei noch anderswo verwendet.

Es wird mir also nichts anderes übrig bleiben als das Kopieren der Attachments irgendwie ins Frontend zu verlagern.

Vielen Dank auf jeden Fall für die Hilfe - und die Erkenntnis dass getFormattedText auch die Dateinamen ausliest hat mir auch an anderer Stelle sehr weitergeholfen!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #12 am: 22.08.08 - 12:17:46 »
Es wird mir also nichts anderes übrig bleiben als das Kopieren der Attachments irgendwie ins Frontend zu verlagern.

Ich denke, das ganze soll auf dem Domino laufen?

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #13 am: 25.08.08 - 14:19:12 »
Ja, es handelt sich um einen mailsensitiven Agenten, der aus eingehenden Mails Dokumente erstellt. Die Mails enthalten DXL und Anhänge.

Da ich aber auf dem Server die Anhänge nicht speichern und wieder einbinden kann, wird mir wohl nichts anderes übrig bleiben als die Anhänge erst beim Öffnen des neu erstellten Dokumentes reinzuholen, also dann im Frontend.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #14 am: 25.08.08 - 14:24:22 »
Der Domino hat kein Frontend und daher auch keine Methoden hierfür.

Bernhard

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #15 am: 25.08.08 - 14:30:19 »
Nananana!
Die Konsole ist doch bitte auch ein "Frontend"!

Jetzt tut mir den Domino doch nicht so runter!  ;)
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #16 am: 25.08.08 - 21:31:02 »
Wie heißt dat Ding denn sonst? Notes-Client? Ich hab doch nicht "Domino" geschrieben sondern Server  ;D

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #17 am: 25.08.08 - 22:17:41 »
Server = Domino <> Frontend.

Könntest Du Dich bitte jetzt mal klar ausdrücken, wo der Agent nun wirklich laufen soll?!

Bernhard

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #18 am: 26.08.08 - 16:13:50 »
Aaaaalso, noch mal und hoffentlich verständlicher:

Der Agent läuft auf dem Server = Domino. Und zwar nach Eingang neuer Mails. Aus den Mails erstellt er neue Dokumente, speichert die und legt sich dann wieder zur Ruhe.

Sooo, und die neuen Dokumente, die können dann natürlich später auf dem Client, also im Frontend, geöffnet werden  ;)

Meine Idee ist diese: sobald ein User so ein neu erstelltes Dokument öffnet, sucht sich dieses die dazugehörige Mail, speichert die darin enthaltenen Anhänge auf Festplatte und bindet sie in die entsprechenden RT-Felder im Dokument ein.

Ist bissi von hinten durch die Brust ins Auge, zugegeben, aber eine andere Möglichkeit sehe ich momentan nicht...
Werde mich morgen mal drangeben, für heute ist Feierabend  8)

Offline Li Si

  • Frischling
  • *
  • Beiträge: 24
Re: Attachment aus RT-Feld in ein anderes kopieren?
« Antwort #19 am: 27.08.08 - 14:43:35 »
So, wollte nur noch Bescheid geben dass die Sache nun funzt. Ich hab den Code für das Holen der Anhänge ins Queryopen der neu erstellten Dokumente gepackt und hoffe jetzt dass alle betroffenen User auch auf C:\temp schreiben dürfen...

@Bernhard
mir ist noch aufgefallen dass ich den Begriff "Frontend" wohl etwas zu großzügig angewendet habe - hätte wohl besser "Client" sagen sollen, sorry!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz