Microsoft Dynamics NAV

Team Blog

  • Microsoft Dynamics NAV Team Blog

    Microsoft Dynamics NAV Compatibility with Microsoft Office 2010 and Microsoft SharePoint 2010

    • 8 Comments

    With the release of Office 2010 and SharePoint 2010 the relationship between internal line of business applications and business productivity software is stronger than ever. There have been added many exciting new features, which will bring value to many customers, including those customers that are using Microsoft Dynamics NAV today.

    User Interface

    The user interface (UI) is the "face" of a software application - A good user interface is intuitive, familiar, and easy to use. It improves productivity by minimizing the number of clicks required to get a task done. This is what we accomplished with the release of the RoleTailored client in Microsoft Dynamics NAV 2009. The Fluent UI is now used by all Microsoft Office programs as well as SharePoint Server 2010, and does away with menus, which were growing increasingly complex, replacing them with a clear set of icons that are relevant to the task being performed.

    With the 2010 release, Microsoft Office, Microsoft SharePoint Server, and Microsoft Dynamics now share this strong "facial" resemblance, making them more consistent to use and easier to adopt.

    Connectivity

    Just as beauty is more than skin deep, so the ties between Microsoft Dynamics and Microsoft's business productivity infrastructure run deeper than just the UI.  Business Connectivity Services (BCS) is a new technology that crosses Microsoft Office 2010 and Microsoft SharePoint Server 2010, and can be thought of as "plumbing" for connecting business applications through Web Services in Microsoft Dynamics NAV 2009 with SharePoint and Office. This is no ordinary plumbing, though, as it enables some powerful new scenarios for Microsoft Dynamics NAV customers, including the ability to update information stored in a Microsoft Dynamics NAV database directly from a SharePoint site, and making it easier to take Microsoft Dynamics NAV information offline through either Outlook 2010 or SharePoint Workspace 2010. 

    Analysis

    The majority of Microsoft Dynamics customers use Microsoft Excel to analyze their business information. PowerPivot for Microsoft Excel 2010 offers the ability to quickly create PivotTables or PivotCharts that are pulling in data from Microsoft Dynamics ERP or CRM in real time. New Excel 2010 features such as Slicers and Sparklines can then be added to bring the numbers to life and gain deeper insights into what's happening in the business.  

    Compatibility

    Since Microsoft Dynamics NAV always has had a strong integration to the Office and SharePoint products, we are proud to announce that Microsoft Dynamics NAV 2009 SP1 and Microsoft Dynamics NAV 5.0 SP1 Update 2 are compatible with Microsoft Office 2010 and Microsoft SharePoint 2010!

    The details in the support for the different Office and SharePoint integrations are listed below. Please note that Office 2010 is available in both a 32-bit version and a 64-bit version, but some NAV areas are currently not supported in the 64-bit version. The recommended version of Office 2010 in combination with NAV is the 32-bit version. Further reading on the difference between the two versions can be found here: http://blogs.technet.com/b/office2010/archive/2010/02/23/understanding-64-bit-office.aspx.  

    1. Employee Portal is supported for SharePoint 2010. However please look at KB970502 for instructions on how to install in a 64-bit environment.
    2. Sending data from Microsoft Dynamics NAV to both Word and Excel using the basic export is fully compatible with Microsoft Office Word 2010 and Microsoft Office Excel 2010. The same applies exporting to Excel from reports and to Export of budgets, Analysis Schedules etc.
    3. Interactions such as letters can be initiated from Microsoft Dynamics NAV and stored as appropriate in Microsoft Office Word 2010 in both 32-bit and 64-bit version.
    4. Sending emails from Microsoft Dynamics NAV is compatible with Outlook 2010 32-bit version, but is currently not supported for the 64 bit version.
    5. Outlook Synchronization is compatible with Outlook 2010 32-bit version. The installation and the add-in is not currently supported for the 64- bit version.
    6. Email logging is dependent on CDO, which is not supported in Office 2010. Please read http://support.microsoft.com/kb/2028411. A possible workaround has been identified by manual installing CDO in combination with KB2291071, but it is recommended to stay on Office 2007 if email logging is required.
  • Microsoft Dynamics NAV Team Blog

    New How Do I Videos for Microsoft Dynamics NAV on MSDN

    • 0 Comments

    Announcing the next installment of new videos on MSDN. http://msdn.microsoft.com/bb629407.aspx

    These videos target the developer audience for Microsoft Dynamics NAV 2009. The new offerings are:

    • Multiple Web Service Instances in NAV 2009
    • Delegation with Three Tier Installation in NAV 2009

    More videos are in the works and will target both the platform and the application, so check back often to see what's been added. All videos are in English.

  • Microsoft Dynamics NAV Team Blog

    Compatibility Update with Microsoft SQL Server 2008 R2 and Microsoft Visual Studio 2010

    • 2 Comments

    A couple of big Microsoft products shipped recently, so time for an NAV compatibility update.

    Microsoft SQL Server 2008 R2

    We are proud to announce that both Microsoft Dynamics NAV 5.0 SP1 Update 2 and Microsoft Dynamics NAV 2009 SP1 are compatible with Microsoft SQL Server 2008 R2!

    We will be updating our Microsoft Dynamics NAV 2009 SP1 Requirements List on MSDN shortly.

    Business Notification is not compatible with Microsoft SQL Server 2008 R2, and will not be supported. For instructions on how to install Business Notification with SQL Server 2008 see this blog post. For more information please look at the Statement of Direction for Microsoft Dynamics NAV available on PartnerSource for Microsoft Dynamics.

    Microsoft Visual Studio 2010

    You can use Microsoft Visual Studio 2010 for .NET integration scenarios with Microsoft Dynamics NAV, including consuming Microsoft Dynamics NAV 2009 Web Services.

    Microsoft Visual Studio 2010 is not compatible and not supported for editing Reports for the Microsoft Dynamics NAV 2009 RoleTailored Client. Microsoft Dynamics NAV 2009 SP1 uses the Microsoft RDLC 2005 format for reports which is not compatible with Microsoft Visual Studio 2010. See our earlier blog post on this topic for more details.

    Thanks,

    Michael Svanholm Thomsen, Group Program Manager, Microsoft Dynamics NAV Server and Tools 

  • Microsoft Dynamics NAV Team Blog

    Hotfix released for “Full Screen” mode with the RoleTailored Client

    • 0 Comments

    Two new command line parameters have been introduced for the RoleTailored client of Microsoft Dynamics NAV 2009 SP1 as a hotfix (KB 2312984). They enable a number of new usage scenarios for the RoleTailored client.

    Samples for those scenarios are: point of sales, point of information screens, and monitor screens showing self-updating key performance indicators.

    Command line parameter

    Description

    -Fullscreen

    If used on the Command line with the RoleTailored client, sets the new instance into a mode that shows all pages in full screen mode. In this mode by default no Navigation Window is shown.

    The full screen mode is designed to be used together with a RunPage URL.

    -ShowNavigationPage:0/1

    When used with 0, the Navigation Window is not shown on start up. 1 is default for the standard mode of the RoleTailored client. 0 is default in full screen mode.

    If you want to learn more about these options, please refer to this Blog Post.

    Christian Abeln
    Senior Program Manager
    Microsoft DynamicsNAV

  • Microsoft Dynamics NAV Team Blog

    Multiple Record Corruption on a Native Database: The “Table Isolation” Trick

    • 1 Comments

    Due to unexpected events, a multiple record corruption at table level in a Native database may unfortunately happen. The error that may arise is something like this (reported below in Danish) while performing actions on determined records in the corrupted area.

    corruption

    This error text is taken directly from the fin.stx file. For example:

    // ÚÄ´ DB ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

    // ³ ÀÄÄÄÄÙ                                                                   ³

    // ³  Database System                                                         ³

    // ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

    @1@19@0@

    @2@1@0@

    Caution: There is an error in the database structure. This occurs if the database file is changed by another program or if a device driver does not function properly.

    You must correct this error before you can continue. The error (%18 in module %23) may have been caused by the computer or a program.

    Table: %1.1

    Company: %1.9

    Key Fields: %6

    Check the database. On the File menu, click Database, click Test, and then click Maximum. If you get the same error, you should:

    1. Back up the database by copying the database file or files to another location.
    2. Use the built-in functionality to make a backup.
    3. If this works, create a new database without deleting the database that contains the error or errors.

    Restore the backup that you made with the built-in backup functionality into the new database. To test it, on the File menu, click Database, click Test, and then click Maximum.

    If this procedure does not work, then any database changes that were made after the most recent backup will be lost. Restore the most recent backup that was made with the built-in backup functionality and test it.

    For security reasons, you should save the old database until you have used the new one for a period of time.

    Contact your system administrator for assistance.

    The official position from Microsoft, then, is to restore a valid recent backup or a copy of the database not affected from this error. But what if you do not have any of those?

    There are some chances to isolate those corrupted records, like cancer cells, and create a brand new database with only the sane part of the old one. I have called this “Table Isolation” trick, observing it from a medical perspective.

    This action plan could be applied if:

    1. You can access safely the database and work in most of the area.
    2. You know exactly which table(s) is/are affected and those are in a limited number.
    3. Those tables have the table property DataPerCompany set to Yes.

    If those 3 prerequisites can be considered fulfilled then you could go with the table isolation trick.

    NOTE: In the next example we take into considerations the corruption of multiple records within table 37 Sales Line for one specific company.

    “TABLE ISOLATION” plan

    1. Create a brand new table XXXX that has got the same table structure as the corrupted table e.g. 37 Sales Line table. (This brand new table must have the same fields and data types, there should even be no need to copy C/AL Code and triggers on it.)
    2. TRANSFERFIELDS ALL the records of Sales line table to the brand new created XXXX table for ALL the companies. (For the Sales Line records of the company that are having this problem, you should go with trial and error to recover as much sane records as possible.)
    3. Delete ALL the records for the Sales Line table for ALL the companies EXCEPT the one that has got the corruption in the OLD database.
    4. Perform a NAV backup of all objects + data common to all companies + ALL the companies EXCEPT the one with the table whom has got the error.
    5. Create a brand new database with the appropriate space (we can call it NEW database).
    6. Restore the NAV backup at point 4. (Now, in the NEW database you just miss data of one company.)
    7. After the NAV restore, TRANSFERFIELDS back all the records from table XXXX to Sales Line for every company and after that DELETE all records in table XXXX.
    8. Go back to the OLD database. Go to the Object Designer and change the property of the Sales Line table DataPerCompany to ‘No’. Save and Compile the table object.
    9. Perform a NAV backup of ONLY the company that still remains. (From the operation done at point 8, this won’t import the corrupted table).
    10. Restore the NAV backup at point 8 into the NEW database. (You should have now in the NEW database, all except the corrupted table. But the sane records are still in table XXXX.)
    11. TRANSFERFIELDS back all the records that you have been able to save into table XXXX to Sales Line of this last company restored and then DELETE all records present in table XXXX.
    12. DELETE table n. XXXX.

    At the end of this procedure, remember to run a FULL NAV database test and correct all the error that may arise.

    Remember also to correct all the dependencies left by the missing record and, overall, PLEASE before do this in live environment, always TEST it on a safe test environment.

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

    Best Regards,

    Duilio Tacconi (dtacconi)

    Microsoft Dynamics Italy

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Segment Wizard for RTC

    • 0 Comments

    It is known that in NAV 2009 SP1 there is no Segment Wizard page for RTC.

    In this blog you will find some source code in txt format in order to let you start develop the Segment Wizard to your RTC. Please, check the disclaimer on code usage at the bottom of this blog.

    The source code file includes 1 new object, the Segment Wizard RTC page (Page 50112). Import this object into the Classic client. Next, you must slightly modify 2 objects in order to let the wizard work properly:

    • Table 5096 Segment Wizard Filter (change one line in StartWizard function to run Segment Wizard RTC page)
    • Page 5091 Segment (Add and promote action Wizard…)

    To modify Table 5096 Segment Wizard Filter:

    1. In Object Designer, click Table, select table 5096, Segment Wizard Filter, and then click Design.
    2. On the View menu, click C/AL Code.
    3. In the C/AL Editor, scroll down to the StartWizard function, and update the function to the following code:

    "Wizard Step" := "Wizard Step"::"1";

    INSERT;

    IF ISSERVICETIER THEN

      PAGE.RUNMODAL(PAGE::"Segment Wizard RTC",Rec)

    ELSE

      FORM.RUNMODAL(FORM::"Segment Wizard",Rec);

    • Close the C/AL Editor.
    • Save and compile Table 5096.

    To modify Page 5091 Segment:

    1. In Object Designer, click Page, select page 5091, Segment, and then click Design.
    2. In Page Designer, scroll down to the first blank line, and then on the View menu, click Actions.
    3. Insert a new action under the Functions ActionGroup. This action should have the following properties:
      • Name: aWizard
      • Caption: Wizard…
      • Type: Action
      • Image: SuggestLines
      • Promoted: Yes
      • PromotedCategory: Process
      • PromotedIsBig: Yes
    4. On the View menu, click C/AL Code.
    5. In the C/AL Editor, find the OnAction trigger for the aWizard action and add the following line of code:

    Wizard; 

    • Close the C/AL Editor
    • Save and compile Page 5091.

    This is brief and introductive screenshot step by step of what this page object does.

    To start the Wizard…, user has got a promoted Action.

    segment1

    When Clicking the action, the Wizard starts presenting STEP 1.

    segment2

    Checking the completion of Step 1, user is prompted for Step 2 meanwhile the Start action button appears.

    segment3

    User can choose to start the process (like Finish button in classic client) or move forward to the next step.

    NOTE that the mechanisms of keepin’hide and visible will always keep MAX 2 FastTab opened, increasing the visibility / usability of the wizard.

    segment4

     

    User has got the same options that has been present in the Classic Client and can switch between them by checking/unchecking the “Step X Completed” button.

    segment5

    When User is satisfied with his own choice, then he just has to press Start action button…

    segment6

    …and the population/reduction/refinement of the segment is served!

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

    Best Regards,

    Duilio Tacconi (dtacconi)

    Microsoft Dynamics Italy

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Let NAV Speak (with a Simple and Useful Client Add-in)

    • 8 Comments

    In this blog you will find the source code (below) to “let NAV speak.” You would have a wide range of possibilities to use this simple Add-in and enlarge this project.

    If you want to know more about Client Add-ins you can refer to this MSDN link:

    Extending the RoleTailored Client Using Control Add-ins and Microsoft Dynamics NAV 2009 SP1

    This simple Client Add-In is based on System.Speech namespace:

    Microsoft.Speech.Synthesis Namespace

    Step by step creation of the NSpeech Add-In

    (Remember the ‘DodgeBall’ rules: Develop, Sign, Place, Register and Develop)

    1. DEVELOP your add-in (in Visual Studio)
    2. Strong SIGN and build
    3. PLACE DLLs into Add-ins folder
    4. REGISTER the add-in in Table 2000000069, Client Add-in
    5. DEVELOP your C/AL code (in Object Designer)

    A. Create a New Class Project

    1. Open Visual Studio (in this example I am using Visual Studio 2010)
    2. Create a New Project (CTRL+SHIFT+N) with these parameters
      • Visual C# – Windows
      • Class library
      • .NET Framework 3.5
      • Name: NSpeech
      • Location: C:\TMP (or whatever location you like)
      • Solution Name: NSpeech
      • Create directory for solution

    NSpeechVS

    B. Create a Strong Name Key (SNK)

    1. Go to Project > Properties (NSpeech Properties…)
    2. From the Project Properties form go to the Signing tab
    3. Tick the Sign the assembly option
    4. Create a New SNK (e.g. TestSpeechNav.snk)

    NSpeechSign

    C. Add References to the Project

    1. Click on the Class1.cs tab (return to the project)
    2. In the Solution Explorer window select Reference, right Click, Add Reference
    3. Add reference to
      • Microsoft.Dynamics.Framework.UI.Extensibility (Version 1.3.0.0) (By default, the path to the assembly is C:\Program Files\Microsoft Dynamics NAV\60\RoleTailored Client)
      • System.Drawing (Version 2.0.0.0)
      • System.Speech (Version 3.0.0.0)
      • System.Windows.Forms (Version 2.0.0.0)

    NSpeechRef

    D. Develop your NSpeech Project

    (You can simply copy and paste this code into your Class project.)

    using System;

    using System.Collections.Generic;

    using System.Text;

    using System.ComponentModel;

    //Add a reference to the Add-in API (see the solution explorer) and all relevant references

    //Use all relevant references

    using System.Drawing;

    using System.Windows.Forms;

    using Microsoft.Dynamics.Framework.UI.Extensibility;

    using Microsoft.Dynamics.Framework.UI.Extensibility.WinForms;

    //this is to let this add-in speech

    //http://msdn.microsoft.com/en-us/library/dd146744(v=office.13).aspx

    using System.Speech;

    using System.Speech.Synthesis;

    namespace NSpeech

    {

        //Develop the control add-in class.

        //Assign a name to the control add-in (MyCompany.MyProduct.MyAddIn)

        [ControlAddInExport("Cronus.DynamicsNAV.NSpeech")]

        [Description("Let this Add-in Speak")]

      

        //Select a base class as a starting point.

        //Select interfaces to implement features, such as data binding or event handling.

        public class Class1 : StringControlAddInBase

        {

            //Implement control creation

            protected override Control CreateControl()

            {

                //Create a brand new TextBox

                TextBox control = new TextBox();

               

                //Define TextBox size

                control.MinimumSize = new Size(50, 0);

                control.MaximumSize = new Size(500, Int32.MaxValue);

               

                //Add a DoubleClick event for the TextBox

                control.DoubleClick += new EventHandler(control_DoubleClick);

                return control;

            }

            //Define a voice synth

            private SpeechSynthesizer synth;

            private void control_DoubleClick(object sender, EventArgs e)

            {

                //create a new speech synth and set default audio device

                synth = new SpeechSynthesizer();

                synth.SetOutputToDefaultAudioDevice();

               

                //Pass TextBox content in a string variable

                string data = this.Control.Text;

              

                //... and let NAV speak it!

                synth.SpeakAsync(data);

            }

        }

    }

    E. Build the NSpeech.dll

    1. Once you have all setup, you are ready to build your Client Add-In. Go to Build > Build NSpeech

    F. Place DLL into Add-in folder

    1. Locate/copy/paste NSpeech.dll (should be in your C:\TMP\NSpeech\NSpeech\bin\Debug folder) to the Add-ins folder of a machine where the RoleTailored client has been installed

    (typically the Add-ins folder is here: C:\Program Files\Microsoft Dynamics NAV\60\RoleTailored Client\Add-ins)

    G. Determine the PKT (Public Key Token) of NSpeech

    1. Launch the Visual Studio Command Prompt
    2. In the VSCP:

    Sn –T “C:\TMP\NSpeech\NSpeech\bin\Debug\NSpeech.dll”

    In the following example, 250f71f35a467631 is the PKT (Public Key Token) needed to register the Add-in into NAV. (You will have another value.)

    NSpeechSn

    H. Register the NSpeech dll

    1. Open Classic Client
    2. Open Object Designer (SHIFT+F12)
    3. Select Table object (ALT+B)
    4. Run Table 2000000069 Client Add-in
    5. Insert a new line with these values:
    Field Value
    Control Add-in Name Cronus.DynamicsNAV.NSpeech
    Public Key Token 250f71f35a467631 (this is an example)
    Version 1.0.0.0
    Description Let this Add-in Speak

    How to Use This Add-in

    As an example, you can just let NAV speak the content of the field “Name” in Customer Card page (Page 21).

    1. Open Classic Client
    2. Go to Object Designer (SHIFT+F12)
    3. Select Page object (ALT+G)
    4. Design Page 21 Customer Card
    5. Go to Name Field and Edit properties (SHIFT+F4)
    6. Fill the ControlAddIn property with this value Cronus.DynamicsNAV.NSpeech;PublicKeyToken=250f71f35a467631 (change the PublickKeyToken value to the one that you have determined at step G.)
    7. Save and compile the page (CTRL+S)

    Now…you are ready to let NAV speak the Customer Name from the customer card by simply double clicking on on the Name!

    This simple Client Add-in project may be used in, e.g.

    • Speak an alert if the availability of an Item is lower than expected in a document page (e.g. sales quote)
    • Speak an alert if a Customer exceeds assigned Credit Limit
    • Speak internal comments for an item, a vendor, a customer, wherever this is needed
    • … and many more

    This simple Client Add-in project may be enlarged, e.g.

    • It could be possible to set the volume of the voice
    • It could be possible to set the rate of the voice
    • It could be possible to select another voice instead of “Microsoft Anne” default in order to speak words with proper accent language
    • It could be possible to save a .wav file instead of speaking it or even perform both activities
    • … and many more

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

    Best Regards,

    Duilio Tacconi (dtacconi)

    Microsoft Dynamics Italy

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Making a Page or Report Available from Search in the RoleTailored Client

    • 0 Comments

    In the RoleTailored client, the Search feature finds only pages and reports that are accessible from the navigation pane, which includes the Home button, Activity buttons, and Departments. So if you want to make a page or report available from search, then add it to the Home button, an Activity button, or Departments.

    For information about adding pages and reports to the Home Button and Activity buttons, see Home Button Overview and Creating Activity Buttons for the Navigation Pane in the MSDN library.

    To add a page or report to Departments, you add it to the MenuSuite object that is used by the RoleTailored client. For more information, see How to: Create and Modify a MenuSuite Object in the MSDN Library.

     

  • Microsoft Dynamics NAV Team Blog

    How to Transform a ListPlus Page Into a FactBox

    • 0 Comments

    In several places in NAV 2009 SP1, it has been used ListPlus pages in order to display two-dimension matrix. Those ListPlus Pages may be customized in order to be arranged as FactBoxes directly inside a main page (Document, Worksheet, etc.).

    The main concept of those kind of two-dimensional matrix pages is that they have a Page Part with a List that is updated every time a value is changed in the analysis parameter bounded to fields and/or variables that belongs directly to the ListPlus.

    This post will provide the basics on how to integrate the Item Availability by Location directly as FactBoxes instead of being called from RTC actions. The same concept may be applied to Item Availability by Period and Item Availability by Variant (and/or all of them together). In the example, the Planning Worksheet page is used as the main page.

    listplus1

    The next step will guide you through the modifications that need to be performed in order to arrange Page 492 “Item Availability By Location” as a FactBox. (In the standard Cronus this is called from an action present in the Related Information action group.)

    1. Rearrange Matrix Lines and configure Style property
      1. Design page 515 “Item Avail. by Location Lines”
      2. Below the Container line, add a new line of Field type. Fill in a name (e.g. “ItemNo”), a caption (e.g. “Item”) and populate SourceExpr property with Item.”No.” + ‘ ‘ + Item.Description
      3. Add some Style management: for this line change the Style property to “Favorable” and StyleExpr to TRUE

        listplus2

      4. In order to display in bold Matrix cells that contain values different from 0, add the following Boolean global variables (one for every possible Matrix Column). It is very important that for every Boolean variable, you also set the property (SHIFT+F4) “IncludeInDataset” to Yes.

        GRBool (for GrossRequirement StyleExpr)

        SRBool (for ScheduledReceipt StyleExpr)

        PORBool (for PlannedOrderReceipt StyleExpr)

        PABBool (for ProjAvailBalance StyleExpr)

        InvBool (for Item.Inventory StyleExpr)

        QPOBool (for Item."Qty. on Purch. Order" StyleExpr)

        QSOBool (for Item.”Qty. on Sales Order” StyleExpr)

        TOSQBool (for Item.”Trans. Ord. Shipment (Qty.)” StyleExpr)

        QTBool (for Item.”Qty. in Transit” StyleExpr)

        TORQBool (for Item.”Trans. Ord. Receipt(Qty.)” StyleExpr)

        EIBool (for ExpectedInventory StyleExpr)

        AvInvBool (for QtyAvailable StyleExpr)

        SRQBool (for Item.”Scheduled Receipt(Qty.)” StyleExpr)

        SNQBool (for Item.”Scheduled Need (Qty.)” StyleExpr)

        PORLBool (for PlannedOrderReleases StyleExpr)

        NetChBool (for Item.”Net Change” StyleExpr)

        listplus3 

      5. Create a new Function called “InitBoolean” and add this code:

        GRBool := GrossRequirement <> 0;

        SrBool := ScheduledReceipt <> 0;

        PORBool := PlannedOrderReceipt <> 0;

        PABBool := ProjAvailBalance <> 0;

        InvBool := Item.Inventory <> 0;

        QPOBool := Item."Qty. on Purch. Order" <> 0;

        QSOBool := Item."Qty. on Sales Order" <> 0;

        TOSQBool := Item."Trans. Ord. Shipment (Qty.)" <> 0;

        QTBool := Item."Qty. in Transit" <> 0;

        TORQBool := Item."Trans. Ord. Receipt (Qty.)" <> 0;

        EIBool := ExpectedInventory <> 0;

        AvInvBool := QtyAvailable <> 0;

        SRQBool := Item."Scheduled Receipt (Qty.)" <> 0;

        SNQBool := Item."Scheduled Need (Qty.)" <> 0;

        PORLBool := PlannedOrderReleases <> 0 ;

        NetChBool := Item."Net Change" <> 0;

      6. Add the Boolean value initialization in the OnAfterGetRecord() trigger at the bottom

        ExpectedInventory := AvailabilityMgt.ExpectedQtyOnHand(Item,TRUE,0,QtyAvailable,31129999D);

        END;

        InitBoolean; //Add this line

      7. For last, let this code work. In Page Designer, on each field for which you created a Boolean variable, change the Style property to “Strong” and in the StyleExpr property add the respective Boolean variable that you created in step d.
      8. Save and Compile the page.

       

    2. Add Availability by Location FactBox to Planning Worksheet.
      1. Design page 99000852 Planning Worksheet
      2. Go to last line and add a new Part type. Give this a name (e.g. IALL) and a caption (e.g. Availability By Location) and in the Properties for the line, fill in the PagePartID with “Item Avail. by Location Lines”
      3. Save and compile the page.

       

    3. Add the controls and code to update dynamically the Availability by Location FactBox
      1. Design page 99000852 Planning Worksheet
      2. Add these global variables
        Name DataType Subtype Length Option String
        ItemForIALL Record Item    
        Calendar Record Date    
        ItemPeriodLength Option     Day,Week,Month,Quarter,Year,Period
        AmountType Option     Net Change,Balance at Date
        ItemNo Code   30  
        DescDateFilter Text   30  
      3. Add the controls to manage the options for the Availability by Location FactBox by inserting those lines below the Container

        listplus4

        Type: Group, SubType: Group, Caption: Availability Options

        Type: Field, Caption: View by, SourceExpr: ItemPeriodLength, Style: Unfavorable, StyleExpr: TRUE

        Type: Field, Caption: View as, SourceExpr: AmountType, Style: Unfavorable, StyleExpr: TRUE

        Type: Field, Caption: Period, SourceExpr: DescDateFilter, Editable: FALSE

      4. Create a new Function called UpdateSubForm() and add this code

        ..

        IF ItemForIALL.GET(ItemNo) THEN BEGIN

          FindPeriod('',ItemForIALL);

          CurrPage.IALL.FORM.Set(ItemForIALL,ItemPeriodLength,AmountType);

        END;

      5. Create a new Function called FindPeriod() with these values:

        FindPeriod(SearchText : Code[10];VAR ItemRec : Record Item)

        On the FindPeriod function, add a local variable:

        Name DataType Subtype
        PeroidFormMgt Codeunit PeriodFormManagement

        And add this code to the FindPeriod function:

        IF ItemRec.GETFILTER("Date Filter") <> '' THEN BEGIN

          Calendar.SETFILTER("Period Start",ItemRec.GETFILTER("Date Filter"));

          IF NOT PeriodFormMgt.FindDate('+',Calendar,ItemPeriodLength) THEN

            PeriodFormMgt.FindDate('+',Calendar,ItemPeriodLength::Day);

          Calendar.SETRANGE("Period Start");

        END;

        PeriodFormMgt.FindDate(SearchText,Calendar,ItemPeriodLength);

        IF AmountType = AmountType::"Net Change" THEN BEGIN

          ItemRec.SETRANGE("Date Filter",Calendar."Period Start",Calendar."Period End");

          IF ItemRec.GETRANGEMIN("Date Filter") = ItemRec.GETRANGEMAX("Date Filter") THEN

            ItemRec.SETRANGE("Date Filter",ItemRec.GETRANGEMIN("Date Filter"));

        END ELSE

          ItemRec.SETRANGE("Date Filter",0D,Calendar."Period End");

        DescDateFilter := ItemRec.GETFILTER("Date Filter");

      6. Now you only need to add the code to let the Availability by location FactBox act like the original ListPlus page. To do so, you just have to copy paste those functions (and obviously code inside) from Page 492 “Item Availability by Location” and paste them into the functions of the Planning Worksheet page.

        PeriodItemPeriodLengthOnPush

        YearItemPeriodLengthOnPush

        QuarterItemPeriodLengthOnPush

        MonthItemPeriodLengthOnPush

        WeekItemPeriodLengthOnPush

        DayItemPeriodLengthOnPush

        NetChangeAmountTypeOnPush

        BalanceatDateAmountTypeOnPush

        DayItemPeriodLengthOnValidate

        WeekItemPeriodLengthOnValidate

        MonthItemPeriodLengthOnValidat

        QuarterItemPeriodLengthOnValid

        YearItemPeriodLengthOnValidate

        PeriodItemPeriodLengthOnValida

        NetChangeAmountTypeOnValidate

        BalanceatDateAmountTypeOnValid

      7. Once you have copied all this function, it’s needed to substitute all the FindPeriod(‘’); statement with FindPeriod(‘’,ItemForIALL); (You can simply use CTRL+H, Replace build in function).
      8. For refinement, you need to add in the OnOpenPage() trigger, in the bottom, this code

        ...

          ERROR('');

        ReqJnlManagement.OpenJnl(CurrentWkshBatchName,Rec);

        FindPeriod('',ItemForIALL); //Add this line

        And in the OnAfterGetRecord(); trigger, in the bottom, this code

        PlanningWarningLevel1OnFormat;

        ItemNo := "No."; //Add this line

        UpdateSubForm; //Add this line

      9. Save and compile the page.

       

    4. Add the Period Actions to browse through Periods in the Availability by Location FactBox
      1. Design page 99000852 Planning Worksheet
      2. Go to Last line(the first blank line) of the page and click SHIFT+F4 (edit Properties of the page)
      3. Change the property PromotedActionCategoriesML into ENU=New,Process,Reports,Availability Periods
      4. Close the Page properties window
      5. Go to last line of the page and click on View > Actions
      6. Go to last line and add one action group and two actions like these

        listplus5

        Type: ActionGroup, Caption: Availability

        Type: Action, Caption: Previous Period, Image: PreviousRecord, Promoted: Yes, PromotedCategory: Category4, ShortCutKey: CTRL+Q

        Type: Action, Caption: Next Period, Image: NextRecord, Promoted: Yes, PromotedCategory: Category4, ShortCutKey: CTRL+W

      7. Save and compile the page.

    Right now you have completed all the steps necessary to create a FactBox for Item Availability by Location.

    Attached you will find a .txt file with the example above, extended to Item availability by Location, by Period and by Variant too. Captions have been added for ENU and ITA.

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

    Best Regards,

    Duilio Tacconi (dtacconi)

    Microsoft Dynamics Italy

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    New Release of the Application Test Toolset

    • 0 Comments

    A new release of the Application Test Toolset for Microsoft Dynamics NAV 2009 SP1 is available on PartnerSource. This toolset builds on top of the testability features that were released with Microsoft Dynamics NAV 2009 SP1. These features add test capabilities to the development environment, the C/AL language, and the runtime platform. They enable the adoption of a test-driven development style and the development of automated test suites that execute fast and reliably.

    The main theme of this new release is the addition of a significant body of C/AL tests. Overall, it includes:

    • 226 application tests (covering areas such as service management, sales, purchasing, inventory management, jobs, and finance)
    • Application-specific test libraries (e.g., creation functions)
    • Generic test libraries (e.g., assertions, logging)
    • Backup management
    • Test case management

    Keep an eye on this blog for more posts on testing NAV solutions in the coming weeks.

     

    Bas Graaf

  • Microsoft Dynamics NAV Team Blog

    Now Available: Microsoft Dynamics NAV How Do I videos on MSDN

    • 2 Comments

    Check out the new videos on MSDN. http://msdn.microsoft.com/bb629407.aspx. These videos target the developer audience for Microsoft Dynamics NAV 2009 SP1. The current offerings include:

    • Outlook Synchronization Configuration
    • Warranty Lots in Warehouse Management
    • Revaluation Journal Process for Inventory
    • Expiration Lots in Warehouse Management
    • Exact Cost Reversal

    More videos are in the works and will target both the platform and the application, so check back often to see what's been added. All videos are in English.

     

  • Microsoft Dynamics NAV Team Blog

    Synchronizing Company contacts and Person contacts to one dedicated Contacts folder using a new Outlook Synch. Entity

    • 4 Comments

    There have been many requests for some weeks if it is possible to synchronize contacts of Company type and contacts of Person type in Dynamics NAV to one single folder in Outlook. The answer is: Yes, this is possible. The question is: How should we do this? This blog posting will describe how this can be done. It is not difficult, but some steps needs to be done very careful.

    First of all, ensure the Outlook Synch User Setup form is empty. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. User Setup
    • Select all rows and press F4 to delete the lines
    • Press Yes to confirm deletion

    Second, I would reset all demo entities to default values. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. Entities
    • Select Code and press F5
    • Select CONT_SP
    • Press Sync. Entity button and select Reset to defaults
    • Select Microsoft Dynamics NAV Salespeople
    • Press OK
    • Repeat the above steps for the other entities taking the following order into account: CONT_COMP, CONT_PERS, TASK and finally repeat the steps for APP entity

    Now it is time to create a new entity. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. Entities
    • Select Code and press F3
    • Type a name in the Code field, e.g.: CONT_ALL
    • Press Sync. Entity button and select Reset to defaults
    • Select Microsoft Dynamics NAV Contacts of the Company type
    • Press OK
    • Select Description and remove Microsoft Dynamics NAV Contacts of the Company type
    • Type in a new name, e.g.: Microsoft Dynamics NAV Contacts

    Another step that needs to be done is to create the correct dependencies for the TASK entity. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. Entities
    • Select Code and press F5
    • Select TASK
    • Select No. of Dependencies next to the Outlook Collection Links and press F6

    The following will be shown:

    • Select a new line to add CONT_ALL as a new Depend. Synch. Entity Code
    • Select Table Relation for CONT_ALL and press F6
    • Ensure the following line is added  WHERE(No.=FIELD(Contact No.))
    • Close the Outlook Synch. Entity Element Task 10000 - Outlook Synch. Dependencies form

    Similar steps that need to be done are to create the correct dependencies for the APP entity. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. Entities
    • Select Code and press F5
    • Select APP
    • Select No. of Dependencies next to Recipients and press F6

    The following will be shown:

    • Select a new line to add CONT_ALL as a new Depend. Synch. Entity Code
    • Select Condition for CONT_ALL and press F6
    • Ensure the following line is added  WHERE(Attendee Type=CONST(Contact))
    • Select Table Relation for CONT_ALL and press F6
    • Ensure the following line is added  WHERE(No.=FIELD(Contact No.))
    • Close the Outlook Synch. Entity Element APP 20000 - Outlook Synch. Dependencies form
    • Select No. of Dependencies next to Links and press F6

    The following will be shown:

     

    • Select a new line to add CONT_ALL as a new Depend. Synch. Entity Code
    • Select Condition for CONT_ALL and press F6
    • Ensure the following line is added  WHERE(Attendee Type=CONST(Contact))
    • Select Table Relation for CONT_ALL and press F6
    • Ensure the following line is added  WHERE(No.=FIELD(Contact No.))
    • Close the Outlook Synch. Entity Element APP 30000 - Outlook Synch. Dependencies form

    Now, it is time to delete the original demo entities. To do so, follow steps below:

    • Go to Administration, Application Setup, Microsoft Office Outlook Integration
    • Select Outlook Synch. Entities
    • Select Code and press F5
    • Select CONT_COMP
    • Press F4 to delete the entity
    • Press Yes twice to confirm deletion
    • Select Code and press F5
    • Select CONT_PERS
    • Press F4 to delete the entity
    • Press Yes twice to confirm deletion

    The entity list now looks like this:

    Last but not least, the Outlook Synch. User Setup form will have to be filled in with correct date.

    The following could be setup in Dynamics NAV:

    The following could be setup in Microsoft Outlook:

    Regards,

    Marco Mels
    CSS EMEA

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

  • Microsoft Dynamics NAV Team Blog

    Books! Five Options for Learning More About How to Create RoleTailored Solutions with Microsoft Dynamics NAV (Updated!)

    • 1 Comments

    [Updated with a fifth book!]

    This month the fourth fifth English-language book on Microsoft Dynamics NAV 2009 is being released. For those of us working on Dynamics NAV, it is exciting to see that partners are so invested in our product that they eagerly spend months writing a book to help other partners be more productive when creating Dynamics NAV solutions. The latest book is Microsoft Dynamics NAV 2009 Application Design by Mark Brummel, whom I recently met at Directions EMEA.

    Here's the list of all four five books:

    • Microsoft Dynamics NAV 2009 Application Design, by Mark Brummel. Mark walks the reader through the Microsoft Dynamics NAV application architecture, and explains in detail how a Dynamics NAV partner can customize and extend the application, particularly for industry verticals. Using an extended tutorial, he demonstrates how a partner would create a custom RoleTailored implementation. Finally, Mark provides some guidance on the full software development lifecycle, from requirements gathering to development, deployment, and on-going support.
    • Programming Microsoft Dynamics NAV 2009, by David Studebaker. After the Microsoft Dynamics NAV developer documentation (see MSDN), this book is the bible on how to program Dynamics NAV. While his previous book (Programming Microsoft Dynamics NAV) focused on the Classic client, this book is devoted to developing for the RoleTailored client. Dave explains in detail the C/AL language; how to debug your application; and how to create objects, use triggers, add business logic, and design pages and reports. If you are a Dynamics NAV developer, or a consultant who wants insight into Dynamics NAV design and development, you should read this book.
    • Implementing Microsoft Dynamics NAV 2009, by David Roys and Vjekoslav Babić. David and Vjekoslav introduce the reader to the new RoleTailored client and the power of RoleTailored solutions. They then provide guidance on how to implement a custom solution across the full software development lifecycle. They also cover extending Microsoft Dynamics NAV with web services and .NET-based add-ins. Finally, they provide a real-world tutorial on how to create a Dynamics NAV add-in. The book comes with a companion website: http://www.teachmenav.com/.
    • The NAV/SQL Performance Field Guide, by Jörg Stryk. Now that the Classic database is going away in NAV "7", it is more important than ever to understand how to administer and optimize performance in Microsoft SQL Server for Microsoft Dynamics NAV. Jörg provides specific guidance on how to tune both SQL Server and your Dynamics NAV code to increase application performance.
    • [UPDATE] ERP and Business Processes, illustrated with Microsoft Dynamics NAV 2009, by Hans van der Hoeven. In his primer on the processes that small and medium-sized companies use to run their business, Hans uses Microsoft Dynamics NAV 2009 to demonstrate how these business processes might be expressed in an ERP software package. While this is not a book about Dynamics NAV, consultants and business managers may find it useful to learn ERP concepts and processes by using the context of Microsoft Dynamics NAV.

    If you want to increase your skills on developing a Microsoft Dynamics NAV solution—particularly if you want to better understand how to create a RoleTailored solution—I recommend that you get your hands on one, or even all four five, of these books.

    — Paul Chapman

  • Microsoft Dynamics NAV Team Blog

    Outlook Synchronization: working with conditions in several scenario's

    • 0 Comments

    To limit the synchronized data and for simplicity reasons, we usually recommend to create conditions like the following:

    mmels APP                  WHERE(Salesperson Code=CONST(MME))               1
    mmels CONT_COMP WHERE(Salesperson Code=CONST(MME))
    mmels CONT_PERS  WHERE(Salesperson Code=CONST(MME))
    mmels CONT_SP       WHERE(Salesperson Code=CONST(MME))
    mmels TASK               WHERE(Salesperson Code=CONST(MME))               1

    Only contacts that have an assigned salesperson (MME in this example), will be synchronized. This is a good way to limit the data. For the contact entities, other suggestions are also possible. E.g.:

    mmels APP                  WHERE(Salesperson Code=CONST(MME))               1
    mmels CONT_COMP WHERE(Country/Region Code=CONST(EMEA))
    mmels CONT_PERS  WHERE(Country/Region Code=CONST(EMEA))
    mmels CONT_SP       WHERE(Salesperson Code=CONST(MME))
    mmels TASK               WHERE(Salesperson Code=CONST(MME))               1

    In this example above, only company and person contacts in EMEA will be synchronized. It would be nice to have the other regions synched as well, wouldn't it? In the Outlook Synch. Entities, we can easily create new entities and have them reset to default values. In the example below, company contacts in Latin America needs to be synched as well. You can of course do the same for any other region, company and/or person, etc.
    1. select Administration, Microsoft Office Outlook Integration, Outlook Synch. Entities
    2. select Code and press F3
    3. in the Code field type in CONT_LATAM
    4. press button Synch. Entity
    5. select Reset to Defaults, select "Microsoft Dynamics NAV Contacts of the Company type", press OK
    6. press button Synch. Entity, select Register in Change Log Setup

    Now for the Outlook Synch User, add the newly created entity and create a condition for Latin America, etc. The result would be like this:

    mmels APP                    WHERE(Salesperson Code=CONST(MME))               1
    mmels CONT_COMP   WHERE(Country/Region Code=CONST(EMEA))
    mmels CONT_PERS    WHERE(Country/Region Code=CONST(EMEA))
    mmels CONT_SP         WHERE(Salesperson Code=CONST(MME))
    mmels CONT_LATAM WHERE(Country/Region Code=CONST(LATAM))
    mmels TASK                 WHERE(Salesperson Code=CONST(MME))               1

    In this example, company and person contacts in EMEA will be synchronized but also company contacts in Latin America. Remember that per entity a folder in Outlook should be created and assigned via the Outlook Addin. In a later posting, I will describe how to create one entity that will synch company and person contacts to one folder. That is a really a nice to have.

    When working with TASK and APP, the conditions given in the example above are mandatory. A task in Outlook must contain an owner and an appointment in Outlook must contain an organizer.

    For the CONT_SP entity there is some flexibility. In the above example, only one salesperson would be synchronized for the Outlook Synch User called mmels.Let's assume a ToDo must be created in Dynamics NAV for a given contact and the required attendees are two salespersons / Outlook Synch Users. The manual tells us that when working with tasks and appointments in an Exchange Server environment, the E-mail field must be populated from the Exchange Address Book. Also see earlier blog and the relevant whitepaper:
    http://blogs.msdn.com/b/nav/archive/2008/11/04/tip-1-the-related-item-for-the-synchronized-outlook-item-is-not-found-in-the-specified-folders-the-following-values-were-expected.aspx
    After first full synchronization, the existing salespersons can be populated with an E-mail address and then synchronized back to Dynamics NAV via a normal synchronization.

    To avoid the situation that in this scenario only one salesperson is synchronized correctly and populated with the required E-mail field, we now recommend to remove the condition from the CONT_SP entity, The example above would now look like this:

    mmels APP                  WHERE(Salesperson Code=CONST(MME))               1
    mmels CONT_COMP WHERE(Salesperson Code=CONST(MME))
    mmels CONT_PERS  WHERE(Salesperson Code=CONST(MME))
    mmels CONT_SP     
    mmels TASK               WHERE(Salesperson Code=CONST(MME))               1

    Regards,

    Marco Mels
    CSS EMEA

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

  • Microsoft Dynamics NAV Team Blog

    Useful, Usable, and Desirable

    • 5 Comments

    Today, I would like to tell you how the User Experience team for Microsoft Dynamics NAV does research to validate that our products are indeed Useful, Usable, and Desirable.

    My name is Arne de Booij and I am a so-called User Experience Researcher working with the Microsoft Dynamics NAV team. That means that I need to understand on a personal level what your relationship to our product is. I support various development teams by answering their user related questions through performing all kinds of research activities with current and future users. Questions I get asked a lot are, for example:

    • Can people actually figure out what to do here?
    • What is someone trying to accomplish when they do this?
    • Does someone really want or need this functionality?

    There are various ways to answer these questions, depending on, for example, whether we are getting ready to make software and therefore are looking at an early sketch of the user interface or whether we are out at a customer site where our product has been installed and have direct access to the users that this particular user interface has been designed for. The answers that we get from this research will help make our product better for our users by answering their needs and helping them work more efficiently.

    Recently, we completed a quite extensive research project to answer some questions about the RoleTailored Client (RTC) that we shipped with Microsoft Dynamics NAV 2009. This new client enables our users to “tailor” the software to their own unique needs in their own unique role. Delivering the product was the result of a very long design and development process and we wanted to know how our users are using this new client so that we can assess what adjustments, if any, we should make as we continue down the path of RoleTailored applications. We wanted to know things like:

    • Which new features of the RTC are people using?
    • Which aren’t they using and why?
    • How do users perceive the impact of the RTC on their productivity?

    During late 2009 and early 2010, we conducted research with the help of companies that were using the Microsoft Dynamics NAV 2009 RTC product to run their businesses. We visited each company for an entire day. During the visits, we started with a 1- 1½ hour interview with a company representative, usually someone from the IT department, to get more information about the company and their setup of Microsoft Dynamics NAV 2009. After that, we sat down at the desks of the people who actually use the RTC for their daily work. We asked them to show us how they performed their most important day-to-day tasks. During this time, we took photographs, asked follow up questions and of course, took a lot of notes. For each task they showed us, we also asked a few questions to help us measure the satisfaction they had performing that task in the RTC. After the visit, we continued to gather information by sending participants a link to a post-visit survey used to measure the level of productivity a participant experienced with the RTC. Let’s look at the results.

    In total, 53 participants, working for 16 different companies, participated in this research project. The companies were located in the United States, Canada, the United Kingdom and Germany. The companies where the participants worked were active in, for example, the Software industry, Wholesale and Manufacturing (19%), Distribution and Professional Services (13%), Charity, Retail and as a Dynamics Partner (6%).

    62% of participants had not used a previous version of Microsoft Dynamics NAV before they started using Microsoft Dynamics NAV 2009. 38% had used a previous version of Microsoft Dynamics NAV before.

    Most participants (42%) were working in the Finance department of their company. Other main departments were Warehouse (13%), Customer Service (9%), Purchasing (8%), IT (8%), Sales (6%) and Operations (6%). Participants had used Dynamics NAV 2009 for an average of 5.4 months (range 1-24 months) and were using Dynamics NAV 2009 for an average of 5.7 hours per day (with a range spanning 2 – 8 hours).

    Like any good research study, we learned a lot!

    The results told us that there a lot of good things our users are experiencing when they use the RoleTailored client. For example, people on the product reported high satisfaction and productivity while performing the tasks that are most important to them.

    But the results also shed a light on some things we need to improve. For example, there are still some tasks that require too many clicks or areas where finding the right information is still not immediately clear.

    But the biggest takeaway for us, by far, was that a lot of companies and their users were not taking full advantage of the many ways they can configure and personalize their own experience. For example, for things that our users do every day—like accessing a customer record or taking an order—we have enabled them to add those actions directly to the Action Pane. Because our users weren’t doing that, they have to perform unnecessary actions every time they needed that functionality, which decreases their level of productivity. Same holds true for not having all of the lists a user needs ready and loaded into their navigation pane--a very simple personalization to do. That means that users are forced to go to Departments to find that information.

    So what did we learn? We’ve still got work to do. Job security--they call it. Seriously though, there could be a lot of reasons that some users are not taking full advantage of the features in the product that allow them to tailor the solution to their specific needs, so we are continuing to investigate this.

    Which brings me to you… if you are reading this and have seen something similar in your company, please help us help you! Feel free to leave a comment with your thoughts on why this is the case and what we can do to help you get the most from your user experience.

    To learn more about RoleTailoring, try out these links:

    - Thinking RoleTailored Presentation at Microsoft Convergence 2010

    - Microsoft Dynamics is familiar to your people

Page 32 of 50 (745 items) «3031323334»