Reader small image

You're reading from  Programming Microsoft Dynamics 365 Business Central - Sixth Edition

Product typeBook
Published inApr 2019
PublisherPackt
ISBN-139781789137798
Edition6th Edition
Right arrow
Authors (3):
Marije Brummel
Marije Brummel
author image
Marije Brummel

Author, programmer, consultant, project manager, presenter, evangelist, sales person, and a trainer. It's next to impossible to find someone as experienced as Marije Brummel in the Business Central community. Marije received the Microsoft MVP and the NAVUG All-Star awards among several others. She has chaired the Dynamics Credentialing committee and has authored official Microsoft Exam materials. She's the go-to girl for performance troubleshooting and upgrade challenges. One of her biggest achievements was introducing Design Patterns into the Business Central community. Her books, blog articles, and YouTube videos have influenced almost everyone involved with Business Central. She enjoys the outdoors with her dog and loves spending time with her family.
Read more about Marije Brummel

David Studebaker
David Studebaker
author image
David Studebaker

David Studebaker has been designing and developing software since 1962 as a developer, consultant, manager, and business owner. In 1967, David coauthored the first general-purpose SPOOL system, an AT&T / IBM joint project. He has been a founding partner in several firms, most recently Studebaker Technology and Liberty Grove Software. David's publications include a decade of technical reviews for ACM Computing Reviews and a number of articles on shop floor data collection. David originated the Packt series of books on programming Dynamics Business Central (aka Dynamics NAV). He has a BS in mechanical engineering from Purdue University and an MBA from the University of Chicago. He is a life member of the Association for Computing Machinery.
Read more about David Studebaker

Christopher D. Studebaker
Christopher D. Studebaker
author image
Christopher D. Studebaker

Chris Studebaker was a certified environmental consultant working with manufacturing facilities to meet national and state regulations before he started working with Navision in 1999. After working on regulatory reporting, data analysis, project management, and subcontractor oversight, Chris has used those skills to sell, develop, and implement NAV for the past 20 years. He has specialized in retail, manufacturing, job shop, and distribution implementations, mostly in high-user-count, high-data-volume applications. Chris acts in a consulting and training role for customers and for peer NAV professionals. He has a Bachelor of Science degree from Northern Illinois University and has done graduate work at Denmark Technical University.
Read more about Christopher D. Studebaker

View More author details
Right arrow
Pages - The Interactive Interface
"Design is not just what it looks like and feels like. Design is how it works."
– Steve Jobs
"True interactivity is not about clicking on icons or downloading files, it's about encouraging communication."
– Ed Scholssberg

Pages are Business Central's object type for interactively presenting information. The page rendering routines that paint the page on the target display handle much of the data presentation details. This allows a variety of clients to be created by Microsoft, such as a web browser resident client, the Windows RTC client, and a universal client that can be used on all devices, such as phones, tablets, and other platforms (iPad, Android, and Windows). Independent Software Vendors (ISVs) have created mobile clients and even clients targeted by devices other than video displays...

Page design and structure overview

Pages serve the purpose of input, output, and control. They are views of data or process information designed for onscreen display only. They are also user data entry vehicles.

Pages are made up of various combinations of controls, properties, actions, triggers, and AL code, which are briefly explained here:

  • Controls: These provide the users with ways to view, enter, and edit data; choose options or commands; initiate actions; and view status.
  • Properties: These are attributes or characteristics of an object that define its state, appearance, or value.
  • Actions: These are menu items that may be icons.
  • Triggers: These are predefined functions that are executed when certain actions or events occur.

The internal structure of a page maps to a tree structure, some of which is readily visible in the page designer display while the rest is in the background.

Page design guidelines

Good design practice dictates that enhancements integrate seamlessly with the existing software, unless there is an overwhelming justification for being different. When we add new pages or change existing pages, the changes should have the same look and feel as the original pages, unless the new functionality requires significant differences. This consistency not only makes the user's life easier, it makes support, maintenance, and training more efficient.

There will be instances where we will need to create a significantly different page layout in order to address a special requirement. Maybe we will need to use industry-specific symbols, or we will need to create a screen layout for a special display device. Perhaps, we will create a special dashboard display to report the status of work queues. Even when it will be different, we should continue to be guided by the environment and context in which our new work will operate.

Business Central page structure

