KEPLIN Docs

Skapa en rapport

Designen av en rapport — band, papper och marginaler, datamängder, parametrar, element och regler, och utdata som PDF eller Excel.

En rapport är ett dokument som skrivs ut från appens data: en lista, en faktura, en månadsavslutning. Den kommer ut som PDF — paginerad, med sidhuvuden som upprepas och summor i slutet — eller som Excel, och kan skapas för hand, av en knapp på en skärm, av ett skript, av ett arbetsflöde, eller av ett schema som skickar den med e-post.

Modellen bygger på band: en rapport är ingen skärm som växer nedåt, den är en följd av band som motorn upprepar enligt varje bands egen regel — en gång, per sida, per rad, per grupp. Det är det som gör pagineringen möjlig.

Enheten är millimeter, överallt. Det är papperets enhet och den överlever bytet från A4 till Letter.

På den här sidan designar vi rapporten Oportunidades por conta i appen Kundhantering: säljpipelinen grupperad per konto, med kontaktpersonerna för vart och ett, summan per konto och ett diagram i slutet.

Var rapporterna bor

Rapporterna ligger i minifliken Data i appens träd, under datakällorna. Att klicka på namnet öppnar designen i en flik.

Gruppen Rapporter i minifliken Data
Gruppen Rapporter i minifliken Data

En app utan rapporter visar ”Inga rapporter — skapa en för att designa den.”.

Skapa en rapport

  1. Håll muspekaren över raden för gruppen Rapporter och klicka på Ny rapport.
  2. Skriv Namn — till exempel Månadens fakturor.
  3. Klicka på Skapa.

Dialogen Ny rapport
Dialogen Ny rapport

”Skapar en rapport i roten. Du kan flytta den till en mapp efteråt.” Rapporten föds i A4 stående, med de fem fasta banden och utan anslutna data, och designen öppnas direkt.

Designen

Designen av Oportunidades por conta
Designen av Oportunidades por conta

Fliken har tre kolumner och en rad överst:

Zon Vad det är
Raden överst Namnet, rapportens identifierare (rpt_…, det som koden använder för att anropa den), sparstatusen, ångra/gör om, papperets mått och knapparna Excel och Förhandsgranska.
Vänsterkolumnen Paletten Element, Data, Grupperingar, Parametrar och Scheman.
Mitten Designytan: en linjal i millimeter och banden, ovanpå varandra i den ordning de kommer ut på papperet.
Höger Egenskaperna — för rapporten, för det markerade bandet eller för det markerade elementet.

Som i resten av plattformen finns det ingen sparaknapp: designen sparas av sig själv.

Banden

Banden är en fast uppsättning — man lägger inte till band hur som helst, eftersom vart och ett har en egen upprepningsregel som motorn känner igen på namnet.

Bandet Detalj markerat på designytan
Bandet Detalj markerat på designytan

Band När det renderas
Rapportens sidhuvud ”Renderas en enda gång, i början av första sidan.” Logotyp, titel, utfärdandedatum.
Sidhuvud ”Upprepas överst på varje sida — logotyp, kolumnrubriker.”
Detalj ”Renderas en gång per datarad. Det är det här bandet som fyller rapporten.”
Sidfot ”Upprepas längst ned på varje sida — sidnummer, datum.”
Rapportens sidfot ”Renderas en enda gång, i slutet — totalsummor.” Den föds avstängd.

Till dessa läggs, när det finns grupperingar, ett sidhuvud och en sidfot per nivå — se Diagram och underrapporter.

Att klicka på ett bands rubrik markerar det; panelen till höger visar då dess egenskaper.

Ett bands egenskaper
Ett bands egenskaper

Egenskap Vad den gör
Höjd (mm) Bandets höjd. Du kan också dra i skiljelinjen på designytan.
Aktivt ”Avstängt renderas bandet inte i rapporten och tar ingen plats.”
Bandets regler Att undertrycka bandet beroende på data.

Om reglerna: ”att undertrycka bandet beroende på data. Undertryckt renderas det inte och tar ingen plats — det är det som ersätter flera detaljband.” I stället för tre detaljband med olika villkor, ett band och regler som döljer det när det inte hör hit.

Papperet

Med inget markerat visar panelen till höger egenskaperna för rapporten och för sidan:

Rapportens och sidans egenskaper
Rapportens och sidans egenskaper

Fält Alternativ
Namn / Beskrivning Identifiering, för den som bygger.
Format A4, A3, A5, Letter, Legal eller Anpassat (bredd och höjd i mm).
Orientering Stående eller Liggande.
Marginaler (mm) Övre, Nedre, Vänster, Höger.

”Utrymmet mellan papperet och innehållet. Det som blir kvar är designytans bredd” — att ändra marginalerna ändrar bredden du designar i, och linjalen följer med.

Avsnittet Vy, sist i panelen, har designytans Zoom. Det påverkar inte dokumentet; det är bara ett förstoringsglas för den som designar.

Data

En rapport utan anslutna data har inga fält att dra. Öppna Datamängder med + i avsnittet Data:

Dialogen Datamängder
Dialogen Datamängder

Varje datamängd har:

Fält Anteckningar
Datamängdens namn Det som elementen kallar den (oportunidades, contactos).
Roll huvud, länkad eller fristående — se tabellen nedan.
Tabell-API Appens API som raderna kommer från.
Filter (where) Samma filtergrammatik som i resten av plattformen. Kan jämföra med rapportens parametrar.
Laddning / Per sida Hur raderna läses.

De tre rollerna:

Roll Vad den betyder
huvud ”Detaljbandet går igenom den, en utskriven rad per rad i den.” Det finns bara en.
länkad ”Den hör till en rad i en annan datamängd via det fält du anger — fakturan och dess rader.”
fristående ”Varken genomgången eller länkad, den används för sidhuvudet eller för en totalsumma.”

