Eigene Prozess E-Mail generieren
mail kann in Prozessen automatisch E-Mails verschicken. Die Liste an Prozessen ist vordefiniert, kann aber durch durch eine Anpassung wie hier exemplarisch gezeigt erweitert werden. Hier sind drei Anpassungen notwendig.
Den Prozesscodes definieren
Zuerst muss der Prozesscode ergänzt werden.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MAIL_Mail Functions", 'AddCustomProcessCodes', '', true, true)]
local procedure AddCustomProcessCodes(var NameValueBuffer: Record "Name/Value Buffer")
begin
NameValueBuffer.AddNewEntry('my custom process', 'CUSTOM1');
end;
Parameter:
- NameValueBuffer: Dieser temporäre Datensatz wird genutzt um die Prozesscodes und eine kurze Beschreibung zu speichern (Standard Funktionalität)
Die Datenbasis des Prozesses definieren
Wenn Sie einen eigenen Prozess definieren sollten Sie mail als zusätzliche Informationen mitgeben, welche Datenbasis dieser Prozess hat.Dieses wird zum Beispiel genutzt um im Texteditor die passenden Platzhalter bereitstellen zu können.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MAIL_Mail Functions", 'CustomProcess_AdditionalInfo', '', true, true)]
local procedure CustomProcess_AdditionalInfo(ProcessCode: Code[20]; var BaseTableID: Integer; var SubTableID: Integer)
begin
case ProcessCode of
'CUSTOM1':
BaseTableID:= Database::"MyTable";
end;
end;
Parameter:
- ProcessCode: Der Code des aktuellen Prozesses
- BaseTableID: Die Tabellennummer der Datensatzes
- SubTableID: Eine optionale zusätzliche Untertabelle
Die Prozess E-Mail auslösen
Um an einer vorbereiteten Stelle im Prozess den E-Mail Versand auszulösen wird ein Code ähnlich wie dieser benötigt.
local procedure StartMyProcessMail()
var
MailMgt: Codeunit "MAIL_Mail Functions";
begin
MailMgt.SendExternalProcessMail(MyDocument, 'CUSTOM1', 'ENU');
end;
Der Datensatz wird an mail mit der Information des aktuellen Sprachcodes und des Prozesses, der aktuell im Einsatz ist.