KEPLIN Docs

Groeperingen, grafieken en subrapporten

Groeperen op een veld met een eigen koptekst en voettekst, optellen met aggregaten, grafieken op papier tekenen en een rapport in een ander rapport inbedden.

Een detailband op zichzelf kan alleen één rij per record afdrukken. Wat een lijst in een document verandert, zijn drie onderdelen: de groeperingen, die de lijst in blokken met een titel en een totaal opdelen; de grafieken, die samenvatten wat de lijst zegt; en de subrapporten, die een volstrekt andere gegevensverzameling in het document binnenbrengen.

We blijven bij het rapport Oportunidades por conta van de app Klantenbeheer.

Groeperingen

Een groepering deelt de lijst op telkens wanneer de waarde van een veld verandert. Elk niveau brengt twee eigen banden mee: een koptekst, die verschijnt wanneer de waarde verandert, en een voettekst, die verschijnt wanneer de waarde afloopt.

Dit is wat het document "elke account, met haar opportuniteiten eronder en het totaal aan het einde" maakt.

Een groepering maken

  1. Klik in de linkerkolom op de + van de sectie Groeperingen.
  2. Selecteer de band Koptekst: … die op het ontwerpvlak is verschenen.
  3. Kies in het paneel rechts, in de sectie Groepering, het Veld.

De eigenschappen van een groepering
De eigenschappen van een groepering

Eigenschap Wat die doet
Veld "Veld van de hoofdgegevensset waarvan de waarde de groep bepaalt. De rijen worden erop gesorteerd." Accepteert paden met een punt om relaties te doorlopen: conta.nome.
Volgorde Oplopend of Aflopend.
Koptekst herhalen "Wanneer de groep op de volgende pagina doorloopt, komt de koptekst ervan opnieuw bovenaan."
Nieuwe pagina per groep "Elke groep begint op een eigen pagina." Dat zet u aan om één factuur per vel af te drukken.

De groepsbanden verschijnen op het ontwerpvlak ingeklemd rond het detail, met een inspringing die laat zien bij welk niveau ze horen. U kunt zoveel niveaus hebben als u wilt — per jaar, dan per klant, dan per factuur.

Dica

Een veld binnen een koptekst van een groep leest de groepsrij die als eerste komt. Dat is wat de naam van de account boven haar opportuniteiten laat verschijnen. Buiten de groepsbanden (in de koptekst van het rapport, bijvoorbeeld) is er geen enkele rij en komt het veld er leeg uit.

Totalen met het Aggregaat

Het element Aggregaat is een berekening die de motor uitvoert: Som, Gemiddelde, Aantal, Minimum of Maximum over een veld van een set.

Waar u het neerzet, bepaalt wat het telt:

Waar het staat Wat het optelt
In de voettekst van een groep Alleen de rijen van die groep — het totaal van die account.
In de voettekst van het rapport Alle rijen — het algemene totaal.
In de detailband, over een gekoppelde set Alleen de rijen van die rij — het totaal van die factuur.

Bij Aantal mag het veld leeg blijven: het telt rijen, geen waarden.

Grafieken

Een grafiek op papier gebruikt dezelfde motor en dezelfde opties als de grafiekwidget van de schermen. In de PDF wordt hij op de server getekend en komt hij in vectorvorm binnen, niet als afbeelding — een gerasterde grafiek zou bij het afdrukken of vergroten wazig worden.

De voettekst van het rapport met de grafiek en het algemene totaal
De voettekst van het rapport met de grafiek en het algemene totaal

Sleep Grafiek van het palet naar een band en stel hem in:

De eigenschappen van een grafiek
De eigenschappen van een grafiek

Eigenschap Opmerkingen
Type grafiek Staven, Lijn, Vlak, Taart / Donut, Spreiding, Radar, Trechter, Gauge (meter) of Heatmap.
Gegevensset Waar de rijen vandaan komen. Leeg gebruikt de hoofdgegevensset.
Categorieveld (X-as / segmenten) "Veld dat de horizontale as (of de segmenten) bepaalt."
Waardevelden "Numerieke velden om te tekenen. Zonder reeksveld is elk veld een reeks." U voegt ze toe met Waarde toevoegen.
Reeksveld (groepering) "Veld dat de reeksen scheidt. Daarmee wordt er gepivoteerd op het eerste waardeveld."
Legenda en Positie van de legenda Boven, Onder, Links of Rechts.
Waarden bij de punten Schrijft het getal boven op elke staaf of elk punt.

Afhankelijk van het type verschijnen ook nog Gestapeld, Vloeiende lijnen, Horizontaal en Binnenstraal van de donut (%).

