The report template list provides you a list of templates.
There are 2 lists avaliable when working with reports. The default System Templates and Your Templates. These are selectable at the top.
System Templates have been generated to give you a working starting point in TransVirtual.
There is nothing that you can change here, but its important to understand this for creation of your templates
Template Type: Template description describing its purpose
Priority: Priority is critical to templates. When the system decides the report to print it works through the criteria required and selects the template with the higher. You cannot change the defaults, but your customised template will need to have a higher priority number than the defaults at a minimum.
Paper Size: The designed paper size for the report
Expects Logo: Whether the template expects a logo
In time you may wish to change the look and feel of your documents, invoices and labels .
To create your own template you click on a base System Template you would like to customise and on the right hand side click on "Copy Template"
Provide a Template Title and click on Copy
Click on the Your Templates tab at the top and you will see your copied template ready for changing.
Select the template on the left, and the setting for it are on the right.
Here you can see the following;
Template Type: The original template this was copied from
Template Title: The Name of this Template
Priority: The priority number you have allocated to this template (Highest Number is selected after search criteria)
Active: Whether this template is active to be used
Created By: Who originally created this template
Copy Template: Create another template based on this template
Report Designer: The tool to edit/modify the template. Click Here for details
Preview Template: See a sample of the output of the template
Data Filter: Assign the criteria for using this template. Click Here for instructions on using the Data Filter
The layout at the top of the designer is similar to Microsoft Word enabling you to change fonts, sizes, wrapping etc
"Home" tab: You can configure text, alignment and order within this section.
"Page" tab: You can configure the page sizing of the document and change the view.
"Layout" tab: You can configure the layout and height positioning of objects on the document.
Right click on a page tab
Select New Page
A new page is available to configure
Click on the preview tab and the system will generate the report with sample data.
Here you can see the output of your created template and adjust the viewing settings test & review your template
Each tool creates an object on the page, each has its own purpose and configuration options.
Object Properties provide the configuration of the objects and there behavior.
Dictionary provides the connector to TransVirtual data fields.
MS SQL[SQL Connection] is the connection to the TransVirtual database to access the respective data. The available data changes based on the type of report your creating.
Select the object on the page you would like to add the field to.
Right click the object and click on "Design"
On the menu on the left, the expression is the layout of what will be displayed. Plain text is presented as seen, Any data fields about a consignment are shown in brackets "{Data.Field}".
You add your label and then navigate on the right hand side to Data Sources -> MS SQL[SQL Connection] and select your relevant data.
Select the "Text" tool from the Standard Component Menu and draw a box on the page in the required location
Right click the object and click on "Design"
On the menu on the left, the expression is the layout of what will be displayed. Plain text is presented as seen, Any data fields about a consignment are shown in brackets "{Data.Field}".
You add your label and then navigate on the right hand side to Data Sources -> MS SQL[SQL Connection] and select your relevant data.
Some
thought needs to take place when designing data table output. The data
could be 1 row or it may be 15. So defining an area for displaying this
data is required so it doesn't overwrite text.
Setting Up the Base
Select the "Panel" tool from the Standard Component Menu and draw a box on the page in the required location ensuring the box covers the desired area on the page.
Setting Up the Header
From
the Bands tools menu, select a Column Header and click in the panel box
made in previous one. The Band will be orange in colour and will snap
to the top of the panel box
Bands
consist of 2 parts - The header in the solid colour with name of the
object & The light colour section that contains your information.
Select
the "Text" tool from the Standard Component Menu and draw a box on the
light coloured section, go into the design view and enter your first
column name. Repeat for reach column heading.
Setting Up the Data Output
From
the Bands tools menu, select a Data and click in the bottom of the
panel box made earlier. This will bring up a window to select the data
source.
Under the MS SQL header select the type of information you are reporting on and click ok.
The Band will be blue in colour and will snap below the header in the panel box.
The
Band consists of 2 parts - The header in the solid colour with name of
the object with is Data Source & The light colour section that
contains your information.
Select
the "Text" tool from the Standard Component Menu and draw a box on the
light coloured section, go into the design view and insert your data
field. Repeat for reach field required in the report.
Things to remember:
Without the panel created first up, the header and data bands snap to the top of the page.
When creating the text boxs in the heading the size of the box is displayed (also whilst resizing) noting these can help speed up the data layout.
This will show you the available helper functions to display data in meaningful ways on you report.
URL
Code: {Url()}
Returns: http://www.transvirtual.com.au/
Convert Weight
Code: {ConvertWeight(Value, From UOM, To UOM)}
Available Units Of Measure
Function Code | Name |
kgs | Kilogram |
oz | Ounce |
lb | Pound |
ton | Ton (US) |
tonne | Tonne |
Returns: Value
Convert Length
Code: {ConvertLength(Value, From UOM, To UOM)}
Available Units Of Measure
Function Code | Name |
m | Meter |
cm | Centimeter |
mm | Millimeter |
inc | Inch |
ft | Foot |
yd | Yard |
Returns: Value
Get Larger Number
Code: {GetLargerNumber(Value1, Value2)}
Example: {GetLargerNumber(100, 200)}
Returns: Value
Route Zone Detail
You would use this for example if your agent requires routing information on the label.
Code: {RouteZoneDetail(Consignment ID, Agent ID, Field Required)}
Example: {RouteZoneDetail(ConsignmentItems.IdConsignment, null, "long") }
Field Required: "long" or "short" zone Name
Returns: Value
Format Type
This is used in conjunction with other rules to get required output.
Code: {FormatType(Type Name, Value)}
Example: {FormatType("InvoiceDueDateType", 1) }
Returns: The display name of the type
Format Currency Margin
Code: {FormatCurrencyMargin(Value, Margin)}
Example: {FormatType(10.10, 15) }
Returns: $11.62
Format Range
Code: {FormatRange(from, to)}
ESample: {FormatType(1, 5) }
Returns: "1,2,3,4,5"
GS1 Barcode
To create a GS1 barcode the sender must have a GS1 assigned company number. Visit here for details https://www.gs1au.org. The GS1 Consignment Prefix can be entered in the customer card as a "Consignment Prefix"
This is used as part of the GS1 barcode generator.
Code: {Gs1Barcode(Consignment ID, "401", "402")}
Example: {Gs1Barcode(data.IdConsignemnt, “401”, “420”)}
Returns: (401)Number(420)2322
GS1 Code | Content |
401 | Consignment Number |
402 | Receiver Postcode |
421 | Receiver Suburb and Postcode |
422 | Sender Suburb |
Format Currency
Code: {formatCurrency(Value)}
Example: {FormatCurrency(Invoice.InvoiceBaseTotal + Invoice.InvoiceAdditionalServiceTotal)}
Code: {formatCurrency(Value, CurrencyID)}
Code: {formatCurrency(Value, Hide If Zero)}}
Example: {FormatCurrency(Invoice.InvoiceBaseTotal + Invoice.InvoiceAdditionalServiceTotal, true)}
Format Hours
Code: {FormatHours(object val)}
Format Seconds
Code: {FormatHours(object val)}
Format Number
Code: {FormatNumber(object val)} or
{FormatNumber(object val, bool hideIfZero)}
Remove Empty Lines
Code: {RemoveEmptyLines(Value)}
Example: {RemoveEmptyLines(Invoice.CustomerName
+ '\n' + Invoice.CustomerAddress1 + '\n' + Invoice.CustomerAddress2 +
'\n' + Invoice.Suburb +' ' + Invoice.State+", "+ Invoice.Postcode)}
Returns: A string with no empty lines
Format Date
Code:{FormatDate(Value)}
Example: {FormatDate(Invoice.InvoiceDate)}}
Returns: 29/07/2017
Date Time Now
Code: {FormatDateTime()}
Example: {FormatDateTime(DateTime.UtcNow)}
Returns: Current Date Time
Format Date Time
Code: {FormatDateTime(Value)}
Example: {FormatDateTime(Invoice.InvoiceDate)}}
Returns: 29/07/2017 13:52
Format Date Long
Code: {FormatDateLong(Value)}
Example: {FormatDateLong(Invoice.InvoiceDate)}}
Returns: July 29, 2017
Format DateTime Long
Code: {FormatDateTimeLong(Value)}
Example: {FormatDateTimeLong(Invoice.InvoiceDate)}}
Returns: July 29, 2017 1:45:30 PM
Format Time Long
Code: {FormatTime(Value)}
Example: {FormatDateLong(Scan.Time)}}
Returns:
1:45:30 PM
Images
Code: {LoadImage(id)} example Dangerous Goods
Consignment Logo's
{LoadConsignmentLogo(idCustomerAgent, idCustomerAgent2nd)}
{LoadConsignmentLogo(long? idCustomerAgent)}
Label Logo's
{LoadLabelLogo(long? idCustomerAgent, idCustomerAgent2nd)}
{LoadLabelLogo(long? idCustomerAgent)}
Invoice Logo's
LoadTVInvoiceLogo()
LoadInvoiceLogo()