Skip to content

Reports

reports : object

Define custom reports for the user.

Kind: global namespace

reports.registerReport(name, onload(startDate,endDate), date)

Kind: static method of reports

Param Type Description
name string Report name
onload(startDate,endDate) function Called when the report is loaded, with start and end Date objects. See example.
date boolean If the report requires a date range be selected.

Example

global.apis.reports.registerReport("sample", function (startDate, endDate) {

 // Note about column datatypes:
 // Use "string" for the datatype, except for the special cases listed here.
 // Other datatypes may be added in the future, so use "string"
 // unless you like unexpected behavior!
 //
 // datetime:   Column is a UNIX timestamp (in seconds).
 //             It is displayed as a formatted date and time string.
 // receiptid:  Column is a PostalPoint receipt ID number. Displayed as a link.
 //             Clicking the ID will fetch and open the receipt in a popup.
 // userid:     Column contains an employee ID number from the PostalPoint database.
 //             It is queried in the database and replaced with the employee's name,
 //             or with an empty string if the ID lookup has no results.
 // money:      Column is a number that will be formatted as currency for display.
 // percent:    Column is a percent value (as 12.3, not .123) and will be formatted
 //             with a trailing % sign and rounded to two decimal places.

 // Single-table report
 return {
   table: {
     header: ["Column 1", "Column 2"],
     datatypes: ["string", "string"],
     rows: [
       ["Row 1 Col 1", "Row 1 Col 2"],
       ["Row 2 Col 1", "Row 2 Col 2"]
     ]
   }
 };

 // Multiple-table report
 return {
    multitable: true,
    table: {
      titles: ["Report 1 Title", "Report 2 Title"],
      header: [["Report 1 Column 1", "Report 1 Column 2"], ["Report 2 Column 1", ...]],
      datatypes: [["string", "string"], ["string", "string"]],
      rows: [
        [
          ["Report 1 Row 1 Col 1", "Report 1 Row 1 Col 2"],
          ["Report 1 Row 2 Col 1", "Report 1 Row 2 Col 2"]
        ],
        [
          ["Report 2 Row 1 Col 1", "Report 2 Row 1 Col 2"],
          ["Report 2 Row 2 Col 1", "Report 2 Row 2 Col 2"]
        ]
      ]
    }
  }
}, true);