Inhalte von RichText-Feldern werden nicht in der entsprechenden Formatierung übernommen

  • Hallo!


    Folgender Fall:
    Ich möchte in einem Profildokument meinem DB-Admin die Möglichkeit geben, Fragen für einen Fragebogen zu formulieren.
    Diese Fragen sololen dann im Fragebogen angezeigt werden.
    Die Eingabe des Textes im Profildokument erfolgt in einem RT-Feld.
    Die Anzeige im Fragebogen erfolgt ebenfalls in einem RT-Feld, aber berechnet (@GetProfileField...).


    Obwohl beides RT-Felder sind wird die Schrift / Formatierung aus dem Quell-Feld nicht übernommen, sondern eine Art Courier Schriftart im Ziel-Feld angezeigt. Wenn man ganz genau hinsieht, dann kann man hier gerade noch den Fett-Druck erkennen.


    Kann man das lösen?

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Kann ich ein berechnetes Feld (RichText) mittels LS füllen? Dann funktionierts?

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • OK, ich hab's jetzt im PostOpen-Event der Maske versucht.
    Die Schriftart stimmt jetzt, aber keinerlei Formatierungen...

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Wie wäre es mal mit etwas genaueren Infos.


    Wenn etwas nicht funktioniert, dann solltest du uns schon sagen wie du es probiert hast damit wir dir helfen können.


    Das solltest du doch langsam mal wissen.

  • Wie genau willst du's denn haben?


    Im PostOpen siehts so aus:
    Sub Postopen(Source As Notesuidocument)
    Set se = New NotesSession
    Set db = se.CurrentDatabase
    Set profile = db.GetProfileDocument( "(Profil1)")

    If Source.IsNewDoc Then
    variable = profile.GetItemValue("txt_Frage_1a")
    Call Source.FieldSetText("txt_Frage1a", variable(0) )
    Call Source.refresh
    End If
    End Sub


    Beide Felder sind RT, aber am Ziel kommt nur unformatierter Text an.

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Genau so, denn da ist der Fehler dann offensichtlich:


    FieldSetText
    Nicht umsonst heisst es Text.


    Wenn dann musst du entweder das ganze RichText Feld kopieren oder es eben mit den RichText Klassen entsprechend aufbauen.

  • Hatte ich mir fast gedacht.


    Ich probier's mal und melde mich dann wieder...

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • So funktioniert's auch nicht!


    Sub Postopen(Source As Notesuidocument)
    Set se = New NotesSession
    Set db = se.CurrentDatabase
    Set profile = db.GetProfileDocument( "(Profil1)")

    If Source.IsNewDoc Then
    Set itemA = profile.GetFirstItem( "txt_Frage_1a" )
    Call itemA.CopyItemToDocument( Source.Document, "txt_Frage1a")
    Call Source.Reload
    End If
    End Sub


    Jetzt ist das Feld/der Bereich ganz leer. Die Feldnamen stimmen aber. Habe ich extra aus der Maske rauskopiert....

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Ist schon klar.
    Aber blöderweise will ich ja den Text laden, wenn ich das Dokument/die Maske erstmalig öffne. D.h. beim Erzeugen des Dokumentes, ohne sich sicher zu sein, daß man es auch speichert.
    Das uidoc.document existiert aber beim QueryOpen noch nicht, sondern erst beim PostOpen.
    Das Ändern des uidoc.documents sollte m.E. aber durch ein uidoc.Reload im Workspace angezeigt werden (Refreshes the current document with any changes made to the back-end document associated with the current editing session.).
    Das tut es aber nicht.
    Wenn ich das Dokument speichere und mir dann das Feld ansehe, dann ist es leer.


    ----
    Feldname: txt_Frage1a
    Datentyp: Rich Text
    Datenlänge: 102 Byte
    Seq.-Num.: 1
    Doppeleintrags-ID: 0
    Feld-Flags:



    ----

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Bin ich jetzt total meschugge?
    Mit der Methode brauch ich offensichtlich nicht mal das rtitem zu kopieren.
    Die Formeln für die Felder funktionieren auf einmal auf dem Weg.....


    Danke für den Tip!!!

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Vergeßt es!
    Jetzt wird doch wieder die Courier-Schrift angezeigt.


    Aber ich schwöre: Eben ging es!


    ERGÄNZUNG: Das passiert offensichtlich, wenn ich gar kein rtitem zuweise.
    Sobald ich nur das erste rtitem zuweise, dann sind alle Felder richtig formatiert... :-?
    Muß ich nicht verstehen, oder?



    Sub Initialize()
    Set ws = New NotesUIWorkspace
    Set se = New NotesSession
    Set db = se.Currentdatabase
    Set profile = db.Getprofiledocument("(Profil1)")

    Set doc = db.CreateDocument
    doc.Form = "m_Query"

    Set rtitem = profile.Getfirstitem("txt_Frage_1a")
    Call doc.CopyItem(rtitem, "txt_Frage1a")

    Call ws.EditDocument(False, doc)
    End Sub

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)