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.

En app utan rapporter visar ”Inga rapporter — skapa en för att designa den.”.
Skapa en rapport
- Håll muspekaren över raden för gruppen Rapporter och klicka på Ny rapport.
- Skriv Namn — till exempel
Månadens fakturor. - Klicka på Skapa.
”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

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.

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

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

| 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:

| 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:

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



