I have seen quite a lot of questions from confused and frustrated new developers who simply don’t understand Navision. “Why isn’t NAV and C/AL like the
development languages they know, why isn’t it more like Pascal, Basic,
C++ or even C#?”. Today nobody asks about Pascal or Basic anymore, but
18 years ago they were both quite common.
Navision always had its own IDE (integrated development environment) called C/SIDE (originally short for client/server integrated development environment) and didn’t use Visual Studio as the development platform. This environment was tightly integrated into the (classic) client and specially optimized for ERP development. With the release of NAV 2013 the classic client is “dead”, only the development part of the classic client remains – now called “Microsoft Dynamics NAV Development Environment”. And this is still where all NAV development is done, with the exception of reports, where the report layouts is developed in Visual Studio using RDL.
You should see the debugger as your best friend and tutor into NAV development. And it doesn’t matter if you’re a new developer or an experienced developer. Don’t see it just as a tool to debug errors!
If you are developing to Dynamics NAV 2009 to the Role Tailored Client (RTC) then the debugger will not work here! With NAV 2009 you need to debug using the classic client. With Dynamics NAV 2013 Microsoft released a new debugger that works now with the RTC (now just called the Windows client).
So if you’re asked to add a new field to the sales order and make sure that this field is transferred to the posted sales invoice, then you can use the debugger to see how the existing fields are transferred. And you will know exactly which objects to modify.
And the standard system is full of examples. When you are familiar with the standard functionality, then it’s easy to identify similar functionality to what your development task’s requirement. Debug this functionality and then browse the objects, check the code and properties of the standard functionality and then eventually copy whatever code you need. Like if you need a new a new field which is almost similar to a standard field, then it’s easier to copy an existing field and the code related to this field and modify it, than to create it from scratch.
Mibuso.com is another great resource, with an online forum that is available to you just for signing up as a member, as well as downloadable code. You can learn a lot just by searching the forums. I’d encourage you, as a new NAV developer, to sign up and review the site often. It’s rich with expert advice – and it’s free!
With a membership to the NAVUG user group, you have several training options, and events you can attend. They also have a free forum onsite, with excellent community participation. Likewise Dynamics User Group, which covers the entire Microsoft Dynamics family, has many online resources, including a forum, and blogs.
CustomerSource is another resource filled with NAV application and development training and documentation. Talk to your CustomerSource administrator or VAR to get a login to the site and gain access to the information there.
See Also :
Navision always had its own IDE (integrated development environment) called C/SIDE (originally short for client/server integrated development environment) and didn’t use Visual Studio as the development platform. This environment was tightly integrated into the (classic) client and specially optimized for ERP development. With the release of NAV 2013 the classic client is “dead”, only the development part of the classic client remains – now called “Microsoft Dynamics NAV Development Environment”. And this is still where all NAV development is done, with the exception of reports, where the report layouts is developed in Visual Studio using RDL.
Do you want to become a NAV developer or a NAV programmer?
I know many people would say that a
developer and a programmer is the same. But I don’t think so. You can
rather easily turn a “classic” C programmer into a NAV programmer by
learning them C/AL. But becoming a NAV developer takes more time. It
requires that you besides knowing the actual programming (C/AL) also
have a much broader understanding of NAV. That you know both how it
works from the users point of view and more important why it works the
way it does. A Dynamics NAV developer should also have a good knowledge
of ERP/accounting and business management in general. All NAV developers
needs to understand the concepts of debit/credit.
Without this knowledge, then you’re
often not able to fully understand the requirements you receive from the
customers and/or consultants and come up with the best way to solve
this requirement. You not only have to fulfill their requirements in a
good technically way, but also in a way so that it is easy to use and
doesn’t conflict with existing functionality.
The NAV developer needs to be able to say “No” to the client/consultant,
if they come up with a requirement. They need to be able to come up
with alternative solutions or work-a-rounds. Why spend 10 hours creating
a new functionality, if you can simplify the requirement and use
existing functionality?
So if a NAV programmer is someone who is
able to write NAV code based on a detailed design specification, then
the developer someone who is also able write the design specification.
Which one do you want to become?
How to start with NAV development?
I therefor always suggest a new NAV
developer that they start by learning how to use Dynamics NAV. Install
the demo database, and then start using it. If you’re a new NAV
developer working for a partner and you have never worked with NAV
before, then you should really follow one of the implementation
consultants when he/she helps the customer setup a new database. Be a
part of the test-group. Create g/l accounts, customers, orders, post
invoices, register payments etc. And always ask your self “What if I did
this?”.
A good way is also to follow the basic
NAV training like “Dynamics NAV Introduction” and “Dynamics NAV
Financial Management” or similar. Taking the “Dynamics NAV Developer”
training is of course also a good idea, especially if your plan is to
get the NAV developer certification. I know many partners would say that
your focus is to get the NAV developer certification. But in my opinion
then the certification in it self doesn’t really say anything about the
knowledge of the developer, except that he/she might have been able to
remember the answer to some standard questions. Personally I would
prefer a developer with 1-2 years actual experience, then someone with a
certification and less experience.
The debugger
When you have started using the system and feel comfortable with it, then start turning on the debugger. This way you can see exactly what happens when you use the system. You can see which objects are accessed, which code it executes and in which order.You should see the debugger as your best friend and tutor into NAV development. And it doesn’t matter if you’re a new developer or an experienced developer. Don’t see it just as a tool to debug errors!
If you are developing to Dynamics NAV 2009 to the Role Tailored Client (RTC) then the debugger will not work here! With NAV 2009 you need to debug using the classic client. With Dynamics NAV 2013 Microsoft released a new debugger that works now with the RTC (now just called the Windows client).
The standard system
So the debugger helps you to get familiar the standard system. Because when you know which code is executed, then it’s also much easier to be able to customize the system.So if you’re asked to add a new field to the sales order and make sure that this field is transferred to the posted sales invoice, then you can use the debugger to see how the existing fields are transferred. And you will know exactly which objects to modify.
And the standard system is full of examples. When you are familiar with the standard functionality, then it’s easy to identify similar functionality to what your development task’s requirement. Debug this functionality and then browse the objects, check the code and properties of the standard functionality and then eventually copy whatever code you need. Like if you need a new a new field which is almost similar to a standard field, then it’s easier to copy an existing field and the code related to this field and modify it, than to create it from scratch.
How to optimize your use of the NAV developer forums & Blogs?
As a developer you can get a lot of help
from the Forums and Blogs. Often seeing new NAV
developers start using forums and blogs
as soon as they get their first development assignment. And sometimes
doing a full copy-paste from their development assignment, before they
have taken the time to understand the assignment themselves. Whereas
most of our members love to help you with your specific problems, then
nobody really wants to do your job for you. So that’s not the way to use
the forums. Often such question will not even be answered, at least not
as fast as you want.
Always understand your own question before asking it.
When posting a question or searching in a google you should try
to make the post or question as short as possible, but at the same time detailed and
easy to read. And always mention the product version, as there might be
big difference in how to solve a problem in Navision 3.70 or Dynamics
NAV 2013. Don’t simply ask “How do I do this?” but write something like
“I consider doing it this or that way. But I’m having a problem
understanding how to do this (be specific). Is this a good way to do it,
or is there a different way it could be done”. This is of course only
an example. But the idea is for you to ask your questions so that they
can be answered without taking too much time from your fellow member. In
general then posts which requires too much time to answer are less
likely to get a quick answer.
This blog post is the first in a series
of posts with the purpose of helping especially Dynamics NAV developer
newbies with some of the most frequently asked questions. If you have a
suggestion to topics I should write about, then please write it in the
comments below. If it’s a general question then I will put it on the
list to be included in a future post.
Mibuso.com is another great resource, with an online forum that is available to you just for signing up as a member, as well as downloadable code. You can learn a lot just by searching the forums. I’d encourage you, as a new NAV developer, to sign up and review the site often. It’s rich with expert advice – and it’s free!
With a membership to the NAVUG user group, you have several training options, and events you can attend. They also have a free forum onsite, with excellent community participation. Likewise Dynamics User Group, which covers the entire Microsoft Dynamics family, has many online resources, including a forum, and blogs.
CustomerSource is another resource filled with NAV application and development training and documentation. Talk to your CustomerSource administrator or VAR to get a login to the site and gain access to the information there.
See Also :
Regards,
Sathish
No comments:
Post a Comment