Friday, January 23, 2015

1971-27 does not exist in the .stx file. Internal error: 47-1

Hi,

When we try to open the NAV 2009 R2 RTC client we get following error
"1971-27 does not exist in the .stx file. Internal error: 47-1"

Solution for following error in opening RTC client for NAV 2009 R2




















Error Reason – Object Metadata (2000000071) table is updated because of different builds version use by client

Invalid Metadata Table: Field – 27 Metadata Version is invalid for current build so you need to remove that
















Correct Metadata Table from Base NAV 2009 R2 NA Database:
















Solution is just import the metadata object from standard database to current database.
If the value is exists in field – 27 Metadata Version than delete the data from using Sql query.

It is solved your problem

Thank you

Tuesday, January 20, 2015

Identifying Table Locking in NAV 2013

The way that users connect to the SQL database has changed in NAV 2013. They don’t. Users make a connection to the NAV service tier from the Windows client, web client, SharePoint client or web services.
The user account that is running the NAV service tier is the only user that actually makes connections to the SQL database. There are lots of good reasons for this:
  • In most cases it removes the need for the service tier account to be enabled for delegation.
  • It improves security as you don’t need to create a user in SQL for each of your NAV users. As a result, security is also simpler – no need for the Enhanced security model of previous versions.
  • Improved performance – the service tier takes responsibility for connections to the SQL database and will assign a connection, or more than one, to users as necessary.
  • See http://msdn.microsoft.com/en-us/library/hh169480(v=nav.70).aspx for more information.
All good stuff. One side effect, however, is that is a tricky to see which SQL connections correspond to a NAV session. That’s a problem when you’re trying to resolve blocking issues.
In the days of classic client you could see the active database sessions and blocking information along with the ability to kill sessions if necessary. The Session List page in NAV 2013 shows you active sessions, but without the blocking information. So, how to get at said information?
SQL Server Profiler
To see what is going on in the database you can use SQL Server Profiler. The “SQL Tracing” option in the NAV Session List inserts comments between the entries in the profiler with the NAV code that caused the SQL query to be executed and the user that executed the NAV code.
Profiler has some tools to analyse table locks and deadlocking, but unless you are familiar with capturing and reading traces it can be difficult to track the problem down.
The Copy, Paste and Execute Method
The second method, well known and loved by many of us, is the copy from a blog/forum, paste and execute method.
This SQL query shows locks that have been requested in the current database, the object that was requested (object_name column) and the session id that requested it (request_session_id column).
SELECT tl.resource_type,
tl.resource_associated_entity_id,
OBJECT_NAME(p.object_id) AS object_name,
tl.request_status,
tl.request_mode,
tl.request_session_id,
tl.resource_description
FROM sys.dm_tran_locks tl
LEFT JOIN sys.partitions p
ON p.hobt_id = tl.resource_associated_entity_id
WHERE tl.resource_database_id = DB_ID()
AND p.object_id IS NOT NULL
You can then use Activity Monitor or SQL Server Profile to see what exactly that session is up to and kill the process if necessary.
Credit to http://www.mssqltips.com/sqlservertip/2732/different-techniques-to-identify-blocking-in-sql-server/ for the query and further information about identifying locking in the database.

Different techniques to identify blocking in SQL Server

Problem
SQL Server is able to service requests from a large number of concurrent users. When SQL Server is servicing requests from many clients, there is a strong possibility that conflicts will occur because different processes request access to the same resources at the same time. A conflict in which one process is waiting for another to release a resource is called a block. Although in SQL Server a blocked process usually resolves itself when the first process releases the resource but there are times when a process holds a transaction lock and doesn't release it. In this tip, we will learn different techniques to troubleshoot and resolve blocks in SQL Server.
Solution
In order to resolve a blocked process, we first need to determine which process is the blocking process and then if possible kill the blocking process. There are many different ways in SQL Server to identify a blocks and blocking process that are listed as follow:
  • Activity Monitor
  • SQLServer:Locks Performance Object
  • DMVs
    • sys.dm_exec_requests
    • sys.dm_tran_locks
    • sys.dm_os_waiting_tasks
  • SQL Server Profiler Locks Event Category
