Chapter 8. Development Considerations

Almost every Dynamics NAV implementation will have some development. The customized code must fit inside the standard code within Dynamics NAV and it should look like it was a part of the standard NAV. This makes it easier for the users to understand how the customized modules work and for the partners to support it. A good initial development also makes any future change easier and more efficient, for both the customer and the partner.

In this chapter, we will go through the main development considerations you should take into account while developing for Dynamics NAV. The topics covered in the chapter are:

  • Setup versus customization
  • The data model principles
  • How the posting processes are developed
  • Where to write customized code
  • How to write customized code

Setup versus customization

Dynamics NAV offers many configuration options within all of its modules. These options make Dynamics NAV work differently in each company depending on the option selected; for example, you could define that your locations will use warehouse documents for shipping or process shipping directly from the sales order.

When you set up a new company, you will find more than 200 tables that can be considered setup tables. You will find the setup table of each module, its journals, and its sections. In addition, there are global setups such as the accounting periods, the payment terms, and dimensions.

You will find there are hundreds of setup options in the base Dynamics NAV product. This is not including the thousands of add-ons that are available to NAV. The combination of all these options leads to millions of possibilities.

It is really difficult for a person who does not work with Dynamics NAV full time to be aware of all these options and the impact that a single option can have on the system. Even some Dynamics NAV consultants or developers may not know the consequence of certain settings in Dynamics NAV without research.

A good consultant or developer will not fall into the temptation of starting to develop right away. Before this, it is important to invest time to understand exactly what the client company needs and why. In conjunction, investigate all the setup options in Dynamics NAV that are related to the client's core business. For example, if the client is a manufacturing company, the partner better make sure they thoroughly understand the basic manufacturing principles and the manufacturing functionality in Dynamics NAV and how it can be applied to the client's business based on their requirement.

How can we discover and know how all the features work? Basically, there are three options: read, research, and ask for help.

  • Read: Microsoft now publishes all the documentation with regards to Dynamics NAV online in MSDN. You do not need a subscription to MSDN in order to view it. In fact, when you search anything on the functionality of Dynamics NAV, one of the results may point to the MSDN article. For example, for the current release, Dynamics NAV 2016, the full documentation can be found at https://msdn.microsoft.com/en-us/library/hh173988(v=nav.90).aspx.

    Not only does the MSDN article go through all the technical aspects of the product, it also shows you step-by-step instructions on the functional aspects of the program, that is, how to create a new sales order.

  • Research: This is one of the best ways to discover all the features that Dynamics NAV can offer, in a step-by-step manner. Every time a customer raises a need, do investigate. Do not start to develop a new feature; before that, you must try to fulfill the need using the standard options. For example, if the need of your customer is related to items, start by looking at each single field in the item table. If you don't know what a certain field is used for, use tools to help you see where the field is used and why.
  • Ask for help: Dynamics NAV has a large online community that can help you with a specific problem. Microsoft has an official community called Microsoft Dynamics Community (https://community.dynamics.com/). This community can be accessed from the Dynamics home screen by displaying Connect Online from the Customize This Page option.
Setup versus customization

There are also paid online communication groups such as the Dynamics NAV user group (www.navug.com) and free online communities such as MIBUSO (www.mibuso.com) and Dynamicsuser.net.

Our recommendation is to ask the community just after you have tried to solve it yourself. You can state the problem by explaining what you have tried so far. Generally, the community will be more receptive if you have tried first, rather than you throwing the question without investigating beforehand. You must understand that the community is there to help you, not to work for you.

Lastly, if you still can't get the help you need, pay for the help by contacting your partner. Or if you're a partner, contract a NAV person with better knowledge than what your company has. Investing in training is better than paying for mistakes down the road.

As we have seen, it is important to invest time in finding ways to use the standard features before starting to develop. This implementation project will be easier and you will also increase your knowledge of the product, which will be very useful in your future projects.

For the customer, the benefit is also clear. Apart from saving the cost of unnecessary developments, you will also save the grief of creating unnecessary business processes because the solution was not fully thought through.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.98.108