You can combine some of the variables to achieve more complex results. See the examples of using variables in different scenarios.
You can use variables and present your data in the form of a table with columns and headers. Here's an example of syntax:
Use the opening section variable, starting with #
(for example, {#markups}
) and closing one with /
(for example, {/markups}
).
Wrong usage:
Correct usage:
Between opening and closing variables, you can list all the necessary data, like {name} or {description}.
The result in generated document:
Scenario: You want to create a document containing the comments added throughout the lifetime of a change order.
The example shows {#rfq.comments}
as the opening tag for the variables and {/rfq.comments}
as the closing tag. The other related variables must be between these two variables.
For example, an RFQ with the following comments section:
Adding a table into a Word document with the following:
Results in:
Only one line of a table needs to be filled out in the document template. The software builds the table with the specified information based on the data in Cost Management.
Scenario: You want to create a contract with only the subtotal of SOV subitems displayed. You don’t want a parent item to be visible to a subcontractor. To do that, use these variables from the document template:
Also, you don’t want to show the Unit Cost and Amount values as $0. You can replace $0 with the word “Included”. How to do that? Enrich already used variables:
The outcome in the generated contract will look like this:
To organize CORs or OCOs by the main contract's Schedule of Values in your document template. For CORs, use this pattern:
And for OCOs, replace rco
with oco
.
To remove empty line items from a payment application use the conditional expression {#amount!="0.00"}
at the beginning of a table and {/}
at the end of the line. For example:
Scenario: You have created a change order type called “Allowance Transfers”.
And want to see the approved owner changes for these allowances in the Excel spreadsheet. How to do that?
List “Owner Change Order” for the column in the Excel spreadsheet.
Apply the new type to an OCO.
Match the name to the type in the Excel spreadsheet.
Scenario: You’re creating a change order document (for example, OCO) and want to have two separate tables within. One for regular cost items with a subtotal and the second for markup cost items. You want to add total change order pricing as well. How to do that? Here’s an example of used variables in a document:
To eliminate subtotals from payment applications or contracts, you can enter your payment line items with {#children.length===0}{xxx}{/}
. For example:
You can use filter functionality on document generation. For example, to only show the Risk Contingency item, use {#payment.columnView.rootItems | filter:“name”:“Risk Contingency”}
variable:
Result:
Members can also separate original Schedule of Values with all approved SCOs into two separate worksheets.
To generate a worksheet that includes only the Original SOVs, use the following variable:
{#payment.lineView.rootItems | filter:"associationType":"SOV"} {/payment.lineView.rootItems | filter:"associationType":"SOV"}
To generate a worksheet that includes only the approved SCOs, use the following variable:
{#payment.lineView.rootItems | filter:"number":"Change Orders"} {/payment.lineView.rootItems | filter:"number":"Change Orders"}
To refer to a budget code and name in the document template, use this formula:
For example, when the Schedule of Values for the contract looks like this:
The presented formula generates this:
In situations where administrators don't want to make contingency cost visible in the generated document, filters can be used:
The result:
To show associated COR and OCO number use the following variables:
{this.costItem.corNumber}
{this.costItem.ocoNumber}
The result: