Category Archives: Modern Dev

If your AL VS Code Extension is too old

Error: This AL extension version for Visual Studio Code cannot be used with the specified server.
Please update the AL extension from the Visual Studio Code marketplace.
Additional information:
Server details
- Runtime: 3.0
- Web API: 2.0
- Debugger: 2.0
AL extension details
- Supported runtimes: 1.0, 2.0
- Supported Web API: 1.0, 2.0
- Supported debuggers: 1.0, 2.0



This is how you might be notified if your ALLanguage.vsix is too old. Upgrade with a version that matches your deployment target.

Another extension for VS Code to your Toolkit

The SQL Server extension for Visual Studio Code is a nice way of avoiding SQL Server Management Studio for when you need to do some light SQL’ing while working in VS Code

https://marketplace.visualstudio.com/items?itemName=ms-mssql.mssql

You can do queries directly from VS Code even with awesome intellisense and nice formatting.

VS Code is getting closer and closer to becoming a one-stop destination for all the things we need to with NAV and Business Central.

Make your C/Side Code better with Extensions

Sorry for the click-bait title. But I have just tried out the new developer preview on one of our (Currently) C/Side ExtensionV1 based products. This article is not really about that, but about one of the positive side effects of going through the process.

First disclaimer: This product already compiles to an ExtensionV1 and is CfMD certified, so of cause it is perfect 🙂

But the new compiler and the TXT2AL transformation tool will find things that can be improved, let me show you some of the results I got:

Properties not used on actions


RunPageMode is only valid if you have a RunObject also:


Since I use OnAction() RunPageMode does not do anything.


DecimalPlaces on non-decimal fields


BlankZero on non-number fields.

C/Side accepts wrong Indention

You can place ActionGroups outside ActionContainers.

Assignment of FlowFields

Table.FlowField :=Value;

C/Side accepts this, and ignores it; the new compiler gives an error.

Wrong keys on Actions

In multiple places, you can specify sortings, and C/Side happily accepts “Field###” – Extensions don’t.

Conclusion

There are many more things that this process can catch, but these examples were some I encountered.

You can improve the code quality of your existing solution by running it through the TXT2AL and the new compiler. And when you’re ready to jump to ExtensionV2, the jump will be easier and smaller.