Compilation of known features/additions available in V5
This thread was built by scraping feature discussions and initial testing in a Staff conversation before it was released to the V5 Beta Team. It is therefore a bit messy and disorganized, but the intent was to try and document new things as they were developed and tested, so that we wouldn’t lose track of things that were introduced. Many of the features listed herein are very brief and only serve to remind us what was added as development continued. As time permits, some of these features will be made into Tutorials in order to explain things in more detail. This thread should cover most features that were built and tested up to the Public V5 release, which was v5.1.47
Built-in Reports have become Custom Reports
The standard hard-coded Reports such as Workperiod Report have all been converted to Custom Reports, so they can be modified.
To generate them for first use, go to Program Settings > Maintenance > Create default Reports
Program Settings > Maintenance :
Rebuild Default Buttons
Create Default Navigation Buttons
Upgrade Old Rules (v2)
Create default Reports
Scripting Engine switched to full JScript implementation
While most of your scripting will be in Automation > Scripts
, you can also use certain JScript functions in Tile Templates, Printer Templates, Action Constraints and Parameters, and Widget Captions.
Template Previews:
Printer Template Preview
Report Template Preview
Inventory:
Warehouse screen displays Transaction Document Buttons
Inventory Transactions can be created outside of Management
Database:
Database connection editing screen will test configuration before updating actual connection string.
When database connection fails at runtime we’ll retry connection 5 times with an exponentially increasing delay up to 30 seconds. I hope that will handle a lot of connection issues.
Navigation Screen customization
Local Settings > Display > Allow Custom Navigation
When Navigation Customization is Enabled, go to Program Settings > Maintenance
and click the button for Create Default Navigation Buttons
. Now the Navigation buttons have become Automation Commands
mapped to the Navigation screen. You can change their appearance there, including their color and what text is displayed on them.
The Automation Command buttons, as they appear on the Navigation Screen are referred to as Tiles. Within the Automation Command properties under Navigation you can define a Template to control the Tile content, choose a Symbol
to display, and set an Auto-refresh rate
in seconds.
You can right-click on the Nav Screen to enable customization of the Tiles, such as Size, Location, and Text Alignment.
- Mapping a rule is not needed if module button headers matches to module names.
- If you want to execute rules you can give a different name for button so it will execute rule instead of displaying module.
- Entering a content template also disables default command and executes automation command.
- Automation Command > Navigation section has a few settings for button display.
- Symbol field: use charmap.exe for Segoe UI Symbol font to get “icons”.
- Printer Template Tags and Custom Report Tags and @@SQL supported in the Template section.
- Navigation screen layout (button sizes and locations) are stored locally. Other settings (symbol, template, color, etc) are stored in database. This lets users adjust their screens locally on their Terminal.
New Action: Navigate Module
Other than POS Module this action will switch to a sub screen that defined under Parameter setting.
Warehouses > Warehouse Name
Tickets > Filter Name
Reports > Report Name
Entity > Screen Name
Accounts > Screen Name
Rule Debugger
Local Settings > Display
Provides insight into how your Rules are behaving, which are firing, and when.
New Report Tags:
{ENTITY STATE MINUTES:X}
{ENTITY NAME STATE MINUTES:Employees.Melissa:TCStatus:hh'-'mm}
{ENTITY STATE MINUTES BY NAME:<entityTypeName>.<entityName>:<stateName>:<format [mm]>}
{ENTITY STATE MINUTES BY NAME:Employees.Melissa:PunchIn:hh\.mm}
{ENTITY CUSTOMDATA BY NAME:<ET>.<EN>:<FN>}
{ENTITY STATE BY NAME:<ET>.<EN>:<ST>}
{REPORT INVENTORY:<inventory item name>:<warehouse name>}
Custom Report Syntax for Grouping
[Payment Details:1, 1, 1]
{REPORT PAYMENT DETAILS:P.Name,P.Amount.Percent,P.Amount.Sum:Payment.Amount > 0}
[Ticket Details:1, 1, 1]
{REPORT TICKET DETAILS:T.TicketType,T.Id.Count,T.TotalAmount.Sum}
Time Clock Template: (shows JScript Ternary and Floor operators)
[People:1]
Time Clock
@Myrna,Merlin,Jordani,Julia
[='{SETTING:TCStatus $1}'=='Clocked In' ? '$1 ::: ' + F(Math.floor({SETTING:TCDuration $1} / 60),'00') + ':' + F({SETTING:TCDuration $1} % 60,'00') : '']
Dark Theme
Local Settings > Display
Use http://color.adobe.com to discover some good looking colors for your taste.
Modifiers of Modifiers (similar to prefixes, except they are suffixes, and behavior is slightly different)
Cheese
Cheese.Hard
Cheese.Soft
Cheese.Hard.Yellow
Cheese.Soft.Yellow
Cheese.Hard.White
Cheese.Soft.White
{CALL:X} Tag
Calls a JScript function via its Handler.
Script handler: calculator
function div(x,y) {
return x/y;
}
Call it via <handler>.<function>
syntax
{CALL:calculator.div(4,3)}
Helper functions
string web.Download(string url, string regex = "")
string web.Upload(string url, string content)
string file.ReadFromFile(string fileName)
void file.WriteToFile(string fileName, string content)
void file.AppendToFile(string fileName, string content)
Script handler: weather
function current(city,country)
{
var u = 'http://www.webservicex.net/globalweather.asmx/GetWeather?CityName='+city+'&CountryName='+country;
return 'Current Weather<linebreak/>'+city+': ' + web.Download(u,'<Temperature>([^&]+)');
}
Call it via handler.function()
{CALL:weather.current('İstanbul','Turkey')}
Formatting tags:
These all require a closing tag, except those which are <implicit/>
. For example:
<bold>some bold text</bold>
<linebreak/>
<italic>some italicized text</italic><br/>
<underline>this text is underlined</underline>
…
<bold>
<extrabold>
<thin> : thinner style
<italic>
<underline>
<b>, <u>, <i> : short for bold, underline, italic
<img> : displays an image (URLs supported)
<linebreak/> : forces a NewLine (NL)
<br/> : stops auto-NL in Ticket Lister, fine-tune with <br/>
<sym> : displays symbol from Segoe UI Symbol font
<size x> : font size
<font x> : font name
<color x> : font color
<block margin color alignment width>
: margin=Left,Top,Right,Bottom
: alignment=left,right,center,justified
<panel color alignment>
: alignment=left,right,center
Content format support for ALL buttons (symbols,pictures,formatting,etc)
Able to execute SQL scripts inside JScripts using sql.X()
Helper
See later post for syntax and operation of the sql.X()
Helper.