3. Designer Interface
The Designer interface 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 are used to respond to actions taken by users (e.g., when a barcode is scanned) on the handheld while others are 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 and getting data from Business Central ).
The designer has no pre-determined width or height and 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 finding a specific event requires scrolling horizontally rather than scrolling vertically as well. For simpler applications, a single-screen layout is usually best.
Block Quick Reference
The following table is a quick reference of the different blocks. Details on usage are 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 Package is Scanned
|
Events | This event is triggered when a Package 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 is 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, bin, or package. If that fails and this block is not present an error is thrown, and called if this block is present. |
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 used when you do not 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 prompts the user to select a choice/option from a dropdown 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 prompts 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 Business Central. |
Get Property
|
Actions | Access the property values of controls on the page. |
Notification
|
Actions | Generate a notification sound or vibration for the user. |
Open Web
|
Actions | Opens the specified web page. |
Run Event
|
Actions | Call a Business Central event where you do not 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 Business Central 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 Property
|
Actions | Set the property values of controls on the page. |
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 Business Central 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 Business Central 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 line values to the application context. Variables based on column name. |