Via de service Matrix.Tools.Service is het mogelijk om automatisch e-mails te laten versturen gebaseerd op gegevens in de MatrixProject database.
Met de e-mail notificatie is het mogelijk om:
- een schema aan te maken waarop gecontroleerd dient te worden of er een e-mail verstuurd dient te worden.
Bijvoorbeeld: elke maandag van de week. - via SQL gegevens te verzamelen en de gegevens van de SQL in de e-mail te voegen als een tabel
- één of meerder rapporten bij de e-mail te voegen
- de e-mail naar een verzendlijst (mailing) of naar individuele personen versturen
Voorbeeld e-mail te ontvangen Inkooporders
Een voorbeeld voor de praktijk is bijvoorbeeld om elke maandag een e-mail te laten versturen naar de productieleiders met de inkooporders die de komende week geleverd zullen worden. Bij de e-mail kan een rapport gevoegd worden met daarin de details van deze inkooporders.
Hieronder wordt stap voor stap uitgelegd hoe het bovenstaande aangemaakt kan worden.
Het instellen van de e-mail notificatie kan onderverdeeld worden in drie stappen:
- Inrichten Matrix.Tools.Service
- Aanmaken E-mail notificatie in MatrixProject
- Eventueel toevoegen van een rapport aan de E-mail
Inrichten Matrix.Tools.Service
De e-mails worden verstuurd door de Matrix.Tools.Service.
Deze service dient eerst ingericht te zijn en te draaien om e-mail te kunnen versturen.
Het inrichten van de service kan heel eenvoudig via de applicatie MatrixProject Service Instellingen die geïnstalleerd wordt met de MatrixProject Services Setup.
Voor het gebruik van de E-mail notificatie Service dient u te beschikken over de module "Projectbeheer volledig" (Technische module: 460).
Aanmaken E-mail notificatie in MatrixProject
Door een nieuwe notificatie aan te maken in Beheer in MatrixProject kan de e-mail voor het versturen van de ontvangen Inkooporders ingericht worden:
Omschrijving
De omschrijving is ter herkenning van de notificatie en kan eventueel ingevoegd worden in de e-mail.
De omschrijving wordt in het e-mail template ingevoegd op de plek van de samenvoegtekst @NotificationDescription@:
<tr> <td style="padding: 0px 10px; font-family: Calibri; font-size: 11pt; color: rgb(51, 51, 51); text-align: left; vertical-align: top; line-height: 20px;"> <p> @Salutation@, </p> <p> Bijgaand ontvangt u een notificatie e-mail van MatrixProject.<br> Notificatie naam: @NotificationDescription@ <p>@NotificationBody@</p> <p>voor gedetaileerde informatie zie de bijgevoegde documenten.</p> </td> </tr>
Schema
Via Schema kan een schema ingesteld worden aan de hand waarvan de e-mail verstuurd dient te worden.
Bijvoorbeeld elke Week op Maandag om 8:00h:
E-mail Onderwerp
Het onderwerp kan gebruikt worden voor het instellen van het onderwerp van de e-mail.
Het e-mail onderwerp is de eerste regel in het e-mail template en kan ingevoegd door samenvoegtekst @NotificationSubject@:
@NotificationSubject@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Matrix Software notificatie @NotificationDescription@</title> </head> <body style="background-color: rgb(255, 255, 255); text-align: center;" leftmargin=0 marginwidth=0 topmargin=0 marginheight=0>
E-mail Inhoud
De E-mail inhoud kan gebruikt worden voor het instellen van de inhoud (body) van de e-mail.
De waarde voor E-mail inhoud kan ingevoegd door samenvoegtekst @NotificationBody@:
<tr> <td style="padding: 0px 10px; font-family: Calibri; font-size: 11pt; color: rgb(51, 51, 51); text-align: left; vertical-align: top; line-height: 20px;"> <p> @Salutation@, </p> <p> Bijgaand ontvangt u een notificatie e-mail van MatrixProject.<br> Notificatie naam: @NotificationDescription@ <p>@NotificationBody@</p> <p>voor gedetaileerde informatie zie de bijgevoegde documenten.</p> </td> </tr>
Aan de @NotificationBody@ worden ook de resultaten van de SQl uit de volgende paragraaf toegevoegd.
Select SQL
In het veld Select SQL wordt een SQL statement opgegeven worden waarmee gegevens opgehaald worden di in de e-mail ingevoegd worden.
SELECT CONVERT(VARCHAR(max), ISNULL(PURCHASE.PurchaseOrder.ConfirmedDeliveryDate, PURCHASE.PurchaseOrder.DeliveryDate), 103) AS Leverdatum, PURCHASE.PurchaseOrder.OrderNumber AS Ordernr, PURCHASE.PurchaseOrder.Description AS Omschrijving, CRM.Organization.Name AS Leverancier FROM PURCHASE.PurchaseOrder LEFT OUTER JOIN CRM.Vendor ON CRM.Vendor.Oid = PURCHASE.PurchaseOrder.fkVendor LEFT OUTER JOIN CRM.Organization ON CRM.Organization.Oid = CRM.Vendor.fkOrganization WHERE ISNULL(PURCHASE.PurchaseOrder.ConfirmedDeliveryDate, PURCHASE.PurchaseOrder.DeliveryDate) IS NOT NULL AND ISNULL(PURCHASE.PurchaseOrder.ConfirmedDeliveryDate, PURCHASE.PurchaseOrder.DeliveryDate) >= GETDATE() ORDER BY Leverdatum, PURCHASE.PurchaseOrder.OrderNumber
Dit SQL statement geeft Inkooporders (PURCHASE.PurchaseOrder) terug waarbij de Bevestigde leverdatum (PURCHASE.PurchaseOrder.ConfirmedDeliveryDate) of de Leverdatum (PURCHASE.PurchaseOrder.DeliveryDate) in de toekomst ligt.
Leverdatum Ordernr Omschrijving Leverancier 13/07/2020 P2019_1042 P2018_1014-001 - Tochtprofielen en kaders Matrix SH 20/07/2020 P2019_1043 P2018_1014-001 - Glaslatten Matrix Software BV
De resultaten van de SQL kunnen als tabel in de e-mail gevoegd worden. De tabel wordt automatisch toegevoegd aan het einde van de samenvoegtekst @NotificationBody@:
De SQL wordt alleen in de e-mail inhoud ingevoegd als in de instellingen voor Matrix.Tools.Service dit is ingeschakeld:
De waarde voor Select SQL is verplicht. Eventueel kan er een lege SQL opgegeven worden (voer de tekst "--" in) indien er geen gegevens opgehaald dienen te worden.
Toevoegen van een rapport aan de E-mail