October, 2012

  • Microsoft Dynamics NAV Team Blog

    Signing a ClickOnce Microsoft Dynamics NAV Windows Client Deployment (Part 3 of 5)

    • 0 Comments

    Deploying the Microsoft Dynamics NAV Windows client makes it easy for end users to install, upgrade, and uninstall the Microsoft Dynamics NAV Windows client. They can do this with a few clicks, without help from super users or IT administrators.

    This video shows how a partner or IT administrator can sign a ClickOnce deployment using a Certificate, and how this improves security and confidence for end users when they install the Microsoft Dynamics NAV Windows client.

    Watch video

    This is the third video in a series of how-to videos that show how a partner or IT administrator can deploy the Microsoft Dynamics NAV Windows client with ClickOnce. Make sure to watch the first video before you watch this video.

    For a detailed step-by-step guide about how to deploy the Microsoft Dynamics NAV Windows client  with ClickOnce, see http://go.microsoft.com/fwlink/?LinkId=251676.

    -Christian Heide Damm

  • Microsoft Dynamics NAV Team Blog

    Upgrading ClickOnce Deployed by Microsoft Dynamics NAV Windows Client (Part 2 of 5)

    • 0 Comments

    Deploying the Microsoft Dynamics NAV Windows client with ClickOnce makes it easy for end users to install, upgrade, and uninstall the Microsoft Dynamics NAV Windows client. They can do this with a few clicks, without help from super users or IT administrators.

    This video shows how a partner or IT administrator can push out updates to the Microsoft Dynamics NAV Windows client that is installed on end user machines.

    Watch video

    This is the second video in a series of how-to videos that show how a partner or IT administrator can deploy the Microsoft Dynamics NAV Windows client with ClickOnce. Make sure to watch the first video before you watch this video.

    For a detailed step-by-step guide about how to deploy the Microsoft Dynamics NAV Windows client with ClickOnce, go to the online documentation at http://go.microsoft.com/fwlink/?LinkId=251676.

    -Christian Heide Damm

  • Microsoft Dynamics NAV Team Blog

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

    • 0 Comments

    Following the launch of Microsoft Dynamics NAV 2013, Zetadocs Express has been updated for use with the Microsoft Dynamics NAV 2013 Windows client. The updated version can be downloaded from CustomerSource and PartnerSource.

    Zetadocs Express is the document management add-on available at no additional cost to users on a Business Ready Enhancement Plan, it includes the following:

    • Drag and drop - Any file, email or attachment can be dragged and dropped onto a record in the NAV Windows client to store it in SharePoint, linked to the record and listed in the Documents FactBox.
    • Document approval - Simple SharePoint workflows can be started for any document listed in the FactBox, such as an invoice, and the approval status monitored in Microsoft Dynamics NAV.
    • Save and Send any report - Click the “Save and Send” button to email almost any customized Microsoft Dynamics NAV report using SQL Server Reporting Services, archiving a copy automatically in SharePoint for future retrieval on-screen.

    As with previous releases, partners can download Zetadocs Express 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

    Deploying the Microsoft Dynamics NAV Windows Client with ClickOnce (Part 1 of 5)

    • 0 Comments

    Deploying the Microsoft Dynamics NAV Windows client with ClickOnce makes it easy for end users to install, upgrade, and uninstall the Microsoft Dynamics NAV Windows client. They can do this with a few clicks, without help from super users or IT administrators.

    This is the first video in a series of how-to videos that shows how a partner or IT administrator can deploy the Microsoft Dynamics NAV Windows client with ClickOnce. This video covers the basics of deploying with ClickOnce and how to deploy on a file share.

    Watch video

    For a detailed step-by-step guide about how to deploy the Microsoft Dynamics NAV Windows client with ClickOnce, see http://go.microsoft.com/fwlink/?LinkId=251676.

    -Christian Heide Damm 

  • Microsoft Dynamics NAV Team Blog

    Use Open XML to Extend the Excel Buffer Functionality (Part 2 of 2)

    • 0 Comments

    In Microsoft Dynamics NAV, there are several areas that enable the user to perform analysis in Microsoft Excel. Areas such as importing and exporting budgets, analysis by dimensions, and a number of selected reports all use Excel Buffer to export data to Microsoft Excel. In Microsoft Dynamics NAV 2013, the exporting technology has changed to gain better performance in the export as well as to enable more advanced customization capabilities. In Microsoft Dynamics NAV 2013, Excel Buffer has changed from being a chatty client automation solution to one that uses the Open XML SDK 2.0 for Microsoft Office and renders the Excel workbook on the server side.

    In the blog post Excel Buffer Using Open XML Instead of Excel Automation - (Part 1 of 2), I demonstrated simple write and read scenarios. This blog post will go into details on how you can use the Open XML API in C/AL to extend the Excel Buffer functionality.
     
    I will show what can be done with some additional cell formatting. The following areas will be covered:

    • Exposing the Microsoft Dynamics NAV Open XML worksheet writer object in table 370.
    • Using the decorator parameter to provide additional formatting.
    • Creating an OpenXml Helper class to interact with the lack of support for generics in C/AL.
    • Showing the file management capabilities by download file to client from server, without opening it directly into Excel.

    Exposing the Microsoft Dynamics NAV Open XML worksheet Writer Object in Table 370

    You need to expose the workbook writer object from table 370 by adding the following method. In this way, you open for applying functionality from the extensive and verbose Open XML API. The easiest way is to export the Excel Buffer table (table 370), add the following procedure, and then reimport and compile the object.

    PROCEDURE GetWorkbookWriter@21(VAR WrkBookWriter@1000 : DotNet "'Microsoft.Dynamics.Nav.OpenXml, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.Microsoft.Dynamics.Nav.OpenXml.Spreadsheet.WorkbookWriter");
    BEGIN
      WrkBookWriter := XlWrkBkWriter;
    END;
     
    Using the Decorator Parameter to Provide Additional Formatting

    Due to a limitation in C/AL, you cannot use generics as part of the C/AL DotNet object type. Therefore, you need to create a helper class that can handle the places where the Open XML SDK only uses generics. This helps avoid using unnecessary, complex looping of collections in C/AL code. Often tasks like this are much easier to implement in a DotNet helper class. An example of this is described below where I have a simple method that can append an Open XML element to a collection.
     
    To create the OpenXmlHelper class, do the following steps:
    1. Open Visual Studio.
    2. Create new C# class library project called OpenXmlHelper.
    3. Ensure that signing is enabled on the project, as the assembly needs to have a strong name key.
    4. Reference the DocumentFormat.OpenXml.dll from the Open XML SDK. The default installation is typically in the following location: C:\Program Files (x86)\Open XML SDK\V2.0\lib\DocumentFormat.OpenXml.dll.
    5. Rename Class1 to OpenXmlHelper.
    6. Add a using statement DocumentFormat.OpenXml to the file.
    7. Create the method: AppendChild by copying the following code.

    public static bool AppendChild(OpenXmlElement parent, OpenXmlElement child)
    {
      if (parent.HasChildren && parent.Contains(child))
      {
        return false;
      }
      parent.AppendChild(child);
      return true;
    }

    8. Compile and place the OpenXmlHelper in an OpenXML Add-ins folder for the client and server. The default installation will point to the following locations: C:\Program Files (x86)\Microsoft Dynamics NAV\70\RoleTailored Client\Add-ins\OpenXML and C:\Program Files\Microsoft Dynamics NAV\70\Service\Add-ins\OpenXML.
    9. Import the ExcelBuffer Extensibility codeunit (attached) and compile. This codeunit opens up to add decorations as well as download the file to the client.

    The first part of the codeunit is the same as in Excel buffer that we used in the blog post Excel Buffer Using Open XML Instead of Excel Automation - (Part 1 of 2), but I have added the workbookwriter. In addition, instead of opening the file in Excel I use the FileMangement codeunit functionality to download the file from the server to the client, to show a different way of working with the generated file.
     
    // Create new method on ExcelBuffer table to expose the WorkbookWriter.
    ExcelBuffer.GetWorkbookWriter(WrkbookWriter);
     
    // Call method that adds new font with a set of new characters.
    AddingFont(FontDecorator);
     
    // Add a new cell Formula using the new fontdecorator.
                WrkbookWriter.FirstWorksheet.SetCellFormula(4,'A','SUM(A2:A3)','#,#0.0;#,#0.0',FontDecorator);
     
    ExcelBuffer.CloseBook;

    // Download the Excel file from the server to client.
    ExcelBuffer.UTgetGlobalValue('ExcelFile',FileServerName);
    FileClientName := 'C:\Temp\ClientFile.xlsx';
    FileMgt.DownloadToFile(FileServerName,FileClientName);
    MESSAGE(FileClientName);
     
    In the codeunit, there is also an example of how the AddingFont method can be used:

    // Create new Font, cloned from existing Font.
    Font := WrkbookWriter.FirstWorksheet.DefaultCellDecorator.Font.CloneNode(TRUE);
     
    // Create a new Font Color.
    FontColor := FontColor.Color;
    FontColor.Rgb := FontHexValue.HexBinaryValue('0000EEEE');
    Font.Color := FontColor;
     
    // Create a new Font Size.
    FontSize := FontSize.FontSize;
    FontSize.Val := FontSizeDoubleValue.DoubleValue(30);
    Font.FontSize := FontSize;
     
    // Get the collection of Fonts that already exists.
    Fonts := WrkbookWriter.Workbook.WorkbookPart.WorkbookStylesPart.Stylesheet.Fonts;
     
    // Add the new font to the collection of fonts and increase the number of fonts by one.
    IF OpenXmlHelper.AppendChild(Fonts,Font) THEN
    Fonts.Count.Value := Fonts.Count.Value + 1;
     
    // Add the Font to a decorator.
    Decorator := WrkbookWriter.FirstWorksheet.DefaultCellDecorator;
    Decorator.Font := Font;
     
    Running the codeunit will save the file on the client in the following file: C:\temp\clientfile.xlsx. In the spreadsheet, the number is now formatted to a larger font and color.

    From here, it's only up to your own imagination and needs for how you want to extend with more methods, and so forth.

    The capability of the Open XML SDK API is your only limitation.

    -Lars-Bo Christensen

  • Microsoft Dynamics NAV Team Blog

    Excel Buffer Using Open XML Instead of Excel Automation (Part 1 of 2)

    • 3 Comments

    In Microsoft Dynamics NAV, there are several areas that enable the user to perform analysis in Microsoft Excel. Areas such as importing and exporting budgets, analysis by dimensions, and a number of selected reports all use Excel Buffer to export data to Microsoft Excel. In Microsoft Dynamics NAV 2013, the exporting technology has changed to gain better performance in the export as well as to enable more advanced customization capabilities. In Microsoft Dynamics NAV 2013, Excel Buffer has changed from being a chatty client automation solution to one that uses the Open XML SDK 2.0 for Microsoft Office and renders the Excel workbook on the server side.

    This article explains some of the changes that were made to the Excel Buffer table (table 370) and gives examples of how to use and extend the table with the new Open XML functionality from C/AL.
     
    Excel Buffer works as a temporary table which is used when you import or export data between Microsoft Dynamics NAV and Microsoft Excel. For the export part, you have an additional option to add formulas and formatting of the Excel cells.
     
    When a Excel workbook is rendered, you use the File Management codeunit (codeunit 419) to download the file from the server to the client and then use Office .NET Interop to open it in Excel and do final formatting, such as Auto Fit Columns.
     
    A couple of objects that use Excel Buffer are the reports Import Budget from Excel (report 81) and Export Budget to Excel (report 82). These objects are a good way of getting inspiration on how to use it. But in this article, I'm extracting some of this logic to give a simple and clear way of using import and export.

    Example 1: Formatting and summarization

    1. In the Microsoft Dynamics NAV Development Environment, create a new codeunit.

    2. Add a new temporary record variable for table 370 called ExcelBuffer.

    3. Add the following lines of code, which include formulas and simple formatting to the Excel Buffer table.

    // Copyright © Microsoft Corporation. All Rights Reserved.
    // This code released under the terms of the
    // Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.

    // Add values to the Excel Buffer table.
    ExcelBuffer.NewRow;
    ExcelBuffer.AddColumn('Header',FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Text);
     
    ExcelBuffer.NewRow;
    ExcelBuffer.AddColumn(123.45,FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
     
    ExcelBuffer.NewRow;
    ExcelBuffer.AddColumn(-223.45,FALSE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
     
    // Add formula, second parameter TRUE.
    ExcelBuffer.NewRow;
    ExcelBuffer.AddColumn('SUM(A2:A3)',TRUE,'',FALSE,FALSE,FALSE,'',ExcelBuffer."Cell Type"::Number);
     
    // Include custom format for the cell.
    ExcelBuffer.NewRow;
    ExcelBuffer.AddColumn('SUM(A2:A4)',TRUE,'',FALSE,FALSE,FALSE,'#,#0.0;[blue](#,#0.0)',ExcelBuffer."Cell Type"::Number);
     
    // Create and write the content from the Excel buffer table to Open XML Excel server file.
    ExcelBuffer.CreateBookAndOpenExcel('Sheet ABC','Header',COMPANYNAME,USERID);

    4. After adding the lines, compile and run the codeunit from the Microsoft Dynamics NAV Development Environment. The Microsoft Dynamics NAV Windows client will open and execute the codeunit and Excel with the data from the codeunit. The formatting capabilities are shown in the Excel sheet, including summarization and coloring.

    Example 2: Reading from Excel sheet
     
    Before trying the following example, you need to save the Excel file from Example 1 in the following location: C:\TEMP\ExcelBufferReadBookScenario.xlsx.
     
    This example will illustrate the reading capabilities that are possible.

    1. Create a new codeunit.
    2. Add a new temporary record variable for table 370 called ExcelBuffer.
    3. Add a new text variable called MessageValue.
    4. Add the following lines of code.
     
    // Copyright © Microsoft Corporation. All Rights Reserved.
    // This code released under the terms of the
    // Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.ExcelBuffer.DELETEALL;

     
    ExcelBuffer.OpenBook('C:\TEMP\ExcelBufferReadBookScenario.xlsx','Sheet ABC');
    ExcelBuffer.ReadSheet();

    IF ExcelBuffer.FINDFIRST THEN
      REPEAT
        MessageValue := MessageValue + ExcelBuffer."Cell Value as Text" + '\';
      UNTIL ExcelBuffer.NEXT = 0;

    MESSAGE(MessageValue);
     
    5. Run the codeunit from the Microsoft Dynamics NAV Development Environment. The Microsoft Dynamics NAV Windows client opens and the content of the Excel workbook is now read into the Excel Buffer table and presented to the user in a message box for each row.

    -Lars-Bo Christensen

  • Microsoft Dynamics NAV Team Blog

    Manually restoring the NAV 2013 Demo Database

    • 1 Comments

    With the release of Microsoft Dynamics NAV 2013, there are some new procedures for restoring the demo database manually.  I have outlined the necessary steps below.

    1)    From within the Microsoft SQL Server Management Studio, restore the Microsoft Dynamics NAV 2013 demo database from the installation media (..\SQLDemoDatabase\CommonAppData\Microsoft\Microsoft Dynamics NAV\70\Database).

    2)    To restore the database from the Microsoft SQL Server Management Studio, open the Object Explorer and click on Databases.  With Databases highlighted, right click and select Restore Database.

    3)    This will open up the Restore Database window.  Select the Device option in the Source grouping. 

    4)    Now click on the assist edit button () and this will launch the Select backup devices window.

    5)    Next, click on the Add button to launch the Locate Backup File window and select the demo database backup file.

    6)    Once you have selected your file, click OK to exit the Locate Backup File window.  Once you return to the Select backup devices window, click on OK again.

    7)    You should now be on the Restore Database - Demo Database NAV (7-0) window - unless you have changed the value of the Database field then the window title would differ.  Make sure that the file listed in the Backup sets to restore section has a check mark next to it.  If you want to change where the database files are created, you can specify this on the Files page.  If you want to specify any Restore options this can be done on the Options page.  For this blog, it is assume that you will take the default settings.

    8)    Click OK to restore the database.

    9)    After the restore finishes, go to the Object Explorer and expand the Databases object.  The list of database objects should now have one named Demo Database NAV (7-0).

    10)  Next, expand the Demo Database NAV (7-0) object and select the Security\Schemas object.  Expand this object and make sure the $ndo$listener schema doesn't already exist.  If you had already installed NAV 2009 on this SQL Server,  then this schema may already exist.  If it does, go to step 12.  If it doesn't, then right click on the Schemas object and select New Schema

    11)   With the Schemas Properties window open, enter $ndo$navlistener in the Schema Name field.  

    Note: You will not be able to state a schema owner until the next step.  There are no values to fill in on either the Permissions or Extended Properties tabs.

    12)   Create a user in the Demo Database NAV (7-0) named NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service.

    13)   Enter $ndo$listener in the Default schema field on the General page.

    14)   On the Owned Schema page, make sure the $ndo$listener is marked.

    15)   On the Membership page, make sure that the following Role Members are selected

      • db_datareader
      • db_datawriter
      • db_ddadmin

    16)   On the Securables or Extended Properties pages, there is no information to fill in.

    17)   The last step before starting your new NAV Server, locate your new database and right-click and select the Properties option.  Select the Permissions Page.  You should see NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service on the right side of the page.

    Below that you will see a tab for Explicit Permissions for NT AUTHORITY\NETWORK SERVICE or whatever user that will be used to login the NAV Server Service.  Make sure that is a check in the following permissions 

      • Connect
      • View database state

    Once those are selected then click OK.

    18)   Use the Microsoft Dynamics NAV Administration tool to update the NAV Server settings with the new demo database name and restart the NAV Server.

     

     

    NOTE: If you were to use the Microsoft Dynamics NAV 2013 Installer to install the demo database, it would have run a script that would have executed each of these steps for you.

    Now, enjoy using Microsoft Dynamics NAV 2013!!!

     

  • Microsoft Dynamics NAV Team Blog

    Connector for Microsoft Dynamics Support for Microsoft Dynamics NAV 2013

    • 0 Comments

    The Connector for Microsoft Dynamics team is pleased to announce that the current version of Connector for Microsoft Dynamics (V2 RU1) fully supports the recently released Microsoft Dynamics NAV 2013 product. 

    If you have Connector for Microsoft Dynamics version 2.1.29.1 or 2.1.371.1 then you are ready to integrate data to and from Microsoft Dynamics NAV 2013 on-premises. If you do not have one of these versions of Connector for Microsoft Dynamics the most current one, 2.1.371.1, can be downloaded from PartnerSource: https://mbs.microsoft.com/partnersource/deployment/resources/productreleases/MDNAV2009R2_CRMConnector.htm

  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics NAV 2013 Now Available

    • 1 Comments

    I’m pleased to announce that Microsoft Dynamics NAV 2013 is now available!

    With deep investments in new capabilities and improvements across all areas of the product, this is the most significant release yet in the history of Microsoft Dynamics NAV. The feedback from our early adopter customers and partners has been really positive, and we couldn’t be more excited about getting this product out into the market and putting it to work in your businesses.

    With this release, we’ve focused on building what we’ve come to call “a business solution from Microsoft.” By this we mean a solution that combines comprehensive ERP capabilities for small and midsize businesses together with a simple, intuitive user experience, insightful business intelligence and reporting tools and deep ties into Microsoft’s portfolio of products. The result is an ERP solution that’s easy to use, works seamlessly with your existing productivity tools, and is quick and cost-effective to implement.

    We’ve seen some great outcomes from customers already up and running with the new product. For example, Flemming Warrer Jensen, Managing Director of Dixie, a fashion company in Denmark, shared that “With Microsoft Dynamics NAV 2013 all in all, our inventory management has become 20% more effective. Microsoft Dynamics NAV 2013 has been optimal in helping us to streamline processes– and using the time gained on customers.

    We’ve also done a lot of work with Microsoft Dynamics NAV to give you the power of choice - choice about which client, device or browser your people use to connect with the system. And choice about where and how you deploy the solution—whether that is on-premises or in the cloud.

    For our partners that build industry and custom solutions on top of Microsoft Dynamics NAV 2013, we’ve made a big investment in improving the “hostability” of the solution. What does this mean in practice? It means you’re up and running faster because partners can deploy and manage Microsoft Dynamics NAV 2013 in a more streamlined way. It also means that performance is significantly faster. Some of our hosting partners such as NovaVision, Pleasant Valley Business Solutions, and Technology Management are already experiencing the benefits of this work as they offer a hosted version of the solution to our customers today.

    Last but not least, we’ve localized Microsoft Dynamics NAV 2013 for 15 markets: Australia, Canada, Denmark, France, Germany, India, Italy, Mexico, Netherlands, New Zealand, Spain, Sweden, United Kingdom, United States, and International English. Other localized versions are on the way, but we don’t have dates to share yet.

    Anyway, that’s just an overview of what’s new. I hope that you’re as excited as our early customers and partners are about the new product. Check out the Microsoft Dynamics NAV 2013 product site here for more information.

    Sincerely,

    Paul White

    Senior Director – ERP Product Management

Page 2 of 2 (24 items) 12