Each of these tools reports different information which is helpful in resolving blocks quickly. Let's have a look at these tools in details:

1) Activity Monitor

Activity Monitor is a tool in SQL Server Management Studio that gives you a view of current connections on SQL Server. You can use Activity Monitor to view information about the current processes and locks held on SQL Server resources. To open Activity Monitor in SQL Server Management Studio, right-click the SQL Server instance name in Object Explorer and then select Activity Monitor:
Activity Monitor

Launch Activity Monitor

To find blocked process with Activity Monitor, first click on Processes in Activity Monitor to open the Process Info page:
ProcessInfo Page

Process Info Page and Locating Blocking Process

Then locate the process that is waiting, and then scroll over to the Blocked By column and note the Process ID in that column. Find that Process ID in Process Info page. and
Locate Blocked Process
If you want to terminate the blocking process, right-click it and choose Kill Process:
Kill Blocked Process

2) The SQLServer:Locks performance object

You use SQLServer:Locks object counter in Performance Monitor to view current statistics or create a log or alert to monitor locks. For example, you can monitor Average Wait TimeNumber of deadlocks/sec and Lock Timeouts/secstatistics to determine whether there is a problem with resource contention on SQL Server. However, you will need additional information to determine the exact cause of the problem. Follow the steps below to monitor the SQLServer: Locks performance counter:
On the Start menu, point to Run, type perfmon in the Run dialog box, and then click OK to launch Performance Monitor.
Launch Performance Monitor

