Learning Dynamics NAV

From Dynamics

Jump to: navigation, search

Here is a brief "lets get started for those that would like to become a NAV developer, implementor or consultant

Contents

Learning Dynamics NAV

Introduction to good programming techniques in Navision. Explaining what you need to learn to be good at it.

To program successfully in Dynamics NAV you need many skills. And there are many different opinions as to what is useful and what is not. Obviously there are things such as the ability to write and understand a spec, being able to take instructions from a PM, testing documenting etc. but at this point we will concentrate on three issues.

Dynamics NAV code

The basic building blocks of the language

Dynamics NAV code - you can learn from books, or one of many available courses out there. Its all about knowing when to use REPEAT and when to use WHILE; what's the difference between SETRANGE and SETFILTER. In reality you learn most of this by reading the Dynamics NAV developers guide. And by looking at code in the applicaiton.

Tips and Tricks to writing code "The Dynamics NAV Way"

Tips and Tricks - really you can't learn until you know why you need them. Generally they will come when you are sitting with a client trying to do something that seems odd, and you just know there has to be a short cut. Either you will experiment and find these tricks your self, or you can look in the base application to find somethign similar and copy it, or you can post on MBSOnline and ask for help.

The application

The applicaiton - is, in Dynamics NAV the key to successfully programing effective efficient code. Experience shows that the really good Dynamics NAV developers, are the ones that write the simplest code, because they know the application well, and are able to find an effective solution, instead of just using a bigger hammer.

There are a small number of developers that believe that you can be a good Dynamics NAV developer without understanding the application, but we will just agree to disagree, and move on. And whilst some people will go on to be good Dynamics NAV developers, I will work with those that want to to be GREAT Dynamics NAV developers.

So step one to learning to be a Great developer is to know the application backwards. For this you need (obviously) to learn two things:

The data structure

Install a new Navision Database, which will be your test database. For this learning exercise, you will only need the Cronus license. If you have questions or issues, post them here.

Although you will be tempted; at this stage, avoid looking at or touching code at all costs. Programming/coding is a trivial part of Dynamics NAV, but still, its very easy to get caught up in it at the beginning, and many potential developers do so, and thus never learn Dynamics NAV, and never become great developers.

Be prepared to open the Table designer, and just start scanning through tables, looking at links (preferably do this with F6, NOT by looking at field properties), and reviewing data.

Have a look at all the Base tables:

 ID	:	Name
 14	:	Location
 15	:	G/L Account
 17	:	G/L Entry
 18	:	Customer
 21 	:	Cust. Ledger Entry
 23	:	Vendor
 25	:	Vendor Ledger Entry
 27	:	Item
 32	:	Item Ledger Entry
 36	:	Sales Header
 37	:	Sales Line
 38	:	Purchase Header
 39	:	Purchase Line
 45	:	G/L Register
 46	:	Item Register
 48	:	Invt. Posting Buffer
 49	:	Invoice Post. Buffer
 50	:	Accounting Period
 81	:	Gen. Journal Line
 83	:	Item Journal Line
 92	:	Customer Posting Group
 93	:	Vendor Posting Group
 94	:	Inventory Posting Group
 110	:	Sales Shipment Header
 111	:	Sales Shipment Line
 112	:	Sales Invoice Header
 113	:	Sales Invoice Line
 230	:	Source Code
 250	:	Gen. Business Posting Group
 251	:	Gen. Product Posting Group
 252	:	General Posting Setup
 307	:	Inventory Buffer
 308	:	No. Series
 309	:	No. Series Line
 339	:	Item Application Entry
 370	:	Excel Buffer
 379	:	Detailed Cust. Ledg. Entry
 380	:	Detailed Vendor Ledg. Entry
 5740	:	Transfer Header
 5741	:	Transfer Line
 5744	:	Transfer Shipment Header
 5745	:	Transfer Shipment Line
 5802	:	Value Entry
 5803	:	Item Journal Buffer
 5813	:	Inventory Posting Setup
 6660	:	Return Receipt Header
 6661	:	Return Receipt Line

You can look at these both from the Table designer, and from the application.

HINT if you need to know which table you are in, then you can press CTRL F8 to find out which table you are looking at. For more detail, then go to the table designer, so you can run the whole table.

You will be trying to understand how these tables link to one another, and which fields they are related by. At this stage, try to concentrate just on these code tables, and don't spend too much time on others. That will come later.

The functionality

This is the harder part, and you will understand it better once you better understand the Data Structure. Of course you won't really understand the Data Structure until you have good understanding of the Functionality, so in reality this is a bit of a Catch 22 situation. In other words, you really need to learn both at once.

You should make the effort to run every function you can find. This going to be tough, so you need to start somewhere, and get a feel for what Navision does. As you progress through learning functionality, the Data structure will become more understandable.

I recommend that you start from the Sales Order Form, from here (in Cronus) learn to create new Customers and Items, try out Posting Item Sales Partial shipping etc. I will give more specific examples later, but for now, just get yourself to a position where you can comfortably create a new Customer, some Items, and ship and sell them. To get the items in stock, just go to an Item Journal and post a number of Positive Inventory adjustments for that Item, and DON'T use warehousing or bins at this point.

Basically from the Sales Order Form one by one, open each and every form, and try each and every function. If the function does not work, find out what you need to setup to make it work, but try everything. To start with, concentrate on the General ledger, Inventory, Sales and Purchasing, get those understood first. Don#8217;t worry too much about the more complex Functions related to Reservations, Planning, Manufacturing BOMs etc. Just get past the basics first.

Navigate

One of your greatest tools when learning to develop in Dynamics NAV is the Navigate function. Using F6 on a field in a table, you can learn a lot about the Data structure and its relations. But it does not help in learning posting functionality when you are trying to workout how posted tables are linked. This is where Navigate comes in.

When you start learning Navision, every time you post a document, you should Navigate the results to see what happened, and how the tables were created.

Also when ever you develop a new customization or Add-On that generates Posted Tables or Entries, you should always link it into Navigate.


See also

Your first test

Getting started NAV

Once you have a good idea of how Dynamics NAV works, test your self. I suggest the following test for all those that think they know Dynamics NAV, and be honest, don't cheat.


Open or Create a new Dynamics NAV Database from the Install CD. In this database, delete all companies. Yes delete all company data. And for the rest of the test, DON'T open Cronus on another DB, that#8217;s just cheating.

Now in this new completely empty Database, create a new company, and in that company do the following.

Create 10 or so Items, Customer and Vendors. Purchase a few of each item from various vendors, Sell Items to various customers, Purchase Office supplies and pay salaries using Purchasing and GL Journals, Receive Payments from customers, Pay Vendors, Also throw in some vendor and customer credits or returns, Spread all the transactions over a year, Close the financial year Create and Print out a Trial Balance, Balance Sheet, and Profit Loss statements, and an inventory valuation report.

If you get this far, then you will really understand Dynamics NAV. You would have had to create GL accounts, and setup all the posting groups and posting accounts. It will be a true though mini exercise in implementing Dynamics NAV.

The next test is to introduce Dimensions, Reservations, Lot Numbers, Item Charges, Transfers, Locations, Manufacturing, Expected cost posting, Resources, and Jobs.

Once you have that worked out, then its time for Warehouse RM, Fixed Assets, Service management etc.

Certification

Read about NAV certification exams and Dynamics NAV Exams to learn what tests you need to become certified in NAV.


The Dynamics NAV Codeunit designer is used to create and edit Navision Codeunits.

See also

Personal tools
Ads: