Lage en rapport
Designet av en rapport — bånd, papir og marger, datasett, parametere, elementer og regler, og utdata som PDF eller Excel.
En rapport er et dokument som skrives ut fra dataene i appen: en oppstilling, en faktura, en månedsavslutning. Den kommer ut som PDF — paginert, med overskrifter som gjentas og summer til slutt — eller som Excel, og den kan lages for hånd, av en knapp på en skjerm, av et skript, av en arbeidsflyt, eller av en tidsplan som sender den på e-post.
Modellen er bånd: en rapport er ikke en skjerm som vokser nedover, den er en rekke striper som motoren gjentar etter regelen til hver enkelt — én gang, per side, per rad, per gruppe. Det er det som gjør pagineringen mulig.
Enheten er millimeter, overalt. Det er papirets enhet, og den overlever overgangen fra A4 til Letter.
På denne siden designer vi rapporten Oportunidades por conta i appen Kundeadministrasjon: salgspipelinen gruppert per konto, med kontaktene til hver av dem, summen per konto og et diagram til slutt.
Hvor rapportene bor
Rapportene ligger i minifanen Data i treet til appen, under datakildene. Klikker du på navnet, åpnes designet i en fane.

En app uten rapporter viser «Ingen rapporter — opprett en for å designe den.».
Opprette en rapport
- Hold markøren over linjen til gruppen Rapporter og klikk på Ny rapport.
- Skriv Navn — for eksempel
Månedens fakturaer. - Klikk på Opprett.
«Oppretter en rapport i roten. Du kan flytte den til en mappe etterpå.» Rapporten blir født i A4 stående, med de fem faste båndene og uten tilkoblede data, og designet åpnes med én gang.
Designet

Fanen har tre kolonner og en linje øverst:
| Sone | Hva det er |
|---|---|
| Linjen øverst | Navnet, identifikatoren til rapporten (rpt_…, den koden bruker for å kalle den), tilstanden til lagringen, angre/gjør om, papirmålene og knappene Excel og Forhåndsvis. |
| Kolonnen til venstre | Paletten Elementer, Data, Grupperinger, Parametere og Tidsplaner. |
| Midten | Tegneflaten: en linjal i millimeter og båndene, det ene over det andre i den rekkefølgen de kommer ut på papiret. |
| Til høyre | Egenskapene — til rapporten, til det valgte båndet eller til det valgte elementet. |
Som ellers på plattformen finnes det ingen lagreknapp: designet lagrer seg selv.
Båndene
Båndene er et fast sett — du legger ikke til striper som du vil, for hvert av dem har sin egen gjentakelsesregel som motoren kjenner på navnet.

| Bånd | Når det kommer med |
|---|---|
| Topptekst i rapporten | «Kommer med én gang, øverst på første side.» Logo, tittel, utstedelsesdato. |
| Topptekst på siden | «Gjentas øverst på hver side — logo, kolonneoverskrifter.» |
| Detalj | «Kommer med én gang per datarad. Det er dette båndet som fyller rapporten.» |
| Bunntekst på siden | «Gjentas nederst på hver side — sidetall, dato.» |
| Bunntekst i rapporten | «Kommer med én gang, til slutt — totalsummer.» Det blir født avslått. |
Til disse kommer, når det finnes grupperinger, en topptekst og en bunntekst per nivå — se Diagrammer og delrapporter.
Klikk på tittelen til et bånd for å markere det; panelet til høyre viser da egenskapene til båndet.
| Egenskap | Hva den gjør |
|---|---|
| Høyde (mm) | Høyden på stripen. Du kan også dra i skillelinjen på tegneflaten. |
| Aktiv | «Er det av, kommer båndet ikke med i rapporten og tar ingen plass.» |
| Regler for båndet | Undertrykk båndet ut fra dataene. |
Om reglene: «undertrykk båndet ut fra dataene. Undertrykt kommer det ikke med og tar ingen plass — det er dette som erstatter flere detaljbånd.» I stedet for tre detaljstriper med ulike betingelser, én stripe og regler som skjuler den når det ikke er snakk om det tilfellet.
Papiret
Med ingenting markert viser panelet til høyre egenskapene til rapporten og siden:

| Felt | Alternativer |
|---|---|
| Navn / Beskrivelse | Identifikasjon, for den som bygger. |
| Format | A4, A3, A5, Letter, Legal eller Egendefinert (bredde og høyde i mm). |
| Retning | Stående eller Liggende. |
| Marger (mm) | Øverst, Nederst, Venstre, Høyre. |
«Avstanden mellom papiret og innholdet. Det som blir igjen, er bredden på tegneflaten» — endrer du margene, endrer du bredden du designer i, og linjalen følger med.
Seksjonen Visning, nederst i panelet, har Zoom for tegneflaten. Den påvirker ikke dokumentet; den er bare lupen til den som designer.
Dataene
En rapport uten tilkoblede data har ingen felt å dra inn. Åpne Datasett med + i seksjonen Data:
Hvert datasett har:
| Felt | Merknader |
|---|---|
| Navn på datasettet | Det elementene kaller det (oportunidades, contactos). |
| Rolle | hovedsett, koblet eller frittstående — se tabellen nedenfor. |
| Tabell-API | API-et i appen radene kommer fra. |
| Filtre (where) | Den samme filtergrammatikken som ellers på plattformen. Den kan sammenligne med parametere i rapporten. |
| Innlasting / Per side | Hvordan radene leses. |
De tre rollene:
| Rolle | Hva den betyr |
|---|---|
| hovedsett | «Detaljbåndet går gjennom det, én utskrevet rad per rad i settet.» Det finnes bare ett. |
| koblet | «Hører til en rad i et annet datasett gjennom feltet du velger — fakturaen og linjene på den.» |
| frittstående | «Verken gjennomgått eller koblet, mater toppteksten eller en totalsum.» |
Et koblet datasett ber om tre felt til: Overordnet datasett, Felt i det overordnede («feltet som identifiserer den overordnede raden (vanligvis nøkkelen)») og Felt i dette datasettet («feltet som peker tilbake til forelderen»).
Nota
Koblingen er en erklæring, og det er det som gjør den rask: motoren laster alt på én gang og grupperer i minnet, i stedet for å kjøre en spørring for hver rad i hovedsettet.
I kolonnen til venstre vises hvert datasett med antall felt, og utvides med pilen. Å dra et felt inn i et bånd lager et Felt-element som allerede er koblet — det er den raskeste måten å fylle detaljbåndet på.
Parameterne
Parametere er «verdiene rapporten får fra den som kjører den» — måneden, fasen, kunden. De brukes i filtrene til datasettene.
| Felt | Merknader |
|---|---|
| Navn | Det filteret og koden kaller den. |
| Etikett | Det som leses når verdien blir etterspurt. |
| Type | Tekst, Tall, Dato eller Ja/nei. |
| Påkrevd | Uten verdi nekter rapporten å kjøre. |
| Standardverdi | Brukes når den som kaller ikke oppgir noen. |
Elementene
Paletten Elementer har alt du kan legge i et bånd. Du drar det inn i båndet og slipper det der det skal ligge.

