On October 1st, Microsoft releases Microsoft Dynamics Business Central on premises.

With this latest release, Microsoft Dynamics NAV is renamed Microsoft Dynamics 365 Business Central on premises to be united under the Dynamics 365 Business Central brand. Dynamics NAV customers upgrading to Business Central on premises will enjoy the unique flexibility to continue running on premises, move to the cloud, or adopt a hybrid approach.

Let’s see how we can View Table Data in Microsoft Dynamics 365 Business Central Web Client.

For developers, administrators, and support personnel, it can be useful to inspect table data in the tenant database, particularly when debugging or troubleshooting. To support this need, you can view table objects in the Web client.

In a production environment, administrators and support can view a table directly from the Web client.

In a development environment, in addition to viewing a table directly from the Web client, developers can view a table automatically when they publish/debug an AL project from Visual Studio Code.

NOTE : The table appears as read-only in the client, so modifications, insertions and deletions cannot be made.

IMPORTANT : Data in the tables can be sensitive. Be sure to follow your organization’s guidelines for handling such data.

Required permissions

Whether viewing the table directly from the client or from Visual Studio Code, your Dynamics 365 user account must have the following permissions:

Read permission on the table that you want to view.

Execution permission (direct) on the System object 1350 Run table.

Any end-user that is assigned these permissions will be able to view that table in the browser.

View a table object directly from the client

To view a table, you add the table=<TableID> parameter to the client’s address (URL), replacing <TableID> with the ID of the table that you want to view.

For example, if your URL starts with https://businesscentral.dynamics.com , then to view table 18 Customer in your current company, you could use the following URL:

https://businesscentral.dynamics.com/?table=18

Or for a specific company, such as “CRONUS Inc.”:

https://businesscentral.dynamics.com/?company=CRONUS%20Inc.&table=18

Note the use of & when table=<TableID> is not located directly after the domain name.

See below example, how we can run table object directly from the client running on docker container.

Home page

To view data in current company

To view data in specific company

View a table object from an AL project in Visual Studio Code

You can configure an AL project to view a table when you publish or debug the project (pressing F5 or Ctrl+F5).
In the launch.json file for the project, set the “startupObjectType” parameter to “table” and the “startupObjectId” parameter to the ID of the table. For example:

There are 4 ways how we can extend Microsoft Dynamics 365 Business Central.

Connect Apps (A Connect app can be used in the scenario where there must be established a point-to-point connection between Dynamics 365 Business Central and a 3rd party solution or service.)

Add-On Apps (An Add-on app extends the experience and the existing functionality of Dynamics 365 Business Central. Add-on apps can be used in multiple scenarios, whether it is to integrate to online services, making custom web services, adding business functionality, or extending the user interface.)

Embed Apps (An Embed app defines a customer scenario. Specifically, the scenario of a customer wishing to acquire an end-to-end solution meeting the specific needs of an industry vertical or a micro-vertical.)

Per Tenant Customizations

First three types of apps are available through Microsoft AppSource. Today we will see how we can deploy a per tenant customization to customer’s production tenant.

When you have finished developing and testing your tenant customization, you must deploy the extension (.app file) containing the customization to your customer’s production tenant. You must be able to log into the customer’s tenant as a user with permissions to the Extension Management page to complete the deployment.

Use the Upload Extension action to deploy the extension. The extension can be deployed for the current version or for the next version of the service. In most cases it is sufficient to select the current version, unless you have developed the extension specifically for the next version.

Note

When you deploy an .app file for the next version, the extension will be queued up to be deployed as part of the customer’s tenant being upgraded to the next version. You can typically use this in a situation where you have built an upgrade of the extension to work with the next version.

The extension you are deploying could be the initial release of the customization or an upgrade to a previous version. You must use the same steps for uploading a new extension or an extension upgrade. The service will determine if the extension needs to be upgraded based on the extension’s app ID and version.

Important

If you are developing an extension as an update to a previously deployed extension, you must keep the app ID the same and increase the version to successfully upgrade the extension to the new version.

