One of the big missing items in Extensions V2 are MenuSuites. The ability to put something, both in Departments and in the Search box.
Today the December Update for the modern development enviroment came out, and there’s a new property on pages and reports called UsageCategory. Add a UsageCategory to an object and that will show up in search.
Interesting, I wondered if that would work in NAV2018 also, so I tried 🙂
The compiler accepted it without problems, and look and behold, even in the Role Tailored Client it shoed up when searching:
NAV2018 has gained two new properties on fields.
ObsoleteState and ObsoleteReason
State can be Normal, Pending or Removed and Reason specifies, well, the reason for pending or removed 🙂
As you can see on the screenshot, this is something that Microsoft already is using, properly due to the fact, that they themselfes now hosts a lot of NAV instances (aka. Dynamics 365 “Financials”). And to avoid “expensive” data opgrades with downtime, the fields will just be marked obsolete and left in the database. After they are marked Removed, only usage from upgrade codeunits are allowed. References from other objects will result in a runtime error.
So be sure to check the obsolete status before using a field.
Currently, Visual Studio Code does not show that information, but hopefully, somebody from Microsoft reads my blog 🙂
When Microsoft announced that DotNET support was being discontinued in the modern development environment, many of us had issues with it. I still believe that it was a too drastic approach, but that’s not a focus of this blog post.
A bit later, Microsoft announced the “CAL-OPEN-LIBRARY” – A GitHub repository for wrapping dotnet classes in codeunits.
It can be found here https://github.com/Microsoft/cal-open-library The basic idea, is that you can write a codeunit that wraps a DotNet class and submit that to Microsoft for consideration for future products, so I did 🙂
One of the DotNet classes I use all the time, is the MemoryStream, a stream you can both write to and read from, and that holds the data in memory (hence the name).
I wrote a codeunit with the functions I needed, with tests and submitted that as a pull request.
And when NAV2018 came out, codeunit 704 has appeared:
There is my wrapper, all ready to go.
Lots of other people, incl. several MVPs, have also added contributions to the cal-open-library, go check it out. And the next time you’re missing something, contribute, it works 🙂