Seite 1 von 1

Stundenplan Schüler per EMail - Fehler

Verfasst: Donnerstag 23. Januar 2020, 16:38
von NielsWestphal
Hallo zusammen,

kann mir jemand sagen, warum beim Verschicken des Stundenplans per EMail in dem EMail-Text IMMER (für alle versendeten EMails) der Vorname des ersten Schülers in der Liste verwendet wird. Aber nur im Text, im Report selbst (also in der PDF) ist der Name jeweils korrekt. Auch alles andere funktioniert. Wir haben einen Massenversand seit der Umstellung der EMail Funktionalität im November nicht durchgeführt, sondern nur einzelne Pläne als Test verschickt, deshalb bemerken wir das Problem erst jetzt.

Hier der eingebaute Code:

Code: Alles auswählen

procedure ReportOnInitializeParameters(var aCancel: Boolean);

begin
Report.DeviceType:='PDF';
Report.EMailSettings.ReportFormat:='PDF';
Report.EMailSettings.Body.Clear;
Report.EMailSettings.Body.Add('Hallo '+Schueler['Vorname']+',');
Report.EMailSettings.Body.Add('');
Report.EMailSettings.Body.Add('als Anhang erhältst du hiermit deinen aktuellen Stundenplan. Bitte überprüfe den neuen Plan und melde Unstimmigkeiten per EMail direkt an deine Jahrgangsstufenleiter.');
Report.EMailSettings.Body.Add('');
Report.EMailSettings.Body.Add('mfg');
Report.EMailSettings.Body.Add('Deine Jahrgangsstufenleiter');
  
end;

Re: Stundenplan Schüler per EMail - Fehler

Verfasst: Donnerstag 23. Januar 2020, 18:19
von wschrewe
NielsWestphal hat geschrieben: Donnerstag 23. Januar 2020, 16:38kann mir jemand sagen, warum beim Verschicken des Stundenplans per EMail in dem EMail-Text IMMER (für alle versendeten EMails) der Vorname des ersten Schülers in der Liste verwendet wird.
Weil Sie den E-Mail-Body mit der Anrede genau einmal, nämlich beim Start des Reports (OnInitializeParameters) erzeugen. Wenn Sie den Text schülerindividuell haben wollen, müssen Sie die Anrede in OnGetBreakValue aktualisieren.

Code: Alles auswählen

procedure Group1OnGetBreakValue(var BreakValue: String);
begin
  Report.EMailSettings.Body[0]:='Hallo '+Schueler['Vorname']+',';
  // Body ist eine Stringliste. 
end;
Damit funktioniert bei mir der Versand einwandfrei.

Re: Stundenplan Schüler per EMail - Fehler

Verfasst: Donnerstag 23. Januar 2020, 18:23
von NielsWestphal
Das macht Sinn. Herzlichen Dank!