Microsoft Dynamics NAV

Team Blog

October, 2011

  • Microsoft Dynamics NAV Team Blog

    Embedding fonts into PDF


    Update: I stand corrected, embedding fonts into a PDF is not an option with the SAVEASPDF function in NAV 2009.

    But now you at least know that this is solved in our next version.



    I just want to share a small tip today. If you need to include a custom font into a RDLC report you need to first install the font, of course.

    The Font must be a True Type font. If your font is an Open Type font you will need to convert this first for it to visible in Visual Studio.

    Then you will need to restart the computer for the font to be embedded into the report when saving as PDF.

    The restart issue took me some time to figure out, so with this small tip, you hopefully will not loose as much hair as I did, when you include a custom font into a RDLC report.

    I have attached a sample RDLC report with a custom barcode font.


  • Microsoft Dynamics NAV Team Blog

    Useful Dialog Windows with .NET Interop and NAV 2009 R2


    We have been asked recently how to display a Dialog window for the RoleTailored client that would collect a Directory path.

    The old (good) Codeunit 412 “Common Dialog Management” was not suitable for that purpose (and honestly I would love to go for something more RTC oriented).

    I thought myself, then, there may be a lot of useful Dialog windows based on System.Windows.Forms namespace.

    1. How to select a DIRECTORY
    2. How to select a FILE
    3. How to select a COLOR
    4. How to select a PRINTER

    Attached you will find 1 unbounded page object in TXT format.

    The code is fairly simple.


    These postings are provided "AS IS" with no warranties and confer no rights. You assume all risk for your use.

    Duilio Tacconi (dtacconi)         

    Microsoft Dynamics Italy                     

    Microsoft Customer Service and Support (CSS) EMEA

    - Thanks to Carsten Scholling from Microsoft Dynamics CSS Germany -

  • Microsoft Dynamics NAV Team Blog

    Reorder items and forecast: is it the right thing to have both together?


    Forecast are used to prevent planning of any new demands coming. But, is it meaningful to use forecast with reorder point items? I would say no, just what I think. I am saying this because the reorder point is calculated from the safety stock + average demand during lead time. Thus, the reorder point level intrinsctly have a forecast on what would be the demand (the average). Thus, it is not meaningful to include forecast when reorder point is used

  • Microsoft Dynamics NAV Team Blog

    Document Management - Zetadocs Express for Microsoft Dynamics NAV is Now Available for Download!


    We are very happy to announce that now it is here - Zetadocs Express for Microsoft Dynamics NAV.

    Now customers on a Business Ready Enhancement Plan can get a document management solution integrated with SharePoint Online. With an subscription to Microsoft Office 365 customers are now able to drag & drop documents into Microsoft Dynamics NAV which then are stored on SharePoint Online. Additionally customers will also be able to send documents as PDF and store them automatically when sending.

    Partners can download Zetadocs Express now and include document management in their demonstrations of Microsoft Dynamics NAV. Customers on a Business Readiness Enhancement Plan should talk to their partners to get this installed in order to take advantage of document management capabilities integrated into Microsoft Dynamics NAV.

  • Microsoft Dynamics NAV Team Blog

    Swiss LSV Collection Authentication Report


    The Lastschrift Verfahren (LSV)—or direct debit—electronic payment method now includes IBAN. As a result, the debit authorization document has changed. Swiss versions of Microsoft Dynamics NAV 5.0 SP1 and Microsoft Dynamics NAV 2009 R2 both contain a report, 3010836 LSV Collection Authorization, that handles this, but the report does not include the new IBAN number information. 

    To open the LSV Collection Authorization report:

    • In Microsoft Dynamics NAV 2009 R2 RoleTailored client, in the Search box, enter LSV Collection Authorization, and then choose the related link.
    • In Microsoft Dynamics NAV Classic client, in the Navigation pane, in the Sales & Marketing department, expand Setup, and then choose LSV Setup. In the LSV Setup winow, choose Print, and then choose Collection Authorisation.

    In order to prepare and print the new version of LSV Collection Authorization report, Swiss customers must download the Style Sheet tool for Microsoft Dynamics NAV 5.0 SP1 and Microsoft Dynamics NAV 2009 R2. If you do not use the Style Sheet tool, you must make the appropriate changes in code.

    After installing the Style Sheet tool, in Microsoft Dynamics NAV Classic client, open Object Designer, and then run form 680 Style Sheet Card. The following screen shot shows the setup for LSV collection authentication in EUR.

    If you have a separate LSV setup for EUR and CHF, you must set up a style sheet for LSV collection authentication for each currency.

    NOTE: You can find a sample definition, a sample style sheet, and a sample mail merge document attached to this blog post.

    After setting this up, it's just a matter of selecting a customer in the Customer List window in the RoleTailored client or the Classic client, and choosing the Send to Microsoft Office Word button, and you'll get an LSV collection authentication
    for the selected customer.

    The following screen shot shows the result of the mail merge.

    The printout you'll get is the same as proposed in the LSV guidelines that are posted as lsvneu_spez.pdf on the SIX Interbank Clearing website.

    Alternatively, you can create a standard report, but this approach reduces the code base that you need to maintain and so lowers the cost of ownership for customers.

    For an example of how to set this up in Microsoft Dynamics NAV, see the attached package with sample files.

    -Ivan Koletic

  • Microsoft Dynamics NAV Team Blog

    Installing NAV 2009 R2 without Active Directory


    Normally you need to have an Active directory server running to use multi-tier of NAV 2009 R2. But in some cases this is not possible or existing. In NAV 2009 R2 we got an new configuration option called ClientCredentialType that is meant to be used over WAN. But I will in this blog post show one simple way to get this up and running for development and test purpose, in a LAN environment

    In a developer or test environment
    1. Install Service, Database and Classic client on the server machine.
    2. Create the needed windows users on the server machine
    3. Add the newly created window users to NAV in classic client, under Tools->Security->Windows Logins
    4. Now sync all new logins in classic client, under Tools->Security->Synchronize All Logins
    5. Install RTC on client machine
    6. Update ClientCredentialType in C:\ProgramData\Microsoft\Microsoft Dynamics NAV\ClientUserSettings.config (path is for Windows 7 and Windows 2008) to "UserName" on client machine. Also update the server key to server machine name. It’s important that you have never started RTC on this machine before to make this working.
    7. If you have started RTC earlier on the client machine you also need to update ClientCredentialType in C:\Users\[user name]\AppData\Local\Microsoft\Microsoft Dynamics NAV\ClientUserSettings.config to "UserName" on client machine. Replace [user name] with your user name. Also update the server key to server machine name.
    8. Start RTC and you will get a popup box asking for credential. For user name type "[server machine name]\[user name on server machine]".

    For an production environment I would recommend to use certificates to authorize the connection between RTC and server. Guides to setup certificates can be found under subject "Procedural Overview" on


  • Microsoft Dynamics NAV Team Blog

    Requisition vs. Planning worksheet: why having two planning tools?


    Why warning icons are available on the Planning Worksheet but not in the Requisition Worksheet? Well, this is more a licensing request.

    Requisition worksheet is on the basic license ... thus, it provides basic functionality. In the other hand, if you require more complex planning functionality, you should buy planning worksheet. And, what are these differences between Requisition and Planning Worksheets in terms of functionality? Lets find out this:

    Requisition Worksheet:

    • It is included in the Business Essentials
    • It is intended for replenishment of Purchase and/or Transfer orders
    • It allows to run Regenerative Plan
    • It sets Pegging info
    • It is MRP focused

    Planning Worksheet:

    • It also allows replenishment of Production Orders
    • It allows to run Regenerative Plan
    • It sets Pegging info
    • It is MRP and MPS focused
    • It provides Planning warnings
    • It is prepare for Net Change planning
    • It has a Error Log
    • And, it can interact with Requisition Worksheet by creating entries
  • Microsoft Dynamics NAV Team Blog

    How to work with "Warning icons" in Planning Worksheet


    Take this post as my suggestion on how to work with "Warning icons". Any other idea is welcome, let's comment on that !!

    Back from NAV 5.0 SP1, warning icons were added to the Planning Worksheet to raise exceptional situations. There are three type of scenarios here:

    • Emergency (ie. inventory is negative)
    • Exception (ie. inventory below safety stock)
    • Attention (ie. planning start date is earlier than workdate)

    Warning icon in the Planning Worksheet identify one of above cases. Now, if you carefully check the planning line, you will notice that the "Accept Action Message" flag is disabled when warning icon identifies any of the above scenarios. Why? This is simpler: NAV is not suggesting to carry out the planning line, it only raise that there is a situation which needs to be managed and it provides further info about when (due date) and what (quantity) is the minimum to bring the situation to normal (ie. if this is an exception, it will do a backward scheduling from the date inventory is below safety stock with just the quantity required to make it equal to safety).

    So, NAV only raise the exception, emergency or brings attention to the planner. But, it leaves planner the decission about what to do here. Why is this? Why having a planning tool which does not help me here? Well, I can tell you that different customers treats exception differently. I can tell you that it is nothing to be what one customer does with the other (one can wait till next suppy raise to increase quantity, other creates an "urgent" supply, other ...). Thus, it will be hard difficul to agree on a common behaviour here. Also, the above scenarios are exceptional. Thus, it should not happen regularly, it should happen only in rare occasions. Thus, it is not required to implement a full functionality (which we might not agree on the common behaviour among customers as stated above) since customer will not have this but in rare times.

    Thus, NAV leaves the decission to the planner on what to do to avoid any of the above exceptional scenarios. It does this by:

    • raising/warning the planner: setting the Warning icon
    • disabling the "Accept Action message": planner needs to decide before carrying out


  • Microsoft Dynamics NAV Team Blog

    EN-US as Web Services default language


    Recently a Hotfix has been published that have solved a "buggy" scenario in which under some circumstances Web Services Language depended on the Role Tailored client language used on the last session.

    This was impacting the date format and was unpredictable so Development decided to set EN-US as language by default for Web Services.

     This is the link to the KB Article from where Hotfix can be downloaded:

    Unexpectedly the date format in the Microsoft Dynamics NAV web service depends on the RoleTailored client language that you use in Microsoft Dynamics NAV 2009$EN-US$2575205

    Therefore builds from 32558 on will include this change (Bear in mind that Platform Hotfixes are cumulative for NAV 2009 SP1/R2 so any Hotfix higher than this will include this change) so please take this into account when applying such hotfix as long as it will have some impact on developments made to Web Services (Specially to date format as EN-US is MM/DD/YY)

    Diego García Álvarez

    Dynamics NAV Senior Support Engineer

  • Microsoft Dynamics NAV Team Blog

    E-mail logging and what to do when upgrading to a new release of Exchange Server or when moving the current Exchange Server to new hardware


    Microsoft Dynamics NAV technical support sometimes gets involved regarding request for E-mail logging assistance after an Exchange Server was migrated from old to new hardware or when the original Exchange Server was upgraded to a later release. Starting in Exchange 2007, the underlying OS should be 64-bit which means that new hardware needs to be purchased and the question then comes up how to migrate the old Exchange Server database to the new one. Some customer decide to use tools like Exmerge (PST migration method) or a similar approach.

    This however breaks the entry ID’s and store ID’s that are needed to link the interaction log entries with the E-mails that are stored in the STORAGE folder on the Exchange Server.

    The way to preserve the correct ID’s is to establish Public Folder replication / Move Mailbox methods. E-mail logging will be functional after the move to the newly created Exchange Server and old and new interactions of type E-mail can be shown without troubles utilizing Office 2003 and Office 2007. If a different migration scenario was chosen, the only way forward is to move the stored E-mails from STORAGE folder to the QUEUE folder (on the new Exchange Server). This of course becomes tricky if the logged E-mails do not contain correct E-mail addresses or do now contain X500 addresses. The current advice is to file a support call with Microsoft Dynamics NAV technical support for further assistance.

    However, we now also see a couple of new scenario’s when 32-bit and 64-bit Office 2010 comes into the working place as well. When Office 2010 is added to the environment, an update is required:
    2291071    "This e-mail has been deleted" error message if you use the "E-mail Logging" feature in Microsoft Dynamics NAV 2009 SP1 together with Microsoft Office 2010;EN-US;2291071

    Furthermore, you could have a look at the following blog:

    After Exchange Server migration, there are problems with old and new Interaction Log Entries when using a mixture of 32-bit Office 2010 and 64-bit Office 2010.
    On 32-bit Office 2010, only the older logged E-mails do not open successfully. Newly logged E-mails do open successfully.
    On 64-bit Office 2010, only the new logged E-mail do not open successfully. older logged E-mails do open successfully.

    This has been reproduced by Microsoft. The workaround to move the logged E-mails from STORAGE folder to QUEUE folder, does not really apply here.

    The cause of this problem is due to two issues.

    • In the database, the old records in table 5062 (“Attachments”) has a field called Store Pointer ID which is still pointing to the old machine running Exchange 2003, and not the machine running Exchange 2010.
    • On the client, a component of Outlook caches these Store Pointer IDs when accessed through the API used in NAV, even though the client has been configured to use the new Exchange server.

    Resolution steps

    1. Apply KB 2291071.
    2. Ensure that mails can be logged (but not necessarily shown) before continuing.
    3. Disable "Use Cached Exchange Mode" on both a 64-bit and 32-bit Outlook client and ensure that the mails logged after the Exchange upgrade can now be shown from the interaction log.

    Once the above steps have been ensured, configure the clients which are experiencing the issue in either one of the following ways:

    1. Permanently disable the "Use Cached Exchange Mode" if the customer does not care about the cached mode features.
    2. OR ELSE delete and recreate the users Outlook Profile in Mail in the Control Panel.

    Once the clients are configured correctly, apply the following steps only once to update the database so that the records in table 5062 point to the new Exchange server:

    1. Take a backup of the database.
    2. Identify the most recently logged e-mail (which is therefore logged as being on the new Exchange server) by running table 5062 from C/SIDE and noting the "No." field of the record with the highest value in "No.", which has "Storage Type" being "Exchange Storage".
    3. Import the code unit below, adjust the line containing "BaseAttachment.GET" to the number found above, and run it.

    OBJECT Codeunit 10000 Update attachment IDs
        Version List=;
                Attachment@1170000000 : Record 5062;
                BaseAttachment@1000000000 : Record 5062;
                TransferInStream@1000000001 : InStream;
                TransferOutStream@1000000002 : OutStream;
                // define here what attachment (in table 5062) has a correct and working Store Pointer ID

                IF Attachment.FIND('-') THEN
                    IF Attachment."Store Pointer ID".HASVALUE AND (Attachment."No." <> BaseAttachment."No.") THEN BEGIN
                      BaseAttachment.CALCFIELDS("Store Pointer ID");
                      BaseAttachment."Store Pointer ID".CREATEINSTREAM(TransferInStream);
                      Attachment.CALCFIELDS("Store Pointer ID");
                      Attachment."Store Pointer ID".CREATEOUTSTREAM(TransferOutStream);
                      COPYSTREAM(TransferOutStream, TransferInStream);
                  UNTIL Attachment.NEXT = 0;

                MESSAGE('Attachment Store Pointer IDs were updated');




    Marco Mels

    This posting is provided "AS IS" with no warranties, and confers no rights

  • Microsoft Dynamics NAV Team Blog

    Rounding in ERP world


    As you might know, ERP tools are based in integers and decimals. There are other tools which are much more powerful from a mathematical perspective. These are the engineering tools which are mostly used in those environments where precision in calculation is higher than what we are used to. Also, these use fractions (1/3) instead of integers and decimals. Going back to ERPs, these are to track inventory, G/L, to plan accordingly … The majority of the customers do not require high precision on the calculation while they do not require complex mathematical equations.

    Having this in mind, we also need to understand what happens in real life. If we assume we buy boxes of given item and each box has 3 pieces of that same item, would you really consider your customer is shipping 1/3 of a box instead of 1 piece? I guess your customer does not want to mention 0,33333333333333333 period of a Box, right?. That is why it is important to avoid rounding. This is not only to avoid rounding in ERP. This is about avoid rounding in real life.

    The truth is that setup in ERP need to have one premise: avoid rounding as much as it can be done. In order to do this, mostly all ERP provide a setting which define what is the base unit of measure. This is the unit of measure which is going to be the base on each calculation which takes place in inventory. Going back to our example of BOX and PCS, we need to setup ERP with the fact that the smallest unit (PCS) is set as the base Unit of measure. This way, all calculation will be based in PCS as base UoM. In other case, if we don’t do this, we can run into a rounding issue when BOX is set as base UoM and customer ships one PC. But … what is really doing the customer? It shipped 1 PC and not 1/3 of a BOX.

    Consider what you do in real life. Take the smallest UoM as base UoM.

    Lastly, consider this as an entry about ERP, this is not about NAV specifically.

  • Microsoft Dynamics NAV Team Blog

    Forecast netting in NAV: where the buckets are!!??


    As usual, let's start talking from a pure business perspective ... When a forecast is defined, it is always required to define for which period the forecast is defined. In other words, if you forecast a demand of 200 pieces, for which period is this for? Usually, forecast are defined for a week or a month. So, what you are really defining is that your are forecasting a demand of 200 pieces for a given week, month or ... whatever period we would like to.

    Now, what NAV is doing? We have the production forecast in the Manufacturing module where we define the forecasted demand on a given date (ie. 200 pieces for Nov 1st). But, is this forecast valid only for the date is defined for? Or, is it for a given period (month, week, ...)? Where do we define the aboved mentioned buckets which provide the forecast period?

    The key here is to understand how NAV does the netting. It is true that when we define forecast is NAV we don’t have such a bucket set as well. Correct. That is the gap from the above business process. But, what NAV design states is that this above mentioned bucket is considered based on next forecast entry set in NAV. Let me explain this. If you set a forecast for the 1st of October and another one for the 10th, NAV assumes that forecast for the 1st of October is set for the period starting on Oct 1st until the next forecast entry (Oct 10th).

    Thus, the forecast will be net against the existing sales orders on the period above calculated. If sales order is on a different period, it won't be netted against this forecast entry but against the relevant one.

  • Microsoft Dynamics NAV Team Blog

    Finalizing the Role Tailoring of Microsoft Dynamics NAV – Take II


    Working on my warehousing presentation for Directions in Orlando next week, I am finalizing a new configuration for the SHIPPING AND RECEIVING – WMS profile – code name Sammy.

    This blog post is a continuation of the post back in May this year: Finalizing the Role Tailoring of Microsoft Dynamics NAV.

    I mainly took all the lists and card pages from the navigation pane and made them more suitable for a warehouse responsible.

    This means that “Create a New Sales Order” or “Use the Item Journal” and similar non-warehouse actions are removed from the action panes, while the ability to navigate to warehouse document or to create them is added. Furthermore, all warehouse documents are now focused on WMS scenarios, meaning that our original concern to present e.g. the pick document both for inventory and for warehouse is discarded so that we focus 100% on the WMS usage.

    Some of the standard groupings of the Action Pane are also modified. The “Open in another window” command is now promoted on reference list places, and “Previous” and “Next” are highlighted on cards.

    Example from the Purchase Order List page:

    And from the Purchase Order page:

    Or from the Whse. Shipment List page

    And the Whse. Shipment page:

    For all scenarios to demonstrate, I have also updated the various missing actions pane buttons, and all the column layouts have been polished (with freeze panes and warehouse flow-centric fields).

    The following pages have been subject to configuration:

    Warehouse Activity Lines (5785)

    Warehouse Shipment List (7339)

    Warehouse Shipment (7335)

    Purchase Order List (9307)

    Purchase Order (50)

    Transfer List (5742)

    Transfer Order (5740)

    Warehouse Receipts (7332)

    Warehouse Receipt (5768)

    Filters to Get Source Docs. (5784)

    Posted Whse. Receipt List (7333)

    Posted Whse. Shipment List (7340)

    Cross-Dock Opportunities (5783)

    Reservation (498)

    Warehouse Put-away (5770)

    Movement Worksheet (7351)

    Posted Whse. Receipt (7330)

    Warehouse Movement (7315)

    Sales Order (42)

    Warehouse Pick (5779)

    Warehouse Picks (9313)

    Warehouse Put-aways (9312)

    Whse. Item Journal (7324)

    Bin List (7303)

    Bin Content (7304)

    Bin Contents List (7305)

    Item Bin Contents (7379)

    Released Production Order (99000831)

    Released Production Orders (9326)

    Item Card (30)

    Item List (31)

    Bins (7302)

    Zones (7300)

    Customer Card (21)

    Customer List (22)

    Shipping Agents (428)

    Vendor Card (26)

    Vendor List (27)

    Warehouse Activity List (5774)

    Item Journal (40)

    Pick Worksheet (7345)

    Whse. Internal Put-away List (7356)

    Whse. Internal Put-away (7354)

    The configuration is attached.

    Best regards
    Philippe Jacobsen

Page 1 of 1 (13 items)