Autor Thema: Richtextfeld frisst Tabellen  (Gelesen 2695 mal)

Offline BMWTordi

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Richtextfeld frisst Tabellen
« am: 21.09.07 - 09:42:50 »
Also ich hatte schonmal ein Problem gepostet indem es grob um dieses Thema ging.

Sachverhalt ist folgender:

Ich habe in meiner Maildatenbank einen Button mit dem ich die infos aus markierten emails in eine andere Datenbank übertrage. Dabei erstelle ich pro email ein neues Dokument.

Code:

Dim body As NotesItem
   Set body = doc.GetFirstItem("body")
   
   Dim new_body As NotesItem
   Stop
   Set new_body = body.CopyItemToDocument(hotdoc, "bemerk")


Problem

Das Problem bezieht sich auf das oben gezeigte RT Feld "bemerk". In dieses Feld kopiere ich das "body" Feld der Email. Leider kann man bei manchen Dokumenten anschließend das neu generierte Dokument nicht öffnen. Es erscheint die Fehlermeldung "Sie haben Versucht einen Layoutbereich in eine Tabelle zu laden".


Das war das grobe Problem.

Neue Erkenntnis:

Die Dokumente die sich nicht öffnen lassen haben alle eine Gemeinsamkeit. Bei Erstellen frisst das RT Feld den rest des Dokuments auf. Das RT Feld hat also einen Anfang aber keine Ende. Die Tabellen und Felder unterhalb des RT Feldes sind alle im RT Feld enthalten und ich kann Schriftgröße usw ändern.
..... ein IT-Noob


Meine Umgebung:
2 Domino Cluster-Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) Win2k Server

Glombi

  • Gast
Re: Richtextfeld frisst Tabellen
« Antwort #1 am: 21.09.07 - 09:45:49 »
Ich würde es mit

Inserts the contents of one rich text item in another.
Defined in
NotesRichTextItem
Syntax
Call notesRichTextItem.AppendRTItem( notesRichTextItem2 )
Parameters
notesRichTextItem2
The item to be appended. If you specify Nothing, this method generates an error.

machen. D.h erstmal aus hotdoc das RichTextItem per Script setzen und dann mit AppendRTItem das "Body" dort anhängen.

Andreas

Offline BMWTordi

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Re: Richtextfeld frisst Tabellen
« Antwort #2 am: 21.09.07 - 10:20:24 »
Danke für den Tip. Habe es jetzt so gelöst:


        Dim body As NotesRichTextItem
   Set body = doc.GetFirstItem("body")
   Dim new_body As NotesRichTextItem
   Set new_body = New NotesRichTextItem(hotdoc, "bemerk" )
   Call new_body.AppendRTItem( body)
   
   Call hotdoc.Save(True,False,True)
 
Aber das Problem ist leider noch da.
..... ein IT-Noob


Meine Umgebung:
2 Domino Cluster-Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) Win2k Server

Glombi

  • Gast
Re: Richtextfeld frisst Tabellen
« Antwort #3 am: 21.09.07 - 10:42:48 »
Mach mal anstelle von

Set new_body = New NotesRichTextItem(hotdoc, "bemerk" )

ein

Set new_body = hotdoc.GetFirstItem("bemerk" )

Das mit dem New ist immer so eine Sache, wie wir gestern auch in einem anderen Thread gesehen haben.

Andreas

Offline BMWTordi

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Re: Richtextfeld frisst Tabellen
« Antwort #4 am: 21.09.07 - 11:49:33 »
Wenn ich das so durchziehe hab ich einen object Variable not set:


Dim body As NotesRichTextItem
   Set body = doc.GetFirstItem("body")
   Dim new_body As NotesRichTextItem
   Set new_body = hotdoc.GetFirstItem("bemerk" ) <--- genau hier
   Call new_body.AppendRTItem( body)
..... ein IT-Noob


Meine Umgebung:
2 Domino Cluster-Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) Win2k Server

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Richtextfeld frisst Tabellen
« Antwort #5 am: 21.09.07 - 12:39:29 »
Machst du das für ein neues Dokument?

Wenn ja, dann muss das Dokument einmal gespeichert werden um auf das RTF zugreifen zu können.

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

Offline BMWTordi

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Re: Richtextfeld frisst Tabellen
« Antwort #6 am: 21.09.07 - 13:34:16 »
Sowas in der Art dachte ich mir schon. Ist halt nur blöd dann abzufangen ob der user das Dok wirklich speichern will..mhhh...muss ich mir wohl was ganz anderes überlegen.
..... ein IT-Noob


Meine Umgebung:
2 Domino Cluster-Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) Win2k Server

Driri

  • Gast
Re: Richtextfeld frisst Tabellen
« Antwort #7 am: 21.09.07 - 14:20:40 »
Eine Möglichkeit wäre, ein Flagfeld zu setzen, daß beim Speichern durch den User entfernt wird.

Entsprechend geflaggte Dokumente können dann aus den Ansichten ausgeblendet werden und z.B. über einen periodischen Agenten über Nacht entfernt werden.

Offline BMWTordi

  • Aktives Mitglied
  • ***
  • Beiträge: 105
  • Geschlecht: Männlich
Re: Richtextfeld frisst Tabellen
« Antwort #8 am: 04.10.07 - 11:59:42 »
Hallo zusammen. Habe leider bis heute keine Lösung im Script gefunden. Aber ich habe einfach alles was unter meinem RTFeld war in einen Teilmaske gepackt und da auch noch einen Abschnitt drüber gestzt....jetzt funktioniert es.
..... ein IT-Noob


Meine Umgebung:
2 Domino Cluster-Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) SLES 9 SP 3
1 Domino Server (7.0.1) Win2k Server

Offline HarryB

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 521
  • Geschlecht: Männlich
Re: Richtextfeld frisst Tabellen
« Antwort #9 am: 10.10.07 - 09:45:34 »
Mach mal anstelle von

Set new_body = New NotesRichTextItem(hotdoc, "bemerk" )

ein

Set new_body = hotdoc.GetFirstItem("bemerk" )

Das mit dem New ist immer so eine Sache, wie wir gestern auch in einem anderen Thread gesehen haben.

Andreas

Ich würde anstatt dessen ein

Set new_body = hotdoc.CreateRichTextItem("bemerk")

machen.

Viele Grüße
Harry
Harald "HarryB" Börger

2 x 7.0.2FP1 auf AIX (Cluster)
1 x 7.0.2FP2 auf AIX
1 x 6.5.5 auf AIX
4 x 7.02.FP2 auf WIN

Clients: 7.0.2

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz