Shipment/Receipt Posting Policy in Dynamics NAV

If you would go to Departments > Administration > Application Setup > Warehouse > Warehouse, and then in Tasks, click Warehouse Setup. On the right side of the General FastTab, you will notice two fields: Receipt Posting Policy and Shipment Posting Policy.
Warehouse Mgt. Setup

This field [shipment/receipt posting policy] contains the policy that the program follows when it posts a warehouse shipment. There are two policies to choose from.

  1. Posting errors are not processed. – The program will post all source documents, without stopping, even if any errors occur in the posting process. You will get the message “X-source documents out of a total of Y have now been posted.” There is no possibility to see what kind of errors occurred in the posting process.
  2. Stop and show the first posting error. – The program will post source documents until the first error occurs. The posting process is cancelled upon the first error and the rest of the source documents will not be posted.

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , , | 3 Comments

What is the functionality behind On Hold field in Vendor Ledger Entry Table?

Once in a while, you get a question about default Dynamics NAV functionality, and you think you know the answer… What is the functionality behind “On Hold” field in Vendor Ledger Entries? Sounds easy… You use this field to block vendor ledger entries from being paid when using Suggest Vendor Payments batch job in Payment Journal, right? Correct, but is there anything more to it? How do you “block” vendor ledger entries from being paid? When entries are put on hold, can you still apply payments to them in Payment Journal?

On Hold field in Vendor Ledger Entry Table
This field can be used when a vendor ledger has been invoiced and you run the Suggest Vendor Payments batch job. You can use the field to determine whether the posted vendor entry will be included in the payment suggestion. Before posting, you can fill in the field with your initials or any other code to indicate that the vendor entry should wait for approval before a payment is made.

If the field is filled in, the entry will not be included when you run the Suggest Vendor Payments batch job. The field will show that the entry is waiting for approval. If the field is empty, the entry will be included in the payment suggestion.

How to use On Hold Field in Vendor Ledger Entry Table?
You can fill in the field either directly in Vendor Ledger Entries (by clicking F2 or double clicking on the field and entering the value):

On Hold Field in Vendor Ledger Entry Table

Or, if you know, that invoice should be put on hold prior to posting purchase document, you can fill in the field on “Invoicing” tab:
On Hold Field on Purchase Order Invoicing Tab

The contents of the On Hold field will get copied to Vendor Ledger Entries.
On Hold Field On Purchase Order in Vendor Ledger Entries

Can you apply payments to Vendor Ledger Entry that is On Hold?
This field is used only when running Suggest Vendor Batch Job in Payment Journal. If you are not using this batch, and you create a payment journal manually, you will be able to apply payments to vendor ledger entries that are “On Hold” without getting any warnings or error messages.

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , , | Leave a comment

What is the difference between Registering and Posting in Dynamics NAV?

If you have worked with Warehouse Module in Dynamics NAV, most likely, you have noticed, that there are plenty of places were you need to “Register” documents.
Posting and Registering - Register

On the other hand, if you have worked with other bits of Dynamics NAV, you have seen that usually “Post” action is used.
Posting and Registering - Post

What’s the difference? Why do you have Register on some document and Post on others?

Well, the answer is quite simple:

Registering something creates an entry in the program that records an action completed in the warehouse. Registering differs from posting in that it does not create any entries in the general ledger. Registering does not create item ledger entries neither.

I think it is important to understand the difference between these two actions – Register and Post. If you are end-user, understanding gives you a clearer picture that you have two separate systems – Warehouse Module and Inventory Module. If you are developer, using Mark’s approach – “Look, Learn, Love” – you should use similar approach in naming convention. That is, use “Post” for action that actually hits G/L (or Inventory).

Technorati Tags: , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , | Leave a comment

How to Change Default Role Center in Dynamics NAV RTC?

In Microsoft Dynamics NAV, the RoleTailored client comes with preconfigured Role Center to fit various roles in the companies. When you work with Dynamics NAV Demo Database, by default you will be using “Order Processor” role.
How to Change Default Role Center in Dynamics NAV RTC - Order Processor

