Reports

PDF, Excel, Word, CSV and HTML reports, schedules and import.

Reports read data from saved queries (run in parallel, within the user's access) and render it with templates: Liquid HTML for PDF and HTML, and spreadsheet or document templates for Excel, CSV and Word.

Schedules

A schedule is a record: recurring (cron) or one-time, with a time zone and recipients or a saved notification. Each run is recorded, can be re-run, and delivers the file by email as a secure link.

Import

Excel and CSV import runs an import mapping, resolves lookups, handles child records and reports errors per row. Run it as a validation dry run first.

Reports

A report is a saved definition: a type, a template for the layout, and the DSQs that supply its data. Because the data comes only from DSQs, a report respects the same tenant and access rules as the rest of the app, and a report cannot run arbitrary SQL. Reporting is switched on per entity with the Allow Reporting setting, which is on by default.

TypeLayout comes from
PDF and HTMLAn HTML template filled with the query results. PDF is printed from it.
Excel and CSVA spreadsheet layout with a header row and a template row per record.
WordA document layout.

Each DSQ's results are available to the template under the query's name, and several DSQs run in parallel for one report. Design reports in the report designer in the web app, or in TAF Studio with TAF: New Report and TAF: Preview Report.

Note

Studio's report preview renders the published version. Publish your edits, then preview again.

Parameters

A report takes parameters, called request tokens, as name-value pairs such as a department, manager or date range. They are passed to every DSQ in the report, so one definition serves every department or month.

Run, download and send

  • Export returns the rendered report in its format, for display or further processing.
  • Download returns the file.
  • Send stores the file, creates a share link and delivers it through a configured notification to its recipients. See Notifications.

Screens and scripts can call these for a report, passing the parameters, for example a Print button on a detail screen that downloads the record's PDF.

Report schedules

A report schedule produces and sends a report automatically. In Studio, use TAF: Report Schedules.

SettingMeaning
Schedule typeRecurring (a CRON expression) or one-time (a run date in the future).
Time zoneThe time zone the schedule is read in.
NotificationThe notification that delivers the report: recipients, subject and message.
ParametersThe request tokens passed to the report on each run.

When you save a schedule, the platform registers a job with its scheduler. Check the schedule's job status afterwards: problems such as a missing CRON expression or a run date in the past are reported there, not when you save. Each run is logged with its start and finish time, status and any error, and a schedule can be run immediately to test it.

Bulk import

Go to Administrator > Data > Bulk Import. An import has four steps.

  1. Select a template and upload the file. Pick a saved template if you have one, then upload a CSV or Excel file. In a workbook, each sheet holds the data for one AppObject, so one file can load related entities together, for example work items and their time logs.
  2. Map the fields. Choose the primary AppObject and its DSQ, then map each column in the file to a field. For lookup fields, choose View Mapping and say which field of the related AppObject the file's value matches, so the import links to the right record. Add filters to import only some rows, such as high-priority items.
  3. Preview and save a template. Choose Fetch to see the rows as they will be imported. For a recurring import, choose Save as Template to reuse the mapping next time.
  4. Import and read the summary. Choose Start Import. The summary shows progress, how many records were imported, and each failed row with its reason, such as a missing required field or an invalid format.

Imported rows go through the normal create path, so validation, record scripts, audit and workflows apply exactly as they do for records created on a screen. The import can also run as a validation-only pass that reports errors without writing anything.

Note

Test with a small file first, make sure every required field is present, and fix the rows listed in the summary before re-importing them.

Bulk update

Go to Administrator > Data > Bulk Update to set a new value on many records at once, for example raising the priority of every open item in a project, or moving leads from Contacted to Qualified.

  1. Data source. Select the AppObject, its DSQ, optionally a saved query, and any extra filter criteria.
  2. Preview data. Choose Fetch and check the records, then Start Editing.
  3. Edit fields. Enter the new value for each field you want to change. Only fields with Allow Bulk Update turned on in the entity's field settings are offered.
  4. Update. Choose Update and confirm the number of records. A summary shows the new values.

To move many records through a lifecycle transition instead, use a bulk status update; see Lifecycles and approvals.