Recover CRM Encryption Symmetric Key

Sometimes, after restoring a CRM On-Premises organization (from a database backup), you end up with the Data Encryption inactive (Settings > Data Management > Data Encryption) and that might be a headache for future development on the restored organization (e.g. custom plugins), especially if the original organization Encryption Key cannot be shown as below (Show… Continue reading Recover CRM Encryption Symmetric Key

CRM 365 9.0 filtering subgrids (Turbo Forms)

For some reason, filtering subgrids (Turbo Forms / non-legacy JS engine) in CRM 9.0 is not implemented (yet?!). A temporary solution for on-premise version would be implementing the addCustomFilter function from the C:\Program Files\Dynamics 365\CRMWeb\_static\form\formcontrols.js library. Current implementation: addCustomFilter: function(fetchXmlFilter) { throw Error.notImplemented(‘The method or operation is not implemented.’); }, Fix: addCustomFilter: function(fetchXmlFilter) { //… Continue reading CRM 365 9.0 filtering subgrids (Turbo Forms)

Attribute Type differences

Because we all know that maintaining two on-premise environments (e.g. dev & production) can be a pain, sometimes checking certain entities before solution import can be a time saver! To check the data type differences between the attributes of the same entity, on two different organizations, you can use the following SQL statement: — USAGE:… Continue reading Attribute Type differences

Solution Component Types

Any importable CRM solution holds within the *.zip file a component named solution.xml. In order to edit this, you need a better understanding of the <RootComponent> nodes (type attribute). For a complete list of root component types, you can use the following SQL statement: SELECT AttributeValue as Type, Value as [Root Component] FROM StringMap WHERE… Continue reading Solution Component Types

9 years of Biz-Forward

We are celebrating 9 years of Biz-Forward. Thank you for supporting us and being by our side with every single post! Happy birthday, | Moving Business Forward Cornel

SchemaName JS exposer for CRM

Sometimes inspecting all the elements with Developer Tools or clicking over and over again on the CRM form, attribute by attribute can be irritating. There for, I propose the following approach to all the CRM Consultants and Developers out there who need the attributes’ schema names fast. The JS library is stand-alone and all that… Continue reading SchemaName JS exposer for CRM

Privileges by Entity (CRM 2015)

Sometimes, you need to programmatically check a certain privilege on an entity, for business purposes. If you played with user roles, you noticed that all the user roles defined on the main business unit are inherited on the child business units and cannot be altered at child business unit level. The approach below handles this… Continue reading Privileges by Entity (CRM 2015)

Create New Entity from related entity via Ribbon – CRM 2013 & CRM 2015

The fastest way to create a new child record for the current entity using a custom ribbon button, is the following approach: Pass the following parameters to your custom javascript function called CreateNewCRMEntity (for example), as shown in the below image: The next step is to use the following code: function CreateNewCRMEntity(selectedentitytypecode, primaryentitytypecode, firstprimaritemid, PrimaryControl,… Continue reading Create New Entity from related entity via Ribbon – CRM 2013 & CRM 2015

Hide New Button on Lookups and Subgrids – CRM 2013 & 2015

Sometimes, you don’t want the New button to be available for creating new records from a lookup or subgrid’s lookup: In order to hide the standard New button on a lookup, use the following function (works on both CRM 2013 and CRM 2015): function RemoveNewButtonFromLookUp(lookupName) { if(lookupName) { var lookUpControl = Xrm.Page.getControl(lookupName); if(lookUpControl) { lookUpControl.addPreSearch(function… Continue reading Hide New Button on Lookups and Subgrids – CRM 2013 & 2015