Autor Thema: Memo-Body-Feld füllen im Backend....  (Gelesen 3215 mal)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Memo-Body-Feld füllen im Backend....
« am: 02.09.05 - 13:05:38 »
Hallo *,

ich möchte aus einer Anwendung heraus ein Memo erzeugen und sein  Body-Feld mit Werten aus Richtext-feldern sowie Text-Feldern des geöffneten Dokumentes füllen.
Dabei habe ich das Prob, dass die Werte wohl übernommen werden, und im Debbug-modus auch vorhanden sind, aber nach dem Reload der Mail-Maske keine Werte im Feld Memo stehen. Die Felder Subject und EnterSendTo über nehmen die Werte (wie sie ja auch sollten ;-) ).
Das Body-Feld der Mail habe ich im Backend in ein rtitem übernommen,
nur das "Zurückschreiben" funzt nicht. :-(

Habt ihr einen Tipp?

Grüße,
Jor
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #1 am: 02.09.05 - 13:09:02 »
RT-Felder haben ein Problem mit der Syncronisation zwischen BackEnd und FrontEnd.

Bau Dir erst das Dokument im BE zusammen inkl. RTF und hol es dann ins UI oder schließe das Dokument im UI und öffne es erneut.
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #2 am: 02.09.05 - 13:10:44 »
Hallo diali,

jep, genau die Syncronisation! Ich werde deinen Vorschlag sofort ausprobieren! Danke!
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #3 am: 02.09.05 - 13:14:25 »
Wie gehst du dabei vor, aus einem BE-Doc ein Frontend zu erzeugen?
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #4 am: 02.09.05 - 13:15:42 »
geht mit:
NotesUIWorKSapace.EditDocument(True, NotesDocument)
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #5 am: 02.09.05 - 13:19:31 »
Danke! :-)
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #6 am: 05.09.05 - 12:28:14 »
Hallo nochmal,
ich bin wieder mit obigem Prob beschäftigt. Deinen Lösungstipp versucht umzusetzen, aber ich bekomme nun immer einen Fehler:
"User-defined error", hast du einen weiteren Tipp für mich? Das NotesDocument existiert im Backend.

Gruß
Jor
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #7 am: 05.09.05 - 12:46:52 »
wie sieht den der Code aus und in welcher Zeile kommt der Fehler?
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #8 am: 05.09.05 - 12:56:02 »
Ich wollte den Schritt mit der Erzeugung eines NotesDocumentes im Backend durchführen, und dieses dann mittels "Set uimemo = ws.EditDocument( true, NotesDocument)" im Frontend öffnen. Und genau bei dieser Codezeile klemmt's.
Ich möchte folgendes umsetzen: Ein im Frontend geöffnetes Formular enthält mehrere RichtextItems, diese sollen ausgelesen und in ein Memo, ins Bodyfeld mit Formatierung etc., übernommen werden.
 
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #9 am: 05.09.05 - 12:58:52 »
"Set uimemo = ws.EditDocument( true, NotesDocument)"

NotesDocument muss noch durch das entsprechende Object ersetzt werden.
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #10 am: 05.09.05 - 13:07:14 »
Klar, habe ich ja gehabt, also das gewünschte Backend-Document, das ich dann als uidocument öffnen möchte. Haut aber nicht hin.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #11 am: 05.09.05 - 13:10:29 »
hast Du das Backend-Dokument gespeichert?
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #12 am: 05.09.05 - 13:18:42 »
Nein hatte ich nicht gespeichert, jetzt einmal mit speichern probiert, auch nicht besser. Habe die Arbeitsumgebung auf Insel gestellt, dann klappt es (anscheinend). Nach dem Zurückstellen der Arbeitsumgebung auf Büro haut es nicht mehr hin, dann kommt wieder der Fehler User-defined error.
Generelles Speichern des Backends ist nötig?
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #13 am: 05.09.05 - 13:21:08 »
wenn du den Code posten würdest, dann könnte ich vielleicht helfen, so ist es aber nur ein Stochern im Heuhaufen.
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #14 am: 05.09.05 - 13:41:32 »
Kommt gleich. Ebend noch aufräumen. ;-)
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #15 am: 05.09.05 - 13:44:28 »
Hier der Code:
Sub Click(Source As Button)
   Dim ws As New NotesUIWorkspace
   Dim session As New NotesSession
   Dim maildb As New NotesDatabase( "", "" )   
   
   Dim uidoc As NotesUIDocument            'Aktuelles Angebotsformular
   Dim mail As NotesDocument       ' Memo im Backend
   Dim doc As NotesDocument               'Aktuelles Doc im Backend   
   Dim body As Variant   
   Dim container As Variant
   
   Set uidoc=ws.CurrentDocument            'Übernehme aktuelles Angebotsformular
   Call uidoc.Save( )
   Set doc = uidoc.Document
   Call doc.Save( True, True )   'Doppeltes Speichern...
   
   Call maildb.OpenMail   'Öffnen der Maildatei   
   Dim uimail As NotesUIDocument         'Aktuelles/neues Mailformular
   
   Set container = doc.GetFirstItem( "Body" )
   
   Set mail = maildb.CreateDocument( )
   mail.Form = "Memo"
   Call mail.ComputeWithForm(True,True)
   
   Call mail.Save( True,True )
   Set body = mail.GetFirstItem( "Body" )
   Call body.AppendRtItem( container )       'Soll den Wert aus Container in Body schreiben,
                                                'später per Schleife mehrere Inhalte einfügen
   
   Set uimail = ws.EditDocument( True, mail )
End Sub
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #16 am: 05.09.05 - 13:48:59 »
änder mal die Reihenfolge. Save sollt kurz vor dem Öffnen des UI-Dokumentes erfolgen.

Set mail = maildb.CreateDocument( )
mail.Form = "Memo"
Set body = mail.GetFirstItem( "Body" )
Call body.AppendRtItem( container )       'Soll den Wert aus Container in Body schreiben,
                                                'später per Schleife mehrere Inhalte einfügen
   
Call mail.ComputeWithForm(True,True)
Call mail.Save( True,True )
Set uimail = ws.EditDocument( True, mail )
Gruß
Dirk

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #17 am: 05.09.05 - 13:50:53 »
Danke, ich probiere es sofort aus!
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #18 am: 05.09.05 - 14:00:32 »
Haut nicht ganz hin, das Body-Item wird nicht gefüllt. So wie ich es gesehen habe, kann das Body-Feld aus dem Document mail (mail.getfirstitem("Body")) nicht referenziert werden. Im Debugger wird das Bodyfeld unter Items im document mail nicht aufgeführt. Es existiert nicht.
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline diali

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.023
  • Geschlecht: Männlich
Re: Memo-Body-Feld füllen im Backend....
« Antwort #19 am: 05.09.05 - 14:04:52 »
Du machst ein
Dim body As Variant
benutze dafür
dim body as NotesRichTextItem

Erstelle das NotesRichTextItem body neu mit
Set body = mail.CreateRichTextItem( "Body" )
Gruß
Dirk

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz