Eine eigene E-Mail Aktion erzeugen
mail ist in allen gängigen Prozessen im Microsoft Dynamics 365 Business Central Standard enthalten. Sie können aber auch komplett individuelle Belege um eine E-Mail Funktionalität erweitern, oder zusätzliche E-Mail Funktionen an bestehende Belege ergänzen. Hierzu sind die folgenden Schritte notwendig.
Eine E-Mail Aktion ergänzen
Der erste Schritt ist, in einer Listen- und/oder Kartenansicht eine Aktion hinzufügen, damit der Anwender E-Mails verschicken können.
action(Email)
{
Caption = 'Email';
Image = Email;
ApplicationArea = All;
trigger OnAction()
var
MailMgt: Codeunit "MAIL_Mail Functions";
VarRec: Variant;
begin
VarRec := Rec;
CurrPage.SetSelectionFilter(VarRec);
MailMgt.SendDocumentMail(VarRec, 0);
end;
}
Parameter:
- VarRec: In dieser Variable werden die aktuell markierten Datensätze gespeichert.
- ReportID: Hier geben Sie die Report Nummer an. Die mit der E-Mail verschickt werden soll.
Tip
Dieser Code ist universell in jeder Listen, oder Kartenansicht nutzbar. Es muss nicht zwischen einem Normal- oder Massenversand unterschieden werden.
Einen Debitoren, Kreditoren, Kontakt oder eine Zuständigkeitseinheit ermitteln
mail erkennt in der Regel automatisch, ob und welcher Debitor / Kreditor usw. im jeweiligen Beleg vorhanden sind. Diese Information wird dann genutzt um den passenden Empfänger oder eine individuelle Einrichtung für den spezifischen Versand zu ermitteln.
Sollte mail dieses nicht korrekt durchführen können, oder Sie müssen einen abweichenden Datensatz nutzen können Sie dieses wie folgt tun.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MAIL_Mail Functions", 'GetCustomCustVendCont', '', true, true)]
local procedure GetCustomCustVendCont(RecRef: RecordRef; var ContNo: Code[20]; var CustNo: Code[20]; var VendNo: Code[20]; var RespCenterNo: Code[20]; var CustomRoutineUsed: Boolean)
begin
if RecRef.Number <> Database::"MyCustomRecord" then
exit;
CustNo := MyTable.CustomerNo;
CustomRoutineUsed := true;
end;
Parameter:
- RecRef: In dieser Variable ist der aktuell zu verschickende Datensatz gespeichert
- ContNo: Zu ermittelnde Kontaktnummer.
- CustNo: Zu ermittelnde Debitorennummer.
- VendNo: Zu ermittelnde Kreditorennummer.
- RespCenterNo: Zu ermittelnde Zuständigkeitseinheit.
- CustomRoutineUsed: Wird auf true gesetzt, wenn die Stand-Logik nicht genutzt werden soll.
Tip
Sie müssen nur die Nummern ermitteln, die Sie wirklich benötigen.