However, you might want to change your Role Center to another one. Do you know how to do this?

How to Change Defautl Role Center in Dynamics NAV RTC?
1. In Navigation Pane, click Departments > Administration > Application Setup > RoleTailored Client > Profiles.
How to Change Default Role Center in Dynamics NAV RTC - Profiles

2. Open the card for the role you would like to use (in my example, I have selected “Shipping and Receiving – WMS” role). And select the Default Role Center check box.
How to Change Default Role Center in Dynamics NAV RTC - Shipping And Receiving - WMS

3. Restart Dynamics NAV RTC client.
How to Change Default Role Center in Dynamics NAV RTC - New Role Center

Result!

Related Links

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , , | 1 Comment

Error: The Microsoft Dynamics NAV Server cannot connect to the Change Listener to SQL Server because of the following error

—————————
Microsoft Dynamics NAV
—————————
The Microsoft Dynamics NAV Server cannot connect the Change Listener to SQL Server because of the following error: Cannot open database “Demo Database NAV (6-0)” requested by the login. The login failed.

Login failed for user ‘NT AUTHORITY\NETWORK SERVICE’.
—————————
OK
—————————

According to Murphy’s Tech Law – New systems generate new problems. And that’s exactly how you feel when you encounter new error messages. I wanted to open my RoleTailored client, and instead, I got this error message:
Error - The Microsoft Dynamics NAV NAV Server cannot connect to the Change Listener to SQL Server

Whaaaat? And then (rereading the error message third time) I realized, that yesterday I have been playing around with latest “extended demo database” and I have renamed my database to “Demo – Database NAV (6-0)” to “Extended Demo Database (R2)”:
Database Name - Extended Demo Database (R2)

So, what’s the solution? Renaming the database back to original name? Well… that would work. But a better idea would be to update “CustomSettings.config” with new database name:
Update CustomSettings config

Then, restart “Microsoft Dynamics NAV Server” windows service, and try running RoleTailored client again.
Connected to RTC

Result!

Related Links

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, errors | Tagged , , , , | Leave a comment

Calculate Whse. Adjustment Batch Job in Dynamics NAV

There are so many different questions you could ask about Inventory and Warehouse in Dynamics NAV (inventory costs, inventory levels, inventory valuations, discrepancies between inventory and warehouse, etc.), but most of the answers could start with “Have you ran Functions > Calculate Whse. Adjustment batch job in Item Journal?”
Calculate Whse Adjustment

What is Calculate Whse. Adjustment Batch Job in Dynamics NAV?

According to Dynamics NAV help files:

This batch job [Calculate Whse. Adjustment] sums up item by item all the quantity adjustments found in the warehouse adjustment bin. If the sum of the adjustments for an item is a positive or negative quantity, the program creates a line in the item journal for posting. When you post the adjustment lines, the item ledger and the warehouse records for the items, variants and locations that you selected in the batch job correspond exactly. To run this batch job, open the Item Journal window and click Functions, Calculate Whse. Adjustment.

What does this mean in simple user-friendly terms? Well, if you are using advanced warehousing, whenever you do a stock adjustment, it needs to be done in two steps:

  1. Post Adjustment in Warehouse Module (Warehouse Entries)
  2. Post Adjustment in Inventory Module (Item Ledger Entries)

If we would post Whse. Item Journal (to illustrate 1. Post Adjustment in Warehouse Module ) for Item 80216, Location WHITE, Bin Code W-04-0005, Quantity 100:
Calculate Whse. Adjustment - Whse. Item Journal

In Bin Contents, we could see that Warehouse Entries have been updated with the adjustment:
Calculate Whse. Adjustment - Bin Contents

In fact, if we would look at Warehouse Entries directly, we would see that the first step (of Warehouse Adjustment) hits “ADJUSTMENT” bin (defined on the Location Card), and the bin define on warehouse journal line (W-04-0005):
Calculate Whse. Adjustment - Warehouse Entries after Step 1

