Verstuurde e-mails
NOTE
Op de hoofdpagina waar de part wordt geplaatst dient deze regel code geplaatst te worden in de OnAfterGetCurrRecord-trigger:
CurrPage.CFLSentMails.page.CFLSetRecord(rec.RecordId);
Voorbeeld
Hieronder een voorbeeld waarbij de factbox wordt toegevoerd op de klantenlijst.
pageextension 50000 MyExtension extends "Customer List"
{
layout
{
addfirst(FactBoxes)
{
part(CFLSentMails; "CFL Sent Mails Factbox")
{
ApplicationArea = All;
Caption = 'Sent mails';
}
}
}
trigger OnAfterGetCurrRecord()
var
begin
CurrPage.CFLSentMails.page.CFLSetRecord(rec.RecordId);
end;
}
Extra informatie
Om dit mogelijk te maken is een eigen tabel CFL Sent Mail gecreƫerd. Deze tabel is een kopie van de standaard tabel Sent Mail.
Dit is nodig omdat de meeste velden in de standaard-tabel afgeschermd zijn en niet kunnen gebruikt worden, zetten we de records uit de standaard-tabel via transferfields over naar onze tabel. In die tabel hebben we dan alle velden zitten en die kunnen we wel gebruiken.
De zelfde manier kan je ook gaan gebruiken om bvb op de Email editor pagina uitbreidingen te doen.
Hieronder voorbeeld voor het toevoegen van actieknop die toelaat om een bijlage toe te voegen aan de mail.
De pagina, de tabelvelden, de attachments zijn zowat allemaal afgeschermd in de standaard. Maar door het overzetten van de record naar de eigen tabel is het mogelijk om de Message id van de mail te verkrijgen.
Eens je die Message id hebt kan je met de codeunit Mail Message de mail ophalen en aanpassen via de functies in de codeunit.
pageextension 50000 "Email Editor Ext" extends "Email Editor"
{
layout
{
}
actions
{
addlast(Processing)
{
action(CFLTest)
{
ApplicationArea = All;
caption = 'Test Attachment';
trigger OnAction()
var
EmailMessage: codeunit "Email Message";
cflmailmessage: record "CFL Sent Email" temporary;
cflimagemt: codeunit "CFL Image Mgt";
begin
cflmailmessage.TransferFields(rec);
EmailMessage.Get(cflmailmessage."Message id");
EmailMessage.AddAttachment('test.pdf', 'application:pdf', cflimagemt.GetEmptyPDF());
CurrPage.Attachments.page.Update();
end;
}
}
}
}