In het voorbeeld heeft de grafiek in de Voettekst van het rapport de categorie fase en de waarde valor: één staaf per fase van de pipeline, met de som van de deals van elke fase.

Nota

Een grafiek in een groepsband tekent de gegevens van die groep — één grafiek per account. In een detailband zou hij één grafiek per afgedrukte rij tekenen, wat bijna nooit is wat u wilt.

Subrapporten

Een subrapport is een ander rapport dat binnen dit rapport is ontworpen. Het dient voor wat de groepering niet doet: de groepering deelt één set op; het subrapport brengt een hele andere binnen.

Het klassieke geval: op een rekening-courant de openstaande facturen en de betalingen — twee lijsten uit verschillende tabellen op hetzelfde vel. In ons voorbeeld brengt de koptekst van elke account de lijst met haar contactos mee, vóór de opportuniteiten.

De koptekst van de groep met daarin een subrapport
De koptekst van de groep met daarin een subrapport

Het onderliggende rapport ontwerpen

Het ingebedde rapport is een gewoon rapport, met een eigen leven — u opent, ontwerpt en bekijkt het als elk ander. Het verschil is dat het parameters declareert om de context te krijgen van wie het inbedt.

Het rapport Contactos da conta, het onderliggende rapport in dit voorbeeld
Het rapport Contactos da conta, het onderliggende rapport in dit voorbeeld

In het voorbeeld heeft Contactos da conta een parameter conta (Getal, verplicht) en filtert zijn gegevensset conta_id op die parameter. De banden die er in een ingebed document niet toe doen — koptekst van de pagina, voetteksten — blijven uitgeschakeld.

Inbedden

  1. Sleep Subrapport van het palet naar een koptekst, een voettekst of een groepsband.
  2. Kies bij Kies het rapport het onderliggende rapport.
  3. Zeg voor elke parameter ervan waar het vandaan komt: Veld van de rij (leest het veld van de rij waarop het subrapport staat) of Vaste waarde.

Atenção

Een subrapport mag niet in de detailband staan, en dat wordt belet, niet afgeraden: "het zou één query per afgedrukte rij doen" — duizend facturen, duizend gangen naar de database. Zet het in een koptekst, in een voettekst of in een groepsband, waar de gevallen schaars zijn.

Herhalingen met dezelfde parameters delen de leesbeurt, dus een subrapport in de koptekst van een groep kost één query per groep, niet per rij.

Streepjescodes en afbeeldingen

Twee elementen die een zakelijk document compleet maken:

Streepjescode — de waarde kan uit een veld komen (het normale geval op een factuur) of vast zijn:

Veld Opmerkingen
Type Code 128 accepteert tekst en cijfers. EAN-13 zijn 12 of 13 cijfers en het controlecijfer wordt geverifieerd. QR accepteert elke tekst — dat is de code van de facturen.
Veld "Veld met de waarde die gecodeerd moet worden. Leeg gebruikt de vaste waarde hieronder."
Vaste waarde Alleen gebruikt wanneer er geen veld is gekozen.
De waarde tonen Drukt de waarde onder de strepen af (geldt niet voor QR).

Afbeelding — de Bron bepaalt waar zij vandaan komt:

Bron Wat u invult
Bestand van de app Een bestand dat in de app is geüpload (bijvoorbeeld icons/logo.svg).
Adres Een URL.
Veld uit de gegevens "Veld met de afbeelding: een URL, een pad onder assets, of de binaire inhoud in base64."

De Schaling bepaalt wat er gebeurt wanneer de afbeelding niet de vorm van het kader heeft: Passend, Vullen of Uitrekken.

Veelgestelde vragen

De groep groepeert niets — alles komt achter elkaar. Het veld van de groepering moet uit de hoofdgegevensset komen, en de rijen worden erop gesorteerd. Is het veld in veel rijen leeg, dan vallen die rijen allemaal in dezelfde groep.

Het totaal van de groep telt alles op. Het aggregaat staat buiten de band van de groep. Zet het in de voettekst van die groep — de positie bepaalt het bereik van de berekening.

De grafiek komt er blanco uit in de PDF maar hij is te zien in het ontwerp. Op het ontwerpvlak toont een grafiek zonder gegevens een voorbeeldsteekproef. In de PDF is er alleen wat de gegevens geven: controleer de Gegevensset, het Categorieveld en of er ten minste één Waardeveld gekozen is.

Kan ik een subrapport in een ander subrapport zetten? Ja, met dezelfde regel: nooit in de detailband. Maar denk twee keer na — twee niveaus van inbedding maken het document lastig te voorspellen, en vaak was wat u wilde gewoon nog een niveau van groepering.