2021.1

Table Of Contents
Setting the scope of a script
The selector of a script can match multiple elements. By setting the scope of the script you can
determine whether you want to run the script once, or once for each element that matches the
selector. The second option is especially useful when a script targets rows or cells in a
Dynamic Table (see "Using scripts in Dynamic Tables" on page900).
To set the scope of a script, click on Options at the bottom of the Script Editor window. The
options are:
l Result set: The script will run once, regardless of the number of elements that match the
selector. It will have access to all elements that match the selector via the results
object (see "results" on page1427). The each() function could be used to iterate over
elements in the results.
l Each matched element: The script runs once for each element that matches the selector.
The current element is accessible via the this object (see "this" on page1345). If the
script targets (something in) a row that is bound to a detail table, the current detail record
is accessible via this.record.
Note
The scope of Control Scripts can't be set, because they don't have a selector.
Managing scripts
Changing the order of execution
When a record set is merged with a template to generate output, all scripts are executed once
for every record in the record set, in the order in which they appear in the Scripts pane at the
bottom left.
The order in which scripts are executed is particularly important when one script produces
content that contains a selector for another script. If the other script has already been executed,
it will not run again automatically. So, scripts that produce content that contains one or more
selectors for other scripts, need to come first.
To change the order in which scripts are executed:
Page 874