03 - Expressies
Je kunt nu velden plaatsen en opmaken. Maar soms wil je meer dan alleen een veld tonen — je wilt tekst combineren, waarden berekenen of voorwaardelijk iets tonen. Daarvoor gebruik je expressies.
Een expressie is een formule die Stimulsoft uitrekent op het moment van genereren. Vergelijk het met een formule in een spreadsheet: je schrijft de berekening één keer, en bij elke generatie wordt het resultaat opnieuw berekend met de actuele data.
Statische tekst combineren met velden
De eenvoudigste expressie combineert vaste tekst met een veldverwijzing:
{Factuur.Klant.Naam}, {Factuur.Klant.Plaats} Resultaat na genereren: Slagerij van Dam, Utrecht
Let op: zodra je tekst en veldverwijzingen combineert, ziet Stimulsoft het hele tekstvak als tekst. Een TextFormat-instelling (zoals datumopmaak) werkt dan niet meer. Zoals je in de vorige module hebt geleerd, gebruik je in dat geval Format():
Factuurdatum: {Format("{0:dd MMMM yyyy}", Factuur.Datum)} Resultaat: Factuurdatum: 15 maart 2024
Zonder Format() zou je de ruwe waarde zien: Factuurdatum: 2024-03-15T00:00:00
Berekeningen in een expressie
Expressies kunnen ook rekenen. De syntax gebruikt accolades met een formule:
{Factuur.Regels.Aantal * Factuur.Regels.Prijs} Dit berekent per factuurregel het regeltotaal. In een databand levert dit per herhaling een ander resultaat op:
| Rij | Aantal | Prijs | Expressie-resultaat |
|---|---|---|---|
| 1 | 25 | 4.50 | 112.50 |
| 2 | 10 | 7.80 | 78.00 |
Ingebouwde functies
Stimulsoft biedt ingebouwde functies die je in expressies kunt gebruiken:
| Functie | Wat het doet | Voorbeeld |
|---|---|---|
ToString() | Zet een waarde om naar tekst | {ToString(Factuur.FactuurNummer)} |
Format() | Past een opmaakpatroon toe | {Format("{0:dd-MM-yyyy}", Factuur.Datum)} |
IIF() | Geeft een waarde op basis van een voorwaarde | {IIF(Factuur.Regels.Aantal > 100, "Bulk", "Standaard")} |
De functie IIF() is bijzonder nuttig: het is een als-dan-anders in één regel. De syntax is:
{IIF(voorwaarde, waarde-als-waar, waarde-als-onwaar)} Meer geavanceerde functies en berekeningen (totalen, BTW, kortingen) komen aan bod in sessie 5.
Expressie-editor
Voor langere expressies biedt Stimulsoft een expressie-editor:
- Dubbelklik op het tekstvak
- Klik op het pictogram rechts van het tekstveld (of druk op de knop Expressie)
- De expressie-editor opent met syntax-highlighting en een lijst van beschikbare velden en functies
De editor helpt je om complexe expressies te schrijven zonder typefouten.
Samenvatting
- Een expressie is een formule die Stimulsoft uitrekent bij het genereren
- Combineer statische tekst met veldverwijzingen in één tekstvak
- Gebruik rekenkundige operatoren (
*,+,-,/) voor berekeningen - Gebruik IIF() voor voorwaardelijke waarden
- De expressie-editor helpt bij complexe expressies