| Element | Hva det er til |
|---|---|
| Tekst | Fast tekst — titler, etiketter, bunntekster. |
| Felt | Verdien i et felt i datasettet. Det er det som kommer ut av å dra inn et felt. |
| Aggregat | Et regnestykke over et datasett: Sum, Gjennomsnitt, Antall, Minimum, Maksimum. |
| Systemfelt | Sidetall, Antall sider totalt, Side X av Y, Utstedelsesdato, Navn på rapporten. |
| Strek | Skillelinjer og rammer. |
| Rektangel | Bakgrunner og bokser, med fyll, kant og hjørner. |
| Bilde | En fil i appen, en adresse, eller innholdet i et felt. |
| Diagram | Ni typer, med de samme dataene som på skjermene. |
| Delrapport | En annen rapport tegnet inne i denne. |
| Strekkode | Code 128, EAN-13 eller QR. |
De tre siste har sin egen side: Diagrammer og delrapporter.
Egenskapene til et element
Klikk på et element på tegneflaten:

| Seksjon | Hva den har |
|---|---|
| Plassering og størrelse | X (mm), Y (mm), Bredde (mm), Høyde (mm). y regnes fra toppen av båndet. |
| Utseende | Skrift, Størrelse (pt), fet/kursiv/understreket, justering, Loddrett justering, farge, Fyll, Kant (mm) og Kantfarge, Bryt tekst. |
| Format (felt og aggregater) | Visningsmaske, med samme grammatikk som kolonnene i tabellen. |
| Eksport | Kolonnenavn i Excel. «Er den tom, brukes navnet på feltet. På papir vises den ikke — der er overskriften en tekst du plasserer der du vil.» |
| Formateringsregler | Se nedenfor. |
Om Bryt tekst: «er den av, blir tekst som ikke får plass kuttet i stedet for å fortsette på neste linje» — det er det du vil ha i en tabellkolonne, så en lang linje ikke skyver hele siden.
Markerer du flere elementer (med markeringsboksen eller med Shift), sier
panelet hvor mange de er og flytter dem samlet, med musen eller med
piltastene.
Formateringsregler
Hvert element kan ha regler som «endrer utseendet ut fra dataene i raden: fargelegg en forfalt verdi, skjul en etikett, sett en sum i fet når den er negativ». Det er den samme motoren og den samme editoren som reglene for widgetene.
Den siste regelen som treffer, vinner — sorter dem fra den mest generelle til den mest spesifikke.
Se resultatet
To knapper, oppe til høyre:
- Forhåndsvis lager PDF-en med de virkelige dataene i appen og åpner den der og da, paginert. Det er slik du sjekker designet: det som får plass på tegneflaten, får ikke alltid plass på siden.
- Excel lager regnearket og laster det ned. Her finnes verken bånd eller sider: ut kommer en tabell, med én kolonne per element i detaljbåndet, og overskriftene kommer fra Kolonnenavn til hvert av dem.
Har rapporten påkrevde parametere, blir de etterspurt før den lages.
Dica
Design for PDF-en og sjekk i Excel, ikke motsatt. PDF er det kravstore formatet — marger, sideskift, bånd som ikke får plass. Excel tilgir nesten alt.
Vanlige spørsmål
Detaljbåndet kommer tomt ut. Det finnes ikke noe hovedsett, eller filteret der returnerer ingen rader. Åpne Datasett og sjekk at det finnes ett med rollen hovedsett, og at parameterne filteret bruker har en verdi.
Et felt i et toppteksbånd kommer tomt ut. Det er som forventet utenfor gruppebåndene. I Topptekst i rapporten og Bunntekst i rapporten finnes det ingen «gjeldende rad» — å vise den aller første ville vært å finne opp en verdi. I en topptekst for en gruppe leser feltet den første raden i gruppen, som er det du vil ha.
Rapporten tar lang tid eller blir kuttet. Hvert datasett har et tak på antall rader per lesing. Filtrer mer — på dato, på status — i stedet for å skrive ut hele tabellen. En rapport på 4 000 sider blir ikke lest av noen.
Jeg trenger mer enn det en tidsplan får til.
Skriv et Python-skript og kall reports.render(...) — se
Sette på tidsplan og sende.




