Naar hoofdinhoud gaan

Een rapport aan een tabel koppelen

Doel​

Een rapport koppelen aan een tabel van modelgestuurde apps — bijvoorbeeld een tabel Factuur — zodat het rapport de records van die tabel uit één omgeving leest en de velden ervan als rapportkolommen opmaakt.

Vereisten​

  • De tabel waarover je wilt rapporteren, bestaat in de omgeving waartegen je rapporteert. Een tabel heeft zijn gegevens erachter vanaf het moment dat hij wordt gemaakt (zie Wat er gebeurt als je een tabel opslaat).
  • Je hebt referenties die leestoegang voor rapportage tot de omgeving geven: ofwel een externe app-registratie met de scope reporting.read (of modelapps.read) (zie Een externe applicatie registreren), ofwel je rapporteert vanuit de Platformshell, die dezelfde toegang biedt voor de app waarin je werkt.
  • Je weet welke omgeving de gewenste gegevens bevat (rapportage leest altijd de gegevens van precies één omgeving).

Stappen​

  1. Maak of open in de rapportagetool een rapport en voeg een Parsware-gegevensbron toe.
  2. Laat de gegevensbron wijzen naar het rapportageadres van de doelomgeving en geef de rapportagereferenties uit de vereisten op.
  3. Kies de tabel waarover je wilt rapporteren uit de lijst met koppelbare tabellen. Elke tabel in die omgeving staat erin — bijvoorbeeld Factuur.
  4. De tool laadt de koppelbare kolommen van de tabel (het label en gegevenstype van elk veld, met het primaire veld van de tabel eerst). Selecteer de kolommen die je in het rapport wilt.
  5. Voeg eventueel filters en sorteringen op die kolommen toe (bijvoorbeeld "Totaal is groter dan 50", nieuwste eerst) en een paginagrootte.
  6. Bekijk een voorbeeld van het rapport. De tool vraagt een pagina met rijen op voor de geselecteerde kolommen en geeft ze weer. Sla het rapport op.

Wat er achter de schermen gebeurt​

Een rapport koppelen maakt een alleen-lezen-verbinding met de tabelgegevens van die ene omgeving. De rapportagegegevensbron schrijft nooit: hij kan de tabellen van de omgeving opsommen, de kolommen van een tabel beschrijven en pagina's met rijen teruggeven voor de kolommen en filters die je hebt gekozen. Toegang wordt verleend door de scope voor leestoegang voor rapportage op je referenties, niet door een applicatierol; daarom heeft een rapportage-integratie geen schrijfrechten van een maker of beheerder nodig. Elke aanvraag leest alleen de omgeving waarnaar je de gegevensbron hebt laten wijzen — de gegevens van de ene omgeving kunnen nooit verschijnen in een rapport dat aan een andere is gekoppeld.

Problemen oplossen​

  • "Reading reporting data requires the 'reporting.read' or 'modelapps.read' scope." — de referenties op de gegevensbron geven geen leestoegang voor rapportage. Gebruik een app-registratie met de scope reporting.read (of modelapps.read), of rapporteer vanuit de shell.
  • De tabel staat niet in de lijst met koppelbare tabellen. — hij bestaat niet in deze omgeving; waarschijnlijk heb je de gegevensbron naar een andere omgeving laten wijzen. Laat hem wijzen naar de omgeving die de tabel bevat, of importeer de oplossing die de tabel meebrengt.
  • Een filter of sortering wordt geweigerd als onbekend veld. — het filter of de sortering noemt een veld dat niet op de tabel is gedefinieerd. Kies een kolom uit de eigen veldenlijst van de tabel.

Gerelateerde scenario's​

  • Wat er gebeurt als je een tabel opslaat.
  • Een externe applicatie registreren.
  • Tabelgegevens opvragen voor rapportage (ontwikkelaar).