Matrix.Tools.Service

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.

Matrix.Tools.Service.Settings Algemeen

Matrix.Tools.Service.Settings - E-mail notificatie

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:

Beheer|Ntificatie

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:
Notificatie Schema

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 onderwerp

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@:
SQL als tabel in E-mail

De SQL wordt alleen in de e-mail inhoud ingevoegd als in de instellingen voor Matrix.Tools.Service dit is ingeschakeld:
Matrix.Tools.Service Email Inhoud

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