Simplanova team wants to thank all attendees of our webinar: How to Upgrade Custom Objects to Extensions?
We have shared our experience on migrating Dynamics NAV solutions to extensions.
The following questions have been explored during the online session:
- Export objects to new syntax – Microsoft tool.
- txt2al (Microsoft Tool: CAL to AL Converter.).
- Custom objects (Tables, Pages, Codeunits, Reports) upgrade.
- Refactor, create package, publish extension.
- How to distribute an Extension File? (Not App Source).
WEBINAR Video- How to Upgrade Custom Objects to Extensions?
Please find all questions and answers below
Q: How to convert standard object modifications to AL?
A:The conversion of standard object modifications are as follows:
- Export standard objects that will be modified, to new syntax:
finsql.exe Command=ExportToNewSyntax, File=”[Path to export]”, Database=”[Database Name]”, ServerName=[Server Name], Filter=”[Filters]“ - Open modified solution and move code modifications to events. Then export modifed object set, to new syntax. ( running the same command).
- Compare these objects and create deltas: Compare-NAVApplicationObject -OriginalPath “[Path to export]” -ModifiedPath “[Path to export]” -ExportToNewSyntax -DeltaPath “[Path to store deltas]”
- Convert deltas to AL: txt2al –source=”[Source Path]” –target=”[Target Path]” –rename –extensionStartId=[Extension start ID]
Q: How can I create event subscription in AL?
A: You can use AL snippets which will help you with that. Type in teventsub and select the provided suggestion:

Type in teventsub
This will create a template for the event subscriber, then change the parameters to the ones you want.

Change parameters
Q: How we can create a new area with page extension object?
A: You cannot add new areas in the page extensions, because they are already predefined. You can just modify it, even if it does not exist in C/AL.

Page Extension modification
Q: When we build reports in AL, how can we compile the rdl layout and see the potential errors?
A: The only way to see the errors, is to run the report.
Q: If the symbols are not generated for C/Side objects, what can we do to generate it?
A: If you are seeing some errors, that the symbols are missing in VSCODE, then probably you will need to generate a symbol for that objects in C/Side and then download the symbol in VSCODE.
To have a symbol reference added on object in C/SIDE, you need to start finsql.exe each time with the following argument:
finsql.exe generatesymbolreference=yes. (It ensures that symbols will be generated every time there are changes.)
Then compile the object, and download the symbols in the VSCODE.
And if this does not help to resolve your case, you can try one of the following:
- Upload correct license and restart service.
- Ensure that you have the right permissions. (run as administrator).
- Download the correct version of AL language extension.
Q: When will the .net solution be ready as it is now with the Premise?
A: At the moment, Microsoft is not planning to add dotnet to the Cloud. But there are workarounds for that – you can use Dotnet wrappers, Azure functions, or AL classes.
Q: How we can add Unit Tests?
A: You can define codeunits and functions of type “Test”. Later on, open “Test Tool” page, and add wanted codeunits.

Test Tool page
Then you can run your test by clicking Run on the actions bar, and selecting tests you want to run.

Run test
