3. Designer Interface
The interface for designing applications consists of a pre-set number of blocks. Each control/block performs a specific task or encompasses a pre-defined event in the system. Some blocks will be used to respond to actions taken by users (e.g. when a barcode is scanned) on the handheld while others will be used to initiate actions for the user to respond to (e.g. asking for quantity) while other blocks are there merely to facilitate the application flow (e.g. sending/getting data from NAV).
The designer has no pre-determined width or height and as such can be scrolled indefinitely. However, a good practice to follow when making large applications is to put each starting event in a single row so that to find a specific event you need only scroll horizontally to find rather than scrolling vertically as well. For simpler applications laying out such that it fits on a single screen is usually best.
Block Quick Reference
The following table can be used as a quick reference of the different blocks. Additional details on usage will be provided in subsequent sections.
Control | Category | Description |
---|---|---|
fter a Row is Selected |
Events | |
After Item Reservation is Added |
Events | This event is triggered when a reservation is added via the reservation dialog. |
After Item Reservation is Changed |
Events | This event is triggered when a reservation is modified via the reservation dialog. |
After Item Reservation is Deleted |
Events | This event is triggered when a reservation is deleted via the reservation dialog. |
Custom Event |
Events | This block is used to break out functions into more manageable pieces. It can be called from within the application via the “Start Event” block or from a PDA Menu with a standard action of “Application Event”. |
When a Bin is Scanned |
Events | This event is triggered when a Bin barcode is scanned. |
When a Document is Scanned |
Events | This event is triggered when Document barcode is scanned. The types of Document barcodes are predefined (Sales Order, Transfer Order, Production Order, Warehouse. Shipment, etc.). |
When a License Plate is Scanned |
Events | This event is triggered when a License Plate barcode is scanned. |
When a License Plate is Started |
Events | This event is triggered when a PDA Menu with a standard action of “LP Create” is clicked and there is not an active License Plate. |
When a License Plate is Stopped |
Events | This event is triggered when a PDA Menu with a standard action of “LP Create” is clicked and there is an active License Plate. |
When a License Plate Template is Scanned |
Events | This event is triggered when a License Plate Template barcode is scanned. |
When a Location is Scanned |
Events | This event is triggered when a Location barcode is scanned. |
When a Tag is Scanned |
Events | This event is triggered when a Tag barcode is scanned. |
When an Item is Scanned |
Events | This event is triggered when an Item barcode is scanned. |
When Loading Document Data |
Events | This event is used to signify that a data grid/panel is required on the application page and then will be called when time to populate/update the grid data. |
When Quantity Should Change on a Row |
Events | This event is triggered when a PDA Menu with a standard action of “Change Qty” is clicked. |
When Text is Scanned |
Events |
This event is triggered when a Text barcode is scanned. First pass is to attempt to decode the Text barcode as an item. If that fails and this block is not present an error will be thrown. If this block is present then it will be called. |
When the Form Closes |
Events | This event is triggered just before the application closes. |
When the Form Opens |
Events | This event is triggered when the application first loads. |
Ask for a Date |
Interactions | This block can be used to prompt the user to select a date. |
Ask for a Number |
Interactions | This block can be used to request a decimal number from the user and should be used when you don’t require lot/serial or UOM information. |
Ask for Confirmation |
Interactions | Use this block to display a confirmation dialog to the user. |
Ask for Text |
Interactions | Use this block to ask the user for some input text. |
Capture Signature |
Interactions | Use this block to prompt the user for a signature. |
Choose From List |
Interactions | This block will prompt the user to select a choice/option from a drop down list. |
Choose From Table |
Interactions | Use this block to display a grid listing of options/rows that the user can select from. |
Choose With Buttons |
Interactions | This block will prompt the user to select a choice/option where each choice is a button on the dialog. |
Display a Message |
Interactions | Use this block to display a simple message. |
Display an Error |
Interactions | Display an error message to the user. |
Editable Panel |
Actions | Display an editable panel dialog to the user. |
Enter Quantity |
Interactions | Use this block to prompt the user to enter quantity. Dialog has options for lot, serial, expiry and units of measure. |
Show Assign LP |
Interactions | This block is used when assigning a License Plate to a document and allows the users to choose which items to use and the LP actions. |
Show LP List |
Interactions | Use this block to display a list of License Plates. |
Show Picture |
Actions | Show a picture to the user. |
Show Reservations |
Interactions | Displays the Item Tracking dialog for a line with options to add/modify/delete entries. |
Inspect Context |
Interactions | This block can be used to view all the current page variables. |
Add Header Label |
Actions | Add a label to the top of the application page. |
Close Form |
Actions | Close the form. |
Configure Fields |
Actions | Initializes the application fields. Required for scan behaviors, finding lines and other intrinsic behaviors. |
Display Mode |
Actions | Toggle the display mode between grid and card views. |
Find First Line With |
Actions | Find and select the first line in the grid/panel that matches the value in the column specified. |
Find a Matching Line |
Actions | Find a matching line in the grid/panel. Based on Find Line Templates in NAV. |
Open Web |
Actions | Opens the specified web page. |
Run Event |
Actions | Call a NAV event where you don’t require a result set to be returned. Messages/Errors are still displayed if returned. |
Run Event Set Table Field Value |
Actions | |
Run Event Set Value |
Actions | Call a NAV event to get a value result returned and populate the application variable specified with the result. |
Run Intent |
Actions |
Executes an Android Intent. Only usable on Android devices. |
Scan Barcode |
Actions | Simulate a barcode scan |
Set Status Bar |
Actions | Creates and updates the status bar text |
Set Title |
Actions | Set the title of the application screen. |
Show Remaining |
Actions | Toggle how the ‘open lines/qty’ label is shown in the top right of a document. |
Show Search Control |
Actions | Create a search/filter bar at top of the application page. |
Start an Application |
Actions | Launch a new application. |
Start Event |
Actions | Call an internal custom event to execute a sequence of blocks. |
Start License Plate |
Actions | Trigger the start license plate event and toggle any associated menus |
Stop License Plate |
Actions | Trigger the stop license plate event and toggle any associated menus |
Update Data |
Actions | Call a NAV event and expect a result set back that can either replace the entire dataset or just update existing lines. New lines are created/added as well. |
Using the PDA Configuration |
Context | Copy the NAV PDA Configuration settings to the application context. |
Using the Document Header |
Context | Copy the header values to the application context. Variables based on column name. |
Using the Last Scanned Barcode |
Context | Copy the last scanned barcodes values to the application context. |
Using the Selected Line |
Context | Copy the selected lines values to the application context. Variables based on column name. |