Print Templates Table
The Print Templates table is a background table that holds a record for each print template used by the Contracts table or other system tables. It also keeps track of the Version Number of the attached print template document, and defines which Contract Types can use the print template in the Available for Contract Types field.
Print Templates can be created and edited by admins and Contract Managers. The ID, Title, Template File, and Version Number fields are pulled into the Contracts table as a link to selected fields from another table. These are filtered to print templates whose Available for Contract Types field contains the Contract Type selected in the current Contract record. If multiple print templates are available for a Contract Type, the default value for the Print Template to Generate in the Contract is matched to the Default Print Template Title and Print Template File fields of the selected Contract Type.
An abbreviation field is used in the resulting file name, so it is useful to populate any new print templates with a reasonable abbreviation.
Inserting Variables into Print Templates
Print templates may include field variables from the table on which the template is run, as well as from any table in the system. For instance, a template might have the text
$contract_start_date in the place where the start date of the contract should appear.
It may also pull in clauses from the clause library without creating a link to that clause within the contract. A special syntax is used for fields and records that do not live in the main table from which the template is run:
$field_from_other_table(clause,41,clause_text)is used to indicate that the Clause Text field, or
clause_text, for record with ID 41 in the Clause table should be inserted into the print template at this position.
Conditional Text, Fields, and Content
There are several ways to insert conditions into a print template to use alternative text or alternative values. These are described in the Print Template Syntax Reference. It is common to have print templates with optional or conditional sections that may or may not appear when the template is run, based on meta data in the contract.
Numbering of Sections
If the print template is using HTML text fields either from the contract, or from clauses in the clause library, and you need section numbering with the contract, there are some special challenges with deciding what kind of numbering methodology to use. Auto-numbering can be used within the HTML clause field itself, within the template, or within the style used in the conversion.
In the standard implementation, the numbering and indentation style is set in the print template, applied to the relevant clause variable. However, sometimes the HTML text that replaces the variable in the template does not retain the numbering or indentation. If you see this issue in your print templates, you can choose to insert the auto-numbering HTML code inside the clause text, instead of in the print template. To do so, edit the clause in Source HTML and insert the MS Word auto-numbering code at the front of the clause text. When the document is generated, this code automatically assigns a sequential number and applies list indentation. Note that if you use this method, these numbers are reassigned every time the document is opened, which means the clauses are always shown as recently modified when a contract is edited.
In the standard implementation, we handle numbering in the print template, not the clause text. Whichever method you choose, make sure to test it thoroughly.
For more information on how these print templates interact with a clause library, please read the Clause Library Table section.
Print Template records are owned by their creator. Specifically, a Print Template record is owned by the user whose Login matches the Creator Login field.