Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: bikerboy am 05.09.07 - 17:36:37

Titel: RichTextFeld in View
Beitrag von: bikerboy am 05.09.07 - 17:36:37
Hallo,

habe wieder mal eine Herrausforderung. Ich brauche den TEXT aus einem Richtextfeld in einer View. Ist das möglich wenn ja wie. Habe durch die Forumssuche leider keine Ergebnisse erziehlt
Titel: Re: RichTextFeld in View
Beitrag von: Tode am 05.09.07 - 17:39:52
ja, es geht über 2 Wege:

1. Wilder Stunt: Beim speichern das NotesRichtextItem finden, und manuell das "IsSummary" - Property setzen... Sehr gefährlich und nicht unbedingt gut für die Daten- Integrität.

2. Ein weiteres Feld in der Maske hinzufügen, das Wahlweise mit @Abstract( Richtextfeld ; Parameter ) oder (erst seit R6 möglich) simpel mit @Text( Richtextfeld ) befüllt wird.

HTH
Tode
Titel: Re: RichTextFeld in View
Beitrag von: bikerboy am 06.09.07 - 09:01:50
Guten Morgen,

so die Sache mit @Text hat trotz Notes 6.5.5 nicht hingehauen, dann habe ich mir einen Wolf wegen @Abstract gesucht und finde in der Hilfe folgende Zeilen.

Zitat
Caution  Rich text fields are not part of a document until saved. If you want @Abstract to work on additions and changes to the current document, you must first save and then recalculate the document. @Abstract cannot convert rich text to text in a view column

Werde nun ein Feld in der Maske bauen das beim Speichern den Text aus dem RichTextFeld zieht.

Da werde ich es erst nochmal mit @Abstract versuchen, ansonsten gibts hal script zum Frühstück
Titel: Re: RichTextFeld in View
Beitrag von: Driri am 06.09.07 - 09:05:12
Genau das hat Tode aber auch geschrieben. Und das funktioniert auch.
Titel: Re: RichTextFeld in View
Beitrag von: Tode am 06.09.07 - 10:37:19
2. Ein weiteres Feld in der Maske hinzufügen...

Du musst schon lesen, was man Dir postet...  ;)

Sonst hätte ich ja geschrieben: In der Spalte der Formel hinzuufügen...

Als Feld funktioniert dann auch die @Text - Variante...

Tode
Titel: Re: RichTextFeld in View
Beitrag von: bikerboy am 06.09.07 - 14:01:53
 :-[

Tut mir leid , habe es dann auch so umgesetzt, aber nun habe ich aber das Problem , das der Knopf (sieh anderen Thread) trotzdem nicht funzt.
Titel: Re: RichTextFeld in View
Beitrag von: Cobi am 16.10.07 - 10:33:51
Morgen zusammen,

ich habe das gleiche Problem mit dem RichText Feld, dass ich als Text in einer Spalte  anzeigen lassen möchte...
Leider funktioniert das mit dem neuen berechneten Feld in der Maske und dem @text(RTF) nicht bei mir :-( 

Die Ansicht referenziert in der Spalte das neue berechnete Feld, aber angezeigt wird nix.
Bitte um Hilfe :-)
Titel: Re: RichTextFeld in View
Beitrag von: Glombi am 16.10.07 - 10:48:38
Ich mache es mit LotusScript. Ein Feld namens "BodyTxt" (Berechnet beim Anlegen, versteckt, Formel "BodyTxt") und dann im Postsave setzen:

Entweder
plainText$ = notesRichTextItem.GetUnformattedText( )
oder
plainText$ = notesRichTextItem.GetFormattedText( tabstrip, lineLength% )


Danach nochmal das Backend-Dok. speichern.
Titel: Re: RichTextFeld in View
Beitrag von: Cobi am 16.10.07 - 11:08:11
Also sollte es so funktionieren? Sorry bin Skriptanfänger - bisher war Formelsprache mehr mein Gebiet :-)

