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
| argument | type | beschrijving |
|---|---|---|
| amount | number | Hoeveelheid om te verschuiven (positief of negatief) |
| qualifier | string | Eenheid: 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
| argument | type | beschrijving |
|---|---|---|
| date1 | string | Startdatum/-tijd |
| date2 | string | Einddatum/-tijd |
| operator | string | Eenheid: year, month, week, day, hour, minute, second |
| fractionalResult | boolean | Optioneel: '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
| argument | type | beschrijving |
|---|---|---|
| number | string | Het basisgetal |
| operator | string | Een van: +, -, *, / |
| value | string | De 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
| argument | type | beschrijving |
|---|---|---|
| value | array | De lijst om samen te vatten |
| method | string | Een van: average, count, max, min, sum, sumproduct |
| property | string | Het 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