SuiteScript Example – Rendering Query Results in a PDF

With the advent of Analytics Workbooks and the N/query module, NetSuite has also added a method for rendering your query results within your PDF templates. Let’s say you have a function to define your query, like so:

Notice we don’t actually run the query; we just create the Query instance. From there, we can leverage a TemplateRenderer from the N/render module and its addQuery() method, like so:

where ./custom-query.ftl (our custom template) contains a section like this:

The templateName we specify in addQuery() is the same variable name we use within our template to access the query results; in our example, that’s individuals. From there, we can loop through (#list) the results, and we access values from individual columns with Array indexes (e.g. ind[1]). The order of the columns in the template is the same order in which they were defined when we created the Query.

Combining all those components renders a PDF like so:



This is an example from the Rendering PDFs with SuiteScript Cookbook.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Related posts

January 7, 2021

Anything I wrote today about business would both feel and be inadequate. I simply can’t arrive at the words to express how I feel in this moment. So instead, here are a few helpful ...

Read More

December 20, 2020

2020 was a hundred swift kicks to the shorts and one giant kick in the ass. If you’ve lost people you love, if you’ve gotten sick or hurt, if you’ve lost your job, if ...

Read More

December 16, 2020

“I’ve been meaning to learn SuiteScript, but it’s hard to find the time …”“We’re slammed, and I just don’t have the time …”“I haven’t made the time …” All are variations of a theme ...

Read More

December 14, 2020

Last week we looked at mimicking the functionality of a REST endpoint with its own module (e.g. retrieving a User, or a list of Users, refreshing a token, etc). For complex integrations that rely on a large ...

Read More