1.5
Table Of Contents
- Table of Contents
- Welcome to PlanetPress Connect 1.5
- Setup And Configuration
- System and Hardware Considerations
- Installation and Activation
- Installation Pre-Requisites
- User accounts and security
- The Importance of User Credentials on Installing and Running PlanetPress Connect
- Installing PlanetPress Connect on Machines without Internet Access
- Installation Wizard
- How to Run Connect Installer in Silent Mode
- Activating a License
- Migrating to a new computer
- Information about PlanetPress Workflow 8
- Upgrading from PlanetPress Suite 7.6
- What do I gain by upgrading to PlanetPress Connect?
- Server Settings
- Uninstalling
- The DataMapper Module
- Basics
- Data Mapping Configuration
- Data Mapping Workflow
- The Data Model
- Data Source (Settings)
- DataMapper User Interface
- Defining Boolean Values
- Defining String Values
- Building String Values
- Defining Integer Values
- Building Integer Values
- Defining Float Values
- Building Float Values
- Defining Currency Values
- Building Currency Values
- Extracting dates
- Entering a date using JavaScript
- Defining Object Values
- DataMapper Scripts API
- The Designer
- Generating output
- Print output
- Email output
- Web output
- Optimizing a template
- Generating Print output
- Saving Printing options in Printing Presets.
- Connect Printing options that cannot be changed from within the Printer Wizard.
- Print Using Standard Print Output Settings
- Print Using Advanced Printer Wizard
- Adding print output models to the Print Wizard
- Splitting printing into more than one file
- Variables available in the Output
- Generating Fax output
- Generating Tags for Image Output
- Generating Email output
- Generating Web output
- Release Notes
- Copyright Information
- Legal Notices and Acknowledgments
To duplicate an existing template element, clone it before calling append(); see "append()" on
page735.
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
["ItemOrdered"]);
this.find('@ItemTotal@').text(record.tables['detail'][i].fields
["ItemTotal"]);
this.find('@ItemDesc@').text(record.tables['detail'][i].fields
["ItemDesc"]);
this.find('@nr@').text(i);
});
The following script clones and populates a boilerplate row. Once completed you will need to
hide the boilerplate row.
for(var i = 0; i < record.tables['detail'].length; i++) {
var row = results.clone(); //Clone our boilerplate row
row.find('@ItemNumber@').text(record.tables['detail'][i].fields
Page 743