All around NAV dev and test
Did you read about this master class already? You should, so continue as it is really worthwhile as it discusses Dynamics NAV at a meta level bringing more structure to your understanding of it. And yes, even for those who have been working with NAV for ages already. We're never too old to learn!
After successful performances in Canada, Netherlands, Belgium, Japan and Romania (and Iceland to go) the Dynamics NAV Master Class Application Architecture & Design Patterns is now coming to the UK.
Hosted by The NAV People and performed by Dynamics NAV MVP Luc van Vugt this 2 days training, initiated by Dynamics NAV MVP Mark Brummel, will be held on August 20 and 21, 2015.
I think this should be a mandatory class … developers who have the knowledge of design patterns and common coding practices inherently develop stronger, cleaner code. Michael Hollinger, Harbor Wholesale Foods
An awesome course that covers the best practices of NAV development and application architecture.Sukeev Kailayapathy, Second Foundation
During the workshop, we will reveal all the secrets that are hidden in the Dynamics NAV Source Code. You will get answers to questions like…
To register for this training send a mail to email@example.com days workshop for £ 650 / € 900, incl. lunch and training material (excl. VAT).
The course has four, iterative blocks that explain the elements for good software architecture using Design Patterns – Repeatable User Interface, Coding Guidelines, Architectural Principles and Exercises.
Modern UI for Repeatable Software
Model View View Model
A Small Celebration with a virtual beer for the team! And I will buy you at least one in Antwerp.
Why? Well this is why: Microsoft Dynamics NAV Experts Get Together On Cleanup Effort. While we were cleaning Jason Gumpert clearly (or should it be cleanly?) got impressed.
Time is flying while we're cleaning up. Way before Soren started cleaning in Canada and even before Jeremy Vyska joined the team, Mark Brummel gave me his consent that we should be putting some our of cleaning effort on some piece of old code that has been hanging around for too long, totally obsolete, and we surely could make use of his expert hands. So even though you we're not in the known we stopped the dust collection here.
Thumbs up another MVP fellow joining our Clean Team!
And to be fair: we owe Mark some big thumps up any way as he, as you might recall, started to set the pace.
Now you might wonder: what are you guys now going to clean up? And right you are, I haven't mentioned it yet, apart from the title of this post.
Some months ago Mark asked me to join his Master Class Application Design initiative, make it happen in the Netherlands and take part in the Master Class so I could learn and become one of the next trainers on this too. You might have been reading about it already. If not make sure you do and be nice to yourself: subscribe to it. It is really worthwhile as the master class discusses NAV at a meta level bringing more structure to your understanding. And yes, even for those who have been working with NAV for ages already. We're never to old to learn.
The attendants are challenged to rethink on there knowledge in various ways using, for example, the concept of design patters. You're not only challenged by the lecturer itself, but also by applying matters discussed by means of exercises. One of them was to remove the boat anchor from the Post Line codeunit provided to us.
Long story short: next to the one Mark was hinting at, there clearly is another boat anchor collecting dust. Or should I say: collecting rust? And it's not only to be found in an Post Line codeunit, but also in a Check Line codeunit.
Did you ever wonder what the OnRun trigger of the Post Line and Check Line codeunits is used for? I know various students in my Solution Development class did while coloring the code with markers. You know, bluntly said: it is not used at all! We have this code still as a remnant from the past, that hasn't been cleaned away, probably for backwards compatibility. And so we're stuck with these boat anchors.
Taking the Res. Jnl.-Check Line (211) and Res. Jnl.-Post Line (212) as examples we see (more or less) the same code pattern:
These are also to be found in all the other Post Line and Check Line codeunits:
Note that I left out both FA Jnl.-Check Line (5631) and FA Jnl.-Post Line (5632) as these deviate from this pattern.
Wel ....... to be honest I hoped we could just do that: CLEAN IT UP. However, we found two exceptions: the OnRun trigger of both Gen. Jnl.-Post Line (12) and Item Jnl.-Post Line (22) is being called from a number of objects. So let's clean them next time as we will have a close look at why the OnRun trigger is called instead of the the RunWithCheck or RunWithoutCheck function. Feel free to help the Clean Team, or ... Join the Clean Team!
Cleaning is a serious job, you know.
... do you know what other boat anchor is to be found in the Post Line and Check Line codeunits?
I guess it's due to my length that I often run into spots where dust seems to collect without others noticing it. On top of cabinets, doors and paintings, in corners of window frames, etc. You could mock me and say: on everything I look down on.
It might somehow apply to today's clean up subject: the RECORDLEVELLOCKING record method. Did I only notice it's still there with no use whatsoever? A fossil of those days we had to deal with both SQL Server and the NAV proprietary database.
A fossil indeed, so let's put it in a museum and thus remove it from the development environment where it's only collecting dust. Go ahead, Vedbeak.
For sure I am glad it was removed from the help and application code.
... somewhat confused about the numbering of the clean up as we seem to have jumped from #11 to #14? Here are #12 and #13 to be found:
Overseas, uhm overoceans, interest has made us decide to expand our cleaning business. We have found our MVP fellow Soren Klemmensen willing to pick up this challenge in North America and without halting he already started to do some useful cleaning efforts. Have a look yourself:
So welcome to another MVP fellow to our Clean Team! Clap Hands!
Vedbaek, it seems we will be needing some cude and clean ERP system enabling our growing business.