createReport

Creates a report on the Server and retrieves it to the client. The only format, currently supported is pdf.

Parameters

  1. reportControlId - the id of the reportControl in your app. This can be invisible, if you don't need a preview.

  2. createOptions - JSON Object with options

    • print - (bool, default = false) if set to true, this will trigger the print dialog after the report is create.

    • archive - (bool, default = false) if set to true, the report is saved as an attachment to the current record,

    • saveFile - if set. the report will be downloaded with a generic file name (brixxbox-print.pdf), except, if saveFileName is set.

    • saveFileName - if set. the report will be downloaded with that file name.

    • reportId - (optional) if defined, this will overruled the reportId given for the control in the config editor. This is not the controlId, but the id (name) of the report definition

    • cloudPrinter - (optional) the created report will be send to the cloud printer right after creation.

Like a on a dataRequest, all controls of the current app will bo automatically send as report parameters, plus the recordId of the current record as "id", even if you dont have a control "id" in your app.

Example Usages

app.createReport("invoiceReport", { print: true }); //will create the invoiceReport as a pdf and prints it on the client side
app.createReport("invoiceReport", {
  print: true,
  archive: true,
  documentTypeId: 1,
  saveFileName: "myPrint.pdf",
});
//will create the invoiceReport as a pdf and prints it on the client side, it will also save the pdf as an attachment to the current record.
app.createReport("invoiceReport", {
  print: true,
  reportId: "invoiceReportSimple",
});
//In this case, we choose a different reportId

Create a report and send it to a cloud printer

app.createReport("invoiceReport", {
  cloudPrinter: "HP LaserJet",
});

Return Values

The function returns a Promise that resolves to a Blob containing the PDF data if the server responds with a status of 200 (positive). If the response status is different, the function resolves with undefined.

Last updated