However, in Item Ledger Entries, we would see that the stock adjustment is not visible yet (we can see only entries that were there for another location prior to our warehouse adjustment):
Calculate Whse. Adjustment - Item Ledger Entries Not Affected

To bring back Item Ledger Entries in sync with Warehouse Entries, we need to execute step 2. Post Adjustment in Inventory Module. We need to go to Item Journal, click on Functions > Calculate Whse. Adjustment.. and post item journal:
Calculate Whse. Adjustment - Item Journal

This, is not affecting Bin Contents at all (because this has been adjusted in the first step), however it is creating another Warehouse Entry in “Adjustment” bin (when you will run Functions > Calculate Whse. Adjustment.. next time, total quantity in “Adjustment” bin will balance to 0, and item journal will not be created):
Calculate Whse. Adjustment - Warehouse Entries after Step 2

And second step also updates Item Ledger Entries (bringing our stock on Item Ledger Entries in sync with Warehouse Entries):
Calculate Whse. Adjustment - Item Ledger Entries Affected

We could even say, we have two systems – one for Warehouse Entries, one for Item Ledger Entries, and ideally, those two should be in sync.

So, whenever you post Whse. Item Journal (a positive or negative adjustment), or whenever you post Whse. Phys. Inventory Journals, you are executing on the first step: changing quantities for Warehouse Entries. Therefore, to bring back the system in sync with Item Ledger Entries, you need to go to Item Journal, run Functions > Calculate Whse. Adjustment.. and post retrieve lines.

Technorati Tags: , , , ,

Posted in Dynamics NAV / Navision, functionality | Tagged , , , , | Leave a comment

OptionString Property in Dynamics NAV (and outside)

Once in a while, you will need to write a quick report in SQL Reporting Services, or in Excel, while reading data from Dynamics NAV. And, usually, that is quite easy, if you are familiar with database structure and if you know in which fields and in which tables you can find the data you need. However, when you do this for the first time, you will definitely encounter a “mismatch” between how data looks in SQL and Dynamics NAV – a field with type of “Option”.

For example, if  you would try to write a report based on sales header table, you might want to use field Document Type. If you would run the table 36 “Sales Header” from Object Designer, you will get readable “Document Type” values:
Field Type Option - Document Type in Sales Header in Dynamics NAV

However, if you would run SELECT query, for the same table from SQL Management Studio, you will get less understandable results:
Field Type Option - Document Type in Sales Header in SQL

Instead of proper “Document Values” you will get plain numbers. But do you know why?

Firstly, we need to understand what an “Option” field is in Dynamics NAV:

An option field is defined with an option string, which is a comma-separated list of strings representing each valid value of the field. This string is used when a field of type Option is formatted and its value is converted into a string.

For example, the Option field “Color” is defined with the option string “Red,Green,Blue”. Valid values of the field are then 0, 1, and 2, with 0 representing “Red” and so on. When the “Color” field is formatted, 0 is converted into the string “Red”, 1 into “Green”, and 2 into “Blue”.

How to find Option String Values in Dynamics NAV?
If you a writing a report using SQL Reporting Services and you need to find what your integer values mean (for example, what 0,1,2,3,4,5 means in Document Type field), you will need to:
1. Go to Object Designer (click SHIFT+F12)
2. Find your table in question (in our example, it is table 36 “Sales Header”) and click “Design” button (or click ALT+D)
3. Find your field in question (in our example, it is field 1 “Document Type”) and click View > Properties (or click SHIFT+F4)
4. Find property OptionString and check the Value column (Quote,Order,Invoice,Credit Memo,Blanket Order,Return Order).
5. Map OptionString values to Integer numbers starting from 0 (0 = Quote, 1 = Order, 2 = Invoice, 3 = Credit Memo, 4 = Blanket Order, 5 = Return Order).

Understanding how OptionString values are being displayed in SQL Server gives us a better chance of writing meaningful reports. There is a very nice example written of doing that in the Related Links section below.

Related Links

Technorati Tags: , , , , ,

Posted in Dynamics NAV / Navision, SQL | Tagged , , , , , | 1 Comment