Uitgangspunten

Om informatie uit de database op te kunnen halen maakt de document generator van EASE gebruik van functies. De functies hebben input nodig en geven op basis daarvan een output in de vorm van informatie van de database. Hierbij is het van belang dat je de technische tabelnaam en technische veldnaam kent van het veld waarin de informatie staat.

Een voorbeeld is een situatie waarin men een of meerdere alineateksten wil ophalen uit de database. We hanteren de volgende uitgangspunten:

Tabelnaam: “Document_alineas”
Veld 1 [string]: “Verwijzing”
Veld 2 [string (richtext)]: “Alineatekst”

Let op: onderstaande voorbeelden dienen altijd binnen de <body> tags van het document gebruikt te worden.

Eén veldwaarde ophalen uit de database

Om één veldwaarde uit de database op te halen, kun je gebruik maken van de “getAppRows” functie. In deze functie geef je onder andere de tabelnaam, de veldnaam en een zoekwaarde mee:

Het resultaat is een array, waarbij het “first” filter achteraan aangeeft dat de functie de eerste de beste hit met de zoekwaarde moet teruggeven en daarna moet stoppen. Om de array weer te geven gebruiken we de volgende functie:

Dit leidt tot onderstaande code, waarin de gegevens uit de uitgangspunten zijn ingevuld:

Kopieer snippet

Meerdere veldwaarden ophalen uit de database

Om meerdere veldwaarden uit de database op te halen, kun je gebruik maken van de “getAppRows” functie in combinatie met een for-loop. Net als in het vorige voorbeeld levert de “getAppRows” functie een array op, maar deze keer met meerdere waarden. De for-loop loopt door deze array heen en geeft op basis van de opgegeven veldnaam alle gevonden waarden weer:

Dit leidt tot onderstaande code, waarin de gegevens uit de uitgangspunten zijn ingevuld:

Kopieer snippet

Als de tabel “Document_alineas” meerdere regels bevat, zullen met bovenstaande code alle waarden in de opgegeven veldnamen worden getoond.

For-loop resultaten filteren

Het is mogelijk om de waarden die worden geselecteerd met de “getAppRows” functie te filteren. Dit kan handig zijn als je bijvoorbeeld acties uit een lange actielijst wilt laten zien van de afgelopen twee weken. LiquidJS heeft vele filtermogelijkheden, zie daarvoor de online documentatie van LiquidJS.

Het genoemde voorbeeld van het filteren van acties op basis van een datum-veld staat hieronder uitgewerkt:

Kopieer snippet

Voel je vrij om de functies te combineren met html en css om de informatie bijvoorbeeld in (opgemaakte) tabellen te tonen:

Kopieer snippet