Autor Thema: Mail per Button mit Feldinhalten erstellen  (Gelesen 18035 mal)

Offline Patrick1200

  • Frischling
  • *
  • Beiträge: 17
Mail per Button mit Feldinhalten erstellen
« am: 05.01.11 - 09:38:10 »
Hallo,

ich habe folgendes Problem. Ich möchte per Button eine Mail erstellen. Dies gelingt mir mit folgender Formel auch:

EMail := FM_Mail ;
@Command([MailComposeMemo]) ;
@Command([EditGotoField];"SendTo");
@Command([EditInsertText];EMail);
@Command([EditGotoField];"Subject");
@Command([EditInsertText];FM_kategorieanfrage);
@Command([EditGotoField];"Body")

Nun möchte ich aber auch einen Text in den Body einfügen. In diesem Text sollen Felder aus der dazugehörigen Maske eingefügt werden. Als Beispiel:

Sehr geehrter Herr "FM_Antragsteller",

ihre Meldung vom "FM_Meldedatum" ist hier eingegangen und wird zeitnah bearbeitet....


Das beste für meine Zwecke wäre, wenn ich in einer anderen Maske ein Textfeld/Richtextfeld z.B. mit dem Namen "FM_Mailinhalt"  erstellen könnte. Hier könnte ich dann den Bodyinhalt der Mail so formatieren wie ich es will und auch sehr leicht ändern falls nötig. Folgende Formel funktiert auch.

EMail := FM_Mail ;
@Command([MailComposeMemo]) ;
@Command([EditGotoField];"SendTo");
@Command([EditInsertText];EMail);
@Command([EditGotoField];"Subject");
@Command([EditInsertText];FM_kategorieanfrage);
@Command([EditGotoField];"Body")
@Command([EditInsertText];FM_Mailinhalt);

Nur wie bekomme ich es jetzt hin, dass er wie im Beispiel oben sich die Infos aus den anderen Feldern zieht, bzw. geht das überhaupt?


P.S. Jetzt hab ich es eben nochmal getestet und er findet das Feld "sendto" plötzlich nicht mehr. Weiß wer woran das liegen kann?

Danke schonmal!

Grüße
Patrick

Offline Patrick1200

  • Frischling
  • *
  • Beiträge: 17
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #1 am: 05.01.11 - 09:49:42 »
Nachtrag: Wieso er "SendTo" nicht gefüllt hat, hab ich herausgefunden...Feldname war falsch geschrieben...

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #2 am: 05.01.11 - 10:27:58 »
Du kannst die eine Maske erstellen mit zwei Feldern. In das eine schreibst du deinem Mailtext und das andere enthält einen Bezeichner. Dieser Bezeichner muss, wenn du mehrere Mailtexte haben willst eindeutig sein. Als weiteres erstellst du dir eine Ansicht, die in der ersten Spalte den Bezeichner (sortiert) anzeigt.

Dann kannst du mit @DbLookup... auf das Dokument zugreifen.


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

