Webinar Video and QA: What are Extensions and How to Start Upgrading NAV Add-on to Extensions?

Inga Kanclerienė

Marketing manager

Topic: Events

Date: 16 Nov 2018

Simplanova team wants to thank all attendees  of our webinar: What are Extensions and How to Start Upgrading NAV Add-on to Extensions?

We have shared our experience on migrating Dynamics NAV solutions to extensions.

The following questions have been explored during the online session:

  • Preparation- what is needed to begin moving your solution to extension.
  • Environment: installing and linking.
  • Symbols: what are symbols, generating symbols.
  • Syntax: AL & VSC method of programming. Some examples.
  • Move modifications to events.


WEBINAR Video- What are extensions and how to start upgrading your Dynamics NAV Add-on to extensions?

Please find all questions and answers below

Q: Do you have any recommendations how to organize your AL project like naming of files, using folders?
A: Regarding organization of your solution, we suggest moving each type of object, to separate folder. For the object and file naming, you can follow Microsoft guidelines here.

What kind of license do you need to create extensions for Dynamics 365 Business Central?
A: You don’t need a license to create an extension.


Q: We have customization and want to move it to extensions. How to start doing this?
A: We recommend to start from the training of your team. Simplanova offers Dynamics NAV Extension Workshop adjusted according to individual partner requirements, professional experience and skills.  You can find more information here.  


Q: Through Symbols, you can see all C/SIDE objects. Does this mean, that within Intellisense in VSCode we cannot see already new/modified objects (example: already installed extensions)?
A: In order to see new or modified objects, you can download symbols again from the VSCODE. Unless your C/SIDE is not configured to generate symbols when there are changes, then you will not be able to see it.

To download symbols of extensions that are installed in the server, you have to create dependency in your extension, to depend on already installed one. For example, if I want to get symbols of already installed PayPal Payments Standard extension, I will go to “Extension Management” page, and I will view the desired extension.

PayPal extension

PayPal extension

In your extension you need to create a dependency, by providing the following information:

Dependency in Extentions

Dependency in Extentions

Q: What is recommended for object documentation, if we don’t have Documentation Trigger at the moment?
A: There are no recommendations for documentation during development.  We would suggest to add a comment before modification, which will explain what it does.


Q: If you have modified an object in AL extension and not in C/SIDE – will you still see it in VSCode?
A: If you are creating new objects in visual studio code, or modifying base objects, you will see the modifications only within range of your extension, or if you set a dependency if it was modified in another extension.


Q: How to add and define your own .NET library to the AL project?
A: You can only add .NET libraries to AL project if you are developing for a non-cloud version.  And in order to do that, you can define dotnet object, in AL language, and specify all assemblies with their names in this object.


Q: How can I do an upgrade of an extension, which was published before?
A: In order to upgrade an extension, which was published before, you will need to have it’s source code. If it is an extension, that you were building previously, then there is no problem, you can do modifications and publish it again. Your older version of extension will be overridden. If it is an extension, that you do not own, you will have to ask for the source code of that extension.


Q: What different solutions do we have, if we have problems installing the missing symbols of the AL language extension?
A:  The main reasons of having problems when downloading symbols are:

  1. Incorrect configuration of launch.json file.
  2. No License/incorrect license was uploaded on the server.
  3. User does not have enough permissions. You can try running VSCODE as an administrator.
  4. Symbol generation and Developer service endpoint are not enabled in the Dynamics NAV Administration App.
  5. Service was not restarted after service tier modifications.
  6. NetFx40_LegacySecurityPolicy needs to be set to false.


Q: Is it possible to retrieve any known information about the standard object through the VS Code (properties, code etc)?
A: No, at the moment this is not possible.


Q: json ServerInstance=BC130 where this default value comes from?
A: This is set by your AL language extension in VSCODE. In most cases you will have to change this setting.


Q: Do you know what is the availability of Microsoft to create new events?
A: Microsoft is likely to add event, if the interest of that event is beyond the scope of your app. Microsoft is unlikely to add an event, if this functionality is very particular to you.


Q: How can we change the report layout?
A: The layout is created or modified with the same tools as you used to create before (report builder/Visual studio). Except, when modifying the logical part of the report in AL language, it does not create links for controls, in RDLC layout, so you will have to add it manually.


Q: How can we see what standard properties we can change on tables/pages?
A: When developing in VSCODE, intellisense should provide you with the properties that are possible to modify. In order to use intellisense press Ctrl + Space.


Q: Means File Management also the File Record?
A: Yes. You can not declare records of type File, if you have set your target as “Extensions” (Cloud).


Q: Is it possible to change properties of code units? For example the text of standard text constants?
A: You can not extend existing code units, but you can change the properties if it is a new code unit. The only extendable types are: pages and tables.


Q: Hi,  I see that we have an option to define variables in a trigger. Is it global or local variable section?
A:  If we are defining variables inside of an trigger, procedure or an actions, it is going to be a local variable.

Dynamics 365 Business Central Extensions Training

Please complete the form below if you would like Simplanova representative to contact you regarding Dynamics 365 Business Extensions Training for your company.