KEPLIN Docs

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.

Gruppen Rapporter i minifanen Data
Gruppen Rapporter i minifanen Data

En app uten rapporter viser «Ingen rapporter — opprett en for å designe den.».

Opprette en rapport

  1. Hold markøren over linjen til gruppen Rapporter og klikk på Ny rapport.
  2. Skriv Navn — for eksempel Månedens fakturaer.
  3. Klikk på Opprett.

Dialogen Ny rapport
Dialogen Ny rapport

«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

Designet av Oportunidades por conta
Designet av Oportunidades por conta

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åndet Detalj markert på tegneflaten
Båndet Detalj markert på tegneflaten

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.

Egenskapene til et bånd
Egenskapene til et bånd

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:

Egenskapene til rapporten og siden
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:

Dialogen Datasett
Dialogen Datasett

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.

Dialogen Parametere
Dialogen Parametere

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.

Kolonnen til venstre: palett, data, grupperinger, parametere og tidsplaner
Kolonnen til venstre: palett, data, grupperinger, parametere og tidsplaner

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:

Et element markert, med egenskapene til høyre
Et element markert, med egenskapene til høyre

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:

Knappene Excel og Forhåndsvis
Knappene Excel og Forhåndsvis

  • 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.