Microsoft Dynamics NAV

Team Blog

  • Microsoft Dynamics NAV Team Blog

    Visual Studio 2010 and SSRS (RDLC) reports in NAV 2009

    • 5 Comments

    A couple of weeks ago Microsoft Visual Studio 2010 was released. Unfortunately we will not be able to support Visual Studio 2010 in Dynamics NAV 2009 when developing SSRS (RDLC) reports.

    When you are designing RDLC reports in NAV 2009 you are creating reports in a format known as the “RDL 2005” format.
    Both Visual Studio 2005 and 2008 supports this format, but not Visual Studio 2010. Visual Studio 2010 is able to open the “RDL 2005” format but will immediately convert the report to “RDL 2008” format. This conversion gives us the some challenges:

    1. To view an “RDL 2008” format report you will need to have to have the “Microsoft Report Viewer 2010” installed on all Role Tailored client (RTC) machines, currently the “Microsoft Report Viewer 2008” is installed by the NAV 2009 installation program.
    2. If we opened up for Visual Studio 2010 you will convert the reports you design to “RDL 2008” format, and leave the unopened reports in “RDL 2005” format. So i.e. are developing an add on and share this with other partners you will need to inform these partners that Report Viewer 2010 is a requirement for all RTC machines. And if these partners are to modify any of your reports, Visual Studio 2010 is a requirement as well.
    3. We need change our code to now compile to “RDL 2008” format when importing the RDLC layout back to NAV.

    So to avoid this confusion we will not open up for Visual Studio 2010 support before our next major version of Dynamics NAV.

    If you for other reasons want to use Visual Studio 2010 you can easily have Visual Studio 2008 and Visual Studio 2010 installed on the same machine. We will just open the Visual Studio 2008 version when you select “View / Layout” in the Object Designer.

    If you only have Visual Studio 2010 installed you will see this message:

    An error occurred when opening Report Designer. A supported version of Visual Studio could not be found.

    This is the same message you get when you have no Visual Studio installed, because we search for the following Visual Studio versions and in prioritized order. So in case you have both Visual Studio 2005 and 2008 installed, we will use the 2008 version:

    1. Microsoft Visual Studio 2008
    2. Microsoft Visual Web Developer 2008 Express edition with SP1.
    3. Microsoft Visual Studio 2005 with SP1
    4. Microsoft Visual Web Developer 2005 Express edition with SP1.

    In a previous blog post I outlined the Visual Studio options you have for designing RDLC reports for NAV 2009, and this list is still valid.

    Hint: If you are using Windows 7 and want to use “Microsoft SQL Server 2008 Express with Advanced Services ” you need to install “Microsoft SQL Server 2008 R2 Express with Advanced Services” to have a successful installation.

    Thanks,

    Claus Lundstrøm, Program Manager, Microsoft Dynamics NAV

  • Microsoft Dynamics NAV Team Blog

    Dynamics NAV Test Drive

    • 0 Comments

    Check out the updated Microsoft Dynamics NAV Test Drive site, where potential customers can log onto our Test Drive environment using their web browser and experience Microsoft Dynamics NAV 2009 first hand without the need of installing it themselves. On the site, you'll also find case studies, demos, videos, white papers, and other resources for learning about Microsoft Dynamics NAV solutions.

    http://www.dynamicsnavtestdrive.com/

  • Microsoft Dynamics NAV Team Blog

    Three Weeks to Directions EMEA

    • 0 Comments
    There is still time to register for Directions EMEA, the prime conference for Microsoft Dynamics NAV partners! The agenda includes:
    • An opening keynote by Jan Sillemann, Director of Microsoft Dynamics NAV Global Product Management, and Dan Brown, Microsoft General Manager of NAV R&D.
    • A keynote by Wim Jansen about the Microsoft Partner Program
    • 36 different sessions, divided into a business track, a technical track, and a presentation track
    • A RoleTailored client competition where you can show off your own implementation/solution
    • Several Hands-On Labs, featuring
      • Form Transformation
      • Web Services
      • RoleTailoring
      • Client Extensibility
    • Three round table discussions, where you can share ideas in a small (10-12 people) setting
    • Countless opportunities for networking, learning, listening, promoting, sharing, solving problems, and growing your business

    Register today!

  • Microsoft Dynamics NAV Team Blog

    How We Use MSDN Feedback to Improve Help

    • 3 Comments

    Have you ever submitted feedback on a page in the MSDN library for Dynamics NAV and wondered what happens to it? If you give a rating by clicking the stars in the top right corner of any topic, a feedback text box opens.* 

    FeedbackStars

    You click Send, and then what?

    We read and analyze every piece of feedback that comes in. We look at ratings for individual topics, average ratings for all NAV Developer and IT Pro Help that is published on MSDN, and changes in ratings over time. Unfortunately, we don't get very many ratings, but we use whatever we get. We also review the text feedback. Here's how we've categorized all 46 comments that we've gotten since we started publishing content on MSDN in December of 2008:

    • Fixed (12) - We made changes to the topic based on the feedback.
    • In Progress (8) - We currently have active work items assigned to writers.
    • No Action (26)

    Let me explain a little more about the "No Action" pieces of feedback. Out of those 26, we categorized 6 as "negative," 11 as "positive" and 9 as “neutral.” We still learn something about what's helpful or not helpful to you from (almost) all pieces of feedback, but they don't require any action from us.

    Here are a few examples of text feedback that we’ve received.

    You told us that the topic How to: Redesign Matrix Forms was "not thorough, there should have been more detail." So we added a new Walkthrough about redesigning a matrix form and linked from How to: Redesign Matrix Forms to the new Walkthrough. This feedback now goes in the Fixed bucket.

    The "neutral" No Action bucket usually contains incomplete comments. We’ve gotten comments like "..." or "ths." Another example of neutral feedback is a comment about MSDN, not about NAV Help, such as "ScriptFree is much easier to read and navigate." (Yeah, I like the Lightweight and ScriptFree options for the MSDN experience, too!)

    The feedback in the "positive" No Action bucket makes my day. It's great to hear that topics are helpful. Comments like, "excellent article, explained well and clear, very helpful" or "good one" are a nice pat on the back for me and the other writers. We track these as an indication of what areas of Help to continue to focus on in future versions.

    The ones in the "negative" No Action bucket are the most difficult. The information that "This is a hopeless article" or that a topic is "bad" or occasionally, a word that is not fit to print here, is definitely good information. We know we've missed the mark. But there's not enough information to know exactly what you didn't like or what we can do to improve the topic. That's why these go into the no action bucket. I wish I could chat with everyone who submitted something that lands in this bucket and ask for more detail. We can tell you're frustrated with the topic and we want to help, just tell us how!

    The next time you read something in the MSDN library, take a second to give us your honest feedback. We’re listening!

    -Jill Frank

    UPDATE July 23, 2010

    *Only the Classic view on MSDN has the "Click to Rate and Give Feedback" stars. If you are using the Lightweight view, click Preferences in the top right corner, select Classic, and then click OK to switch to the Classic view. If you are using the ScriptFree view, click Classic in the top right corner to switch the view. Now you can submit your feedback about Microsoft Dynamics NAV Help.

  • Microsoft Dynamics NAV Team Blog

    Convergence Atlanta Event: Partner Roundtable on Readiness Training

    • 0 Comments

    Calling all Convergence-Atlanta-bound partners! Training feedback wanted!

    Join the Microsoft Dynamics Worldwide Partner Readiness team at a roundtable discussion on April 26, from 3:30-4:30 pm at the Atlanta Omni Hotel. We'd like to get YOUR feedback on readiness training.

    For more details and to RSVP, please contact mctdyn@microsoft.com.

    --------------------------------------

    Convergence Atlanta 2010

  • Microsoft Dynamics NAV Team Blog

    Saying Farewell to the Native Database

    • 14 Comments
    I've met many people who imagine that everyone who works at Microsoft must be of a single mind, with one goal - much like a hive mentality. Nothing could be further from the truth. We are an organization of individuals, often passionate about our beliefs and very emotionally invested in the work that we do. We're very proud of our successes and we want to learn from our failures. We're very human. And as such, when I was asked to work with a team that would decouple the NAV product from our native database, it was with an element of sadness that I agreed. I can also admit that I wanted to do the job because, like many of you, I've worked with this product for over a decade and I wanted this one to happen by someone who understood what we were saying farewell to.    

    You shouldn't be burdened with the technical details about decoupling the files from our build system, generating the lists of extra dlls that we no longer need to install, or reviewing documentation that has references to the database format. When we are about to commit a huge change like this to our internal systems, we send an email to all team members informing them of an impending ‘Breaking Change' and to give teams a last chance to speak up about the impact this will have in their work cycles. There were almost no issues raised but I did receive a large number of comments from team members along the lines of "are you sure we want to take this away," "aren't we giving up the NAV simplicity," and "this is sad."  And a part of me agreed.

    But it's not really sad. The day we committed this change was a bit like the last day of High School. We've all had a fabulous time but our future is ahead.

    It's not sad because the original goal of Navision was not to become a best of breed database product - we wanted to build business applications. We happened to build a very clever little database at the same time but it was never the goal to have the database as the reason that people buy NAV.

    It's not sad because now we focus on SQL Server and we can ensure that SQL is the platform we do our enhancements on. And aim to improve performance on. And benchmark on.

    We can spare our Quality Assurance (Test) organization the pain of testing on a legacy platform and double our efforts into the SQL stack. We can spare our developers from maintaining data connections for two different platforms and spare ourselves the discussion about how to take advantage of SQL features without impacting the way the native database is used. 

    I'm looking forward to everything we can now do and I hope you will join us too.

    -Stuart Glasson

    For more information about the Statement of Direction for Microsoft Dynamics NAV where we talk about ending support for the native NAV database, see this blog post.

  • Microsoft Dynamics NAV Team Blog

    How to create/read xml file from Microsoft Dynamics NAV without using xmlports

    • 9 Comments

    Periodically we receive support requests about XMLport errors, which really are missing features in xmlport's functionality.
    However most of these requests are rejected because: xmlports are not supposed to fulfill all possible xml standard scenarios.
    So there always will be xml file which can't be created or readed by NAV xmlport.
    Possible workaround could be to use XML DOM automations.

    Create it by codeunit:

    ----------------------------------------

     OBJECT Codeunit 50052 xml create
    {
      OBJECT-PROPERTIES
      {
        Date=03/24/10;
        Time=[ 1:33:31 PM];
        Modified=Yes;
        Version List=;
      }
      PROPERTIES
      {
        OnRun=BEGIN
                CREATE(xmlDoc);
                xmlMgt.SetNormalCase;
                xmlProcessingInst:=xmlDoc.createProcessingInstruction('xml','version="1.0" encoding="UTF-8" standalone="yes"');

                CurrNode := xmlDoc.appendChild(xmlProcessingInst);
                CurrNode := xmlDoc.createElement('soapenv:Envelope');
                CurrNode := xmlDoc.appendChild(CurrNode);


                xmlMgt.AddAttribute(CurrNode,'xmlns:soapenv','http://schemas.xmlsoap.org/soap/envelope/');
                xmlMgt.AddAttribute(CurrNode,'xmlns:mbs','http://www.microsoft.com/mbs/xml');

                xmlMgt.AddElement(CurrNode,'soapenv:Header','','soapenv',NewChild);
                  CurrNode:=NewChild; //One level deeper
                  xmlMgt.AddElement(CurrNode,'soapenv:Body','','soapenv',NewChild);
                       CurrNode:=NewChild; //one level deeper
                       xmlMgt.AddElement(CurrNode,'mbs:enumeration','','mbs',NewChild);
                            CurrNode:=NewChild; //one level deeper
                            xmlMgt.AddElement(CurrNode,'mbs:table','Customers','mbs',NewChild);

                         recCustomer.SETRANGE("No.", '10000','20000'); //Filter only few records
                         IF recCustomer.FINDFIRST THEN BEGIN
                           REPEAT
                            vName   :=recCustomer.Name;
                            vNo     :=recCustomer."No.";
                            vContact:=recCustomer.Contact;
                              recCustomer.CALCFIELDS("Balance (LCY)");
                              vBalance:= FORMAT(recCustomer."Balance (LCY)");
                            vSPcode :=recCustomer."Salesperson Code";


                            xmlMgt.AddElement(CurrNode,'mbs:Customer','','mbs',NewChild);
                                  CurrNode1:=NewChild; //One level deeper, but keep current level too
                                  xmlMgt.AddElement(CurrNode1,'mbs:CustomerAuthentication','','mbs',NewChild);
                                         CurrNode2:=NewChild; //One level deeper to sublevel
                                         xmlMgt.AddElement(CurrNode2,'mbs:No',vNo,'mbs',NewChild);
                                         xmlMgt.AddElement(CurrNode2,'mbs:Name',vName,'mbs',NewChild);

                                  xmlMgt.AddElement(CurrNode1,'mbs:CustomerData','','mbs',NewChild);
                                         CurrNode2:=NewChild; //One level deeper to sublevel
                                         xmlMgt.AddElement(CurrNode2,'mbs:Balance',vBalance,'mbs',NewChild);
                                         xmlMgt.AddElement(CurrNode2,'mbs:SalespersonCode',vSPcode,'mbs',NewChild);
                                         xmlMgt.AddElement(CurrNode2,'mbs:Contacts','','mbs',NewChild);
                                             CurrNode1:=NewChild;//One level deeper
                                             xmlMgt.AddElement(CurrNode1,'mbs:Contact',vContact,'mbs',NewChild);


                            CLEAR(vName);
                            CLEAR(vNo)  ;
                            CLEAR(vContact);
                            CLEAR(vBalance);
                            CLEAR(vSPcode);

                           UNTIL recCustomer.NEXT=0;


                           xmlDoc.save('D:\xmlFile.xml');
                           CLEARALL;
                           MESSAGE('xmlFile.xml is created');
                         END;
              END;

      }
      CODE
      {
        VAR
          xmlDoc@1000 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v6.0'.DOMDocument";
          CurrNode@1003 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF80-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNode";
          CurrNode1@1005 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF80-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNode";
          CurrNode2@1013 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF80-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNode";
          NewChild@1004 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF80-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNode";
          xmlProcessingInst@1001 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF89-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMProcessingInstruction";
          xmlMgt@1002 : Codeunit 6224;
          "---- Variables----"@1006 : Integer;
          recCustomer@1012 : Record 18;
          vName@1007 : Text[30];
          vNo@1008 : Text[30];
          vContact@1009 : Text[30];
          vBalance@1010 : Text[30];
          vSPcode@1011 : Text[30];

        EVENT xmlDoc@1000::ondataavailable@198();
        BEGIN
        END;

        EVENT xmlDoc@1000::onreadystatechange@-609();
        BEGIN
        END;

        BEGIN
        END.
      }
    }

    ---------------------------------------

    And can be read by codeunit: 

    OBJECT Codeunit 50050 xml read
    {
      OBJECT-PROPERTIES
      {
        Date=03/24/10;
        Time=12:25:26 PM;
        Modified=Yes;
        Version List=;
      }
      PROPERTIES
      {
        OnRun=BEGIN
                ffile.OPEN('D:\XmlFile.xml'); //this must be your file name
                ffile.CREATEINSTREAM(strInStream);

                IF ISCLEAR(xmldomDoc) THEN CREATE(xmldomDoc);

                xmldomDoc.load(strInStream);

                xmlNodeList1 := xmldomDoc.getElementsByTagName('mbs:Customer');

                ii:=xmlNodeList1.length();

                FOR i:=0 TO xmlNodeList1.length()-1 DO BEGIN
                 xmldomElem1:= xmlNodeList1.item(i); //mbs:Customer
                 IF xmldomElem1.hasChildNodes() THEN
                    BEGIN
                      xmlNodeList2:= xmldomElem1.childNodes();
                      IF NOT ISCLEAR(xmlNodeList2) THEN
                      xmldomElem2:= xmlNodeList2.item(0); //mbs:CustomerAuthentication
                      IF NOT ISCLEAR(xmldomElem2) THEN
                      IF xmldomElem2.hasChildNodes() THEN
                         BEGIN
                         xmlNodeList3:= xmldomElem2.childNodes();
                         IF NOT ISCLEAR(xmlNodeList3) THEN
                          xmldomElem3:= xmldomElem2.firstChild();//mbs:No
                         IF NOT ISCLEAR(xmldomElem3) THEN
                          txtNo:=xmldomElem3.text();
                         xmldomElem3:=xmlNodeList3.item(1); //mbsName
                         IF NOT ISCLEAR(xmldomElem3) THEN
                          txtName:=xmldomElem3.text();

                      xmldomElem2:= xmlNodeList2.item(1); //mbs:CustomerData
                      IF NOT ISCLEAR(xmldomElem2) THEN
                      IF xmldomElem2.hasChildNodes() THEN
                         BEGIN
                         xmlNodeList3:= xmldomElem2.childNodes();
                         IF NOT ISCLEAR(xmlNodeList3) THEN
                          xmldomElem3:= xmldomElem2.firstChild();//mbs:Balance
                         IF NOT ISCLEAR(xmldomElem3) THEN
                          txtBalance:=xmldomElem3.text();
                         xmldomElem3:=xmlNodeList3.item(1); //mbsSalesPersonCode
                         IF NOT ISCLEAR(xmldomElem3) THEN
                          txtSPcode:=xmldomElem3.text();
                         END;

                         xmldomElem3:=xmlNodeList3.item(2); //mbs:Contacts
                         IF NOT ISCLEAR(xmldomElem3) THEN
                            txtContact:=xmldomElem3.text();

                     END;
                END;
                      MESSAGE('This is record "%1"\No "%2"\Name "%3"\Contact "%4"\Balance "%5"\Salesperson code "%6"\of Total "%7"',
                      FORMAT(i+1),
                      txtNo,
                      txtName,
                      txtContact,
                      txtBalance,
                      txtSPcode,
                      ii);

                END;
                ffile.CLOSE;
                CLEARALL;
              END;

      }
      CODE
      {
        VAR
          xmldomDoc@1000 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{F6D90F11-9C73-11D3-B32E-00C04F990BB4}:'Microsoft XML, v6.0'.DOMDocument";
          xmlNodeList1@1005 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF82-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNodeList";
          xmlNodeList2@1017 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF82-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNodeList";
          xmlNodeList3@1019 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF82-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMNodeList";
          xmldomElem1@1007 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF86-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMElement";
          xmldomElem2@1010 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF86-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMElement";
          xmldomElem3@1011 : Automation "{F5078F18-C551-11D3-89B9-0000F81FE221} 6.0:{2933BF86-7B36-11D2-B20E-00C04F983E60}:'Microsoft XML, v6.0'.IXMLDOMElement";
          txtNo@1001 : Text[30];
          txtName@1002 : Text[30];
          txtContact@1009 : Text[30];
          txtBalance@1012 : Text[30];
          txtSPcode@1013 : Text[30];
          ffile@1003 : File;
          strInStream@1004 : InStream;
          i@1006 : Integer;
          ii@1018 : Integer;

        EVENT xmldomDoc@1000::ondataavailable@198();
        BEGIN
        END;

        EVENT xmldomDoc@1000::onreadystatechange@-609();
        BEGIN
        END;

        BEGIN
        END.
      }
    }

    That's all
    Special thanks to
    Rainer Kuhnlein

    Gedas Busniauskas (gediminb)
    Microsoft Customer Service and Support (CSS) EMEA

     

  • Microsoft Dynamics NAV Team Blog

    New Training Titles Released for Microsoft Dynamics NAV 2009 SP1

    • 0 Comments
    The following training titles have been released  and are available on PartnerSource and CustomerSource (log-in required):

    What's New in Microsoft Dynamics® NAV 2009 Service Pack 1 - Application:

    A one-day instructor-led training (ILT) course that provides students with the knowledge and skills to recognize the key differences in the application features for Microsoft Dynamics NAV 2009 SP1.

    CustomerSource: https://mbs.microsoft.com/customersource/training/trainingmaterials/student/course80237

    PartnerSource: https://mbs.microsoft.com/partnersource/communities/training/trainingmaterials/student/course80237

    What's New in Microsoft Dynamics® NAV 2009 Service Pack 1 - Installation and Development:

    A one-day instructor-led course that provides students with the knowledge of what is new in Microsoft Dynamics NAV 2009 Service Pack 1 (SP1). The course provides an explanation of how to install and configure Microsoft Dynamics NAV 2009 SP1, and describes new features in the Page and Report Designers, changes in developing Web services solutions, and other partner productivity features.

    CustomerSource: https://mbs.microsoft.com/customersource/training/trainingmaterials/student/course80236

    PartnerSource: https://mbs.microsoft.com/partnersource/communities/training/trainingmaterials/student/course80236

    Data Upgrade and Code Upgrade from Microsoft® Business Solutions-Navision® 3.7 to Microsoft Dynamics® NAV2009 SP1:

    A two-day instructor-led course that provides students with the necessary tools to help them perform an upgrade from Microsoft Business Solutions-Navision 3.70, Microsoft Dynamics NAV 4.0, or Microsoft Dynamics NAV 5.0, to Microsoft Dynamics NAV 2009 SP1. This includes planning and performing data and code upgrades of Microsoft Dynamics NAV with customizations, in addition to testing the upgraded solution. The training is designed to offer students best practices to address the typical pain points of an upgrade.

    CustomerSource: https://mbs.microsoft.com/customersource/training/trainingmaterials/student/course80234

    PartnerSource: https://mbs.microsoft.com/partnersource/communities/training/trainingmaterials/student/course80234

    The Microsoft Dynamics NAV 2009 SP1 What's New training is also available as E-Learning in the Element K Catalog for partners and customers on a service plan.

    In addition, the following translated trainings have been made available; these trainings apply to Microsoft Dynamics NAV 2009:

    Title Language Type Available on PartnerSource and CustomerSource

    Finance in Microsoft Dynamics® NAV 2009 Extension for Italy

    French

    Extension

    2/1/2010

    Gestion des stocks dans Microsoft Dynamics® NAV 2009

    French

    ILT

    2/5/2010

    Commerce dans Microsoft Dynamics® NAV 2009

    French

    ILT

    2/5/2010

    Lagerverwaltung in Microsoft Dynamics® NAV 2009

    German

    ILT

    2/5/2010

    Handel in Microsoft Dynamics® NAV 2009

    German

    ILT

    2/5/2010

    Gestión de inventarios en Microsoft Dynamics® NAV 2009

    Spanish

    ILT

    2/5/2010

    Operaciones comerciales en Microsoft Dynamics® NAV 2009

     

    Spanish

    ILT

    2/5/2010

    Lager i Microsoft Dynamics® NAV 2009

    Danish

    ILT

    2/5/2010

    Handel i Microsoft Dynamics® NAV 2009

    Danish

    ILT

    2/5/2010

    Voorraadbeheer in Microsoft Dynamics® NAV 2009

    Dutch

    ILT

    2/5/2010

    Handel in Microsoft Dynamics® NAV 2009

    Dutch

    ILT

    2/5/2010

    Gestione magazzino in Microsoft Dynamics® NAV 2009

    Italian

    ILT

    2/5/2010

    Acquisti e vendite in Microsoft Dynamics® NAV 2009

    Italian

    ILT

    2/5/2010

    Finance in Microsoft Dynamics® NAV 2009 Extension for Denmark

    Danish

    Extension

    2/12/2010

    Microsoft Dynamics® NAV 2009 Produktion I

    Danish

    ILT

    2/16/2010

    Microsoft Dynamics® NAV 2009 Produktion II

    Danish

    ILT

    2/16/2010

    Production I dans Microsoft Dynamics® NAV 2009

    French

    ILT

    2/16/2010

    Production II dans Microsoft Dynamics® NAV 2009

    French

    ILT

    2/16/2010

    Produktion I in Microsoft Dynamics® NAV 2009

    German

    ILT

    2/16/2010

    Produktion II in Microsoft Dynamics® NAV 2009

    German

    ILT

    2/16/2010

    Fabricación I en Microsoft Dynamics® NAV 2009

    Spanish

    ILT

    2/16/2010

    Fabricación II en Microsoft Dynamics® NAV 2009

    Spanish

    ILT

    2/16/2010

     

  • Microsoft Dynamics NAV Team Blog

    Directions EMEA 2010 (May 19-21)

    • 1 Comments

    Directions EMEA 2010 is a partner conference focused entirely on Microsoft Dynamics NAV, with an expected attendance of 500 people from over 30 Countries, taking place in the beautiful city of Prague, May 19-21, 2010.

    Over the years, the Directions EMEA event has grown to become a prime conference for our Microsoft Dynamics NAV partners creating a platform where you can meet and connect, share knowledge and engage in new business opportunities as well as network with Microsoft representatives and executives.

    The primary goals of this event are to:

    • Help build a stronger and more engaged Microsoft Dynamics NAV community.
    • Enhance the relationship between Microsoft and you, our Microsoft Dynamics NAV partners.
    • Provide you with the latest product and business information helping you win in the market.

    Since there is a mutual interest within a community consisting solely of Microsoft Dynamics NAV partners, the dialog with Microsoft is direct and open. Often this has a direct effect on development and strategy concerning the future of Microsoft Dynamics NAV.

    In order to achieve this, the agenda contains:

    • Keynotes: covering areas of general interest, based on input from the channel, and latest information about product and business development.
    • Technical sessions: providing you with background information and knowledge.
    • Sales/Marketing sessions: giving insight into go-to-market strategies, positioning and selling tactics.
    • ISV sessions: where partners present their products and services to an EMEA audience.
    • Partner exhibitions: to show solutions and build contacts.
    • And of course lots of opportunity to partner and network.

    I therefore encourage you to attend this year's event in Prague and take advantage of the great possibilities provided to you. Registration has already begun and the complete agenda can be found at: http://www.directionsemea.com/.

  • Microsoft Dynamics NAV Team Blog

    Convergence 2010 Atlanta (April 24-27)

    • 0 Comments

    Convergence 2010 Atlanta, the premier Microsoft Dynamics event, offers "a unique opportunity to network with your peers, partners, Microsoft team members, and industry experts together to share ideas and knowledge—all in one place." For more information and registration details, see the Convergence 2010 Atlanta site.

    Also on this site, check out the Session Catalog to find the latest and greatest information about sessions, roundtables, workshops, labs, and interactive discussions. You can filter on the Microsoft Dynamics NAV track to see all things NAV-related.

    Finally, take a look at the Microsoft Dynamics ERP Community Team Blog and select the Convergence 2010 Atlanta tag to read blog posts that are sure to get you excited for the event.

    Hope to see you there in April!

  • Microsoft Dynamics NAV Team Blog

    Transfooter and Transheader functionality in RDLC(SSRS) reports

    • 3 Comments

    Please note that I have posted a new blog for this subject here. /Claus Lundstrøm

    In our Classic reports we have the possibility to use Transfooter and Transheader. A typical use for classic Transfooters and Transheaders are to show a current subtotals up to the end of the current page or sums per page

    These functions are not directly mapped from Classic reports to RDLC reports in Dynamics NAV 2009, but in this post I will go through how this is done in RDLC reports:

    1. Create new report blank report with table 18

    clip_image001

    2. Create DataItem ”Customer”

    clip_image002

    3. Go to Section Designer and add the following fields:

    · No.

    · Name

    · Debit Amount

    clip_image003

    4. Save the report as ID 50000 – Transfooter / Transheader

    clip_image004

    5. Now go to Visual Studio (View / Layout)

    clip_image005

    6. Create table and add the fields No, Name and Debit Amount

    clip_image006

    7. Give this table the name “MainTable”

    clip_image007

    8. Now we have added the basic for this report. But I would also like to have a Grand total of the Debit Amount so I add this as well. I add this in the Footer of the table

    ="GrandTotal: " & sum(Fields!Customer__Debit_Amount_.Value)

    clip_image008

    9. Now if my report is printed I get a list of my all my customer with Debit Amount displayed and with GrandTotal in the end of the report:

    clip_image009

    10. Now I would like to see the accumulated sum of the Debit Amount on each the page footers, and on the next page display this accumulated sum from previous page. So I will add Transfooter and Transheader functionality to the report.

    11. First we need to do some intermediate calculations to accomplish this.

    Add 3 new columns to the existing table in Visual Studio;

    clip_image011

    12. In the first column enter this expression:

    =RunningValue(Fields!Customer__Debit_Amount_.Value, Sum, "MainTable")

    And give this name “Subtotals1”

    clip_image012

    13. In the Second column enter this expression:

    =RunningValue(Fields!Customer__Debit_Amount_.Value, Sum, "MainTable") - Fields!Customer__Debit_Amount_.Value

    And give this name “Subtotals2”

    clip_image013

    14. In the Third column enter this expression:

    =RunningValue(Fields!Customer__No__.Value, Count, "MainTable")

    And give this name “SubCount”

    clip_image014

    The 3 columns should now look like this:

    clip_image015

    15. As these 3 columns are only used for calculation I will make them really small and set Visibility “Hidden=True” and make the font red so I remember that these columns are hidden.

    Your report should now look like this:

    clip_image016

    16. Ok, it’s now time to add a Transfooter and Transheader. Enable Page Header and Page Footer in the report. You report should look like this:

    clip_image018

    17. In the Page Footer I place a text box with the following expression:

    ="Transfooter subtotal = " & Last(ReportItems!Subtotals1.Value)

    And then I set BackgroundColor, and Color just so this Transfooter stands out in my report, and right align text:

    clip_image019

    clip_image020

    18. In the Page header I place a text box with the following expression:

    ="Transheader subtotal = " & (First(ReportItems!Subtotals2.Value))

    And then I set BackgroundColor, and Color just so this Transfooter stands out in my report, and right align text:

    clip_image021

    clip_image022

    19. Now I’m almost done but I would like to not see the Transheader on the first page and not to see the Transfooter on the last page, so I select properties on the Page Header and set the “PrintOnFirstPage=False”

    clip_image023

    20. Now I could do the same on Page Footer, but maybe I would like to display the Page Footer, but not with the Transfooter displayed, so here is a little trick for how to do this.

    21. Insert a text box below the table and set the expression to “=True”, Name=LastPageControl, Hidden=True and color red.

    clip_image024

    22. With this field added after the table we can now check to see when we are on the last page.

    So I add the following Visibility Expression on the Transfooter textbox:

    =ReportItems!LastPageControl.Value

    clip_image025

    23. Now I’m done, I save, import into NAV and compile. After some fit and finish on the report it now looks like this when I print:

    clip_image027

    clip_image029

    You can download my report here as FOB and XPS.

    Thanks,
    Claus Lundstrøm, Program Manager, Microsoft Dynamics NAV

  • Microsoft Dynamics NAV Team Blog

    Final Update to Microsoft Dynamics NAV 2009 Developer and IT Pro Help

    • 0 Comments

    Our final update to the Microsoft Dynamics NAV 2009 Developer and IT Pro Help has been published on MSDN and the Microsoft Download Center. You can download the updated .chm file and copy it into your NAV 2009 installation to update the Help you receive from F1. The cumulative changes to the Help are available on the What's New page.

    Some of the new and updated content areas for this release include:

     As always, let us know what you think, what's missing, what's helpful, and what you like and dislike about Help.

    - Bob, Jill and John (the writers for NAV Developer and IT pro Help)

  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics NAV 2009 SP1 installation moment...

    • 7 Comments

    Recently i met customer problem where NAV 2009 SP1 components didn't work after "correct installation".

    Problem is: customer installs NAV 2009 SP1 components by run msi file - for example "Microsoft Dynamics NAV SDK.msi". But this way doesn't install "Prerequisite Components" needed by NAV 2009 SP1. And it could be these installed NAV components will not work (because it missing prerequisites).


    Only supported way to Install NAV 2009 SP1 components is - run "setup.exe".

    However "setup.exe" will uninstall previous NAV version and installs new NAV 2009 SP1 version. If you need to have few NAV version installed - you need to run msi (instead of setup.exe).
    So conclusion: both ways have it strength and weakness. You can choose what you want, just you need to know about possible issues...

    Gedas Busniauskas (gediminb)
    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Platform Update 2 for Microsoft Dynamics NAV 5.0 SP1

    • 5 Comments

    Update 2 for Microsoft Dynamics NAV 5.0 SP1 incorporates over 40 hotfixes and resolves various additional known issues reported since the previous update. It is verified to run on Windows 7 and on Windows Server 2008 R2. It provides updated stylesheets to support export of PictureBoxes to Microsoft Office Word and Excel. See the Release Notes provided with the update for details.

    Platform Update 2 for Microsoft Dynamics NAV 5.0 SP1 

    A CustomerSource login is required. Scroll down to the Downloads section of the page. For the selected country, click the link in the Platform Update 2 column.

  • Microsoft Dynamics NAV Team Blog

    Export of Pictures using Send-To MS Word/Excel functionality

    • 3 Comments

    With release of update 2 for NAV 5.0 SP1, the client now supports exporting picture box using style sheets (send-to Word/Excel) functionality.

    Both Client and style sheets have been modified to align with this change. If you don't normally have picture fields on the form you're exporting, you would add the field through codeunit 403, where additional data is normally added to the export (runtime). For simplicity I added a PictureBox contatining Picture field to Item form - and that is all there is to it really. When using send-to functionality, generated output will show item picture in the document. Now testing this with export to Word, one might note the crossed icon if the picture is not available. Though that should not be an issue either, modifying the style sheet to ignore the control if data is not present, should this really be necessarry, is as simple as a single if-test.

    So to illustrate this, I've changed the following part of NavisionFormToWord style sheet (changed lines marked with comments), to add an if test around 'pict'-  tag, and


        <xsl:if test="@data != ''"> <!-- IF TEST BEGIN !-->
              <w:pict>
                <w:binData xml:space="preserve"><xsl:attribute name="w:name">wordml://<xsl:value-of select="@id"/>.png</xsl:attribute><xsl:value-of select="@data"/></w:binData>
                <v:shape id="_x0000_i1025" type="#_x0000_t75">
                  <v:imagedata o:title="CRONUS">
                    <xsl:attribute name="src">wordml://<xsl:value-of select="@id" />.png</xsl:attribute>
                    <xsl:attribute name="o:title"><xsl:value-of select="@name" /></xsl:attribute>
                  </v:imagedata>
                </v:shape>
              </w:pict>
        </xsl:if>   <!-- IF TEST END !-->

    Note that this is even easier if we're controling field export through coudeunit 403, where this test can be implemented instead, to control availability of the control based on data content.

    Jasminka Thunes 

    Microsoft Norway

    Microsoft Customer Service and Support (CSS) EMEA

     

     

Page 30 of 47 (693 items) «2829303132»