Let's take a look at what makes up a typical page in the Business Central web client. The page in the following screenshot includes a list page at its core (the content area):

Here is a brief description of all of these options:

  • The title bar (1) displays page caption and product identification.
  • The company indicator (2) acts as a home button. It allows the user to navigate to the Role Center or to refresh the Role Center depending on where the user is at the moment of using the link:

  • The filter button is where the user controls the filtering to be applied to the page display.
  • If we click on the down-facing arrowheads in the filter button, child menu options will be displayed in a drop-down list, as shown in the following screenshot. The same list of options subordinate to Sales Orders is displayed both in the drop-down menu from the filter button and in the detailed list of options in the navigation pane:

  • The search field (4) allows users...

Types of pages

Let's review the types of pages available for use in an application. Then, we will create several examples for our WDTU Radio Station system.

Each time we work on an application design, we will carefully need to consider which page type is best to use for the functionality we are creating. Types of pages available include Role Center, HeadlinePart, list, card, List Part, Card Part, List Plus, document, worksheet, navigate page, ConfirmationDialog, and StandardDialog. Pages can be created and modified by the developer and can be personalized by the administrator, superuser, or user.

Role Center page

Users are each assigned a Role Center page as their home page in Business Central—the page where they land when first logging into Business Central. The purpose of a Role Center page is to provide a task-oriented home base that focuses on the tasks that the user typically needs in order to do his/her job on a day-to-day basis. Common tasks for any user should be no more than one or two clicks away.

The standard Business Central distribution includes predefined Role Center pages, including generic roles such as the bookkeeper, sales manager, and production planner. Some of the provided Role Centers are richly featured and have been heavily tailored by Microsoft as illustrations of what is possible. On the other hand, some of the provided Role Centers are only skeletons, acting essentially as placeholders.

It is critical to understand that the provided Role Center pages are intended to be templates, not final deliverables.

Central to each Role Center page is the...

HeadlinePart page

HeadlinePart pages are embedded in the Role Center similar to activities. The part is designed to give the user insight into how the company is performing using the most important Key Performance Indicators (KPIs). As an option, machine learning can be used to provide predictive analytics:

List page

List pages are the first pages accessed when choosing any menu option to access data. This includes all of the entries under the buttons on the navigation pane. A list page displays a list of records (rows), one line per record, with each displayed data field in a column.

When a list page is initially selected, it is not editable. When we click on the vertical dots an entry in a list, either an editable card page or an editable list page entry is displayed. Examples of this latter behavior are the reference table pages, such as postcodes, territories, and languages. A list page can also be used to show a list of master records to allow the user to visually scan through the list of records or to easily choose a record on which to focus.

List pages may optionally include FactBoxes. Some Business Central list pages, such as customer ledger entries, allow editing of some fields (for example, invoice due dates) and not of other fields.

The following screenshot shows a typical list...

Card page

Card pages display and allow updating of a single record at a time. Card pages are used for master tables and setup data. Complex cards can contain multiple FastTabs and FactBoxes, as well as display data from subordinate tables. For example, a card page image for the Customer Card, page 21, follows with the General and Shipping FastTab expanded and the other FastTabs (Address & Contact, Invoicing, and Payments) collapsed:

Document page

Document (task) pages have at least two FastTabs in a header/detail format. The FastTab at the top contains the header fields in a card style format, followed by a FastTab containing multiple records in a list style format (a List Part page). Some examples are Sales Orders, Sales Invoices, Purchase Orders, Purchase Invoices, and Production Orders. The document page type is appropriate whenever we have a parent record tied to subordinate child records in a one-to-many relationship. A document page may also have FactBoxes. An example, the SALES ORDER document page follows with two FastTabs expanded and four FastTabs collapsed:

FastTabs

FastTabs, as shown in the preceding CUSTOMER CARD and SALES ORDER screenshots, are collapsible/expandable replacements for traditional left-to-right form tabs. FastTabs are often used to segregate data by subject area on a card page or a document page. In the preceding screenshot, the General and Lines FastTabs are expanded and the remaining FastTabs are collapsed. Individually-important fields can be promoted so that they display on the FastTab header when the tab is collapsed, allowing the user to see this data with minimal effort. Examples appear on the Sales Orders collapsed Invoice Details and Prepayment FastTabs. Promoted field displays disappear from the FastTab header when the FastTab is expanded.