Offline Patrick1200

  • Frischling
  • *
  • Beiträge: 17
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #3 am: 05.01.11 - 11:02:14 »
So wirklichweiter hilft mir die Antwort leider nicht :(

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #4 am: 05.01.11 - 11:10:19 »
Wo kommst du denn nicht weiter?

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

Offline Patrick1200

  • Frischling
  • *
  • Beiträge: 17
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #5 am: 05.01.11 - 11:59:39 »
Wenn ich es richtig verstehe kann ich so den Body der Mail mit einem Feld aus einer anderen Maske füllen. Wie kann ich aber in diesem Feld einen Text eingeben, der sich teilweise eben aus anderen Feldern zusammensetzt?

Z.B. eine personalisierte Anrede.

Vielleicht wirds deutlicher wenn ich nochmal schildere was ich genau brauche. Warscheinlich gibt es eine viel elegantere Lösung.

Ich habe Anmeldungen zu Fortbildungen. Der Antragsteller füllt eine Maske aus und sendet die an den für Fortbildungen zuständigen Sachbearbeiter. Wenn dieser die Maske nun öffnet soll er einen Button zur Verfügung haben der eine Mail erzeugt.
Das klappt auch alles. Nur den Body der Mail bekomme ich nicht so hin, dass dann da sowas in der Art steht:

Sehr geehrter Herr "Antragsteller",

Sie haben sich für die Fortbildung am "Datum" erfolgreich angemeldet.


Die in "" geschriebenen Angaben sollen jeweils aus der Maske stammen, da die Felder ja bereits ausgefüllt existieren. Der Sachbearbeiter für Fortbildungen müsste jetzt nur noch gucken, ob die Angaben stimmen und die Mail senden.
Ich hoffe ich hab das jetzt so formuliert, dass verständlich ist was ich brauche.

Grüße

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #6 am: 05.01.11 - 12:09:06 »
Eine Möglichkeit wäre, eine Maske zu bauen, die den Body der Mail darstellt. In die Maske fügst Du dann die Felder ein, die z.B. die Anrede darstellen. Temporär erzeugst Du dann ein Dokument mit der Maske, füllst die Felder, öffnest das Dokument im Lesemodus, markierst alles und kopierst es in die Zwischenablage. Dann schließt Du das temporäre Dokument und kopierst die Zwischenablage in das Bodyfeld der Mail. Mit Formelsprache wirst Du das aber vermutlich nicht sauber hinbekommen, da solltest Du zu Lotus Script greifen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #7 am: 05.01.11 - 12:28:59 »
Ich verstehe das Problem jetzt nicht so ganz - Du kannst Dir doch vor dem Compose den Bodytext zusammenbauen:
FM_MailInhalt := "Sehr geehrter Herr " + Antragsteller + @NewLine + @NewLine +
Sie haben sich erfolgreich für die Fortbildung am " + @Text (Datum" + " angemeldet. Bla bla ..."

Dann das Compose mit abschliessendem
@Command([EditGotoField];"Body")
@Command([EditInsertText];FM_Mailinhalt);

HTH,
Bernhard

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #8 am: 05.01.11 - 12:37:54 »
Hallo Bernhard,

so geht es natürlich viel besser. Ich hatte an formatierte Mails gedacht (Schriftarten, Tabellen, Grafiken usw.), aber im Ursprungspost wird ja auch nur einfacher Text gesetzt.

Das Ganze ließe sich noch verallgemeinern, wenn man Vorlagentexte mit Platzhaltern definiert, wie z.B.

[Anrede] [Name],

Sie haben sich zum [Datum] angemeldet ...

Diese Texte werden dann mit @ReplaceSubstring vor dem Einfügen individualisiert.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #9 am: 05.01.11 - 14:23:20 »
Ich verstehe das Problem jetzt nicht so ganz - Du kannst Dir doch vor dem Compose den Bodytext zusammenbauen:
FM_MailInhalt := "Sehr geehrter Herr " + Antragsteller + @NewLine + @NewLine +
Sie haben sich erfolgreich für die Fortbildung am " + @Text (Datum" + " angemeldet. Bla bla ..."

Dann das Compose mit abschliessendem
@Command([EditGotoField];"Body")
@Command([EditInsertText];FM_Mailinhalt);

HTH,
Bernhard

Das ist natürlich die einfachste Art, aber ich habe das so verstanden, dass der Textr leicht zu ändern sein sollte, ohne groß in die Programmierung engreifen zu müssen.

Dann ist es besser den Mailtext als Vorlage in eigenen Dokumenten abzulegen.

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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #10 am: 05.01.11 - 14:27:33 »
Dann ist es besser den Mailtext als Vorlage in eigenen Dokumenten abzulegen.
Genau, und diese dann mit eindeutigen Textvariablen/Platzhaltern, die mit Suchen/Ersetzen ausgetauscht werden können

Offline Patrick1200

  • Frischling
  • *
  • Beiträge: 17
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #11 am: 05.01.11 - 15:12:43 »
Zunächst einmal möchte ich mich für die schnellen und hilfreichen Antworten bedanken.

Die Lösung von Bernhard funktionert. So kann ich den Text natürlich nicht Formatieren und für Änderungen muss ich in den Designer, aber damit kann ich erstmal arbeiten.

Die Lösung von Peter von 12:09Uhr hört sich auch sehr gut, warscheinlich meinte Axel sogar schon das gleiche. Aber um mich durch Lotus Script zu kämpfen brauch ich mehr Zeit. Werd das die Tage mal angehen :)

