Earlier this year, Michelle, my colleague on the Microsoft Dynamics NAV documentation team, wrote a blog post about improvements that we have made to the content for Microsoft Dynamics NAV 2009. In addition to improving the product documentation, we are also working to improve how partners can customize and extend the Help.
In April, we published all of the Microsoft Dynamics NAV 5.0 platform documentation to the Microsoft.com Download Center. And now, we are releasing all of the source files for Microsoft Dynamics NAV 5.0 application Help on PartnerSource (log-in required). When Microsoft Dynamics NAV 2009 is released, we’ll also provide the new application Help source files on the same schedule as the localized releases.
Providing our partners with the documentation source files is only a first step toward improving Help customization. Feedback that we have heard is that the Online Help Guide (available on PartnerSource) is daunting. For Microsoft Dynamics NAV 2009, we will be replacing this guide with a streamlined version focused on what you need to do to customize and build documentation for your Microsoft Dynamics NAV solution or add-on.
We are also updating GATE for Microsoft Dynamics NAV 2009. While the functionality will be very similar to what you are using today, we’ll be making GATE more robust and easier to use by rewriting it as a .NET application.
Given the amount of time that we have left in this product cycle, these tactical changes are what we can provide in the Microsoft Dynamics NAV 2009 timeframe. You can continue to use RoboHelp (or your favorite HTML or Help authoring tool) to create Help. Over the coming months we will be developing our post-Microsoft Dynamics NAV 2009 strategy for improving Help customization. Based on what we heard at Convergence in March and in one-on-one discussions with several partners, we will be focusing on the following themes:
We’d like to continue to hear what your needs are, so we can ensure that we are improving the process for customizing and extending Help. You can add your comments below or e-mail us at email@example.com. Here are some questions to get you started:
It’s important for us to ensure that we are providing an efficient way for you to customize the documentation. We’re looking for volunteers to test our new Help processes, and provide us with feedback on how well these solutions meet your needs. In return, we’ll offer extra assistance in using these processes. If you would like to participate, please e-mail firstname.lastname@example.org.
- Paul Chapman
I have now been asked many times how the new Drop Down window in Microsoft NAV 2009 is defined, so let me give you an example on how this works.
In this screen dump, I have just clicked the Drop Down arrow on the field ”Bill-to Customer No”, on the Customer Card, and our new Drop Down window appears displaying the columns No., Name, City, Post Code, Phone No. and Contact.
So how do I define that when I click “Bill-to Customer No.” it displays a Drop Down? And how are the columns defined which are displayed in the Drop Down?
Let us look at a field which actually shows a List page and change this field to show a Drop Down. This could be ex. “Post Code” also found on the Customer Card.
Let us see what happens when I click “Post Code”:
So in standard NAV 2009 we show a List page where the use can select from the available Code and Cities found in the demo database. I would like to change this into a Drop Down so let us go into the Object Designer and explorer why I shown a List page when clicking the Post Code field.
My first thought is to look at Page 21 in the Page Designer and look at the properties for “Post Code”:
But since nothing is specified on the “Lookup” property this must be on table level. In table 18 you find the following code “PostCode.LookUpPostCode(City,"Post Code",TRUE);”
With this on the OnLookup trigger we will show a List page and not a Drop Down, so let us delete what is on the OnLokup trigger and see how the “Post Code” fields now behaves in the RoleTailered client:
So now I got my Drop Down on “Post Code” but I actually want to sort the columns different and add other columns to the Drop Down. To do this I used a new thing we call “Fields Groups”.
Since when I look at the “Post Code” on the customer card we actually lookup in Post Code table 225, so to change the columns displayed we need to look at this table, so back to Object Designer and design table 225.
In design mode click “View” and notice a new field called “Field Groups”. Notice that this is blank, so the “Code” and “City” which are displayed in Drop Down above are shown because these fields are Primary Keys specified on the Table.
Now let us define the columns shown in the Drop Down window of “Post Code”.
In the Name type “DropDown” and in group select the assist button and select City, Code and City Search:
Your Field Group should now look like this:
Now compile table 225 and go back to your Customer Card. If you had one open already you will need to reopen since we have changed the underlying data.
Your Drop Down now displays like this:
We have now completed created our new Drop Down window, but before I end this blog I would to like show you a bit more what you can do with this Drop Down.
I have been been in the NAV group for almost 10 years now so I’m a keyboard shortcut addict so let me show a small tip.
While standing on the “Post Code” field press “ALT+ARROW DOWN”, Drop Down will show up.
Now type “New”. The Drop Down will now be sorted on all cities starting with “New”:
You might have noticed that “City” is bold in the Drop Down. This signals that the Drop Down will be searched based on upon the field “City”. So in this case when we type “New” we will see the Cities which start with “New”
Now let us make “Code” the default.
Press “ARROWDOWN” to get down into to Drop Down.
Press “ARROWRIGHT” to get to the “Code” column. Notice that “Code” now becomes bold, and if you are still searching on “New” the list will become blank:
Now type “US“ and your Drop Down window will now be sorted on all codes which is starting with “US“:
Also notice that “Code” going forward will be column to sort on as this information is stored in the Personalization store.
So here you have it, my first blog ever.
Claus Lundstrøm, Program Manager, Microsoft Dynamics NAV
Update!!! Please find an updated list of icons available here:
First, if you have not downloaded the just released Marketing Beta for Dynamics NAV 2009, this can be downloaded from here. Requires access to Partner Source.
In the Marketing Beta for Dynamics NAV 2009 you will find new walkthroughs for how to create Pages for the new RoleTailored client.
But one thing that you can not find in the “nav_adg.chm", are what icons you can use in the RoleTailored client, because this topic will be added later.
So to save you the time reverse engineering the Demo Database to create this list, if you are to create a new page, let me share these icons with you.
But first let me give you an example on a Action and an Activity Button. If you already are familiar with this, you can skip to the end of this blog, where all the icons are listed.
Example of an Action in Page Designer:
1. Open Object Designer
2. Navigate to the new Page object
3. Design page 22, Customer List
4. Navigate to the bottom of the page to access the Page Object itself
5. Right click and select “Actions”, you view should now look like this:
6. You are now looking at the Action Designer which is captured inside the Page Designer.
7. Scroll down to <Action58>, Bank Accounts and select properties on this action. Your view should now look like this:
8. The most important property here is the “RunObject”, which tells which object are activated, when this Bank Accounts action is clicked, but for this blog I’m concentrate on the “Image” property so I will not go into more detail for the “RunObject”. Notice that the Image property is undefined. So how will this action actually look in the RoleTailored client if no image is associated to this action? Let us promote this action and see.
9. Set “Promoted” to Yes
10. Set “PromotedIsBig” to Yes
11. Save and compile page 22.
12. Open RoleTailored client.
13. Navigate to the Customer List, if you have the Customer List open already, just refresh the list by clicking“Refresh” in the top right corner. You will now see your “Bank Accounts” action promoted with the default icon used. The default icon will be used when the Image property has not been set:
14. Now let set the “Image” property on the “Bank Accounts” action. Go back to the Action Design for Page 22 and select the properties for the “Bank Accounts” action.
15. Set the “Image” property to “BankAccountStatement”
16. Save and compile page 22.
17. Refresh Customer List in RoleTailored client and your icon for “Bank Accounts” action will now look this.
Now let us look at an example of an Activity Button in Page Designer:
1. Activity Buttons belongs to the RoleCenter so to create or modify an Activity Button we need to be designing a Page of PageType “Rolecenter”. So let us look at page 9006.
2. Design page 22
3. As for the Actions the Activity Buttons are also found in the Action Designer, so Navigate to the bottom of the page to access the Page Object itself.
4. Right click and select “Actions”, you view should now look like this:
5. Instead of modifying an existing Activity Button as we did for the Action above, let us create a new one.
6. Navigate to the ActionContainer ActivityButtons area of the Action Designer:
7. Role Center 9006 has one Activity Button called “Posted Documents”. Let us create a new Activity Button call “Bank” just above “Posted Documents”. Place your cursor on “ActionGroup” “Posted Documents” and press F3.
8. A new line is created. Set “Caption” to “Bank” and “Type” to “ActionGroup”
9. Open properties and set “Image” property to “Bank”.
10. Make sure that the 2 ActionGroups “Bank” and “Posted Documents” are at the same indention level. You might need to move “Bank” to the right to align with “Posted Documents”.
11. We could stop now and see the Activity Button in RoleTailored client, but let us add an action to this new Activity Button, so we actually have something happening when you click the Activity Button “Bank” in the RoleTailored client.
12. Create new line bellow, the “Bank” “ActionGroup”, and set “Caption” to “Bank Accounts” and “Type” to “Action”. Make sure that this action is indented one level in from the ActionGroup above.
13. Open properties for “Bank Accounts” and set “RunObject” to “P371” (Page Bank Account List)
14. Now restart RoleTailored client to see your new Activity button. Note: Refresh does not work in Activity Button area of the Role Center, so you will need to restart the RoleTailored client to see your “Bank” Activity Button. Hopefully this we be solved in a future build, so you don’t need to restart to see your changes made in Page Designer. :-). After the restart you RoleTailored client should now look like this:
So now you have seen how to set the “Image” property on an Action and an Activity Button, let us see the icons you can use.
Icons which can be used for Actions:
Removed please use online help: http://msdn.microsoft.com/en-us/library/dd568728.aspx
Icons which can be used for Activity Buttons:
Removed please use online help: http://msdn.microsoft.com/en-us/library/dd568709.aspx
In previous versions, all local client settings are stored in the .zup file. In Microsoft Dynamics NAV 2009, this is a bit more complex. This post tries to describe which settings are stored where.
In addition to that, with NAV 2009 you may be spending a lot of time looking for files with long folder-names. So this post also shows you the location of each file, to make it quicker to find them.
/// Blog updated October 2nd: Section "temporary server files" updated with path for Windows Server 2003.
In NAV 2009, settings are stored in various places. The following lists what is stored where. some settings are stored in files, and some in tables. I hope I have included everything here. But if the list should be incomplete, I would appreciate comments at the end of this post.
PersonalizationStore.xml stored in: %AppData%\Microsoft\Microsoft Dynamics NAV\
This file stores some personal settings for the client like resizing of columns. It is probably the closest thing to the old zup file there is. The data in this file is primarily binary because it it not supposed to be updated manually. Even if you could edit the file (if you could find the settings you wanted to edit), then this is unsupported. But, like the old zup file, you can delete or rename it, and next time the client opens, it will create a new one.
ClientUserSettings.Config Stored in: %ProgramData%\Microsoft\Microsoft Dynamics NAV\
This file is where you can set RTC to connect to a specific service tier and/or a specific port.
CustomSettings.config stored in (default): C:\Program Files\Microsoft Dynamics NAV\60\Service\ This is where you set up parameters for the Service Tier like SQL Server name, Database name, port number etc.
temporary Server files Stored in: %ProgramData%\Microsoft\Microsoft Dynamics NAV\60\Server
The path above is for a Vista OS. If you run NAV server on Windows Server 2003, the path is:
C:\Documents and Settings\All Users\Application Data\Microsoft\Microsoft Dynamics NAV\60\Server\
The service tier uses this folder for various temporary files. It is definitely not recommended to change any files here! But it might be a place for troubleshooting certain problems (though I am not sure what kind of problems).
2000000075 - "User Metadata" When you go to "Customize this page", then it's stored here.If for example a user ads new parts, like a chart or does anythign else herel,this table contains one record for each urse, for ach pae that they have persinalised.
2000000071 - "Object Metadata" This table stores all the objects for RTC. Whenever you compile an object, it transforms it to a format that is designed for RTC and stores it in this table. You can delete entries here, though I would not recommend it. But if you do, and want it back, then compile the missing object from Object Designer. The data in this table is generally binary, so also not something to modify and definitely not necessarily supported or documented.
Lars Lohndorf-Larsen (Lohndorf )Microsoft Dynamics UKMicrosoft Customer Service and Support (CSS) EMEA
Session Monitor is not a new tool, but it did stop working with SQL Server 2005. So I think that a lot of people stopped using it, which is a shame. The things that were broken now work again, and I would recommend anyone with any kind of blocking problems to implement this tool. With this post I hope to get some people to use it again, and to provide a new tool to anyone who did not know it exists.
The purpose of the Session Monitor tool is to show a live picture of any current blocks in the Microsoft Dynamics NAV database. And to show it in a familiar environment, i.e. a NAV form. It is an extension of the information you get when going to File -> Database -> Information, and drill down on Sessions.
This is how the Session Monitor shows a blocking situation:
As default it refreshes every second.
Some of the useful features of Session Monitor are:
As mentioned, the tool stopped working in SQL Server 2005. But there are corrections for this now. First, download the tool, which is part of the "Performance Troubleshooting Guide", available for download here (PartnerSource login required):
Microsoft Navision SQL Resource Kit
The original tool contains a SQL query (Session Monitor (SQL Server).sql) which is the part that doesn't work for SQL Server 2005. So don't run this query. Run the query from this KB article instead (PartnerSource login required here too):
Note!: Run the query on the NAV database - not on Master, or any other database you have on SQL Server.
In NAV, import the object "Session Monitor (SQL Server).fob" from the Performance Troubleshooting guide.
Make one change - otherwise in some cases it will fail with an INSERT error:
Design codeunit 150011 "Session Monitor Mgt. (SQL Srv)", and replace this line:
RefreshUserActivity() SELECTLATESTVERSION; IF Session.FIND('-') THEN REPEAT SessionTmp := Session; // SessionTmp.INSERT; Remove this line and replace with:
IF SessionTmp.INSERT THEN ; // New line UNTIL Session.NEXT = 0;
Those are the changes needed to get it to run on SQL Server 2005,
Lars Lohndorf-Larsen (Lohndorf)Escalation Engineer
The link below lists build numbers, KB numbers and links to cumulative updates updates 1 to 9 for SQL Server 2005:
List of build numbers and cumulative updates 1-9 for SQL Server 2005
Also see this post for relevance of SQL Updates to Microsoft Dynamics NAV:
Overview of updates for SQL Server 2005 SP2
Microsoft Dynamics UK
Microsoft Customer Service and Support (CSS) EMEA