List Plus page

A List Plus page is similar in layout to a document page as it will have at least one FastTab with fields in a card type format and one FastTab with a list page format. Unlike a document page, a List Plus page may have more than one FastTab with card format fields and one or more FastTabs with a list page format, while a document page can only have a single list style subpage. The card format portion of a List Plus page often contains control information determining what data is displayed in the associated list, such as in page 113, BUDGET, which is shown in the following screenshot:

A List Plus page may also have FactBoxes. Other examples of List Plus pages are page 155, Customer Sales, and page 157, Item Availability by Periods.

Worksheet (journal) page

Worksheet pages are widely used in Business Central to enter transactions. The worksheet page format consists of a List page style section showing multiple record lines in the content area, followed by a section containing either additional detail fields for the line in focus or containing totals. All of the journals in Business Central use worksheet pages. Data is usually entered into a journal/worksheet by keyboard entry, but in some cases via a batch process.

The following screenshot shows a worksheet page, Sales Journals—page 253:

ConfirmationDialog page

This is a simple display page embedded in a process. It is used to allow a user to control the flow of a process. A sample ConfirmationDialog page is shown in the following screenshot:

StandardDialog page

The StandardDialog page is also a simple page format to allow the user to control a process, such as Copy Tax Setup (page 476). The StandardDialog page allows the entry of control data, such as that shown in the following screenshot:

Request page

A request page is a simple page that allows the user to enter information to control the execution of a report or XMLport object. Request pages can have multiple FastTabs, but can only be created as part of a report or XMLport object. All request page designs will be similar to the following screenshot for the Item PRICE LIST (report 715) request page:

Page parts

Several of the page types we have reviewed so far contain multiple panes, with each pane including special purpose parts. Let's look at some of the component page parts available to the developer.

Some page parts compute the displayed data on the fly, taking advantage of FlowFields that may require considerable system resources to process the FlowField calculations. As developers, we must be careful about causing performance problems through overuse of such displays.

FactBox area

The FactBox area can be defined on the right side of certain page types, including card, list, List Plus, document, and worksheet. A FactBox area can contain page parts (Card Part or List Part), chart parts, and system parts (notes, MyNotes, or record links). A variety of standard Card Parts, List Parts, and charts that can be used in FactBoxes are available. System parts cannot be modified. All of the others can be enhanced from the standard instances, or new ones may be created from scratch.

Card Parts and List Parts

Card Parts are used for FactBoxes that don't require a list. Card Parts display fields or perhaps a picture control. (Business Central Help contains an example of including a .NET add-in within a FactBox to display a chart). An example of the Customer Statistics FactBox (page 9,082—Customer Statistics Factbox) is shown in the following screenshot:

List Parts are used for FactBoxes that require a list. A list is defined as columns of repeated data. No more than two or three columns should appear in a FactBox list. The following screenshot shows the three column My Items FactBox List Part (page 9,152):

Charts

The Business Central distribution includes a charting capability that is based on a control add-in created with .NET code written outside of AL and integrated into Business Central. An example is the Trailing Sales Orders chart in a Factbox page part (page 760) that appears in the Order Processor Role Center (page 9,006). The following screenshot is of that chart:

The Cash Flow Chart Example article (https://docs.microsoft.com/en-us/previous-versions/dynamicsnav-2016/hh169415(v=nav.90)) in the Business Central Developer and IT-pro help describes how to create charts using the chart control add-in.

Page names

Card pages are named similarly to the table with which they are associated, with the addition of the word "Card," for example, Customer table and Customer Card, Item table and Item Card, Vendor table and Vendor Card.

List pages are named similarly to the table with which they are associated. List pages that are simple not-editable lists have the word "List" associated with the table name, for example, Customer List, Item List, and Vendor List. For each of these, the table also has an associated card page. Where the table has no associated card page, the list pages are named after the tables, but in the plural format, for example, Customer Ledger Entry table and Customer Ledger Entries page, Check Ledger Entry table and Check Ledger Entries page, Country/Region table and Countries/Regions page, and Production Forecast Name table and Production Forecast Names page.

The single-record setup tables that are used for application control information throughout...

In-client designer

The in-client designer is accessed from within the web client, through Settings | Design. The page designer can be opened from anywhere in the application, but its use may be limited in some areas:

Designer

When we are in design mode and click on any part, it will highlight the section, as you can see in the following screenshot:

We can proceed to select a specific control within the section and choose to remove it:

If we select a FastTab, we can change the name, for example, to Customer.

When we click on the more button in the designer and select + Field, we will get a list of controls that can be added to the page, which we can drag and drop into the page:

When we move the Name 2 field into the newly renamed Customer tab, we can drop it right under the Name field:

Once we have done all of the work that is feasible within the in-client designer, we will click on Stop designing. The in-client designer will ask for an Extension Name and Publisher. We will select Download Code and click Save, as shown in the following screenshot:

In the web browser (in our case, Google Chrome), a downloaded ZIP file will pop up that we have to save somewhere on our local computer:

The next step...

Page components

All pages are made up of certain common components. The basic elements of a page object are the page triggers, page properties, controls, control triggers, and control properties.

Page triggers

The following screenshot shows page triggers. The Help section's Page and Action Triggers provides good general guidance to the events that cause each page trigger to fire. Note that the OnQueryClosePage trigger isn't related to any query object action:

In general, according to best practices, we should minimize the AL code placed in page triggers, putting code in a table or field trigger or calling a codeunit library function instead. However, many standard pages include a modest amount of code supporting page-specific filter or display functions. When we develop a new page, it's always a good idea to look for similar pages in the standard product and be guided by how those pages operate internally. Sometimes, special display requirements result in complex code being required within a page. It is important that the code in a page be used only to manage the data display, not for data modification.

To execute AL code in pages, you can also use events. Each...

Page properties

We will now look at the properties of the Radio Show List page we created earlier. The list of available page properties is the same for all page types. The values of those properties vary considerably from one page to another, even more from one page type to another. The following screenshot shows a subset of the possible properties using Ctrl + spacebar in our Radio Show List page (page 50100):

We can see that many of these properties are still in their default condition (they are not shown in bold letters). The following are the properties with which we are most likely to be concerned:

  • Caption and CaptionML: This is the page name to be displayed, depending on the language option in use.
  • Editable: This determines whether or not the controls in the page can be edited (assuming the table's editable properties are also set to Yes). If this property is set to Yes, the page allows the individual control to determine the appropriate editable property value...

Inheritance

One of the attributes of an object-oriented system is the inheritance of properties. While Business Central is object based rather than object oriented, the properties that affect data validation are inherited. Properties such as decimal formatting are also inherited. If a property is explicitly defined in the table, it cannot be less restrictively defined elsewhere.

Controls that are bound to a table field will inherit the settings of the properties that are common to both the field definition and the control definition. This basic concept applies to inheritance of data properties, beginning from fields in tables to pages and reports, and then from pages and reports to controls within pages and reports. Inherited property settings that involve data validation cannot be overridden, but all others can be changed. This is another example of why it is generally best to define the properties in the table for consistency and ease of maintenance, rather than defining them for each...

WDTU page enhancement – part 1

Before we move on to learn about controls and actions, let's do some basic enhancement work on our WDTU Radio Show application. In Chapter 1, Introduction to Business Central, in the Getting started with application design section, we created several minimal pages, and later added new fields to our Radio Show master table (table 50100). We'll now enhance the Radio Show's list and card page to include those added fields.

Because our previous page development work resulted in simple pages, we have the opportunity to decide whether we want to start with a new page snippet and replace our original pages or use the page designer to modify the original pages. If we had done any significant work on these pages previously in the page designer, the choice to go right to the page designer would be easy. Let's do a quick evaluation to help us to make our decision. First, let's take a look at the existing Radio Show List page:

We want...

Page controls

Controls on pages serve a variety of purposes. Some controls display information on pages. This can be data from the database, static material, pictures, or the results of an AL expression. Container controls can contain other controls. Group controls make it easy for the developer to handle a set of contained controls as a group. A FastTabs control also makes it easy for the user to consider a set of controls as a group. The user can make all of the controls on FastTabs visible or invisible by expanding or collapsing the FastTabs. The user also has the option to show or not to show a particular FastTab as a part of the page customizing capability. The Help section's Pages Overview and How to: Create a Page provide good background guidance on the organization of controls within page types for Business Central.

The following screenshot from the page designer shows all of the data controls on page 5600 "Fixed Asset Card". The first column, Expanded, is a + or...

Control types

There are four primary types of page controls: container, group, field, and part. Container, group, and field controls are used to define the content area of pages. Part controls are used to define FactBoxes and embedded subpages. When designing pages that may be used by different client types, such as the web client, we need to be aware that some controls operate differently or are not supported in all clients. Each customized page should be thoroughly tested in each client environment where it may be used.

Container controls

Container controls can be one of three subtypes: ContentArea, FactBoxArea, or RoleCenterArea. Container controls define the root-level primary structures within a page. All page types start with a container control. The RoleCenterArea container control can only be used on a Role Center page type. A page can only have one instance of each container subtype.

group controls

The group controls provide the second level of structure within a page. The group controls are the home for fields. Almost every page has at least one group control. The following screenshot from page 5600 Fixed Asset Card, with all of the group controls collapsed, shows two container controls and three group controls. Also showing is a page part control that displays a page part as a FastTab:

The properties of a group control are shown in the following screenshot:

Several of the group control properties are particularly significant because of their effect on all of the fields within the group.

  • Visible: This can be TRUE or FALSE, defaulting to TRUE. The Visible property can be assigned a Boolean expression, which can be evaluated during processing. This allows to dynamically change the visibility of a group of fields during the processing, based on some variable conditions (dynamic processing must occur in either the OnInit, OnOpenPage, or OnAfterGetCurrRecord...

Field controls

All field controls appear in the same format in the page designer. The SubType column is empty and the SourceExpr column contains the data expression that will be displayed.

All of the field control properties are listed for each field, but individual properties only apply to the data type for which they make sense. For example, the DecimalPlaces property only applies to fields where the data type is decimal. The following is a subset screenshot of the properties for field controls:

We'll review the field control properties that are more frequently used or that are more significant in terms of effect, as follows:

  • Visible, Enabled, and Editable: These have the same functionality as the identically named group controls, but they only apply to individual fields. If the group control is set to FALSE, either statically (in the control definition within the page) or dynamically by an expression evaluated during processing, the group control's FALSE condition will...

Page part controls

Page parts are used for FactBoxes and subpages. Many of the properties of page parts are similar to the properties of other Business Central components and operate essentially the same way in a page part as they operate elsewhere. Those properties include ID, Name, Visible, Enabled, Editable, Caption, CaptionML, ToolTip, ToolTipML, and Description.

Other properties that are specific to the page part controls are as follows:

  • SubPageView: This defines the table view that applies to named Subpage as shown in the following screenshot of part:
  • SubPageLink: This defines the fields that link to the subpage and the link that is based on a constant, a filter, or another field. This is also shown in the preceding screenshot.
  • ProviderID: This contains the ID of another page part control within the current page. This enables us to link a subordinate part to a controlling parent part. For example, page 42—Sales Order uses this property to update Sales Line FactBox...

Page control triggers

There are five triggers for each field control. The container, group, and part controls do not have associated triggers. The following screenshot shows page control triggers:

The guideline for the use of these triggers is the same as the guideline for page triggers—if there is a choice, don't put AL code in a control trigger. Not only will this make our code easier to upgrade in the future, but it will also make it easier to debug, and it will be easier for the developer following us to decipher our changes.

Bound and unbound pages

Pages can be created as bound (associated with a specific table) or unbound (not specifically associated with any table). Typically, a card or list page will be bound, but the Role Center pages will be unbound. Other instances of unbound pages are rare. Unbound pages may be used to communicate status information or initiate a process. Examples of unbound pages are page 476—Copy Tax Setup and page 1040—Copy Job, both of which have a PageType property of StandardDialog.

WDTU page enhancement – part 2

Now that we have an additional understanding of page structures, let's do a little more enhancing of our WDTU application pages. We've decided that it will be useful to keep track of specific listener contacts, a fan list. First, we will need to create a table of fan information that we will save as Table with ID as 50110 and name it Radio Show Fan, which will look like the following screenshot:

We want to be able to review the fan list as we scan the list, Radio Show List. This requires adding a FactBox area to the 50000 page. In turn, that requires a page part that will be displayed in the FactBox. The logical sequence is to create the page part first, then add the FactBox to the 50000 page. Because we just want a simple List Part with three columns, we can use the page wizard to create our page part, which we will save as Page 50110 - Radio Show Fan Factbox. ListPart, including just the Name, Email, and Last Contacted...

Page actions

Actions are the menu items of Business Central. Action menus can be found in several locations. The primary location is the ribbon appearing at the top of most pages. Other locations for actions are the navigation pane, Role Center, cuegroups, and the action menu on FactBox page parts.

Action designer, where actions are defined, is accessed from the page designer form by searching the actions part. When we search for this section on the Fixed Asset page (the 5600 page), we will see a list of actions, which are shown in the following screenshot as they appear in action designer:

The associated ribbon tabs for the preceding page action list are as follows:

  • First, the Process tab, as you can see in the following screenshot:
  • Second, the Actions tab is shown in this screenshot:

  • Third, the Navigate tab is shown in the following screenshot:
  • Finally, the Report tab is shown here:

There are two default ribbon tabs created for every ribbon: Process and Actions...

Page action types and subtypes

Page action entries can have one of three types: area, group, or action. At this time, separators don't seem to have any effect in the rendered pages. A page action type uses the following indented hierarchical structure:

Action types

Description

area

Primary action grouping

group

Secondary action grouping

action

Action

group

Secondary groups can be set up within an action list for drop-down menus of actions (a tertiary level)

action

The indentation indicates this is part of a drop-down menu

action

Action

 

An area action line type can have one of four subtype values, as shown in the following screenshot:

Those action options display in different sections of the ribbon as follows:

  • Actions in ReportsSubType will appear on the ribbon in a Reports tab
  • Actions in NavigationSubType will appear on the ribbon in a Navigate tab
  • Actions in ProcessingSubType will appear on the ribbon in a Process...

Action groups

Action groups provide a submenu grouping of actions within the assigned tab. In the following screenshot, the page preview is highlighting the Main Asset submenu, which is the caption for the associated ActionGroup. In RelatedInformationActionContainer, we can see the other ActionGroup, Fixed Asset, Insurance, and History matching the submenu groups on the ribbon's Navigate tab:

The following are the group properties:

  • Caption: This is displayed in the action designer.
  • Visible and Enabled: These are TRUE or FALSE, defaulting to TRUE. These properties can be assigned Boolean expressions, which can be evaluated during processing.
  • CaptionML: This is the action name displayed, depending on the language option in use.
  • ToolTip and ToolTipML: This is for a helpful display for the user.
  • Description: This is for internal documentation.
  • Image: This can be used to assign an icon to be displayed. The icon source is the Activity Button Icon Library, which can be viewed in...

Actions summary

The primary location where each user's job role based actions should appear is the navigation pane. The Role Center action list provides detailed action menus for the Home button and any appropriate additional navigation pane button. Detailed page/task specific actions should be located in the ribbon at the top of each page.

As mentioned earlier, a key design criterion for the Business Central web client is for a user to have access to the actions they need to get their job done; in other words, to tailor the system to the individual user roles. Our job as developers is to take full advantage of all of these options and make life easier for the user. In general, it's better to go overboard in providing access to useful capabilities than to make the user search for the right tool or use several steps in order to get to it. The challenge is to not clutter up the first-level display with too many things, but still have the important user tools no more than one click...

Learning more

The following section gives a description of several excellent ways to learn more about pages.

Patterns and creative plagiarism

When we want to create new functionality, the first task is to obviously create functional specifications. Once those are in hand, we should look for guidelines to follow. Some of the sources that are readily available are listed here:

It's always good to start with an existing pattern or object that has capabilities...

Experimenting on your own

If you have followed along with the exercises so far in this book, it's time for you to do some experimenting on your own. No matter how much information someone else describes, there is no substitute for personal hands-on experience. You will combine things in a new way from what was described here. You will either discover a new capability that you would not have learned otherwise or you will have an interesting problem to solve. Either way, the result will be significantly more knowledge about pages in Business Central.

Don't forget to make liberal use of the help information while you are experimenting. A majority of the available detailed Business Central documentation is in the help files that are built into the product. Some of the help material is a bit sparse, but it is being updated on a frequent basis. In fact, if you find something missing or something that you think is incorrect, please use the documentation feedback function built...

Experimentation

Start with the blank slate approach because that allows you to focus on specific features and functions. Because we've already gone through the mechanical procedures of creating new pages of the card and list types and using the page designer to add controls and modify control properties, we won't detail those steps here. However, as you move the focus for experimentation from one feature to another, you may want to review what was covered in this chapter.

Let's walk through some examples of experiments you could do now, then build on as you get more adventuresome. Each of the objects you create at this point should be assigned into an object number range that you are reserving for testing. Follow these steps:

  1. Create new Table 50050 (try using 50009 if your license won't allow 50050). Do this by opening table 50104 in Visual Studio Code, and then save it as 50050 with the name Playlist Item Rate Test.
  2. Create a List page for Table 50050 with at least...

Summary

You should now be relatively comfortable in the navigation of Business Central and with the use of Visual Studio Code. You should be able to use the page snippets as an advanced beginner. If you have taken full advantage of the various opportunities to create tables and pages, both with our guidance and experimentally on your own, you are beginning to become a Business Central developer.

We have reviewed different types of pages and worked with some of them. We reviewed all of the controls that can be used in pages and have worked with several of them. We also lightly reviewed page and control triggers. We've had a good introduction to page designing and a significant insight into the structure of some types of pages. With the knowledge gained, we have expanded our WDTU application system, enhancing our pages for data maintenance and inquiry.

In the next chapter, we will learn about the Business Central Query and Report Designer. We will dig into the various triggers and...

Questions

  1. Once a page has been developed using the Page Snippet, the developer has very little flexibility in the layout of the page. True or False?
  2. Actions appear on the Role Center screen in several places. Choose two:
    • Address bar
    • Ribbon
    • Filter pane
    • Navigation pane
    • Command bar
  1. A user can choose their Role Center when they log in. True or false?
  2. An action can only appear in one place in the ribbon or in the navigator pane. True or false?
  1. When developing a new page, the following page part types are available. Choose two:
    • Chart part
    • Map part
    • Social part
    • System part
  1. All page design and development is done within the Visual Studio Code. True or false?
  2. Document pages are for word processing. True or false?
  3. Two activity buttons are always present in the Navigation Pane. Which of the following two are those?
    • Posted documents
    • Departments
    • Financial management
    • Home
  4. The filter pane includes "Filter list by" and "Filter totals by" options. True or false?
  5. The...
lock icon
The rest of the chapter is locked
You have been reading a chapter from
Programming Microsoft Dynamics 365 Business Central - Sixth Edition
Published in: Apr 2019Publisher: PacktISBN-13: 9781789137798
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (3)

author image
Marije Brummel

Author, programmer, consultant, project manager, presenter, evangelist, sales person, and a trainer. It's next to impossible to find someone as experienced as Marije Brummel in the Business Central community. Marije received the Microsoft MVP and the NAVUG All-Star awards among several others. She has chaired the Dynamics Credentialing committee and has authored official Microsoft Exam materials. She's the go-to girl for performance troubleshooting and upgrade challenges. One of her biggest achievements was introducing Design Patterns into the Business Central community. Her books, blog articles, and YouTube videos have influenced almost everyone involved with Business Central. She enjoys the outdoors with her dog and loves spending time with her family.
Read more about Marije Brummel

author image
David Studebaker

David Studebaker has been designing and developing software since 1962 as a developer, consultant, manager, and business owner. In 1967, David coauthored the first general-purpose SPOOL system, an AT&T / IBM joint project. He has been a founding partner in several firms, most recently Studebaker Technology and Liberty Grove Software. David's publications include a decade of technical reviews for ACM Computing Reviews and a number of articles on shop floor data collection. David originated the Packt series of books on programming Dynamics Business Central (aka Dynamics NAV). He has a BS in mechanical engineering from Purdue University and an MBA from the University of Chicago. He is a life member of the Association for Computing Machinery.
Read more about David Studebaker

author image
Christopher D. Studebaker

Chris Studebaker was a certified environmental consultant working with manufacturing facilities to meet national and state regulations before he started working with Navision in 1999. After working on regulatory reporting, data analysis, project management, and subcontractor oversight, Chris has used those skills to sell, develop, and implement NAV for the past 20 years. He has specialized in retail, manufacturing, job shop, and distribution implementations, mostly in high-user-count, high-data-volume applications. Chris acts in a consulting and training role for customers and for peer NAV professionals. He has a Bachelor of Science degree from Northern Illinois University and has done graduate work at Denmark Technical University.
Read more about Christopher D. Studebaker