Top 27 Microsoft Dynamics Nav Interview Questions You Must Prepare 24.May.2024

A dimension is data that you can add to an entry as a kind of marker so that the Program can group entries with similar characteristics and easily retrieve these groups for analysis purposes. Dimensions can be used throughout the program on entries in journals and documents, as well as budgets.

Dimensions and dimension values are user defined and unlimited, which me you can create dimensions tailored to your company's needs and business processes.

Sets a value that specifies whether a must user leaves a record before it is inserted into the database. By default, new records are inserted when the user leaves the control.

There is a little trick to make a field EDITABLE on a NON-EDITABLE form which is to add this code to the field you want to still have access to.

OnActivate() CurrForm.EDITABLE(TRUE); OnDeactivate() CurrForm.EDITABLE(FALSE);

When you're on that field the form becomes editable again & when you leave it , it once again locks down.

Two Tier Architecture

  • DB Server<-data-> Client
  • all needed data from DB are sent to the client which process them
  • All raw data from DB must be trferred to the Client which will process them and display them.

Three Tier Architecture

  • DB Server <-data-> Service tier <-results/inputs-> Client
  • Client sends "only" some request for data, service tier read data from DB server, process them and only the requested result is sent to the client.

Here is the simple program inside Item Card, "Blocked - OnValidate()"

IF (Rec.Blocked = xRec.Blocked ) OR (Blocked = TRUE ) THEN EXIT;


Smail.CreateMessage( ......... );

SmailSent; //Smail is Codeunit SMTP Mail.

  • Set range is quicker than set filter.
  • Set range accepts only a range (From value, to value)
  • Set filter accepts only parameters in string format.
  • Set filter has more features then set range.
  • SETFILTER will limit the data returned when doing a FIND. GETFILTER will return the filter string applied to the field you pass to it. It's just a text value.

Role Centre is one of the most attractive features available in the latest of Microsoft Dynamics NAV 20@Basically, a Role Centre is designed to assist users by identifying the specific roles played in their day to day life. It improves the user friendliness of the ERP system by providing them an overview of the tasks and information relevant to their job and helps to plan their daily work

Role center Configuration and Personalization: The difference between configuration and personalization is that configuring a Role Centre changes the user interface for all users with the same profile, whereas personalizing a Role Centre only changes the user interface for a single user. This me that configuration is something done by the System Administrator or the System Manager mostly at implementation time, whereas Personalization is something done by the individual users depending on the priorities of their day to day life and it will not affect the role centres of other users.

To be able to configure a Role Centre, you must satisfy the followings;

  1. You must be an administrator with the role SUPER.
  2. You must be the owner of the particular Role Centre

This is because at same time two different users are trying to modify the values in same table. For the integerity and security of data, Navision won't allow multiple users to modify the values in same table at a time.

Autosplitkeys is a form property that automatically generates key values for primary keys that end with an integer type field.

Trheader should be printed before the first line of its data item on every page but the first.

Trfooter should be printed after the last line of the data item on every page but the last.

Item Movements are for the movement between bins within a warehouse location where you are using Directed Put-Away and Pick

Item Reclassification is used for a variety of reasons including:

  • Movements between bins within a location with bins but is not setup as Directed Put-Away and Pick
  • simple trfers between locations where shipping and receiving are not required
  • dimension changes to Item Ledger Entries

Virtual Tables work in the same way as normal tables with the limitation being that you cannot modify the data. Virtual Tables are not stored in the database as normal tables, but are computed at run-time. Virtual tables cannot be edited through Web services even if they are editable in Microsoft Dynamics NAV.

I figured out how to show customer/vendor addresses in Google maps without typing the address manually in the browser.

Just add a button with this code in the on push trigger to the customer/vendor card.

HYPERLINK ('' +Address+' '+"Post Code"+' '+City);

Flow field:

  • It is a powerful feature of C/side database system.
  • Underlying concept of SIFT that increase performance.
  • Flow field data does not gets stored in the data base.

