Template Px Engineering

Overview

When a Invoice is displayed, it uses a Px page. Therefore...

Because standard Px technology is used, any trained Niagara Engineer can modify a Px template or create an entirely new Px page. This guide describes the process involved in engineering the Px page and how extra additions can be made.

Structure

Because an Invoice may need to span onto multiple pages when saved as a PDF file, the standard Scroll and Canvas Panes are not used (like a default Px page created in Workbench). Instead, the Report Pane is used as the Root for the Px page. This is available from the Niagara Reporting. More information is given on using the Report Pane here. To manipulate the Panes being used on a Px page, try using the Widget Tree side bar from the Px Editor.

It's recommended that many Canvas Panes (available from the bajaui palette) be used on top of the Report pane. Each Canvas Pane represents a given section. Each Pane contains the necessary labels and images needed to form the graphical Invoice.

The Invoice information is primarily shown using Bound Labels. Each Bound Label has a binding with a relative ORD that references the given Invoice Property. New labels and bindings can be added to an Invoice. More information on all of the typical ORDs and associated BFormats statements (text with the percent symbol) are given below. For more information on producing Px pages click here.

Statements

Contents

Introduction

This section gives some information about the available relative ORDs (i.e. slot:tenant) and BFormat text (i.e. %addressLine1%) that are available to Engineers. Just as a reminder, here's an example of how an ORD and BFormat text could be applied...

Owner

Please note, the Owner has a Property called 'companyLogo'. This ORD can be used to load a custom image in a Px page. To use this image on an Invoice...

The following Properties normally use a Bound Label with the ORD configured to slot:owner

Name BFormat text
displayName %displayName%
description %description%
addressLine1 %addressLine1%
addressLine2 %addressLine2%
city %city%
state %state%
country %country%
postalCode %postalCode%
phoneNumber %phoneNumber%
faxNumber %faxNumber%
contactName %contactName%

Tenant

Please note, the Tenant has a Property called 'companyLogo'. This ORD can be used to load a custom image onto a Px page. To use this image on an Invoice...

The following Properties normally use a Bound Label with the ORD configured to slot:tenant

Name BFormat text
displayName %displayName%
description %description%
addressLine1 %addressLine1%
addressLine2 %addressLine2%
city %city%
state %state%
country %country%
postalCode %postalCode%
phoneNumber %phoneNumber%
faxNumber %faxNumber%
contactName %contactName%
accountNumber %accountNumber%
id %id%

Contract

The following Properties normally use a Bound Label with the ORD configured to slot:contract

Name BFormat text
displayName %displayName%
description %description%

Invoice

These statements make up part of the generated bill. Remember that BFormat statements can be used in conjunction with each other. For example, '%record.currency%%total%' to display '$512.34'.

The following Properties normally use a Bound Label with the ORD configured to slot:

