06 - Oefening Systeemvariabelen
Je hebt geleerd welke systeemvariabelen beschikbaar zijn. Nu ga je ze zelf toepassen.
Rapport openen
- Open een gekopieerd rapport in de designer
Paginanummering toevoegen
- Klik op de PageFooter op het canvas (als die er niet is, voeg hem toe via Invoegen)
- Voeg een tekstvak toe in de PageFooter
- Typ:
Pagina {PageNumber} van {TotalPageCount} - Lijn het tekstvak rechts uit
Afdrukdatum toevoegen
- Voeg een tekstvak toe in de ReportTitle of de PageHeader
- Typ:
Afgedrukt op: {Format("{0:dd-MM-yyyy HH:mm}", Today)}
Regelnummers toevoegen
- Voeg een tekstvak toe aan het begin van de DataBand
- Typ:
{Line}. - Verkein het tekstvak zodat het alleen het nummer toont en schuif de andere velden naar rechts
Controleren
- Schakel naar Afdrukvoorbeeld
- Controleer:
- Staat het paginanummer op elke pagina?
- Klopt het totaal aantal pagina’s?
- Is de afdrukdatum van vandaag?
- Beginnen de regelnummers bij 1 en lopen ze door?
Hands-on — Today op een label
In sessie 3 zag je dat sticker 32 (een verkooporderregistratie-label) gekopieerd was van sticker 31 (een batchlabel). De layout gebruikt Today voor de inslagdatum en Today.AddDays(365) voor de T.H.T. In deze oefening onderzoek je het probleem en pas je de layout aan.
- Open ReflexBlue en navigeer naar Labellayouts
- Open de opmaak van sticker 32 (het verkooporderregistratie-label)
- Zoek in het ontwerp het tekstvak dat de datums bevat
- Bekijk de expressies — wordt
Todaygebruikt of een veld uit het business object? - Open het Woordenboek en zoek welke datumvelden beschikbaar zijn als alternatief voor
Today
De vragen
- Welk probleem ontstaat er als iemand sticker 32 drie maanden later opnieuw bekijkt vanuit de printhistorie?
- Welk veld uit het woordenboek zou je gebruiken in plaats van
Today? - Pas sticker 32 aan zodat het geen gebruik meer maakt van
Today— gebruik de velden die je in het woordenboek hebt gevonden.
Stop hier. Bedenk je antwoord voordat je verder scrolt.
Antwoord
Details
Het probleem: als het label vanuit de historie wordt bekeken, wordt Today opnieuw bepaald. De inslagdatum toont dan de datum van vandaag in plaats van de oorspronkelijke afdrukdatum, en de T.H.T. wordt 365 dagen vanaf nu — niet 365 dagen vanaf de oorspronkelijke inslag.
De oplossing: vervang Today door een datumveld uit het business object. Bijvoorbeeld:
- Inslagdatum:
{Format("{0:dd-MM-yyyy}", Registration.Created)} - T.H.T.:
{Format("{0:dd-MM-yyyy}", Registration.BestBeforeDate)}
Het business object bevat altijd de correcte vaste datums. Die veranderen niet als het label opnieuw wordt gegenereerd vanuit de historie.
Vuistregel: gebruik Today nooit voor datums die een logistieke of juridische betekenis hebben op het document. Gebruik in plaats daarvan een datumveld uit het business object.
Klaar?
Je hebt nu paginanummering, een afdrukdatum en regelnummers toegevoegd. In de volgende slide leer je over subrapporten.
Meer in deze rubriek
- 01 - Geavanceerde Expressies
- 02 - Oefening Geavanceerde Expressies
- 03 - Berekende Velden
- 04 - Oefening Berekeningen
- 05 - Systeemvariabelen
- 06 - Oefening Systeemvariabelen
- 07 - Subrapporten
- 08 - Oefening Subrapporten
- 09 - Afdrukken en Exporteren
- 10 - Oefening Exporteren
- 11 - Factuur Bouwen
- 12 - Oefening Factuur