KEPLIN Docs

Een rapport maken

Het ontwerp van een rapport — banden, papier en marges, gegevenssets, parameters, elementen en regels, en de uitvoer in PDF of Excel.

Een rapport is een document dat vanuit de gegevens van de app wordt afgedrukt: een lijst, een factuur, een maandafsluitingsoverzicht. Het komt eruit als PDF — gepagineerd, met koppen die zich herhalen en totalen aan het einde — of als Excel, en het kan met de hand worden gegenereerd, door een knop op een scherm, door een script, door een workflow, of door een planning die het per e-mail verstuurt.

Het model is dat van banden: een rapport is geen scherm dat naar beneden groeit, het is een reeks stroken die de motor herhaalt volgens de regel van elke strook — één keer, per pagina, per rij, per groep. Dat is wat de paginering mogelijk maakt.

De eenheid is de millimeter, overal. Het is de eenheid van het papier en zij overleeft de overgang van A4 naar Letter.

Op deze pagina ontwerpen we het rapport Oportunidades por conta van de app Klantenbeheer: de commerciële pipeline gegroepeerd per account, met de contacten van elke account, het totaal per account en een grafiek aan het einde.

Waar de rapporten leven

De rapporten staan in de minitab Gegevens van de boomstructuur van de app, onder de gegevensbronnen. Klikken op de naam opent het ontwerp in een tabblad.

De groep Rapporten in de minitab Gegevens
De groep Rapporten in de minitab Gegevens

Een app zonder rapporten toont "Geen rapporten — maak er een om het te ontwerpen.".

Een rapport maken

  1. Ga met de muis over de regel van de groep Rapporten en klik op Nieuw rapport.
  2. Typ de Naam — bijvoorbeeld Facturen van de maand.
  3. Klik op Aanmaken.

Het dialoogvenster Nieuw rapport
Het dialoogvenster Nieuw rapport

"Maakt een rapport in de hoofdmap. U kunt het daarna naar een map verplaatsen." Het rapport wordt geboren op A4 staand, met de vijf vaste banden en zonder gekoppelde gegevens, en het ontwerp opent meteen.

Het ontwerp

Het ontwerp van Oportunidades por conta
Het ontwerp van Oportunidades por conta

Het tabblad heeft drie kolommen en een balk bovenaan:

Zone Wat het is
Bovenste balk De naam, de identificatie van het rapport (rpt_…, wat de code gebruikt om het aan te roepen), de staat van het opslaan, ongedaan maken/opnieuw, de maten van het papier en de knoppen Excel en Voorbeeld.
Linkerkolom Het palet Elementen, de Gegevens, de Groeperingen, de Parameters en de Planningen.
Midden Het ontwerpvlak: een liniaal in millimeters en de banden, boven elkaar in de volgorde waarin ze op papier verschijnen.
Rechts De eigenschappen — van het rapport, van de geselecteerde band of van het geselecteerde element.

Zoals in de rest van het platform is er geen knop om op te slaan: het ontwerp slaat zichzelf op.

De banden

De banden vormen een vaste verzameling — u voegt niet naar believen stroken toe, omdat elke strook een eigen herhalingsregel heeft die de motor aan de naam herkent.

De geselecteerde band Detail op het ontwerpvlak
De geselecteerde band Detail op het ontwerpvlak

Band Wanneer die verschijnt
Koptekst van het rapport "Komt één enkele keer, aan het begin van de eerste pagina." Logo, titel, datum van uitgifte.
Koptekst van de pagina "Herhaalt zich boven aan elke pagina — logo, kolomtitels."
Detail "Komt één keer per gegevensrij. Deze band vult het rapport."
Voettekst van de pagina "Herhaalt zich onder aan elke pagina — paginanummer, datum."
Voettekst van het rapport "Komt één enkele keer, aan het einde — algemene totalen." Wordt uitgeschakeld geboren.

Daar komen, wanneer er groeperingen zijn, een koptekst en een voettekst per niveau bij — zie Grafieken en subrapporten.

Klikken op de titel van een band selecteert haar; het paneel rechts toont dan haar eigenschappen.

De eigenschappen van een band
De eigenschappen van een band

Eigenschap Wat die doet
Hoogte (mm) De hoogte van de strook. U kunt ook de scheidingslijn op het ontwerpvlak slepen.
Actief "Uitgeschakeld komt de band niet in het rapport en neemt hij geen ruimte in."
Regels van de band De band onderdrukken afhankelijk van de gegevens.