Sum Index Field Technology(SIFT):

  • It is a decimal field that can be attached to key definition. Fundamental feature of Navision database that forms basis for flowfeilds. Fast calculations.
  • There can be a maximum of 40 keys to a table.
  • Primary key can be composed of 20 fields in a record.
  • Single Instance CodeUnit

Determines which field caused a group total to be calculated. This determines which field changed contents and thereby concluded a group. This function can only be used in group header and group footer sections.

Set Range - setting range (or filtering to one specific value if just one parameter entered)

Set Filter - setting any filter you can enter in NAV

It is mechanism in Navision to generate a number between a previous and next record.

Just add a new Menu Button to the form, and add a new option. Caption can be anything you want, for example "Disable Shortcut Key". Then define the Shortcut Key to Ctrl+F8, but do not define any lookup action. This will override the default Ctrl+F8 behaviour. What I did is to resize this new Menu Button small enough so I can hide it behind one of the other existing Buttons on the form (use Format->Send to Back to hide it).

Reclass will not alter item card, It will create two ledger entries to adjust your item.

Create a New singleinstance codeunit. This codeunit you have to launch in Codeunit 1 Function LogInStart(). Globals :

recUserSetup : Record : "User Setup"
autTimer : Automation : 'Navision Timer 1.0'.Timer (property WithEvents=Yes)

OnRun() of your singleinstance codeunit:

autTimer.Interval(3 * 1000); // test each 3 seconds
IF recUserSetup.get(USERID) THEN ;

On Trigger
autTimer::Timer(Milliseconds : Integer)

MESSAGE('You may not change the WORKDATE. WORKDATE has been resetted');

Trfer Order is a process so it involves physical good trferred from one location to another with trit time, shipment date, receiving dates etc. Item reclass journal is more like an adjustment than anything else.

In the older versions of Navision, Trfer Order did not exist, so the only way to trfer items from 1 location to another was the Item reclass journal.

Purchase/Sales in Item journal: it is possible to post purchases/sales without an order for it. For the moment, I don't think anyone is still using it. Everyone uses Purchase/Sales orders.

The Import Worksheet is one of the few forms which you cannot design in Dynamics NAV that is used during binary import of objects. If the import file contains only objects that are either new or have been updated, they will be imported. If, however, one or more objects with the same ID Property already exist, a decision must be made about what to do. The Import Worksheet displays information about both existing and new objects, and lets you decide how to handle conflicts.

Sets a value that indicates whether the table data applies to all companies in the Database or only the current company.

When you set the property "DataPerCompany" to FALSE, the data will be "Common to All Companies".

Used to store bitmaps and memos. Max size can be 2 GB.

FINDSET: for getting multiple records, you intend to loop through them

FINDFIRST: for getting only the first record in the filter, just one record

FINDLAST: for getting only the last record in the filter, just one record

Page Web Services: When a page is exposed as a Web service, a default set of operations is exposed to developers so that they can manage common record handling operations such as Create, Read, Update, and Delete. Page-based Web services offer built-in optimistic concurrency management. Each operation call in a page-based Web service is managed as a single traction.

Codeunit Web Services: Codeunit Web services provide you with the most control and flexibility. When a codeunit is exposed as a Web service, no default set of operations is exposed. You can decide which operations are available on a codeunit.

Basically both 'Movement' and Reclass can be used to adjust/reclass your item ledger entries information (dimension, location, and bin).

The difference is that Movement has a proper document (receipt and shipment), but your work is also increase because you need to do receipt and shipment for every item movement.

If you don't need to manage receipt and shipment, then reclass is much simpler in terms of work load and data.

"OnAfterGetCurrentRecord" is triggered only for the current selected record.

"OnAfterGetRecord" is triggered for ALL records that are shown.

Item Tracking is used to track Serial / Lot information on Items for Inbound or Outbound entries. Item tracing is used to trace the Serial / Lot no. that has been posted in the tractions as to where it has been used.