Offline Kadlec

  • Senior Mitglied
  • ****
  • Beiträge: 489
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #12 am: 05.01.11 - 15:29:08 »
Da brauchst Du kein Script für.
Ich mach das ähnlich.
In einem Keydokument (Key = mail) schreibst Du in das entsprechende Value Feld Deinen Text.
Dort kannst Du dann z.B. die Tilde ~ für die Anrede einsetzen.
Dann in den Code mit @DBLookup den Text holen und die Tilde entsprechend mit @ReplaceSubstring
ersetzen.
Formatierungen wie z.B zwei Zeilenumbrüche gehen damit auch wunderbar einfach an die Stelle einen anderen Platzhalter wie ## und mit @ReplaceSubstring diese ersetzen.

Boris

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #13 am: 05.01.11 - 16:41:24 »
Die Lösung von Peter von 12:09Uhr hört sich auch sehr gut, warscheinlich meinte Axel sogar schon das gleiche. Aber um mich durch Lotus Script zu kämpfen brauch ich mehr Zeit. Werd das die Tage mal angehen :)

Dazu brauchst du kein Script. Das geht alles mit der Formelsprache.

Als erstes baust du die eine Maske mit zwei Feldern (Typ: Text)
Name 1.Feld: Vorlage -> enthält den Namen der Vorlage -> muss eindeutig sein
Name 2.Feld: Mailtext -> enthält den Text für den Mail-Body, incl. der Platzhalter für Datum etc.

Dann baust du dir für diese Dokumente eine Ansicht. Die erste Spalte enthält das Feld Vorlage (1.Feld). Diese Spalte muss zwingend sortiert sein.

In deinem Code zur Erstellung des Mails greifts du über:

mailtext := @DbLookup( "" : "NoCache" ; "" ; "NameDerAnsichtMitDenVorlagen" ; "NameDerVorlage" ; "Mailtext")

auf das entsprechende Vorlagendokument zu. In der Variablen mailtext steht dann dein Text für das Mail. Damit kannst du dann weiterarbeiten, z.B. nach Peter's Vorschlag mit der Ersetzung der Platzhalten mit den entsprechenden Werte.

Ich hoffe damit ist es etwas klarer geworden wie ich das Ganze gemeint hatte.

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

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #14 am: 05.01.11 - 16:49:58 »
12:09 Uhr ist der entscheidende Hinweis, da hatte ich noch eine ganz andere Möglichkeit beschrieben, die nicht so flexibel ist, dafür aber jede Formatierung wuppt. Da wird dann für jedes Formular eine eigene Maske benötigt.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Mail per Button mit Feldinhalten erstellen
« Antwort #15 am: 05.01.11 - 17:08:46 »
Warum braucht es dafür mehrere Masken, Peter? Eine Maske mit Bezeichnung (auf Eindeutigkeit prüfen!) und Body.
Diese Konfigurationsdokumente werden dann lustig gestaltet, Platzhalter kennzeichnen die später zu ersetzenden Textstellen (erlaubte Platzhalter vor dem Speichern des Konfigurations-Dokuments prüfen!).

Der Button erzeugt dann ein temporäres (persönliches) Dokument, im RT-Body werden mit SearchAndReplace die Platzhalter gemeuchelt und das Ergebnis entweder im Backend in ein neues Memo (Doc in Mail-DB) kopiert (und der Rest gefüllt), oder man öffnet das temporäre Dokument (dann sollte es ein persönliches ProfileDoc sein wegen Ordnung und Sauberkeit im Schlachthof) nach dem SearchAndReplace und kopiert den Body ins Clipboard.
Dann
- Fall reines Backend: Memo zwecks Bearbeitung im EditMode öffnen
- Fall ProfileDoc und Clipboard: Memo erzeugen und Clipboard ins Body-Feld pasten

Und das braucht natürlich LotusScript und ist beides mit @Functions so nicht machbar.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz