De onderstaande code laat toe om een rapport (van Documenten - Reporting) uit te voeren. Deze code is van toepassing op alle soorten rapportuitvoer:
- Document
- Bestand
- Kaart
- Venster
De enige parameter waarmee rekening moet worden gehouden, is de ID van het rapport. Deze ID stemt overeen met de identificatiecode in de tabel DOCUM en is bovendien zichtbaar (niet wijzigbaar) in de eigenschappen van het rapport (in het parameterinstellingsvenster van het rapport).
Merk op dat bij uitvoering van deze code wordt nagegaan of minstens één informatiebestandfiche die overeenkomt met het document is geopend. Indien er meerdere fiches geopend zijn, zal een fichekeuze worden voorgesteld.
MercatorUi.Reporting.ReportingStatic.RunReportFromDocum("IRNL1BZZS4");
Op gelijkaardige wijze is het mogelijk een rapport uit te voeren via een informatiebestandknop. Daartoe wordt een andere implementatie van dezelfde methode RunReportFromDocum gebruikt, waarbij een tweede parameter wordt aanvaard: het te gebruiken informatiebestandvenster, in ons voorbeeld is dat het venster waarin de knop staat waarop net werd geklikt.
Merk op dat bij uitvoering van deze code wordt nagegaan of het type van het informatiebestandvenster wel degelijk overeenkomt met wat het rapport verwacht.
MercatorUi.Reporting.ReportingStatic.RunReportFromDocum("IRNL1BZZS4", (MercatorUi.Forms.Sig.SigForm)clickedButton.Form);
💡 Als de rapportuitvoer van het type "venster" is, kan men hierop ingrijpen door de volgende code toe te voegen:
MercatorUi.Forms.Reporting.ReportingWindowForm reportingWindowForm = Application.OpenForms.OfType<MercatorUi.Forms.Reporting.ReportingWindowForm>().FirstOrDefault(f => f.DataRowDocum["id"].ToString() == "IRNL1BZZS4");
if (reportingWindowForm != null)
{
…
}