Dim session As NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rti As NotesRichTextItem
   
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set doc = Source.Document
   Set rti = doc.GetFirstItem("Attachment")
   If rti Is Nothing Then Exit Sub
   BodyTxt = rti.GetUnformattedText()
   
   Messagebox(BodyTxt)

Die Messagebox erscheint, aber leider leer...
Titel: Re: RichTextFeld in View
Beitrag von: DerAndre am 16.10.07 - 11:10:48
BodyTxt$ = rti.GetUnformattedText()   ??
Titel: Re: RichTextFeld in View
Beitrag von: Cobi am 16.10.07 - 11:13:45
ne leider bringt das $ auch nix :-( ist das Pflicht bei Script zur kennzeichnung von Feldern?

Titel: Re: RichTextFeld in View
Beitrag von: Glombi am 16.10.07 - 11:18:00
Wo ist denn der Code?

Wichtig:
When you change the value of a NotesRichTextItem object, the change is not written to disk until you call the Save method for the parent NotesDocument.

D.h. das ganze geht nur, wenn das Dokument bereits im Backend gespeichert wurde!
Daher meine Aussage bzgl. "Postsave".

Du kannst den Code mal testweise in einen Button einbauen und dann für ein vorhandenes Dokument ausführen.

Das $ ist egal, verwende ich nie.

Andreas
Titel: Re: RichTextFeld in View
Beitrag von: DerAndre am 16.10.07 - 11:20:36
@Andreas
Hast Du dann die Variable deklariert? Bestimmt.
Das $ ist ja nur eine implizite Deklaration und da er keine Fehlermeldung bekommt gehe ich mal von einem fehlenden Option Declare aus und wird das dann nicht automatisch zu einem Variant?
Titel: Re: RichTextFeld in View
Beitrag von: Cobi am 16.10.07 - 11:24:40
Also es ist ein Antwortdokument zu einem schon gespeicherten Parentdokument.

Ich speichere und schließe das Antwortdokument über einen normalen Button. Danach wird ja der Postsave ausgeführt oder?


Titel: Re: RichTextFeld in View
Beitrag von: Glombi am 16.10.07 - 11:31:15
Und im Feld "Attachment" steht auch bestimmt Text drin?
Titel: Re: RichTextFeld in View
Beitrag von: Cobi am 16.10.07 - 11:34:48
Ja ne das ist doch ein RichText Feld...das Anhänge aufnimmt. Und ich möchte mir praktisch den Dateinamen anzeigen lassen.

Habe ich mich missverständlich ausgedrückt - sorry!
Titel: Re: RichTextFeld in View
Beitrag von: DerAndre am 16.10.07 - 11:38:01
 ;D

Das ist ein bischen komplitizitierter. Schau Dir mal in der Hilfe

Working with attachments and embedded objects in LotusScript classes

an...
Titel: Re: RichTextFeld in View
Beitrag von: Driri am 16.10.07 - 11:38:39
Da wäre es wohl das einfachste, die Namen per @AttachmentNames in ein Feld schreiben zu lassen.
Titel: Re: RichTextFeld in View
Beitrag von: Axel am 16.10.07 - 11:39:00
Das funktiniert dann so:  

   Dim session As NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rti As NotesRichTextItem
  
   Set session = New NotesSession
   Set db = session.CurrentDatabase
   Set doc = Source.Document
   Set rti = doc.GetFirstItem("Attachment")
   If ( rti.Type = RICHTEXT ) Then
       Forall o In rtitem.EmbeddedObjects
           Messagebox( o.Name )
       End Forall
   End If



Axel
Titel: Re: RichTextFeld in View
Beitrag von: Glombi am 16.10.07 - 11:39:12
Ja ne das ist doch ein RichText Feld...das Anhänge aufnimmt. Und ich möchte mir praktisch den Dateinamen anzeigen lassen.

Habe ich mich missverständlich ausgedrückt - sorry!

Bitte erstelle demnächst einen neuen Thread! Es ging hier konkret darum, den TEXT anzuzeigen, der in dem Rich Text Feld ist und NICHT darum, den Namen des Anhangs.

Den bekommst Du ohne irgendwelche Scripts mit @AttachmentNames.

Andreas