Name BFormat text
total %total%
totalElectricInHoursUsed %totalElectricInHoursUsed%
totalElectricOutHoursUsed %totalElectricOutHoursUsed%
totalElectricHoursUsed %totalElectricHoursUsed%
totalElectricInHoursCharge %totalElectricInHoursCharge%
totalElectricOutHoursCharge %totalElectricOutHoursCharge%
totalElectricCharge %totalElectricCharge%
totalGasInHoursUsed %totalGasInHoursUsed%
totalGasOutHoursUsed %totalGasOutHoursUsed%
totalGasHoursUsed %totalGasHoursUsed%
totalGasInHoursCharge %totalGasInHoursCharge%
totalGasOutHoursCharge %totalGasOutHoursCharge%
totalGasCharge %totalGasCharge%
totalOutsideAirTempInHoursUsed %totalOutsideAirTempInHoursUsed%
totalOutsideAirTempOutHoursUsed %totalOutsideAirTempOutHoursUsed%
totalOutsideAirTempHoursUsed %totalOutsideAirTempHoursUsed%
totalOutsideAirTempInHoursCharge %totalOutsideAirTempInHoursCharge%
totalOutsideAirTempOutHoursCharge %totalOutsideAirTempOutHoursCharge%
totalOutsideAirTempCharge %totalOutsideAirTempCharge%
totalSewerInHoursUsed %totalSewerInHoursUsed%
totalSewerOutHoursUsed %totalSewerOutHoursUsed%
totalSewerHoursUsed %totalSewerHoursUsed%
totalSewerInHoursCharge %totalSewerInHoursCharge%
totalSewerOutHoursCharge %totalSewerOutHoursCharge%
totalSewerCharge %totalSewerCharge%
totalWaterInHoursUsed %totalWaterInHoursUsed%
totalWaterOutHoursUsed %totalWaterOutHoursUsed%
totalWaterHoursUsed %totalWaterHoursUsed%
totalWaterInHoursCharge %totalWaterInHoursCharge%
totalWaterOutHoursCharge %totalWaterOutHoursCharge%
totalWaterCharge %totalWaterCharge%
totalOtherInHoursUsed %totalOtherInHoursUsed%
totalOtherOutHoursUsed %totalOtherOutHoursUsed%
totalOtherHoursUsed %totalOtherHoursUsed%
totalOtherInHoursCharge %totalOtherInHoursCharge%
totalOtherOutHoursCharge %totalOtherOutHoursCharge%
totalOtherCharge %totalOtherCharge%
invoiceReference %record.invoiceReference%
timestamp (time when Invoice was generated) %record.timestamp.toDateString%
currency %record.currency%
startDate %record.startDate.toDateString%
endDate %record.endDate.toDateString%
includeTax (tax included?) %record.includeTax%
tax (calculated tax value) %tax%
tax (tax rate used in calculation) %record.calcTaxRatePercentage%
managementFee %record.managementFee%
facilitiesImprovementFee %record.facilitiesImprovementFee%
surcharge %record.surcharge%
adjustment %record.adjustment%
adjustmentDescription %record.adjustmentDescription%

Meter

An Invoice can be made up from a varying number of Meters. Therefore, the ORD for a particular Meter will vary. For example, slot:meters/electric or perhaps slot:meters/theMeterReferenceGoesHere. The name of the Meter is defined by the Meter's 'reference' Property. By default this is set to %meterType.tag%. The default text uses the text of whatever the meterType Property is set to. For example, meterType could be any of the following...

If there were two Meters set to 'electric' then one would be slot:meters/electric and then other would be slot:meters/electric1 etc. However, please note the Meter reference Property could be changed from %meterTag.tag% to somethingElse whereby the ORD reference would become slot:meters/somethingElse.

The following Properties normally use a Bound Label with the ORD configured to slot:meters/theMeterReferenceGoesHere

Remember that BFormat statements can be used in conjunction with each other. For example, '%record.currency%%record.inHoursCharge%' to display '$1024.77'.

Name BFormat text
displayName %displayName%
meterType %meterType%
currency %record.currency%
invoiceReference %record.invoiceReference%
percentage (the Meter Percentage as configured on a Contract %record.percentage%
inHoursCost %record.inHoursCost%
inHoursUsed %record.inHoursUsed%
inHoursCharge %record.inHoursCharge%
outHoursCost %record.outHoursCost%
outHoursUsed %record.outHoursUsed%
outHoursCharge %record.outHoursCharge%
firstDateTime (the timestamp of the first record used in the calculation) %record.firstDateTime%
lastDateTime (the timestamp of the last record used in the calculation) %record.lastDateTime%
firstReading (the value of the first record used in the calculation) %record.firstReading%
lastReading (the value of the last record used in the calculation) %record.lastReading%

Utility

Utility information is accessed through the Meter for the Invoice.

The following Properties normally use a Bound Label with the ORD configured to slot:meters/theMeterReferenceGoesHere/utility

Name BFormat text
displayName %displayName%
description %description%
addressLine1 %addressLine1%
addressLine2 %addressLine2%
city %city%
state %state%
country %country%
postalCode %postalCode%
phoneNumber %phoneNumber%
faxNumber %faxNumber%