- Function correctly.
- Microsoft support will help when they don’t.
- Will continue working when an upgrade occurs (unless features are deprecated – this happens but you usually get several years’ notice).
When working with Dynamics it’s always worth remembering that you are working inside someone else’s application – this isn’t your house, you don’t get to set the rules. You have a product that you can customise, configure, and extend – but not fundamentally change. You want to work with the product, not against it. Microsoft provide a set of tools and guidelines describing the things we can do, they also tell us the – unsupported – things we shouldn’t do. It’s all on the MSDN. Un-supported scenarios that commonly occur:
- Reading from the database without using Filtered Views, e.g. to write a report.
- Manipulating the database structure (apart from indexes), e.g. to perform a customisation.
- Inserting or editing records via SQL, e.g. to import data.
- Manipulating a CRM solution file XML directly (apart from customisations for sitemap, ribbons, forms, saved queries).
When you go un-supported you are working against the system. Whilst you may be able to deliver functioning un-supported customisations, you will probably find it was harder to deliver, an upgrade is more likely to break them, and Microsoft support maybe less helpful (i.e. asking you to remove unsupported customisations). Ultimately there is usually little benefit or need to go unsupported and I strongly recommended staying supported.