Over de regels: "de band onderdrukken afhankelijk van de gegevens. Onderdrukt komt hij er niet en neemt hij geen ruimte in — dat is wat het hebben van meerdere detailbanden vervangt". In plaats van drie detailstroken met verschillende voorwaarden: één strook en regels die haar verbergen wanneer zij niet van toepassing is.

Het papier

Met niets geselecteerd toont het paneel rechts de eigenschappen van het rapport en van de pagina:

De eigenschappen van het rapport en van de pagina
De eigenschappen van het rapport en van de pagina

Veld Opties
Naam / Beschrijving Identificatie, voor wie bouwt.
Formaat A4, A3, A5, Letter, Legal of Aangepast (breedte en hoogte in mm).
Oriëntatie Staand of Liggend.
Marges (mm) Boven, Onder, Links, Rechts.

"De ruimte tussen het papier en de inhoud. Wat aan bruikbare breedte overblijft, is die van het ontwerpvlak" — de marges wijzigen verandert de breedte waarin u ontwerpt, en de liniaal gaat mee.

De sectie Weergave, onderaan het paneel, bevat de Zoom van het ontwerpvlak. Die heeft geen invloed op het document; het is alleen het vergrootglas van wie ontwerpt.

De gegevens

Een rapport zonder gekoppelde gegevens heeft geen velden om te slepen. Open Gegevenssets via de + van de sectie Gegevens:

Het dialoogvenster Gegevenssets
Het dialoogvenster Gegevenssets

Elke set heeft:

Veld Opmerkingen
Naam van de gegevensset Hoe de elementen haar noemen (oportunidades, contactos).
Rol hoofd, gekoppeld of losstaand — zie de tabel hieronder.
Tabel-API De API van de app waar de rijen vandaan komen.
Filters (where) Dezelfde filtergrammatica als in de rest van het platform. Kan vergelijken met parameters van het rapport.
Laden / Per pagina Hoe de rijen worden gelezen.

De drie rollen:

Rol Wat die betekent
hoofd "De detailband loopt haar door, met één afgedrukte rij per rij ervan." Er is er maar één.
gekoppeld "Hoort bij een rij van een andere set via het veld dat u aangeeft — de factuur en haar regels."
losstaand "Niet doorlopen en niet gekoppeld, dient voor de koptekst of voor een algemeen totaal."

Een gekoppelde set vraagt om drie velden meer: de Bovenliggende gegevensset, het Veld in de bovenliggende set ("het veld dat de bovenliggende rij aanduidt — meestal de sleutel") en het Veld in deze gegevensset ("het veld dat terugwijst naar de bovenliggende set").

Nota

De koppeling is een declaratie, en dat is wat haar snel maakt: de motor laadt alles in één keer en groepeert in het geheugen, in plaats van één query per rij van de hoofdgegevensset uit te voeren.

In de linkerkolom verschijnt elke set met het aantal velden en klapt zij uit met de pijl. Een veld naar een band slepen maakt een element Veld aan dat al gekoppeld is — dat is de snelste manier om de detailband te vullen.

De parameters

Parameters zijn "waarden die het rapport krijgt van wie het laat lopen" — de maand, de fase, de klant. U gebruikt ze in de filters van de gegevenssets.

Het dialoogvenster Parameters
Het dialoogvenster Parameters

Veld Opmerkingen
Naam Hoe het filter en de code haar noemen.
Label Wat er te lezen staat wanneer om de waarde wordt gevraagd.
Type Tekst, Getal, Datum of Ja/Nee.
Verplicht Zonder waarde weigert het rapport te lopen.
Standaardwaarde Gebruikt wanneer wie het aanroept er geen meegeeft.

De elementen

Het palet Elementen bevat alles wat u op een band zet. U sleept het naar de band; u laat het los waar het moet komen.

De linkerkolom: palet, gegevens, groeperingen, parameters en planningen
De linkerkolom: palet, gegevens, groeperingen, parameters en planningen

