Ga naar hoofdinhoud

Berekeningen & constanten

De sjabloonengine biedt ingebouwde constanten en functies voor datumverwerking en rekenkunde — geen aangepaste databinding vereist.

De huidige datum (now)

@now is een ingebouwde constante die wordt opgelost naar de huidige datum en tijd van de server, geformatteerd als yyyy-MM-dd HH:mm:ss. Je kunt deze verschuiven met een hoeveelheid en eenheid, en er doorheen pipen via dateFormat voor weergave.

Parameters

argumenttypebeschrijving
amountnumberHoeveelheid om te verschuiven (positief of negatief)
qualifierstringEenheid: years/y, months/mm, days/d, hours/h, minutes/m, seconds/s, milliseconds/ms

Voorbeeld — aangenomen dat de huidige datum/tijd 2025-07-22 08:00:00 is

{{ @now }}                          -> '2025-07-22 08:00:00'
{{ @now(-2, hours) }} -> '2025-07-22 06:00:00'
{{ @now(-30, minutes) }} -> '2025-07-22 07:30:00'
{{ @now | dateFormat:'dd-MM-yyyy' }} -> '22-07-2025'

Handig voor het stempelen van de documentgeneratie-tijd op facturen en meldingen.


Datumverschil

Berekent het verschil tussen twee datums. Gaat ervan uit dat date1 voor date2 valt; geeft anders een negatief getal terug.

dateDiff date1 date2 operator fractionalResult
argumenttypebeschrijving
date1stringStartdatum/-tijd
date2stringEinddatum/-tijd
operatorstringEenheid: year, month, week, day, hour, minute, second
fractionalResultbooleanOptioneel: 'true' voor een decimaal resultaat

Voorbeeld — havensverblijf van aankomst tot vertrek

{{dateDiff '2025-07-20 06:00:00' '2025-07-22 18:30:00' 'days' }}         => 2
{{dateDiff '2025-07-20 06:00:00' '2025-07-22 18:30:00' 'days' 'true' }} => 2.52083333...
{{dateDiff '2025-07-20 06:00:00' '2025-07-22 18:30:00' 'hours' }} => 60

Rekenkunde

Voert een eenvoudige rekenkundige bewerking uit op twee waarden.

math number operator value
argumenttypebeschrijving
numberstringHet basisgetal
operatorstringEen van: +, -, *, /
valuestringDe tweede operand

Voorbeeld

{{math 75000 '*' 0.05 }}   => 3750    (5% havenrechten op 75.000 t lading)
{{math 1250 '/' 4 }} => 312.5 (factuur verdeeld over 4 klanten)
{{math 48 '+' 12 }} => 60 (totaal transit-uren)

Rekenkunde over een lijst (mathArray)

Voert een geaggregeerde berekening (som, gemiddelde, minimum, maximum, aantal of somproduct) uit over een lijst.

mathArray value method property
argumenttypebeschrijving
valuearrayDe lijst om samen te vatten
methodstringEen van: average, count, max, min, sum, sumproduct
propertystringHet veld om van elk item te lezen (weglaten voor eenvoudige waardelijsten)

Voorbeeld

Considering the following data:
{
shipments: [
{ "vessel": "Ocean Star", "customer": "Blue Tide Shipping", "tonnage": 52000 },
{ "vessel": "Blue Marlin", "customer": "Maas Bulk", "tonnage": 38000 },
{ "vessel": "Nordic Wind", "customer": "Delta Logistics", "tonnage": 71000 },
{ "vessel": "Cape Horn", "customer": "Maas Bulk", "tonnage": 45000 }
],
portCalls: [4, 7, 3, 6]
}

{{mathArray shipments 'count' }} => 4
{{mathArray shipments 'sum' 'tonnage' }} => 206000
{{mathArray shipments 'average' 'tonnage' }} => 51500
{{mathArray shipments 'min' 'tonnage' }} => 38000
{{mathArray shipments 'max' 'tonnage' }} => 71000
{{mathArray portCalls 'sum' }} => 20