Launching Performance Monitor

  • Right-click anywhere on the screen and then choose Add Counters.
     
    Launch Performance Monitor

    Add counters

  • Scroll down to locate SQL Server lock counters and add these three counters and then click OK.
    • Average Wait Time
    • Number of deadlocks/sec
    • Lock Timeouts/sec
    Launch Performance Monitor

    3) DMVs (Dynamic Management Views)

    sys.dm_exec_requests

    You can use the sys.dm_exec_requests dynamic management view to obtain detailed information about the requests currently executing on SQL Server. The dynamic management view includes detailed information about the query and query plan, status of request and information about the amount of time it has been executing. The columns you are most likely to use when troubleshooting a block or deadlock are as follow:
    1. blocking_session_id - The SPID of the blocking session.
    2. wait_type - Type of wait.
    3. wait_time - Length of time request has been waiting (in milliseconds).
    4. last_wait_type - If a wait has ended, its type is listed here.
    5. wait_resource - Name of resource the request is waiting for.
    6. transaction_isolation_level - Isolation level for the transaction.
    7. lock_timeout - Length of time a lock can exist before timing out
    To view blocked process execute the following query:
    USE [master]
    GO
    SELECT  session_id
     ,blocking_session_id
     ,wait_time
     ,wait_type
     ,last_wait_type
     ,wait_resource
     ,transaction_isolation_level
     ,lock_timeout
    FROM sys.dm_exec_requests
    WHERE blocking_session_id <> 0
    GO

    sys.dm_tran_locks

    You can view information about current locks and the processes blocking them using the sys.dm_tran_locks dynamic management view. This column has one of three values: GRANT, WAIT or CONVERT. The value of CONVERT means that the requestor has been granted a request but is waiting to upgrade to the initial request to be granted. To locate information about all locks with a request status of CONVERT, you execute the following:
    USE [master]
    GO
    SELECT * from sys.dm_tran_locks
    WHERE request_status = 'CONVERT'
    GO
    The request_session_id column contains the Process ID for the process. To view locking in the particular database, execute the following query that joins sys.dm_tran_locks with sys.partitions:
    USE [master]
    GO
    SELECT   tl.resource_type
     ,tl.resource_associated_entity_id
     ,OBJECT_NAME(p.object_id) AS object_name
     ,tl.request_status
     ,tl.request_mode
     ,tl.request_session_id
     ,tl.resource_description
    FROM sys.dm_tran_locks tl
    LEFT JOIN sys.partitions p 
    ON p.hobt_id = tl.resource_associated_entity_id
    WHERE tl.resource_database_id = DB_ID()
    GO

    sys.dm_os_waiting_tasks

    The sys.dm_os_waiting_tasks dynamic management view reports information about the blocked and blocking processes. The blocked process is listed in the session_id column. The blocking is listed in the blocking_session_id column.
    Execute the following to view wait stats for all block processes on SQL Server:
    USE [master]
    GO
    SELECT   w.session_id
     ,w.wait_duration_ms
     ,w.wait_type
     ,w.blocking_session_id
     ,w.resource_description
     ,s.program_name
     ,t.text
     ,t.dbid
     ,s.cpu_time
     ,s.memory_usage
    FROM sys.dm_os_waiting_tasks w
    INNER JOIN sys.dm_exec_sessions s
    ON w.session_id = s.session_id
    INNER JOIN sys.dm_exec_requests r
    ON s.session_id = r.session_id
    OUTER APPLY sys.dm_exec_sql_text (r.sql_handle) t
    WHERE s.is_user_process = 1
    GO
    This detail is good for a big picture, or to get a quick idea of the types of waits occurring, but most of the real diagnostics and tuning will occur at a statement level.

    4) SQL Server Profiler

    You use the SQL Server Profiler Locks event category to create a trace of events related to locks and deadlocks. You can choose one or more of these event classes:
    1. Deadlock_Graph_Event_Class — Creates an XML description of deadlocks.
    2. Lock:Acquired — Use in conjunction with Lock:Released to determine the types of locks being requested and the length of time they are retained.
    3. Lock:Cancel — Use to determine which locks are cancelled.
    4. Lock:Deadlock Chain — Use to determine the objects involved in a deadlock.
    5. Lock:Deadlock — Use to determine the objects and applications involved in a deadlock.
    6. Lock:Escalation — Reports information about locks that have been escalated to cover a larger resource. For example, when a row lock becomes a table lock.
    7. Lock:Released — Use in conjunction with Lock:Acquired.
    8. Lock:Timeout(timeout>0) — Provides information about locks that have timed out due to blocking issues.
    9. Lock:Timeout — Provides the same information as Lock:Timeout (timeout>0), but includes timeouts where the duration was 0.

    5) sp_who/sp_who2

    Both sp_who/sp_who2 return information about all the sessions that are currently established in the database and these are denoted as spid's. Both these store procedures accepts parameters. The blk column of sp_who and blkbycolumn of sp_who2 contains the spid for blocking process. Running sp_who and sp_who2 is easy, for example following call of these procedures returns all process that are currently active on SQL Server:
    USE master;
    GO
    EXEC sp_who 'active';
    GO
    EXEC sp_who2 'active';
    GO

    6) Use KILL statement to terminate blocked process

    You use the KILL statement to view the status of a process or kill the process. The KILL statement has the syntax: KILL spid | UOW [WITH STATUSONLY]
    USE master;
    GO
    KILL spid | UOW [WITH STATUSONLY]
    GO
    You must pass either a spid or, if the process belongs to a Distributed Transaction Coordination (DTC) transaction, you must provide a Unit of Work (UOW). You must be a member of sysadmin or processadmin to kill a process. You can obtain the spid for the current session by running @@spid. You can obtain the spid for the sessions associated with a login by running sp_who2. If you don't specify a login, sp_who2 returns information for all current connections. If you can't kill a blocking process, you might have to restart the SQL Server service. Doing so will cause all current connections to close, so you should avoid restarting the service if possible.

    When to use each tool?

    The dynamic management views and Activity Monitor are good tools for learning the current state of a process and for resolving a current blocked process. System Monitor counters are ideal for identifying trends that indicate a stored procedure, application, or database configuration setting is causes a large number of blocked processes or timeouts due to blocking. Running a SQL Server Profiler trace is a good way to analyse detailed information and identify the cause of a large number of blocks.
    Next Steps
  • How to Determine Who Has a Table Locked in Microsoft Dynamics NAV

    I recently fielded a support call from a frantic customer that went something like this: “Help! Nobody can post anything! All we get is a message that Item Ledger Entry is locked by another user! AAAAAAHHH!!!”
    Very useful. The system knows enough to realize there is a block, but won’t bother to tell you which user is causing the problem. The usual fix is to restart the service tier, SQL service, or to reboot the whole SQL server.
    Why yes, as a matter of fact, everyone would love to stay an extra 20 minutes late today because of a server reboot. Awesome!
    If you’re looking for a better alternative, there are two ways of figuring out who has the lock. You can do so from inside of NAV depending on the version, or you can tell from SQL regardless of the version.

    Finding the Guilty Party from Inside NAV

    If you are using Version 4.0 through 2009 R2 (it went away in 2013), then you can use Database Sessions. (I did not have a SQL version for 3.x or older handy – it may work in versions older than 4.)
         File Menu, Database, Information; Sessions Tab
    Screenshot: View of the Database Sessions Information window

    Figure 1 – View of the Database Sessions Information window
    Drill down in the Current Sessions field.
    Screenshot: Drilldown to the Current Database Sessions field to view all open sessions, including blocking sessions and users
    Figure 2 – Drilldown to the Current Database Sessions field to view all open sessions, including blocking sessions and users
    The column Blocked will show which user(s) are blocked, and the Blocking User ID will identify the culprit. You can also use the Blocking Connection ID – match that to the Session ID shown in this list, and you can tell which workstation the user is on. This is useful if you have multiple people using shared accounts.

    Finding the Guilty Party from SQL Server

    Start SQL Server Management Studio (SSMS). Find the database, then right-click and choose New Query.
    In the query window, type
         exec sp_who2
    Execute that.
    Screenshot: Execute the 'exec sp_who2' query from within SQL Server Management Studio (SSMS)
    Figure 3 – Execute the “exec sp_who2” query from within SQL Server Management Studio (SSMS)
    This gives a dump of all current user activity. There is a column called BlkBy, which stands for Blocked By. That gives you the SPID (SQL Process ID) of the person blocking. Find that entry for the BlkBy SPID in this list, and now you know the user.

    Now What?

    Try not to go all angry-mob-with-pitchforks-and-torches. I’m sure this was not intentional. Try calling the user first so you can find out what they are currently doing, and ask them to exit NAV. Knowing what the person was trying to do can be very useful if this becomes a chronic problem. There can be lots of causes – flaky network connections, code problems because of poor specifications (NAV developers do not make mistakes!), or a workstation crashed and kept the NAV connection open.
    If the user is not able to exit NAV, you have two options.
    Inside NAV
    Find the Session ID that holds the blocking lock
    F4 (Delete) on that Session record
    This terminates the connection and rolls back the SQL transaction.
    From SQL
    Once you know the SPID shown in the BlkBy column, you can use this TSQL query command to kill it:

    Run Query from SQL Management Studio













    SELECT nt_username FROM sys.dm_exec_sessions WHERE session_id = @@SPID






    The Real Difference between Microsoft Dynamics NAV and AX

    The Microsoft Dynamics product line includes several diverse ERP solutions.  Each is designed for specific industries and purposes, but the two that people often have the most trouble distinguishing between are  Dynamics NAV and Dynamics AX.  So what’s the difference?
    Dynamics NAV and Dynamics AX are both highly customizable ERP solutions available in many languages and currencies and have an impressive international install base.  Both solutions are agile enough to operate in one centralized location or across multiple decentralized locations, and can scale along with your business.  Both offer industry-specific functionality to meet local and regional needs.  NAV and AX are described equally by Microsoft as end to end comprehensive ERP solutions with the ability to manage complex supply chains and inventory.
    You won’t uncover the differences by comparing them feature to feature, and you can’t realistically define them by the number of users they can handle, though many have tried. The real determining factors are at a higher level, and are based on how well the solution aligns with the goals and growth plans for the organization it will support.
    Scaling: Enterprise vs. Mid-size
    Generally speaking, Dynamics NAV is geared toward small to midsize companies ($5M – $500M) with some international presence.  It provides powerful technology that smaller businesses otherwise may not be able to afford, allowing them to compete with organizations many times their size.  As the business grows, the ability to scale and keep pace with organizational goals is imperative, and NAV makes this very straightforward. Easy customization and the ability to scale make NAV an excellent choice for many companies.
    In contrast, Dynamics AX is designed for large, enterprise class organizations with a broad international presence.  Organizations of this magnitude have unique challenges, especially when it comes to large deployments across multiple countries with each operating in their own language and currency.  Though both AX and NAV are designed to scale and grow along with a business, one of the main differences between these solutions is that AX is better equipped to address the specific size and scale challenges of enterprise organizations.
    Complexity and Maintenance Costs
    With that said, AX is much more complicated than NAV.  The implementations are more complex, take longer, require more decisions, and must have excellent project management if you hope to succeed.  Many NAV implementations require only a part-time project manager and a small implementation team.  AX often requires dedicated technical resources to manage the solution once it’s up and running, while NAV does not.  Because of these complexities, it costs more to implement and run AX than NAV, which is another reason it is a better fit for more established enterprise organizations.  
    Global Operations vs. Global Visibility
    Both solutions support multiple languages and currencies, and can transact across borders.  Dynamics NAV does an excellent job of handling decentralized global operations; however, Dynamics AX works better for managing end to end global processes.  As an example, this is especially important for large manufacturing businesses because it allows them to view inventory across international locations and have visibility into each area of the organization.  For complex enterprise solutions who need visibility across multiple decentralized locations in different countries, this is best achieved with Dynamics AX.  Dynamics NAV is a very popular, effective ERP solution for growing international businesses that don’t have such a complicated organizational structure.
    Agility and the Cloud
    The word “agility” encompasses many things, but mainly refers to being flexible, adapting to changing market demands and doing so in a cost-effective manner.  Both Dynamics NAV and AX will increase your business agility and provide superior business intelligence and analytics.  Because many companies have difficulty reacting quickly to change, they require an ERP solution like Dynamics AX or NAV which are designed specifically for this challenge.  Because of its enterprise capabilities, Dynamics AX was identified by Gartner as one of three ERP solutions in their Magic Quadrant – along with SAP and Oracle. 
    Both Dynamics AX and Dynamics NAV are available as hosted ERP solutions or a combination of hosted and on-premise.  Choosing the cloud-hosted model further increases the agility and breadth of these solutions.
    Conclusion
    Though their capabilities are similar, Dynamics AX and NAV were designed for different organizational types, structures and sizes. One is not better than the other; they are simply intended to be matched with corresponding business complexities and size.  Investing in an ERP system is a big decision, and the first step is having a clear vision of your company goals, strategies, and structure.   As an expert on both Dynamics NAV and AX, OmniVue is able to provide guidance from a broad perspective.  Through our unique VueFinder discovery process, we can help you choose the Dynamics ERP solution that aligns best with your organization’s current and future needs.

    Tuesday, January 13, 2015

    Best Blog Posts of Dynamics NAV

    Delete the Tab and Carriage-return character from text in Dynamics NAV

    Hi,

    In NAV there is often an issue with invalid characters when a user is using copy&paste with external programs. For instance when copying data from Excel. Fields that comes to my mind is address-fields on Customer and Vendor cards etc.

    When using copy&paste the copied data often also contain hidden whitespaces like carriage-return (0×13 0×10).

    When exporting this data to files, or when using data in integrations projects, these characters can be annoying, causing the output to be malformed.

    An even worse case is when the user is using  “copy&paste” to enter serial no into NAV.

    When later someone tries to do a search on a serialno, there user must user a wildcard-search to find the record.

    For instance, a user pastes a serial no ‘ABC123′ from a list in Word/Excel. The invalid character is not visible when running NAV on Win7. On Win XP there is a ’square’-character. To find the record the user must search for ‘ABC123*’, instead of ‘ABC123′.

    So, here’s the solution.
    Create the following function and call it in your code










    CRLF_lTxt[1] := 10;
    CRLF_lTxt[2] := 13;
    InputTxt_vTxt := DELCHR(InputTxt_vTxt,'<>',CRLF_lTxt);

    ====================================================
    Delete TAB keyword  & New Line Character from data

    RemoveHiddenCharacters(VAR ValueToClean : Text) 
    Var
      Ch - Text 3
    Begin
      Ch[1] := 9 ;  - TAB
      Ch[2] := 13 ; - CR - Carriage Return 
      Ch[3] := 10 ; - LF - Line Feed
      ValueToClean := DELCHR(ValueToClean,'=',ch) ;

    End;

    ==================================================================

    Dynamics NAV Blogs List

    Top Dynamics NAV Blogs Website Link:
    1. blogs.msdn.com/b/nav
    2. saurav-nav.blogspot.in
    3. markbrummel.wordpress.com
    4. www.waldo.be
    5. www.archerpoint.com/blog/archerpoint-blog //Multiple User Blog
    6. bergman100.rssing.com //NAV Functionality Detail
    7. blogs.msdn.com/b //Microsoft blog before 2009
    8. www.softwareanswers.co.uk/microsoft_dynamics_nav //Best Blog for NAV 2015 Feature
    9. mibuso.com/blogs/peik - Best blog for NAV
    10. ishwar-nav.blogspot.in
    11. www.navisionplanet.com //Functional Knowledge Detail
    12. www.stryk.info //NAV SQL Optimization Tool
    13. mibuso.com/blogs/kriki
    14. nav-magno.be
    15. www.olofsimren.com
    16. navnilesh.blogspot.in
    17. mibuso.com/blogs.asp // Multiple blog list
    18. www.dynamicsnavconsultant.com
    19. www.dynamics-nav-training.com
    20. dynamicsnavfinancials.com
    21. mibuso.com/blogs/clausl
    22. objects4nav.com
    23. mohana-dynamicsnav.blogspot.ca
    24. www.dynamics101.com/microsoft-dynamics-nav
    25. mibuso.com/blogs/christer //SQL
    26. blogs.msdn.com/b/freddyk //Web Service
    27. navisionary.com
    28. dynamicsuser.net/blogs/vanvugt/default.aspx
    29. mibuso.com/blogs/ara3n
    30. thinkaboutit.be
    31. vjeko.com //DotNet
    32. www.dynamics.is
    33. nav4construction.wordpress.com
    34. kauffmann.nl
    35. blog.hougaard.com
    36. dynamicsuser.net/blogs/stryk
    37. www.klemmensen.ca
    38. blog.wibeck.org
    39. agilenav.wordpress.com
    40. dynamicsuser.net/blogs/kine
    41. letstalknav.com
    42. www.navision-girl.com
    43. www.navisioncanbefun.com
    44. blogs.msdn.com/b/cabeln
    45. totovic.com
    46. plataan.typepad.com/microsoftdynamics
    47. crowfield.biz


    Monday, January 12, 2015

    Style Expression on fields in pages for Dynamics NAV 2013

    Hi,

    When editing pages in NAV 2013, you can set styles to draw attention to values.  This is done by using the property value for style on a field and setting it to a pre-defined value.  Note:  The styling does not apply in the Web Client.
    Style shown in the property list:










    Here is examples of how values will appear with the style applied on the page from NAV 2013 base installed on Windows 8.









































    Expression List:
    Standard
    StandardAccent
    Strong
    StrongAccent
    Attention
    AttentionAccent
    Favorable
    Unfavorable
    Ambiguous
    Subordinate

    Furthermore, you've got the "Indicator Style" property as well to "play with". Now, This is a little bit "unfinished" in my opinion. They called it "Accent1", "Accent2".. "Accent9". Why not just tell the background colors? Well, to help you, I spent some time with snagit .. and here is the list :-):

    Saturday, January 10, 2015

    CAL Coding Guidelines at Microsoft Development Center

    Hi All,

    Microsoft has share CAL development guidelines. This is for your reference and future use.


    Detail :
    The plan is to simply expose what we use now. And more important, to say that guidelines could be used. Debate on individual guidelines can become heated for any programming language, but the benefit of using some or other guidelines stays.

    For us, those guidelines are enforced at check-in time - we are using a tool which verifies and only allows compliant check-ins. While this tool is internal and not ready to publish, we had anyways decided to open up and present the rules we use to the community, as inspiration.

    Question: Since we’re having the guidelines, how come there is still C/AL code in NAV which doesn't respect them? Answer: all new C/AL code is bound to follow the guidelines (else it cannot be checked-in). However, the code that existed before the rules - it does not. We had done cleanup in a certain degree. Now we're gradually improving the old code base as we visit various objects in order to add new functionality, however chances are that code we didn't touch in a long time had remained in its old form.



    Friday, January 9, 2015

    Configure the customer licence in Dynamics NAV

    This article describes how you from Voice can assign object numbers to custom objects for Microsoft Dynamics NAV

    ​Overview
    This article describes how you from Voice can assign, remove, or re-assign object numbers for custom objects for Microsoft Dynamics NAV.
    Assignment, removal or re-assignment of custom area objects are done from Manage Custom Area Objects in Voice.
    When objects have been assigned, removed or re-assigned, the system will immediately update the customer’s license to reflect the changes and you can download the updated license so that your customer immediately can make use of the changes.
    Note: You cannot remove or re-assign object numbers for objects that are included in design granules like Table Designer, Form & Page Designer, etc. These objects are automatically assigned objects numbers beginning with 50000.
    Access Manage Custom Area Objects
    To access Manage Custom Area Objects in Voice follow this process:
    1.       Log on to VOICE  
    2.       Click Specific Customer Information
    3.       Enter search information in the Customer Lookup form to search for the customer, and then click Search
    4.       Click the Company Name of the customer for whom you searched in step 3. This opens up Customer Summary.
    5.       Under Registered Products on the Customer Summary page, click Manage Custom Area Objects. This will bring you to the Customer License Setup page.
    Assign Object Range
    To assign object numbers to custom objects for a customer license follow this process:
    1.       On the Customer License Setup page, click on the Change link beside the relevant object type to be assigned.
    2.       Any existing object ranges already assigned for the relevant object type will be displayed. 
    3.       Click New to create a new object range. 
    4.       When the New button is selected, the option to assign new ranges will be displayed. You will need to update the following fields and then click Save: 
    1.       Object Type – select the relevant type from the drop down menu. 
    2.       From Object ID – enter the start of the range. 
    3.       To Object ID – enter the end of the range. 
    4.       Read, Insert, Modify, Delete and Execute permission – should be left as per the default settings unless a different permission is required. 
    5.       Available Range – the complete range available in which objects can be assigned. 
    Remove Existing Range
    To remove object numbers from custom objects for a customer license follow this process:
    1.       Click on the Change link beside the object type for which the object range needs to be removed.
    2.       Any existing object ranges already assigned for the relevant object type will be displayed. 
    3.       Click on the Remove button to remove the selected object range.
    Re-assign Existing Ranges
    To re-assign object numbers for custom objects for a customer license follow this process:
    1.       Click on the Change link beside the object type for which the object range needs to be re-assigned. 
    2.       Any existing object ranges already assigned for the relevant object type will be displayed. 
    3.       Click on the Edit button beside the range specified and make the required changes to the selected object range. If certain ranges have been used already then the same range cannot be used again.
    Export/Import Tool
    If you need to assign or reassign multiple custom object ranges you can do so with the Export/Import tool. Removing existing object ranges must be done manually.
    For more information about the Export/Import tool, see More Information.

    More Information​

    You can find more information about how to assign, reassign and remove custom object ranges in the Microsoft Dynamics NAV Object Assignment Instructions document.

    Important Notice to Customers

    We recommend that you contact your Microsoft Dynamics Partner before installing service packs or hot fixes. It is important to verify that your environment is compatible with the service pack(s), hotfix(es), or download(s) being installed. A service pack, hotfix, or download may cause interoperability issues with customizations, and third-party products that work with your Microsoft Dynamics solution.​

    Support Information​

    If you are experiencing issues with this page, please contact ITMBSSUP@microsoft.com.

    For technical support questions, contact your partner or, if enrolled in a support plan directly with Microsoft, you can enter a new support request to Microsoft Dynamics® Technical Support from Customer Source or Partner Source under Support >> New Support Request.