2018.2
Table Of Contents
- Table of Contents
- Welcome to PrintShop Mail Connect 2018.2
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Where to obtain the installers
- Installation - important information
- Installation - How to guides
- Activation
- Installation Prerequisites
- User accounts and security
- Installing PrintShop Mail Connect on Machines without Internet Access
- Installation Wizard
- Running Connect installer in Silent Mode
- Activating a License
- Migrating to a new workstation
- Preferences
- Connect: a peek under the hood
- Known Issues
- Job Creation Presets: External Sorting
- Business Graphics: Backward Compatibility Issues
- Known Font issues
- Minor differences in PCL, AFPDS and IPDS output introduced in 2018.1
- Windows Server 2016 issue
- Limit of 100MB of image files within a single job
- Print Output: Booklet Impositioning changes introduced in 2018.1
- Installation Paths with Multi-Byte Characters
- Switching Languages
- GoDaddy Certificates
- MySQL Compatibility
- Available Printer Models
- Color Model in Style Sheets
- Image Preview in Designer
- VIPP Output
- Magic Number changes when installing Docker
- Uninstalling
- Connect: a peek under the hood
- Connect File Types
- The Designer
- Australia Post 4 State Settings
- Codabar Settings
- Code 128 Settings
- Code 39 Settings
- Datamatrix Settings
- EAN-128 Settings
- EAN-13 Settings
- EAN-8 Settings
- Interleaved 2 of 5 Settings
- KIX Code (Dutch Post) Settings
- PDF417 Settings
- QR Code Settings
- Royal Mail 4 State Settings
- Royal Mail 2D Settings
- UPC-A Settings
- UPC-E Settings
- US Postal Service IMB Settings
- US Postal Service IMPB Settings
- Designer Script API
- Standard Script API
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Examples
- Example
- Example
- Example
- Example
- Example
- Examples
- Creating a table of contents
- Example
- Examples
- Examples
- Examples
- Examples
- Replace elements with a snippet
- Replace elements with a set of snippets
- Example
- Example
- Creating a Date object from a string
- Control Script API
- Examples
- Post Pagination Script API
- Designer Script API
- Generating output
- Print Manager
- Print Manager Introduction Video
- Print Manager usage
- Print Manager Interface
- Overview
- Connect 2018.2 Enhancements
- Connect 2018.2 Designer Updates
- JSON support added to the Data Model Panel
- Minimum Pages option added to Print Sections
- Color Output option added to Print Contexts
- Breadcrumb Improvements
- Paste as Plain Text option added
- Scripting Improvements
- Post Pagination Improvements
- Barcode Improvements
- Business Graphics Improvements
- General Designer Improvements
- Connect 2018.2 Output updates
- Print Wizard and Preset Wizard Improvements
- Connect 2018.2 Print Manager updates
- Known Issues
- Overview
- Connect 2018.2.1 Enhancements/Fixes
- Connect 2018.2 Enhancements
- Connect 2018.2 Designer Updates
- JSON support added to the Data Model Panel
- Minimum Pages option added to Print Sections
- Color Output option added to Print Contexts
- Breadcrumb Improvements
- Paste as Plain Text option added
- Scripting Improvements
- Post Pagination Improvements
- Barcode Improvements
- Business Graphics Improvements
- General Designer Improvements
- Connect 2018.2 Output updates
- Print Wizard and Preset Wizard Improvements
- Connect 2018.2 Print Manager updates
- Known Issues
- Previous Releases
- Overview
- Connect 2018.1.6 Enhancements/Fixes
- Connect 2018.1.5 Enhancements/Fixes
- Connect 2018.1.4 Enhancements/Fixes
- Connect 2018.1.3 Enhancements/Fixes
- Connect 2018.1.2 Enhancements/Fixes
- Connect 2018.1.1 Enhancements/Fixes
- Connect 2018.1 General Enhancements
- Connect 2018.1 Designer Enhancements/Fixes
- Connect 2018.1 Output Enhancements/Fixes
- Connect 2018.1 Print Manager Enhancements/Fixes
- Known Issues
- Overview
- Connect 1.8 General Enhancements and Fixes
- Connect 1.8 Performance Related Enhancements and Fixes
- Connect 1.8 Designer Enhancements and Fixes
- Connect 1.8 Output Enhancements and Fixes
- Connect 1.8 Print Manager Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.7.1 General Enhancements and Fixes
- Connect 1.7.1 Designer Enhancements and Fixes
- Connect 1.7.1 Output Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.6.1 General Enhancements and Fixes
- Connect 1.6.1 Designer Enhancements and Fixes
- Connect 1.6.1 Output Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.5 Designer Enhancements and Fixes
- Connect 1.5 Output Enhancements and Fixes
- Connect 1.5 General Enhancements and Fixes
- Known Issues
- Overview
- Connect 1.4.2 Enhancements and Fixes
- Connect 1.4.1 New Features and Enhancements
- Connect 1.4.1 Designer Enhancements and Fixes
- Connect 1.4.1 Output Enhancements and Fixes
- Known Issues
- Legal Notices and Acknowledgements
clone()
This function returns a new set containing a copy of each element in a set; see "Dynamically
adding sections (cloning)" on page379.
To duplicate an existing template element, clone it before calling append(); see "Examples" on
page704.
Note
Calling clone() multiple times before calling addAfter() or addBefore() currently
won't work, as each next clone will get the same default name and replaces the previous clone. To
avoid this you should either explicitly assign a unique name to each clone (i.e. not rely on the
default name), or call addAfter() or addBefore() before calling clone() again.
Examples
This script performs an iteration over the elements in the results (the elements that match the
selector of the script).
var row = query("tbody tr", results).clone();
query("tbody", results).append(row);
The following script clones an existing table row to match the number of rows in a detail table.
Afterwards it iterates over the rows to populate the fields.
// Create the number of rows based on the records in the detail
table
// We start at 1 so the boilerplate row is used too and there is no
need to delete that row
for(var r = 1; r < record.tables['detail'].length; r++) {
results.parent().append(results.clone());
}
// Iterate over the rows and populate them with the data from the
accompanying data row
query("#table_2 > tbody > tr").each(function(i) {
this.find('@ItemNumber@').text( record.tables['detail'][i].fields
["ItemNumber"]);
this.find('@ItemOrdered@').text( record.tables['detail'][i].fields
Page 710










