This is going to be a strange post(or a series of posts). Usually, it’s all about how to do something. In this case, it’s all about what we can’t do.
Why does it matter?
Every now and then, a change request will come in, and you’ll end up spending days looking for a solution. You will probably experience infinite amount of frustration while doing that since it would seem like a simple change, and, then, you would not be able to make it happen.. Yet, in the end, you would realize that it’s one of those platform limitations which you can’t overcome. Would not it be better if you knew about those limitations in advance? Or, at least, if you could look them up quickly?
So, let’s bring those limitations to light here.
1. You cannot customize Opportunity Close dialog
2. You cannot customize Resolve Case dialog (and you cannot customize Cancel Case dialog either)
3. You cannot use a workflow to work with the related records on the N side of the 1:N relationship
For example.. If you wanted to update all the contacts associated with the account whenever something happens to that account, you would not be able to do it using out-of-the-box functionality. You would need a custom workflow activity – you can either develop that custom workflow activity yourself, or you can use one of the third-party solutions for Dynamics.
4. You cannot display Dynamics (view/dashboards/etc) in an iframe on your web site
It’s not supported – you will get an error message in your iframe instead of that nice dashboard you wanted to see.
5. You cannot use Advanced find for all sorts of “not exists” conditions
At least you cannot do it without utilizing additional tricks. For example, you cannot use Advanced Find to find all accounts that have no contacts associated with them. Actually, FetchXml is perfectly capable of processing that kind of query. However, you can’t use those features of FetchXml in the Advanced Find.
6. You cannot get access to the database in the online environment, and you are not supposed to go to the database directly in the on-premise environment
Just like that. It’s a sacred part of any Dynamics environment. With the minor exceptions granted to the on-prem users, you are not supposed to touch it. If you want to change something there, use Dynamics web API.
7. You cannot automate report generation in the online enviornment
Would not it be nice if you could create a workflow that would generate a report and automatically attach it to an email? Unfortunately, that’s one of those impossible things. There are tricks available in the on-prem environments, but none of them are using out-of-the-box functionality, and they are not guaranteed to work moving forward. If you want this to work, your best bet is to set up a separate reporting server, a separate reporting database, and to utilize those for this kind of automated report generation.
8. You cannot deny access per record
Consider the following scenario: there is an organization where every user should have at least read access to all the records. However, every now and then there is supposed to be an exception and you need to deny access to some records for some users (for example, this may happen because of the potential conflict of interests a user might experience if they had access to such records). That scenario can’t be handled in Dynamics since you cannot deny access per record – instead, you’ll have to figure out how to set up security in such a way that there is a compromise between what Dynamics can do and what your users want to have.
9. You cannot use ADX Portals for on-prem installations anymore
Or, at least, you cannot purchase licenses. move to the cloud, and you’ll be saved. Stay on-premise, and you are out of luck.
10. You cannot include theme customizations into the solutions
Do you like those particular colors you’ve got in your dev environment by customizing the theme? Do you want the same colors in production? Unfortunately, themes are not solution-aware, so you can’t add them to the solutions. They are, basically, data records which you will need to move from one environment to another using some other way.
11. You cannot use editable grids with the opportunities associated view
As discovered by Joe Dubs (https://community.dynamics.com/crm/f/117/t/243918) and confirmed with my own tests, we can’t use editable grids with the opportunities associated view. Other associated views, or, at least, those I’ve tried, work just fine.
12. You cannot use disallowed custom code in SSRS reports with Dynamics online
Whoever PAPs is, he/she is not the first one who ran into this problem: https://community.dynamics.com/crm/f/117/t/243924
As per Microsoft:
You may receive an error when you try to upload a custom FetchXML report into a Microsoft Dynamics CRM Online organization:
Error Uploading Report
An error occurred while trying to add the report to Microsoft Dynamics CRM.Try this action again. If the problem Continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization’s Microsoft Dynamics CRM Administrator. Finally you can contact Microsoft Support.
Microsoft Dynamics CRM Online uses RDL Sandboxing that prevents reports from uploading or running if they contain code that uses disallowed methods.