The Reusable Dynamics NAV Patterns is a joint initiative between the NAV team NAV partners. This is an open initiative to anyone who has documented design patterns which are specific to NAV, please reach back to us either by leaving a comment here, or by writing to us. This said, it's almost weekend, so here you have the NAV design pattern of the week.
This pattern is intended for storing information about the operating setup or environment in the database, in a way that can be persisted across sessions. To facilitate this, this information is stored in a table with one record only. The user is subsequently able to modify, but not add or delete records in the table.
The most common implementation of this is in the NAV Setup tables.
Implementation of the pattern involves 3 considerations:
Since this kind of tables is a collection of several environment or setup parameters, the primary key does not refer to any business attributes for this kind of tables. However, for maintaining the integrity of the database, it is necessary to define a primary key.
So, the most common implementation is to have a field "Primary Key" of Code. This is populated with a blank value when the record is inserted. This field is not added to the page, so that the user cannot be modify it later.
The CardPage type is most suitable for representing this kind of tables. In addition, the InsertAllowed and DeleteAllowed properties in the page should be set to false to prevent the user from adding or deleting records in the table.
In the OnOpenPage trigger, the following code should be added to insert a record when the user opens the page for the first time, if a record does not exist already.
The Company-Initialize codeunit (codeunit 2) is executed when a new company is created. We recommended that you add records to the single-record tables in this codeunit. If some of the fields are expected to have default values, they can also be populated here.
Several Setup tables in NAV implement this pattern. Some of those are:
Note: While most tables just insert a record with empty primary key in codeunit 2, table 242 ("Source Code Setup") offers an example of inserting default values into all fields of the table (method "InitSourceCodeSetup"). This practice, wherever feasible, is likely to reduce the effort during implementation.
The Reusable Dynamics NAV Patterns team
The Reusable Dynamics NAV Patterns is a joint initiative between the NAV team NAV partners. This is an open initiative to anyone who has documented design patterns which are specific to NAV, please reach back to us either by leaving a comment here, or by writing to us. This being said, find below the NAV design pattern of the week. (Yes, it's late in the week, but still!)
Generally, NAV translation refers to the translation of UI elements like captions and user texts (messages on dialogs, warnings, error messages). This translation is done by the Microsoft Dynamics NAV team before releasing the localized version of the product.
But there is one more scenario. In this scenario, Cronus International Ltd., wants to sell a "Fiets" to a Dutch customer, a"Cykel" to a Danish one, and a "Bicicletta" to an Italian customer. All 3 are the same inventory item - and its default name is "Bicycle". But for reporting, Cronus International Ltd. wants to use the customer language preferences for translating the bicycle's name.
Sometimes there's a need to support multiple languages for domestic transactions, too. For example, Switzerland has 4 official languages: German, French, Italian and Romansh, the first 3 of them being supported by NAV.
The example below uses the Item Translation feature of NAV, however, implementations of the same pattern exist for other application areas.
Enter translations for "Bicycle"
In the Windows client, on the bicycle Item card, on the Home ribbon tab, choose Translations.
On the opened page, enter the Danish (language code DAN), the Italian (ITA), and the Dutch (NLD) translations for "Bicycle".
Set the desired language for the Dutch, Danish, and Italian customers
On the customer card for your 3 customers, in the Foreign Trade FastTab, choose the preferred language for each customer. If no language is specified, then the default item description will be used for items sold or anyhow associated to that customer. If for example, the DAN (Danish) language is specified for the customer, and the "Bicycle" has a translation in Danish, then this translation "Cykel" will be used instead of the default name "Bicycle".
See the result
After those changes, when the customer (in this case the Danish "Lauritzen Kontormøbler A/S") transactions a bicycle, the translated description "Cykel" will be displayed on the documents and reports. For example, creating a sales order for this customer with 1 item No. 1000, shows:
Create the translation table
Named "<Entity> Translation" table, where <Entity> is replaced with the name of the actual object being translated. For the Item example above, this table will be named "Item Translation".
The table definition contains at a minimum:
The table above has a key composed of the first two fields.
Create the user interface for entering new translations of <Entity>
Some of the NAV implementations of this pattern are:
The Extended Text pattern is a more powerful version of the Multilanguage application data pattern presented in this section. The main differences are:
Welcome to day 3 of Microsoft's Worldwide Partner Conference 2013. And what a busy day we have lined up for you!
Building on yesterday's end-to-end product session, today's focus is on how you can plan and build your business. Firstly, at 1:30 p.m., prepare to be inspired in the Microsoft Dynamics NAV: New opportunities to build your business session, where you can learn about the new opportunities you should consider as you look at your business planning for the next 12-24 months - including key topics such as RapidStart Services for Microsoft Dynamics NAV, Windows Azure and Office 365.
Then go deep in two of these strategic business areas that could help propel your business forward and sharpen your competitive edge. First up, at 3 pm, is Heading into the Future with the Windows Azure Cloud for insight and information on opportunities to offer Microsoft Dynamics NAV and Microsoft Dynamics GP, hosted in the cloud on Windows Azure infrastructure services. Learn about the model, business best practices, pricing and licensing approaches, technical resources, top lessons learned, and more.
Then at 4:30 p.m. don't miss How to sell Office 365 together with Microsoft Dynamics GP, NAV and SL. This session will provide detailed guidance on how the increasing level of integration with Microsoft Office 365 has created a new opportunity for you to boost your bottom line by offering Office 365 to your customers. Hear about the combined sales motion, Office 365 pricing and licensing, available resources, and best practices from other Microsoft Dynamics partners.
As well as being packed with valuable information, all three sessions offer the chance to win fantastic prizes, so come along, and be sure to stay until the end!
Still hungry for more? With over 450 sessions, there is something for every taste. You could brush up on your business leadership skills in the Business Leadership track and the Emerging Leaders track. Hear more about the Microsoft cloud strategy, offerings, and programs for hosting and cloud service providers in the Hosting and Cloud Service Providers track. Or get together with other partners like you in other areas of the Microsoft business ecosystem in the Small and Medium Business Reseller track.
You can get all the session details, times and locations here, and read about all the other valuable and inspirational tracks here.
So much to do, so little time...
The Dynamics NAV ERP SMB Team
If you are among the lucky few - well, 16,000 actually - who were able to join us here in "Space City", then welcome to Houston, and to Microsoft's Worldwide Partner Conference 2013!We have five fantastic days of valuable strategy, business, and product content lined up for you, as well as an unparalleled opportunity to interact and network with your peers and Microsoft employees.
If you arrived yesterday, hope you enjoyed the welcome reception, and your first chance to join us in the citadel that is the Commons - the beating heart of the whole conference experience.
Today the fun starts in earnest with our first vision keynote, already at 8:30 a.m. in the Houston Toyota Center, close to the conference center itself. This is an unmissable chance to see Microsoft top leadership - including Steve Ballmer, Kevin Turner, and Jon Roskill - set the scene by presenting the current state of key market areas, such as Cloud, Big Data, Devices and Mobility, and Enterprise Social, and outline the huge partner opportunity that lies ahead.
Then it's back to the convention center in good time to get a front row seat for the Microsoft Dynamics Value Keynote, Seeing the future: a dynamic vision for business solutions at 1:30 p.m. Hear Kirill Tatarinov, Neil Holloway, and others as they share the Microsoft vision for the future of business solutions, highlight first-hand stories of partner business success, and chart the path toward the business opportunities of tomorrow. Also in this session – our Microsoft Dynamics NAV partners Cooper Parry will join Neil Holloway on stage.
Next stop is the Microsoft Dynamics NAV: End-to-End Update session, where you can get fully up-to-speed on all things NAV with a comprehensive strategy, business and product update, and information on how the upcoming “Sicily” release will help you operate a true volume business in the SMB space by offering the power of a comprehensive business solution from Microsoft
And if the program so far has not slaked your thirst for info, the EXPO is open from 12 p.m., with a Happy Hour from 4 p.m.to 5:30 p.m. - which I make an hour and a half :-) . But hey, who can say no to a little extra happiness?
But save a little energy for tomorrow, when we will focus on how Microsoft Dynamics NAV offers new opportunities to build your business - including how to sell Office 365, and leveraging the Windows Azure Cloud. Plan your day now on the WPC Connect Session & Meeting Scheduler, and remember that every time you attend one of our sessions, you have the chance to win great prizes!
And for those Microsoft Dynamics partners who are not among the lucky 16,000 here in sunny Houston, we will be sure to make recordings of all our sessions available to you after the event, so you can see what you missed, and start pre-warning your boss that you intend to come and join the party next year....
OK - off to the vision keynote. See you there!
The Reusable Dynamics NAV Patterns is a joint initiative between the NAV team NAV partners. This is an open initiative to anyone who has documented design patterns which are specific to NAV, please reach back to us either by leaving a comment here, or by writing to us. This being said, find below the NAV design pattern of the week.
The goal of the Copy Document pattern is to create a replica of an existing open or closed document (posted or not posted), by moving the lines and, optionally, the header information from the source document to a destination document.
Documents are widely used by most of our customers. Many times, a significant portion of these documents are similar to each other, either by sharing the same customer, vendor, type, or line structure. Being able to re-use a document as a base for creating a new one is therefore an important means of saving time.
Other business scenarios require that a newly created document is applied to an existing document. For example, in returns management, a return order can be the reversal of an existing order and can therefore be copied from the original order. Other times, there is even a legal requirement to match the document to its source. For example, credit memos need to be applied to the originating Invoice.
For these reasons, NAV supports the copying of documents as a method to re-use or link documents.
The Copy Document functionality is used in the following situations:
The Dynamics NAV application developer can take into account using the Copy Document design pattern when they have requirements such as:
The Copy Document pattern involves the following entities:
Note:The source document header/line and destination document header/line tables do not need to be the same. For example, you can copy a Sales Shipment Header/Lines into a Sales Header/Lines.
Precondition: The user creates a new destination document Header, filling up the required information.
Step 1: The user runs the Copy Document report (element no. 4), filling up the parameters:
Step 2: The report copies the information in the source tables (Header and Line) into the destination tables (Header and Line).
Post processing: The user performs additional editing of the destination document.
The sequence flow of the pattern is described in the following diagram.
Example: Copy Sales Document for Credit Memos.
In the standard version of Microsoft Dynamics NAV, the Copy Document functionality is implemented in the Sales Credit Memo window as shown in the following section.
Precondition: The user enters data in PAGE44, Sales Credit Memo.
Step 1: The user runs REP292, Copy Sales Document from the Sales Credit Memo window, populating the required parameters. The Include Header and Recalculate Lines fields are selected.
Step 2: The Sales Credit Memo window is populated with information from the source sales document.
Post processing: The user can now do additional editing of the sales credit memo.
The Reusable Dynamics NAV Patterns team with special thanks to Bogdan Sturzoiu
I'm sat in a room with Erik Tiden. We've just been shown NAV 2013 "Sicily" running on Windows Azure and running inside SharePoint 2013. You have to come and see this.!
Registrations are open – we look forward to seeing you at one of the Directions events: September 2-4 in Vienna or October 6-9 in Nashville, TE.
Describing design patterns is something that has been done for various programming languages and business areas over the years. As well, Microsoft Dynamics NAV developers are using recurring solutions to solve common problems which are specific to enterprise resource planning software and even more, they are specific to the NAV inner workings. We are giving a name and documenting some of those reusable paradigms. Although the solution offered does not pretend to be the only or the best one at all times, we hope it will provide a good start for more technical discussions, ideas and knowledge sharing. It also offers ready-made recipes which can be reused during implementations.
The Reusable Dynamics NAV Patterns is a joint initiative and I would like to thank the NAV partners who have been here at Microsoft Development Center Copenhagen for the NAV Patterns workshop: Eric Wauters, Gary Winter, Mark Brummel and Claus Lundstrøm. We are looking forward to see more NAV Patterns being published from their side. Furthermore, this is an open initiative to anyone who has documented design patterns which are specific to NAV, please reach back to us either by leaving a comment here, or by writing to us. This being said, find below the NAV design pattern of the week.
The Blocked Entity pattern is used when it is required to stop transactions for an entity (mostly master data), temporarily or permanently.
In this pattern, the business entity holds a state that controls if a given transaction is allowed. The state is used by the logic controlling transactions. The change of state could either be temporary or permanent.
An example of a temporary halt is when a retail chain selling items has received lot of complaints about an item, and the company wants to stop all transactions, both purchase and sale, with that item until the dealer has clarified the issue with his supplier and possibly received a replacement for the defective stock. Another common example is during counting the physical inventory using cycle counting where the counting is done in one section of a warehouse at a time, so that the regular operations can continue in the other parts of the warehouse. In these situations, it is necessary to block all transactions, such as picks and put-aways, for a bin while warehouse counting is in progress for that bin.
In contrast, a permanent halt to transactions could be required when an item has become obsolete (or is about to become obsolete), and the company wants to stop further purchase or sale of the item. However, the company wants to maintain the transaction history of the item and, therefore, does not want to delete the item record.
A simple design implementation of such requirements in Microsoft Dynamics NAV is to add a Blocked field in the entity table (and on the associated page). The implementation takes this state into the logic and checks for the value of this field in related transactions. For most simple scenarios, it is sufficient to have two states on the Blocked field, specifying whether it is allowed to perform transactions for the entity or not.
In certain situations, however, there could be different levels of blocking. For example, the company could block all sales to a customer that has overdue payments, and the company does not want to allow transactions with this customer until the payments are received. In other situations, the customer may have raised objections about an invoice, and the company has decided not to generate new invoices for the customer until the issue has been resolved. However, the company does want to continue shipping goods to the customer so as not to impact the customer’s operations. In these scenarios, it may be necessary to have multiple states on the Blocked field depending on the level of restriction that is needed.
As mentioned in the previous section, there are two implementations of this pattern depending on business requirements: The 2-state Boolean field for simple implementations and the multi-state option field for more complex requirements. The implementation flow is similar for both patterns, except how the validation is implemented. The following discusses the two scenarios one by one.
Add a Boolean field named Blocked in the table.
In the relevant logic, add a condition to check the status of the Blocked flag. The cheapest way is to use a TESTFIELD:
Alternatively, you can throw a custom error message. However, you should only do that if the default error message thrown by TESTFIELD is not sufficient.
Add an option field named Blocked in the table. The option values will reflect the different blocked states required by the company.
Add this field on the card page (or on the List page if the entity does not have a card). As with the Boolean implementation, the convention is to add this field in the right-hand column in the General FastTab of the card page.
Implement a function in the table that takes the transaction context as input and evaluates the Blocked field to decide whether the transaction should be allowed or not. Optionally, the function can be responsible for notifying the user and bubble up an error message straight away.
An example of the Boolean implementation on the Item card.
In codeunit 22 – Item Jnl.-Post Line, the following lines of code have implemented a check based on the value of the Blocked field:
IF NOT CalledFromAdjustment THEN
An example of the option field implementation on the Customer card.
The CheckBlockedCustOnDocs and CheckBlockedCustOnJnls functions in the Customer table are responsible for validating the Blocked state with respect to the input document type. These functions are invoked in several areas, such as posting routines, where a status check on the Blocked field is required. This is a good practice where the Blocked implementation gets more complex, as this encourages reuse and ensures uniformity of implementation.
Entities where the Blocked Entity pattern has been implemented include:
Bogdana Botez and the Reusable Dynamics NAV Patterns team
The Worldwide Partner Conference 2013 in Houston, Texas is now only a few short weeks away. From July 7 to 11 we look forward to hosting more than 16,000 attendees from across the business, and from more than 150 countries around the globe. This year, we expect a record 20+ percent of attendingpartners to be from Microsoft Dynamics!
And we have some fantastic business content lined up for you . You can start by joining Neil Holloway, CVP Microsoft Business Solutions, as he shares the Microsoft vision for the future of business solutions, highlights first-hand stories of partner business success, and charts the path toward the business opportunities of tomorrow in the Microsoft Dynamics Value Keynote: "Seeing the future: a dynamic vision for business solutions". Then it's down to business with a full track of Microsoft Dynamics NAV content.
Get informed in the Microsoft Dynamics NAV: End-to-End Update session, with a comprehensive strategy, business and product update, and information on how the upcoming “Sicily” release will help you operate a true volume business in the SMB space by offering the power of a comprehensive business solution from Microsoft.
Be inspired in the Microsoft Dynamics NAV: New opportunities to build your business session, where you can learn about the new opportunities you should consider as you look at your business planning for the next 12-24 months - including key topics such as RapidStart Services for Microsoft Dynamics NAV, Windows Azure and Office 365.
Then go deep on strategic business areas including How to sell Office 365 together with Microsoft Dynamics NAV and Heading into the Future with the Windows Azure Cloud. And each time you attend one of the sessions above, you have the chance to win fantastic prizes!
Great sessions, valuable content, but just a small part of what the Worldwide Partner Conference 2013 has to offer. More than 450 inspiring and informative sessions await, from vision keynotes with top leadership including Steve Ballmer, Kevin Turner, and Jon Roskill, to value keynotes, breakout sessions, and interactive sessions from all areas of the business. You can also come and say hello in the Microsoft Dynamics area of the EXPO in the extensive Commons area that forms the heart of the whole event.
Access the WPC Connect Session & Meeting Scheduler to plan which sessions you will attend and begin networking with others from across the world. Start the Conversation on WPC Connect, continue in Houston.
Not registered for the event yet? There's no time to delay. You can still register for an essential conference and networking experience that will help you set your business agenda and plan your investments for the coming year.
See you in Houston!
We are excited to announce that Microsoft Dynamics NAV 2013 is now available from partners in the cloud hosted on Windows Azure! This means that, starting today, Microsoft Dynamics NAV customers can take advantage of easy to use, quick to implement business solutions from Microsoft with the added benefit of knowing their solution is hosted on secure, enterprise-class cloud infrastructure from a trusted provider. Read more from Paul White here.
Over the past several months we’ve been working closely with our first “go-live” customers and partners, as well as with the Windows Azure team, to develop guidance and tooling to ensure a great experience deploying on Azure. That work is now complete, and as you can read in this post from Kenneth Kryger Gram at our partner Abakion, the response has been overwhelmingly positive.
Next steps for you are to get ready for Microsoft Dynamics NAV 2013 on Windows Azure. Go to PartnerSource and find training, documentation, “how-do-I” videos and more.
Finally, you can download the Microsoft Dynamics NAV 2013 Feature Pack 1 here - all the tools you will need to deploy your solution on Windows Azure.
The Microsoft Dynamics NAV team
Today we have released update rollup 3 for Microsoft Dynamics NAV 2013 (Build 34902).
Update rollup 3 includes all application and platform hotfixes and regulatory features that have been released for Microsoft Dynamics NAV 2013. Local hotfixes for France and Italy have been added to update rollup 3 and the update rollups now include hotfixes that apply to all countries and hotfixes specific to the following local versions:
Where to find update rollup 3
You can download update rollup 3 from KB 2852685 - Update Rollup 3 for Microsoft Dynamics NAV 2013 (Build 34902).
The hotfixes that have been released since update rollup 2 are listed in KB 2852685. For a full list of all hotfixes included in the update rollup, see the following CustomerSource and PartnerSource pages:
For more information about update rollups for Microsoft Dynamics NAV 2013, see Announcement of new hotfix process for Microsoft Dynamics NAV 2013.
The Help files for Microsoft Dynamics NAV 2013, Finland country version, are now available in Finnish. The Microsoft Dynamics NAV 2013 Finland Help.zip contains the translated Application Help. You can download the updated .chm files at the Microsoft Download Center.
Updated License terms have recently been released. When you purchase a software license for Microsoft Dynamics NAV (or Microsoft Dynamics GP) software, the terms and conditions for how you can use the software are defined in this use rights document. These software license terms apply to Microsoft Dynamics NAV 2013 and Microsoft Dynamics GP 2013.
You can download the updated document at the Microsoft Download Center.
Today we have released update rollup 2 for Microsoft Dynamics NAV 2013.
Update rollup 2 includes all application and platform hotfixes that have been released for Microsoft Dynamics NAV 2013. The update rollup includes hotfixes that apply to all countries and hotfixes specific to the following local versions:
Update rollup 3, which is scheduled for release in June, will include local hotfixes for France and Italy as well.
Where to find update rollup 2
You can download update rollup 2 from KB 2843305 - Update Rollup 2 for Microsoft Dynamics NAV 2013 (Build 34688).
The hotfixes that have been released since update rollup 1 are listed in this KB article. For a full list of all hotfixes included in update rollups for Microsoft Dynamics NAV 2013, see the following CustomerSource and PartnerSource pages:
For more information about the update rollup process for Microsoft Dynamics NAV 2013, see Announcement of new hotfix process for Microsoft Dynamics NAV 2013.
Equisys are pleased to announce that platform support for ZetaDocsExpress for Microsoft Dynamics NAV has been extended to include Windows 8, Windows Server 2012, SharePoint 2013 and the 64-bit editions of Microsoft Outlook.
First launched in October 2011, Zetadocs Express is the downloadable document management module of Microsoft Dynamics NAV. It is available at no additional cost to NAV users on a Business Ready Enhancement Plan.
Zetadocs Express is designed to save finance teams time and money by providing three essential document management capabilities directly within Microsoft Dynamics NAV:
Drag and drop: Any file, email or attachment onto a record in the NAV Windows client to automatically store it in SharePoint. Documents are linked to their NAV record and listed in the Documents FactBox when the record is viewed.
Document approval: Initiate simple SharePoint workflows for any document listed in the FactBox – such as an invoice – and monitor the approval status in NAV.
Save and send NAV reports: Click the “Save and Send” button to email almost any customized NAV reports in PDF format. Delivered documents are archived automatically in SharePoint and listed in the Documents FactBox for future retrieval on-screen.
Speaking of the new release, Zetadocs for NAV Product Manager, Greg Cole, said, “As the foundation edition of our document management family, Zetadocs Express is a great introduction to the time-saving potential of our Zetadocs solutions.
“Since its launch, we have continued to receive great feedback from partners and customers alike, so I’m delighted to broaden the number of supported platforms even further.”
Zetadocs Express is available to users of Microsoft Dynamics NAV 2013 or Microsoft Dynamics NAV 2009 R2, with an active Business Ready Enhancement Plan. To download the latest version of Zetadocs Express, visit CustomerSource or PartnerSource.
The Best Practices Analyzer for Microsoft Dynamics NAV 2013 is a tool for identifying issues that can prevent you from successfully deploying a three-tier environment of Microsoft Dynamics NAV 2013. A three-tier deployment is one where the client, Microsoft Dynamics NAV Server, and SQL Server are installed on separate computers. These deployments can be challenging because they often require additional domain administration tasks. The tool is relevant whether the client is a RoleTailored client or a Web services client.
The Best Practices Analyzer for Microsoft Dynamics NAV 2013 performs the following verifications:
You can find more information about the tool and download it from CustomerSource here or from PartnerSource here.