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