Steps for deploying your .app file

After the successful login you see the Home page of Microsoft dynamics 365 Business Central.

Open the Extension Management page.

Press the search button from Right-Top corner of the Home page and type Entension Management in search box. Select the first option available from the results.

Choose the Upload Extension action.

It will open Upload and Deploy Extension page.

Select the browse button to select the .app file to upload. Browse to and select the extension’s .app file.

Select if you want to deploy for the current version (most common) or Next minor version or Next major version. Select the language for the deployment.

Choose the Deploy button. You will see the below information message. Press OK to continue.

The extension will be deployed in the background.

To check the status of the deployment, choose Deployment Status and then view the status of the extension deployment. Select the row to see additional details.

In the deployment status details there is a Refresh button in the actions you must press to retrieve the most recent status and details.

It will show status as “InProgress”.

Once it is completed status will change to “Completed”. If the deployment is fail then it will show the status as “Failed”. As of now there are no any options available to check detailed error log why the deployment is failed.

When the extension has been successfully deployed, choose the Refresh button to see the new extension in the list of installed extensions.

Click on the installed extension to see the details.

To remove the extension from the customer’s production tenant first Uninstall it and then Unpublish it. Right click on extension which you want to remove.

Select Uninstall to open Extension Uninstallation window. Press Uninstall button from the window. It will show information message about Uninstallation.

And you can see status of extension as Uninstalled in the list.

After the uninstall we need to unpublish the extension to remove.

Once it is removed successfully you can’t see in Extensions list page.

In an AL project there are two JSON files; the app.json file and the launch.json file. These files are generated automatically when you start a new project. The app.json file contains information about extension that you are building, such as publisher information and specifies the minimum version of base application objects that the extension is built on. Often the app.json file is referred to as the manifest. The launch.json file contains information about the server that the extension launches on.

App.json file

The following table describes the settings in the app.json file:

Setting

Mandatory

Value

id

Yes

The unique ID of the extension. When app.json file is automatically created, the ID is set to a new GUID value.

Relative paths to any screenshots that should be in the extension package.

platform

Yes, if system tables are referenced in the extension

The minimum supported version of the platform symbol package file, for example: “11.0.0.0”. See the Symbols for the list of object symbols contained in the platform symbol package file.

application

Yes, if base application objects are extended or referenced. The AL package will be compiled against the application that is present on the server that you connect to. This allows you to write a single AL Language extension for multiple country versions as long as you do not depend on country-specific code. If you do depend on country-specific code you should only try to compile your app against a server set up for that country.

The minimum supported version, for example: “application”: “11.0.0.0”

idRange

Yes

A range for application object IDs. For all objects outside the range, a compilation error will be raised. When you create new objects, an ID is automatically suggested.

showMyCode

No

This is by default set to false and not visible in the manifest. To enable viewing the source code when debugging into an extension, add the following setting: “showMyCode”: true

target

No

By default this is Extension. For Dynamics NAV, you can set this to Internal to get access to otherwise restricted APIs. The Dynamics NAV Server setting must then also be set to Internal.

Launch.json file

The following table describes the settings in the launch.json file. The launch.json file has two configurations depending on whether the extension is published to a local server or to the cloud.

Publish to local server settings

Setting

Mandatory

Value

name

Yes

“Publish to your own server”

type

Yes

Must be set to “.al”. Required by Visual Studio Code.

request

Yes

Request type of the configuration. Must be set to “launch”. Required by Visual Studio Code.

server

Yes

The HTTP URL of your server, for example: “http://localhost|serverInstance”

serverInstance

Yes

The instance name of your server, for example: “US”

authentication

Yes

Specifies the server authentication method.

startupObjectType

No

Specifies whether the object to open after publishing is a Page type (“Page”) or Table type (“Table”) object. The default is “Page”.

startupObjectId

No

Specifies the ID of the object to open after publishing. Only objects of type Page and Table are currently supported.

schemaUpdateMode

No

