As a Microsoft Dynamics NAV Developer we are aware, NAV is a highly customizable solution and while this is certainly an attractive attribute, it does imply a certain level of responsibility at the partner level. When we customize objects and/or code we are creating a de facto system behavior or functionality; a situation whereby events will play out in the business logic accordingly and without human interaction, input, or control. In many cases this is necessary and desired but it is important to consider that there may be alternative approaches.
To add some context let’s first recognize that there are a few options when it comes to changing the behavior and user experience of NAV; Personalization, Configuration, and Customization. Listed in this order they represent the preferred approach or hierarchy when it comes to system change.
Personalization
With Personalization, end users can add, remove, or arrange UI components and controls to best suit their individual work space preferences. Personalization allows simplified change but it is a powerful mechanism because it allows individuality within the overall solution and can be administered by the end user.
Configuration
Configuration is in my opinion the most versatile as it allows for expanded system functionality to be enabled (and in some cases, disabled) as desired. Normally configuration is thought of as having a system-wide impact but it can also parallel personalization; we see examples of this when considering business logic that is conditioned on a value in the User Setup table. Regardless of the scope of impact, the true versatility and power of configuration is recognized when it is coupled with customization.
Customization
Customization coupled with configuration adds a certain element of intelligence to our solutions through the use of global setup flags and/or the existence of certain data elements to steer their behavior. This relationship is especially important when we apply it in the context of an ISV product. As enhancements continue to grow such a product we must be thoughtful about how we position them within the overall solution because not all enhancements apply to all of our customers all of the time. The proper positioning of our enhancements will result in a product that is both powerful and flexible. What’s more is that we will have enabled the administration of this power and flexibility to occur at the customer level.
It is important to recognize the hierarchy of change and apply our resolution at the lowest level first. This is true whether we are troubleshooting a specific issue or developing an enhancement. It is easy to jump straight to the code base first to address an issue and miss out on the fact that we could handle the issue at a lower level. In the end we must not lose sight of the idea that the simplest solution is many times the best solution.


Jet Reports Express, a business reporting tool from Jet Reports, gives NAV users an easy and simple way to create high impact reports. Within a familiar Microsoft Excel environment, users will be able to access and merge Microsoft Dynamics NAV data and utilize all of the Microsoft Excel capabilities, such as Power Pivot, formatting, charting and Pivot Tables, to create powerful, insightful and well-formatted reports – quickly and easily.

