Table of Contents

E-Mails aus Vorlagen

Dieser E-Mail Versand wird empfohlen, wenn

  • der Anwender vor dem Versand die Möglichkeit haben soll zwischen verschiedenen, eingerichteten E-Mail Body Layouts selbst auszuwählen.

  • der zu versendende Datensatz nicht als PDF-Datei an die E-Mail angehängt werden soll.

  • vom Standard abweichende Empfänger pro zu versendender Belegart einrichtbar sein sollen.

  • dauerhaft Dateien (wie z. B. AGBs) pro Belegart an die zu versendende E-Mail angehängt werden sollen.

Voraussetzung ist, dass man über den zu versendenden Datensatz einen Bezug zu einem Debitor oder Kreditor herstellen kann.

Umsetzung

Soll im Projekt eine kundenindividuelle E-Mail auf Basis einer Vorlagen-Belegart für Debitoren oder Kreditoren erstellt werden, müssen folgende Erweiterungen erfolgen:

Prüfen Sie, ob es für die zu versendende Tabelle eine Beleg-Belegart gibt (für alle regulären Verkaufs-, Einkaufs- und Servicebelege ist das der Fall), auf deren Basis eine Vorlagen-Belegart mit diversen Layouts angelegt werden soll.

(Sollte es keine passende Beleg-Belegart geben bitte an die Anleitung für das Erstellen einer Beleg-Belegart im Rahmen der "Beleg E-Mails" halten.)

Neue Vorlagen-Belegart einrichten für die Tabelle, auf deren Basis eine E-Mail versendet werden soll. Hinterlegung der zugehörigen Beleg-Belegart (als Hauptbelegart). Die übrigen Daten sollten aus der übergeordneten Beleg-Belegart automatisch gezogen werden. Ansonsten bitte entsprechend vervollständigen.

Neue Funktionen in der Tabelle, für die der Versand erfolgen soll (falls noch nicht vorhanden): Für den E-Mail-Versand einer Vorlage: PTESendEmailFromTemplate

  • Aufruf der Codeunit "GOB CC SendEmailFromTemplate" mit Funktion SendEmail
procedure PTESendEmailFromTemplate
(ReportSelectionUsage: Enum "Report Selection Usage")
    var
        CCSendEmailFromTemplate: Codeunit "GOB CC SendEmailFromTemplate";
    begin
        CCSendEmailFromTemplate.SendEmail(Rec, ReportSelectionUsage);
    end;
  • Für den Aufruf der Belegempfänger (falls noch nicht vorhanden): PTECallDocumentRecipients

    Aufruf der Codeunit CCDocRecipientsMgt mit Funktion CallCCDocumentRecipients

procedure PTECallDocumentRecipients()
var
	CCDocRecipientsMgt: Codeunit "GOB CC Doc. Recipients Mgt.";
begin
	CCDocRecipientsMgt.CallCCDocumentRecipients(Rec);
end;
  • Löschen der (gebuchten) Empfänger OnAfterDelete
trigger OnAfterDelete()
var
	CCDocRecipientsMgt: Codeunit "GOB CC Doc. Recipients Mgt.";
begin
	CCDocRecipientsMgt.DeleteDocumentRecipients(Rec);
end;
  • Erweiterung der Karte und Liste für die Tabelle deren Daten versendet werden soll, um die Action "E-Mail aus Vorlage" mit der Verwendung, die zur Beleg-Belegart gehört:
action("PTE Email from Template")
{
    Caption = 'Email from Template',
    Comment = 'de-DE=E-Mail aus Vorlage';
    ApplicationArea = All;
    Image = "Invoicing-Mail";
    ToolTip = 'Creates an email from a template.',
    Comment = 'de-DE=Erstellt eine E-Mail anhand einer Vorlage.';

    trigger OnAction();
    begin
        Rec.PTESendEmailFromTemplate(<Verwendung der Beleg-Belegart>);
    end;
}
  • Erweiterung der Karte und Liste für die Tabelle deren Daten versendet werden soll (falls noch nicht vorhanden), um die Action "Belegempfänger"
action("PTE Document Recipients")
{
    Caption = 'Document Recipients',
    Comment = 'de-DE=Belegempfänger';
    ToolTip = 'Set up the recipients of this document and possible follow-on documents here.',
    Comment = 'de-DE=Richten Sie hier die Empfänger dieses Belegs und möglicher Folgebelege ein.';
    ApplicationArea = All;
    Image = MailSetup;
    trigger OnAction();
    begin
        Rec.PTECallDocumentRecipients();
    end;
}
  • Der Absender wird über das Szenario "E-Mail aus Vorlage" ermittelt. Sollte ein anderer Absender gewünscht sein, kann über die Codeunit "GOB CC Email Sender" mit dem Publisher OnBeforeSetEmailScenarioTemplate darauf Einfluss genommen werden. Sollte kein passendes E-Mail Szenario vorhanden sein, kann dieses wie in "Beleg E-Mails" beschrieben erweitert werden.

  • Das Layout für den E-Mail Body wird wie bei allen Vorlagen-Belegarten in den benutzerdefinierten Berichtslayouts eingerichtet, die über die Action "Layouts" in der Vorlagen-Belegart eingerichtet werden können. Der sprachenabhängige Betreff der E-Mail kann dort ebenfalls hinterlegt werden.

  • E-Mail Anhänge, die dauerhaft bei E-Mails der neuen Vorlagen-Belegart mit versendet werden sollen, können wie gewohnt über die Action "Anhänge" der neuen Vorlagen-Belegart hinterlegt werden. Eine programmtechnische Erweiterung ist bei dieser Nutzung nicht nötig.

  • Sollten für die neue Tabelle die Kopf- (und Zeilen-)anhänge aus dem BC Standard übernommen werden, werden diese automatisch beim E-Mail Versand als CC Anhang im E-Mail Dialog vorgeschlagen. Eine programmtechnische Erweiterung ist über die Adaption des BC Standards hinaus bei dieser Nutzung nicht nötig.

  • Sollten für die neue Tabelle die DMS-Anhänge aus unitop übernommen werden, werden diese automatisch beim E-Mail Versand als CC Anhang im E-Mail Dialog vorgeschlagen. Eine programmtechnische Erweiterung ist über die Adaption des unitop Standards hinaus bei dieser Nutzung nicht nötig.

Grafischer Überblick

Grafischer Überblick Action, Codeuinit, Requestpage

*Rot umrandet ist der Part der im Projekt programmiert werden muss.