Learning Dynamics NAV
From Dynamics
(diff) ←Older revision | Current revision | Newer revision→ (diff)
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
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.
| Work In Progress: |
This page has been marked as a Work In Progress. Please help out by Editing and adding to it.
|
See also
- Getting started NAV
- NAV IDE
- Table designer
- Form designer
- Report designer
- Dataport designer
- XMLport designer
- Codeunit designer
- Menusuite designer
- NAV developer license
- End User NAV developer license
- NAV object number
- MSDN NAV training license
Categories: Glossary | Training | Implementation | Development | C/SIDE | HowTo | TipsTricks | NAV | User | Exam
