Microsoft Dynamics NAV

Team Blog

  • 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

  • Microsoft Dynamics NAV Team Blog

    Few tips about filters usage in latest Dynamics NAV RTC builds


    I want to describe few tips about filters usage in Dynamics NAV RTC. This can be useful for users who worked with classic client and came to RTC.

    In Dynamics NAV Classic Client we can construct filters in filters window using following operators:

    ..   Range

    &   And

    |   Or

    <   Less than

    <=   Less than or equal to

    >   Greater than

    >=   Greater than or equal to

    <>   Different from

    *   Forms a part of value

    @   Case-insensitive


    Let’s say for example we want to find item in item list ending with “Front” then can construct filter on description: *front

    And we have results


    Now try the same in RTC.
    In RTC we have “Filter Pane” and we don’t need to call filter window. So here we just change filter field to description and ad the same filter value:*front

    But wow, result is different:

    It also includes items which starts with ‘front’ and even has ‘front’ in the middle of description.

    What is wrong? Nothing, this is feature of RTC filters: whatever we add to this filter, it will be translated to string by adding ‘@’ in front and ‘*’ in end. So our filter string ‘*front’ becomes ‘@*front*’ and RTC filters for any description includes ‘front’ in upper or lower case.  

    We can see this transformation if open “About this page” filter section:

    If we know this feature, then we can use it very smart: if we know how description starts, we just type begin of it without any filter operators and we have all description, which begins with this string, filtered. Fast work, is it?

    But what to do if we really want to filter only descriptions which end with ‘front’. Then we have 2 options:
    1. Use apostrophes for filter string for example enter “ ‘*front’ ” instead of “ *front ”, then RTC filter exactly on this string:

    1. Expand Filter Pane and filter on exactly what we want:


    That’s all what I want to say.

    Ps. If you have question “why I filter on ‘front’, but results always includes ‘Front’”, then answer is: my db SQL collation is not cases sensitive, so SQL doesn’t see difference here and shows upper and lower case values.


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

    Gedas Busniauskas

    Microsoft Lithuania
    Microsoft Customer Service and Support (CSS) EMEA


  • Microsoft Dynamics NAV Team Blog

    Directions EMEA Registration Now Open – Follow News from Microsoft on the Event Blog!


    Visit the new Microsoft Blog on the Directions EMEA web site. Hear the latest Microsoft Dynamics NAV news, comments, and opinions from Dan Brown and Paul White – together “The Beige Blog”;

    The registration for Directions EMEA is open now at The conference takes place April 25-27 in Rome and is the largest Microsoft Dynamics NAV conference for partners organized by partners! Early Bird discounts are available. Read more about the event in Paul White’s introduction on “The Beige Blog” here:

  • Microsoft Dynamics NAV Team Blog

    Object Metadata update flow in Microsoft Dynamics NAV 2009


    My colleague Lars described in BLOG post “About Object Metadata, and why I can’t see object changed in RTC” and explained how to troubleshoot metadata update problems.
    With current post I’m trying to overview whole process and make it more clearly for all.

    So we have few moments I want to clarify in beginning (something like glossary).

    In Microsoft Dynamics NAV 2009 (NAV) we have few parts:

    • ·         SQL server – storing data (including objects);
    • ·         NAV Service Tier (NST) – storing metadata and timestamp in cache;
    • ·         Classic Client (CC) – modifying, compiling saving to SQL objects.
    • ·         Role Tailored Client (RTC) uses metadata. It requests NST to load metadata depend on what RTC user needs to use.

    In SQL server we have 3 important tables:

    • ·         Table 2000000071 Objects Metadata – it stores object metadata and when NST needs to receive objects, it receives from this table.
    • ·         Table 2000000079 Object Tracking -  it stores last object update date -  really it is timestamp of moment when object was updated. Because timestamp is increasing with any action in SQL database, then latest object update always has bigger timestamp. If timestamp for some object is bigger that cached object timestamp, then cache must be updated, because it has older object version.
    • ·         Table2000000001 Object – it stores C/side object code and with this table we are working with CC when modify, compile objects.

    There is SQL Server Broker (or Polling) – special processes track changes in table 2000000079 Object Tracking. This is described in Lars BLOG article mentioned before.

    No we are going to 1st schema:

    This is common flow how objects are going in NAV.

    Main points are:

    1. 1.       NST loads to cache object metadata when starts (actually when RTC connects).
    2. 2.       CC (C/SIDE) compiles object and updates Object; Object Tracking and Object Metadata tables.
    3. 3.       SQL Server Broker or Polling catch changes in timestamp and request to update cached object timestamp on NST.

    NST and RTC metadata update process schema:

    Main points here:

    • ·         NST loads metadata with timestamps from database by RTC requests.
    • ·         When timestamp is changed for some object in database, change listener updates NST with new timestamp and NST removes old metadata.
    • ·         Now situation is that NST has new timestamp as RTC runs metadata with older timestamp.
      • However if RTC runs older metadata, then system can detect: is there running dependent metadata which requires only new metadata here. If dependent metadata requires updated object then error about “updated metadata” is showed and RTC requests to update metadata. But if there is no dependent metadata then old object is running as long as needed (until user finishes process).
    • ·         When the same object metadata needs to be run, RTC requires updating metadata on NST.


  • Microsoft Dynamics NAV Team Blog

    Reservations vs. costing application: should both be consistent?


    Assume the following scenario:

    • We have a FIFO item where we set automatic reservation
    • We create a purchase with expected receipt on the 1st of October and another for the 15th of same month
    • We now create a sales order for the 1st of December

    Question here is: how NAV determines what is the purchase considered to create reservation against? Is costing method relevant here?

    First of all, let me explain you what is the role of the costing method. This defines how the cost flows through inventory postings. From this perspective, costing method only applies to ILEs. There wouldn't be any reason to consider an order (ie. purchase, sales) from a costing perspective: we are not sure that the order would finally be brought into stock since it can be cancelled. Also, ILE applications are created while posting the order (receipt, invoice). Thus, do not expect that costing method applies to orders ... unless they are bring into stock which mean it would apply ILE created following costing method.

    Based on the above parragraph, order reservation should not be constrained by costing method. Costing is only relevant for ILE application. Reserving an order does not mean an ILE would be created.

    Before going to the above specific scenario, the explanation I detailed above is just a standard business process. This is about what NAV is doing. This is about what a generic business process expect about what costing applies to and what reservations are constrained by.

    Now, our scenario. What NAV is doing (yes, NAV logic) is to reserve against the purchase with closest due date. Thus, it would reserve the sales order against the purchase on the 15th since this is the purchase with the closest receipt to the demand date. The idea on this logic is to reduce carryng cost. If NAV reserves against the first purchase order, it will increase the carrying costs and cost reduction is one of the premises in SCM philosophy.

    Most of the Partners believe that it should be reserved against the first one since there could other sales being created, let's say, for Dec 15th. In this case, the first purchase would be reserved against the second sales while the second purchase against the first sales. That s a mess. I agree. But, if you manually create the orders, why would you choose automatic reservations? If you manually create the orders, you are the one who was the logic about how those orders being created and what should be the most meaningful reservation. From a NAV perspective, the above scenario should result in reserving the sales with the second purchase order (again, reducing carrying cost) and that first purchase should be cancelled.

    In any case, if you still consider this logic should be changed, code where this logic is implemented can be found in CU99000845, function AutoReserveOneLine:

    Positive THEN BEGIN

    Search := '+';

    NextStep := -1;

    Item."Costing Method" = Item."Costing Method"::LIFO THEN

    InvSearch := '+';

    InvNextStep := -1;


    InvSearch := '-';

    InvNextStep := 1;

    Search := '-';
    NextStep := 1;
    InvSearch := '-';
    InvNextStep := 1;


    In here, it defines the string (‘+’ or ‘-‘) which will later be used with the FIND clause and will determine if the record retrieved is the first one (first purchase order) or the last.


  • Microsoft Dynamics NAV Team Blog

    Are reservations being impacted with stock adjustments?


    Sometimes we need to post stock adjustments (negative adjustment, phys. inventory journal, ...). We need to correct the stock in NAV to make it consistent with physical stock. But, how does this affect the reservations that might already exist?

    If we have stock and we have reservations against that stock, this won't be impacted by any future stock adjustment. The reason is because NAV wouldn't know what is the reservation to cancel. Thus, user (business mind :-)) should know this and should manually adjust the reservations to make both stock and reservations consistent.

    NAV current logic does not provide any warning when stock adjustment impacts reservations. However, future change might consider if the stock after adjustment is consistent with existing reservation. If not, a warning will be raised so user is aware and can react accordingly.

    The scenario here is:

    • Stock of 10
    • Sales order with reservation of 10
    • Warehouse item journal for a quantity of -7 (we need to scrap 7 pieces from stock)

    NOTE: At this stage, sales order will still be reserved against same 10 pieces when stock is not available

  • Microsoft Dynamics NAV Team Blog

    Outlook Synchronization does not work correctly when multiple contacts have similar names stored in several address books in Microsoft Outlook and some other issues we found


    It has been a while since I last wrote a blog posting about Outlook Synchronization in Microsoft Dynamics NAV. There is some news to mention which makes the configuration less complicated and some issues we found so far. In previous blog postings, in previous Microsoft Dynamics NAV releases and even in the official documentation about Outlook Synchronization, we used to suggest to synchronize the Microsoft Dynamics NAV salesperson  to Microsoft Outlook without the E-mail address. This was important to populate E-mail2 field with correct values in table 13 when working with Tasks and Appointments in a Microsoft Exchange Server environment. E-mail2 field no longer needs to be populated which means it is no longer required to synchronize the Microsoft Dynamics NAV salesperson without an E-mail address to Microsoft Outlook. You just create the salesperson in Microsoft Dynamics NAV with an E-mail address. After that you synchronize this salesperson to Microsoft Outlook and you are done. No further action is needed.

    Another issue we found is that when a Microsoft Dynamics NAV contact does also exist in one of the Microsoft Outlook address books, like the Microsoft Exchange Global Address List or any other custom Microsoft Outlook address book, an error could occur stating that the system was expecting an E-mail address matching the E-mail address it found in that other address book. The system should have looked in the dedicated contacts folders for Outlook Synchronization defined in the Outlook Add-In properties.

    A hot fix does exist for this issue and can be obtained from Microsoft:

    Another problem may happen when working with several localized releases in one environment. E.g. in Belgium or in Switzerland, (Belgium) Dutch, (Belgium) France, Italian and German speakers may connect to the same company database. They can use their Microsoft Dynamics NAV language in the language they prefer. With Outlook Synchronization this could generate an issue, especially in the table 405 Change Log Entry. Let me further explain this via s small repro scenario.

    1. install Microsoft Dynamics NAV 2009 SP1 (any build) or Microsoft Dynamics NAV 2009 R2 (any build), install French language pack or setup Suisse client with Suisse database
    2. configure Outlook Synch either via CFRONT or NST
    3. for the Outlook Synch user, only add company and person contact entity
    5. perform a normal synch
    6. for one of the synchronized contacts, update the address
    7. change language to French
    8. for the same synchronized contact, update the address again
    9. perform a normal synch

    03.09.2010 09:11
    Fehler beim Ausführen einer Microsoft Dynamics NAV Codeunit für die Antwort: Kontakt Nr. 'KT000001' already exists.

    It's recommended that you have web services or NAS running in the language you're synchronizing against and have the users connecting setup in the same language.
    EN-US users are setup in an EN-US client and connects to an EN-US web service.
    FR-FR users are setup in an FR-FR client and connects to an FR-FR web service.
    DE-De users are setup in an DE-DE client and connects to an DE-DE web service.

    The last issue we found is also a language related problem caused by a configuration issue. When configuring Outlook Synchronization in Microsoft Dynamics NAV for the first time, the configured language of the CSIDE Client or the configured language of the Role Tailored Client is extremely important. If you are working in a localized environment, the language of the CSIDE Client or Role Tailored Client will define the fields definition in the Outlook Synchronization tables. Changing language afterwards, will not change he pre-populated field. Let me explain with a screenshot using a Dutch localized Dynamics NAV 2009 R2 client using the APP entity.


    If you generate the entities while CSIDE Client is set to Dutch in my scenario, the field changes to Dutch captions.


    Synchronizing any of this could result in an error in the Outlook Add-In:


    To solve this problem, the following is necessary:

    1. fix data issues in table 405 Change Log Entry or delete contents out of this table either via Object Designer or via Data Deletion after setting filters, etc.
    2. reset entities to default values after configuring the correct language in the CSIDE Client or Role Tailored Client matching language configuration of web services or NAS!)


    Marco Mels

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

  • Microsoft Dynamics NAV Team Blog

    Double impersonation within a three tier environment and the SMTP Server setup in Microsoft Dynamics NAV


    Not that long ago I was involved with a very interesting escalation stating that it was not possible to send out E-mails via CU400 utilizing NTLM in a three tier environment with the Role Tailored Client only in an Exchange Server 2007 / 2010 environment. When using the CSIDE Client, everything worked perfectly. The cause is that the Role Tailored Client in a three tier environment sent the E-mail to the NST box that uses impersonation to send out an E-mail. What happens from technical side of view is that some sort of double impersonation had to take place.

    The solution is too easy to implement but let me first try to explain this with the scenario I worked on. For the test I did use Document Approval scenario. This does utilize CU400. Before actually describing the scenario, I reviewed the following patches for SMTP:

    2499881    You cannot configure the TLS settings for SMTP communication in Microsoft Dynamics NAV 2009;EN-US;2499881

    2345735    You cannot change the default port for SMTP Communication in Microsoft Dynamics NAV;EN-US;2345735

    2479702    The email message body is incorrect when you create an email message by using the AppendBody method in Microsoft Dynamics NAV 2009 Service Pack 1;EN-US;2479702

    2280492    Attachments are not released until the Microsoft Dynamics NAV client is closed when you use the SMTP Mail codeunit (400) to send email messages that have attachments;EN-US;2280492

    2516144    You receive malformed email messages if you use a specific version 7 release of the Microsoft.Navision.Mail.dll file in Microsoft Dynamics NAV 2009;EN-US;2516144

    1. install Exchange 2007 SP1 on Windows Server 2008 R2
    2. install SQL Server 2008 R2 on Windows Server 200x R2
    3. install ServiceTier + RTC on Windows Server 2088 R2
    4. install CC and RTC on Windows 7

    NOTE: for the test all relevant Windows Updates were installed, latest service packs and latest builds of Dynamics

    5. create a new account called NAVSRV which will be used to start up SQL / NST
    6. configure Document Approval according to the attached PPT

    NOTE: for the test we will primarily use the accounts called Susan, Navsrv and Kevin which is a newly created Salesperson
    NOTE: for the test all user accounts are SUPER users in Dynamics NAV, Local Administrators on all machines being used and member of Domain Admin
    NOTE: the following machine names are being used:

    => EX2K7-1 : Exchange 2007 SP3
    => WIN2K3-3 : SQL 2008 R2
    => WIN2K3-4 : NST + RTC
    => WIN7-2 : CC + RTC

    NOTE: the following spn's were used and set to the NAVSrv user account:

    servicePrincipalName: MSSQLSvc/
    servicePrincipalName: MSSQLSvc/
    servicePrincipalName: http/
    servicePrincipalName: http/WIN2K3-4
    servicePrincipalName: DynamicsNAV/WIN2K3-4:7046
    servicePrincipalName: DynamicsNAV/

    NOTE: the following Delegations were setup for NAVSrv account:

    Trust this user for delegation to specified services only:

    - Use any authentication protocol

    MSSQLSvc 1433

    7. follow MSDN to ensure the three tier environment is configured correctly

    => start up RTC on Windows 7 using user account Susan [OK}

    8. review the above mentioned patches for SMTP and modify the code where needed
    9. run the following command regasm /codebase microsoft.navision.mail.dll /tlb:microsoft.navision.mail.tlb using build v7.03.1
    10. compile the non compiled objects
    11. configure CU400 with the following values:


    12. start up Exchange 2007 MMC and create a new Receive Connector, to do so follow these steps:

    => select Microsoft Exchange / Server Configuration / Hub Transport
    => select an empty area under button Receive Connectors and right click, New Receive Connector

    13. configure the newly created connector with the following values:

    General tab:
    => Name: CRM Connector

    Network tab:
    => local IP address of EX2K7-1, port 25
    => remote IP address of WIN2K3-4
    => Authentication: Integrated Windows Authentication

    Permissions Groups:
    => Exchange servers

    14. create a new Send Connector, to do so, follow these steps:
    => select Microsoft Exchange / Organization Configuration / Hub Transport
    => select Send Connectors
    => select an empty area under button Send Connectors and right click, New Send Connector

    15. configure the newly created connector with the following values:

    General tab:
    => Name: SMTP Send connector
    => Address Space: SMTP * 1

    Network tab:
    => Route mail through the following smart hosts
    => Smarthost: IP address of remote Exchange 2003 server (not part of this test)

    Source Server tab:
    EX2K7-1 Default-First-Site-Name Mailbox, Client Access, Hub Transport

    => log on to WIN7-2 with user account Susan using CC and create a Purchase Quote so that an approval request needs to be done (> 5000)
    => the approval request is created and an E-mail is sent to Kevin

    => log on to WIN7-2 with user account Susan using RTC and create a Purchase Quote so that an approval request needs to be done (> 5000)

    Error on the client:

    The SMTP mail system returned the following error: The SMTP server requires a secure connection or the client was not authenticated. The server respones was: 5.71. Client was not authenticated.

    Error on EX2K7-1 application event log file:
    The account 'NT AUTHORITY\ANONYMOUS LOGON' provided valid credentials, but is not authorized to use the server; failing authentication

    NOTE: The errors are well known and described in the MS Exchange 2007 Transport whitepaper (

    530 5.7.1 Client was not authenticated

    The sender specified in the MAIL FROM field of the SMTP protocol doesn't have permission to submit to this server. The ms-Exch-SMTP-Submit permission must be granted to the sender.

    16. add extended permissions to the newly created connector:

    Get-ReceiveConnector "CRM Connector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Submit"

    => log on to WIN7-2 with user account Susan using RTC and create a Purchase Quote so that an approval request needs to be done (> 5000)

    Error on the client (described in the whitepaper):
    550 5.7.1 Client does not have permission to send as this sender

    The sender specified in the MAIL FROM field of the SMTP protocol conversation is an address in an authoritative domain. However, the session doesn't have the ms-Exch-SMTP-Accept-Authoritative-Domain-Sender permission. This might occur if a message was submitted from the Internet to an Edge Transport server from a sender address for which the Exchange organization is authoritative.

    17. add extended permissions to the newly created connector:

    Get-ReceiveConnector "CRM Connector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Authoritative-Domain-Sender"

    => log on to WIN7-2 with user account Susan using RTC and create a Purchase Quote so that an approval request needs to be done (> 5000)

    Error on the client (described in the whitepaper):
    550 5.7.1. Unable to relay

    The recipient domain to which the message is addressed isn't within any of the accepted domains defined for this organization. Also, the session doesn't have the ms-Exch-SMTP-Accept-Any-Recipient permission.

    18. add extended permissions to the newly created connector:

    Get-ReceiveConnector "CRM Connector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "ms-Exch-SMTP-Accept-Any-Recipient "

    => log on to WIN7-2 with user account Susan using RTC and create a Purchase Quote so that an approval request needs to be done (> 5000)
    => the approval request is created and an E-mail is sent to Kevin

    19. change SMTP Mail Setup in Dynamics NAV to Anonymous

    => log on to WIN7-2 with user account Susan using RTC and create a Purchase Quote so that an approval request needs to be done (> 5000)
    => the approval request is created and an E-mail is sent to Kevin

    NOTE: when using RTC with user account NAVSrv on the NST box, switching between Anonymous and NTLM does produce the correct behavior. Mail cannot be sent with error 530 5.7.1 Client was not authenticated and mail can be sent without error.

    Along the way we had quite a lot of fun while testing. If you run in this kind of scenario, the way to fix this is via code in CU400 where you instruct the RTC to directly contact the Exchange Server in stead of via the NST box. This will ensure the Role Tailored Client behaves similar as the CSIDE Client:
    2618652 Double impersonation and the SMTP Server setup in Dynamics NAV


    Marco Mels

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

  • Microsoft Dynamics NAV Team Blog

    SPLA Licenses with Dynamics Online


    If you provide hosting services for your customer and license Microsoft Dynamics NAV using a Services Provider License Agreement (SPLA), by default your customer will not have their own customer source or a VOICE account. Depending on how your customer signed up for Dynamics Online payment services, a VOICE account may be required for them to use Dynamics Online beyond an initial 30-day trial period.  If this is the case, the customer will see the  following message in the Microsoft Dynamics Customer Portal when they click Service list:


    Your services will be suspended within 30 days unless your support and service plan for Microsoft Dynamics is purchased.


    To obtain VOICE access for the customer, contact and request that the customer account be VOICE-enabled. In the request, indicate that your customer is a Microsoft Dynamics NAV SPLA license customer using the Dynamics Online payment service and indicate that their payment service account requires VOICE-enabling to work with this service. VOICE-enabling is provided at no additional charge.

  • Microsoft Dynamics NAV Team Blog

    Announcing Release Date of Jet Reports Express for Microsoft Dynamics NAV


    We are pleased to announce that Jet Reports Express for Microsoft Dynamics NAV will be released September 1st and be available for download at Partner Source and Customer Source at the below listed links.

    Do you know what makes this new ad hoc reporting tool really great?  It’s that it’s so easy to use for just about anyone who is familiar with Microsoft Excel. The intuitive interface of Jet Reports Express and simple formulas in Excel make it easy to create high-impact reports quickly.

    Let me share with you a few of the things customers can do.

    First, it can make life easier for finance managers. Now they can easily create detailed profit and loss reports with updates on a daily, monthly, or quarterly basis. Or they can quickly monitor accounts receivable KPIs in terms of days outstanding, past collection performance and more. And, they can run financial reports from the General Ledger by using the GL function and distribute them on a daily, weekly or monthly basis.

    Second, sales managers can more quickly build product sheets that pull current pricing and specifications, and instantly update and release important changes. They can also create a sales forecast calendar that tracks sales on a monthly basis, with budget projections for future sales.

    Third, management can view key performance metrics across all areas of the organization in real time and track consolidated profit and loss by division and company and follow projected income compared to budget and forecasts. Best of all, it’s easy for partners to demo all of these great capabilities for prospects.

    September 1st, 2011 – you will find links to the product download from these two pages:


  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics KB Articles Now Publicly Available Online


    Hi everyone! Have you used a Knowledge Base (KB) article to help you answer a question? Check out this list of the KB articles that are most viewed for Microsoft Dynamics NAV:

    978857 Incorrect VAT entries are generated when you post a credit memo to apply an invoice that contains unrealized VAT in Microsoft Dynamics NAV

    2266182 The planning results are illogical when you run the "Calculate Regenerative Plan" function on a planning worksheet if you use safety stock in Microsoft Dynamics NAV 2009 SP1

    979109 Error message when you try to invoice a sales order in Microsoft Dynamics NAV 2009 Service Pack 1: "Currency Code '' does not exist"

    2250508 The document number is not incremented on a journal if the first line is an empty line in Microsoft Dynamics NAV

    940807 Overview of platform rollup updates that are available for Microsoft Business Solutions - Navision 3.7 through Microsoft Dynamics NAV 2009

    By the way, you’ll find it’s easier than ever to locate KB articles for Microsoft Dynamics NAV. You can continue to use PartnerSource and CustomerSource to find KB articles. In addition, you can now search, find, and view Application Hotfixes and Problem/Error/Resolution KB articles using a search engine like Bing. Please note that Platform Hotfixes are only available from CustomerSource and PartnerSource.

    Here are a few search tips for you. Use the words “Microsoft Dynamics NAV” in your search to help narrow down articles to only the NAV product and no others. Also, if you want to limit your search to Knowledge Base articles, use the abbreviation “kb” in your search. For example, if I want to find information about inventory adjustment posting dates in Microsoft Dynamics NAV, in Bing I’d search on “Microsoft Dynamics NAV kb inventory adjustment”. When I do that, one of the first things that pops up is KB article #952996 titled “Information about inventory adjustment posting dates in Microsoft Dynamics NAV”. 

    Try it and see what you think!

    Lynn Mueller

    Microsoft Dynamics

    Lead Knowledge Engineer

Page 35 of 48 (716 items) «3334353637»