En länkad datamängd kräver tre fält till: Överordnad datamängd, Fält i föräldern (”fältet som identifierar förälderns rad — vanligtvis nyckeln”) och Fält i den här datamängden (”fältet som pekar tillbaka på föräldern”).

Nota

Länken är en deklaration, och det är det som gör den snabb: motorn laddar allt på en gång och grupperar i minnet, i stället för att göra en fråga per rad i den huvudsakliga datamängden.

I vänsterkolumnen visas varje datamängd med antalet fält och fälls ut med pilen. Att dra ett fält till ett band skapar ett Fält-element som redan är anslutet — det är det snabbaste sättet att fylla detaljbandet.

Parametrarna

Parametrar är ”värden som rapporten tar emot från den som kör den” — månaden, fasen, kunden. De används i datamängdernas filter.

Dialogen Parametrar
Dialogen Parametrar

Fält Anteckningar
Namn Det som filtret och koden kallar den.
Etikett Det som läses när värdet efterfrågas.
Typ Text, Tal, Datum eller Ja/Nej.
Obligatorisk Utan värde vägrar rapporten att köra.
Standardvärde Används när den som anropar inte ger något.

Elementen

Paletten Element har allt som kan läggas i ett band. Man drar det till bandet; man släpper det där det ska ligga.

Vänsterkolumnen: palett, data, grupperingar, parametrar och scheman
Vänsterkolumnen: palett, data, grupperingar, parametrar och scheman

Element Vad det är till för
Text Fast text — titlar, etiketter, sidfötter.
Fält Värdet i ett fält i datamängden. Det är det som kommer ut av att dra ett fält.
Aggregat En beräkning på en datamängd: Summa, Medelvärde, Antal, Min, Max.
Systemfält Sidnummer, Antal sidor, Sida X av Y, Utfärdandedatum, Rapportens namn.
Linje Avskiljare och ramar.
Rektangel Bakgrunder och rutor, med fyllning, kantlinje och hörn.
Bild En fil i appen, en adress, eller innehållet i ett fält.
Diagram Nio typer, med samma data som skärmarna.
Underrapport En annan rapport designad inuti den här.
Streckkod Code 128, EAN-13 eller QR.

De tre sista har en egen sida: Diagram och underrapporter.

Ett elements egenskaper

Klicka på ett element på designytan:

Ett markerat element, med egenskaperna till höger
Ett markerat element, med egenskaperna till höger

Avsnitt Vad det innehåller
Position och storlek X (mm), Y (mm), Bredd (mm), Höjd (mm). y räknas från bandets överkant.
Utseende Teckensnitt, Storlek (pt), fet/kursiv/understruken, justering, Vertikal justering, färg, Fyllning, Kantlinje (mm) och Kantlinjens färg, Radbrytning.
Format (fält och aggregat) Visningsmask, med samma grammatik som tabellens kolumner.
Export Kolumnens namn i Excel. ”Tomt använder fältets namn. På papperet syns det inte — där är rubriken en text som du placerar var du vill.”
Formateringsregler Se nedan.

Om Radbrytning: ”avstängt klipps text som inte får plats i stället för att flyttas till nästa rad” — det är vad man vill ha i en tabellkolumn, så att en lång rad inte trycker undan hela sidan.

Om du markerar flera element (med markeringsrutan eller med Shift) säger panelen hur många de är och flyttar dem tillsammans, med musen eller med piltangenterna.

Formateringsregler

Varje element kan ha regler som ”ändrar utseendet beroende på radens data: färga ett försenat värde, dölja en etikett, göra en summa fet när den är negativ”. Det är samma motor och samma editor som widgetarnas regler.

Den sista regeln som slår till är den som gäller — sortera dem från den mest allmänna till den mest specifika.

Se resultatet

Två knappar, i övre högra hörnet:

Knapparna Excel och Förhandsgranska
Knapparna Excel och Förhandsgranska

  • Förhandsgranska skapar PDF:en med appens riktiga data och öppnar den direkt där, paginerad. Det är så man kontrollerar designen: det som får plats på designytan får inte alltid plats på sidan.
  • Excel skapar kalkylbladet och laddar ner det. Här finns varken band eller sidor: ut kommer en tabell, med en kolumn per element i detaljbandet, och rubrikerna kommer från Kolumnens namn för vart och ett.

Om rapporten har obligatoriska parametrar efterfrågas de innan den skapas.

Dica

Designa för PDF:en och kontrollera i Excel, inte tvärtom. PDF:en är det krävande formatet — marginaler, sidbrytningar, band som inte får plats. Excel förlåter nästan allt.

Vanliga frågor

Detaljbandet blir tomt. Det finns ingen huvud-datamängd, eller så returnerar dess filter inga rader. Öppna Datamängder och kontrollera att det finns en med rollen huvud, och att parametrarna som filtret använder har värden.

Ett fält i ett sidhuvudsband blir tomt. Det är väntat utanför gruppbanden. I Rapportens sidhuvud och i Rapportens sidfot finns ingen ”aktuell rad” — att visa den allra första vore att hitta på ett värde. I ett gruppsidhuvud läser fältet gruppens första rad, vilket är precis vad man vill.

Rapporten tar tid eller kapas. Varje datamängd har ett tak för antalet rader per läsning. Filtrera mer — på datum, på status — i stället för att skriva ut hela tabellen. En rapport på 4 000 sidor läses inte av någon.

Jag behöver mer än vad ett schema klarar av. Skriv ett Python-skript och anropa reports.render(...) — se Schemalägga och skicka.