Specifies the data synchronization mode when you publish an extension to the development server, for example:
“schemaUpdateMode”: “Synchronize Recreate”
The default value is Synchronize. For more information, see Retaining table data after publishing
This feature is not supported in Dynamics NAV.

breakOnError

No

Specifies whether to break on errors when debugging. The default value is true.

breakOnRecordWrite

No

Specifies if the debugger breaks on record changes. The default value is false.

Publish to cloud settings

Setting

Mandatory

Value

name

Yes

“Publish to Microsoft cloud sandbox”

type

Yes

Must be set to “.al”. Required by Visual Studio Code.

request

Yes

Request type of the configuration. Must be set to “launch”. Required by Visual Studio Code.

startupObjectType

No

Specifies whether the object to open after publishing is a Page type (“Page”) or Table type (“Table”) object. The default is “Page”.

startupObjectId

No

Specifies the ID of the object to open after publishing. Only objects of type Page and Table are currently supported.

tenant

No

Specifies the tenant to which the package is deployed. If you specify multiple configurations, a drop-down of options will be available when you deploy.

The platform symbol file

The platform symbol file contains all of the base app objects that your extension builds on. If the AL Language extension in Visual Studio Code detects that the referenced symbols are not present on local disk, you will get a visual prompt in Visual Studio Code to download the symbols from one of the servers specified in the launch.json file. For more information about the platform symbol file, see Symbols.

With the October ’18 release, Dynamics 365 Business Central is available in the cloud, on-premises, and in hybrid deployments. Pick your flavor of Business Central, or use your existing on-premises solution of Dynamics GP, Dynamics NAV, or Dynamics SL and connect to the cloud through Business Central.

Business Central partners get a portal to facilitate their interactions with customers and to manage the lifecycle of their applications and customizations. Business users get a further streamlined and refreshed user experience with many productivity improvements, facilitating heavy transactional users. The service is also going through a hardening process, with much improved resiliency, robustness, and performance across the application.

Business Central gets an on-premises deployment option that serves as a successor to Dynamics NAV. In other words, rather than a new version number for Dynamics NAV, customers can get Business Central on-premises. The experience for partners and customers on-premises is no different from the familiar Dynamics NAV upgrades, except for the change in name. This is a convergence point for Dynamics SMB products—going forward, they are all considered customers of Business Central, in the cloud or on-premises, even if they are running differently branded products such as Dynamics SL, Dynamics GP, and older versions of Dynamics NAV.

High productivity user experience

Get more work done with productivity features such as filtering of lists and totals, and copy and paste. With a host of new keyboard shortcuts to accelerate your business tasks, and improved keyboard navigation throughout, Business Central is ready to support the diverse needs of your workforce. Get to your data faster with improved search for pages, reports, and Help documentation.

Business users get a fresh and modern experience in all main screens of Business Central. Whether you are accessing your data from the browser or the Windows 10 desktop app, you will experience a consistently smooth, intuitive, and modern interface as you transition across role centers, lists, worksheets, transaction documents, or details pages (such as the customer card).

Intelligent edge for Dynamics GP, Dynamics SL, and Dynamics NAV

Tenant administration

Business Central partners manage the lifecycle of the tenant through the Dynamics 365 Business Central administration center. The administration center is the portal for VARs to engage with customers and manage health, troubleshooting, notifications, and sandboxes of the customer tenant.

Improved Visual Studio Code AL experience

Be more productive when developing and troubleshooting extensions with new and improved developer tools, such as sandbox environments with production data, improved breakpoint support, better inline Help, ability to trace raised events in a given user scenario, support for .NET Interop for on-premises deployments, extension support for enums, report data set and field groups, and more.

Making Business Central available in new markets

Business Central has a combined localization strategy inclusive of both Microsoft-led and partner-led models. We continue to respond to partner-led scenarios and anticipate additional countries being delivered via localization app extensions in Microsoft AppSource. Additionally, Microsoft will also deliver a localized version of Business Central in Iceland, Norway, and Mexico in this release.