Element Waarvoor het dient
Tekst Vaste tekst — titels, labels, voetteksten.
Veld De waarde van een veld van de set. Dat is wat er uit het slepen van een veld komt.
Aggregaat Een berekening over een set: Som, Gemiddelde, Aantal, Minimum, Maximum.
Systeemveld Paginanummer, Totaal aantal pagina's, Pagina X van Y, Datum van uitgifte, Naam van het rapport.
Lijn Scheidingen en omlijstingen.
Rechthoek Achtergronden en kaders, met vulling, rand en hoeken.
Afbeelding Een bestand van de app, een adres, of de inhoud van een veld.
Grafiek Negen soorten, met dezelfde gegevens als de schermen.
Subrapport Een ander rapport, binnen dit rapport ontworpen.
Streepjescode Code 128, EAN-13 of QR.

De laatste drie hebben een eigen pagina: Grafieken en subrapporten.

De eigenschappen van een element

Klik op een element op het ontwerpvlak:

Een geselecteerd element, met de eigenschappen rechts
Een geselecteerd element, met de eigenschappen rechts

Sectie Wat die bevat
Positie en grootte X (mm), Y (mm), Breedte (mm), Hoogte (mm). De y telt vanaf de bovenkant van de band.
Uiterlijk Lettertype, Grootte (pt), vet/cursief/onderstreept, uitlijning, Verticale uitlijning, kleur, Vulling, Rand (mm) en Kleur van de rand, Regel afbreken.
Notatie (velden en aggregaten) Weergavemasker, met dezelfde grammatica als de kolommen van de tabel.
Export Naam van de kolom in Excel. "Leeg gebruikt de naam van het veld. Op papier verschijnt hij niet — daar is de koptekst een tekst die u zet waar u wilt."
Opmaakregels Zie hieronder.

Over Regel afbreken: "uitgeschakeld wordt tekst die niet past afgekapt in plaats van naar de volgende regel te gaan" — dat is wat u wilt in een tabelkolom, zodat één lange regel niet de hele pagina opschuift.

Wanneer u meerdere elementen selecteert (met het selectiekader of met Shift), zegt het paneel hoeveel het er zijn en verplaatst het ze samen, met de muis of met de pijltoetsen.

Opmaakregels

Elk element kan regels hebben die "het uiterlijk wijzigen afhankelijk van de gegevens van de rij: een achterstallige waarde kleuren, een label verbergen, een totaal vet zetten wanneer het negatief is". Het zijn dezelfde motor en dezelfde editor als bij de regels van de widgets.

De laatste regel die opgaat, is de regel die geldt — orden ze van de meest algemene naar de meest specifieke.

Het resultaat bekijken

Twee knoppen, rechtsboven:

De knoppen Excel en Voorbeeld
De knoppen Excel en Voorbeeld

  • Voorbeeld genereert de PDF met de echte gegevens van de app en opent hem ter plekke, gepagineerd. Zo controleert u het ontwerp: wat op het ontwerpvlak past, past niet altijd op de pagina.
  • Excel genereert het rekenblad en downloadt het. Hier zijn er geen banden en geen pagina's: er komt een tabel uit, met één kolom per element van de detailband, en de koppen komen van de Naam van de kolom van elk element.

Heeft het rapport verplichte parameters, dan wordt er vóór het genereren om gevraagd.

Dica

Ontwerp voor de PDF en controleer in Excel, niet andersom. De PDF is het veeleisende formaat — marges, pagina-einden, banden die niet passen. Excel vergeeft bijna alles.

Veelgestelde vragen

De detailband komt er leeg uit. Er is geen hoofdgegevensset, of het filter ervan geeft geen rijen terug. Open Gegevenssets en controleer of er een set met de rol hoofd is, en of de parameters die het filter gebruikt een waarde hebben.

Een veld in een koptekstband komt er leeg uit. Dat is te verwachten buiten de groepsbanden. In de Koptekst van het rapport en de Voettekst van het rapport is er geen "huidige rij" — de allereerste tonen zou een waarde verzinnen zijn. In een koptekst van een groep leest het veld de eerste rij van de groep, en dat is precies wat u wilt.

Het rapport duurt lang of het kapt af. Elke set heeft een plafond aan rijen per leesbeurt. Filter meer — op datum, op status — in plaats van de hele tabel af te drukken. Een rapport van 4.000 pagina's wordt door niemand gelezen.

Ik heb meer nodig dan een planning kan. Schrijf een Python-script en roep reports.render(...) aan — zie Inplannen en versturen.