Monday, 20 November 2017

Dynamics CRM Interview Questions

Below are the frequently asked CRM interview questions.

To attend CRM interview one should have the knowledge on Plugins,Workflows(both System and Custom) ,Solutions and Client Side Script, Security Roles, Ribbon Work Bench tool to add buttons to the form or sub grid, Form Customization and Site Map Customization, Business Rules, Actions,Business Process Flows.

Below are the Interview Questions I have faced: 
  •   What is the difference between Managed and Unmanaged solutions?
  •   Is there any way to customize components of Managed Solutions?
  •   I have one Managed solution which contains custom entities and system entities (Account, Contact etc.). I have installed it in another CRM Site and uninstalled it. Now, what happens to the system entities? Will it be removed from that solution and what about data present in it?
  • What is the difference between Plugins and workflows?
  •  Plugin events?
  •  What is the difference between secured and unsecured configuration in plugins?
  •  In which case you will use constructors in plugins?
  •  What is the difference between GAC, Database, File System deployments in Plugin?
  • What are business rules? 
  •   I have done some calculation logic using business rules and JavaScript which one will fire first?
  • Business rules execution happens at client side or server side?
  • Difference between SOAP and REST?
  • How to debug a plugin? 
  •  How to handle exceptions in plugin?
  • Write one sample query expression to fetch the records based on condition?
  • What is the difference between Query expression and FetchXML?
  • How to get current user ID in plugin?
  • What is the difference between early bound and late bound?
  • Difference between synchronous and asynchronous plugins? 
  • How to get option set value using JavaScript?
  • What is the process you will attach to debug Asynchrous plugin or workflow? 
  • What is sandbox plugin?
  • What is Action?
  • What is Service Calendar entity?
  • What is Knowledge base?
  • In which scenario you have used plugins and what is the code you have written in that?
  • What is services entity in Service module? 
  • What is competitor entity?
  • I want to calculate a date based on start date and end date. How can I achieve using workflow and explain the steps in detail?
  • How to pass values to grid in Iframe? 
  • There is one drop down in custom aspx page and dropdown should be populated with the values of option set in Contact form? Explain the steps? 
  •  How to add a button to a CRM form?
  • I have one button in a CRM form and it should be visible on selection of records in the grid and there is one more condition. The button should be visible if the count of selected records is more than one. How you will achieve it?
Question and Answers

Difference Between Plugin and Workflow?


Plugin
System Workflow
In order to write plugin User needs coding skills
Workflow can be done without coding skills
Plugin can be executed offline
Workflow cannot be run offline
Plugin execution limit for sandbox is 2 mins
Workflow can run for short or longer processes with wait conditions(Note : wait conditions will only work async workflow)
Plugin can be associated with many entities
Workflow have to be associated with single entity



Security Levels of access in CRM?

  Organization,Parent child business Unit,Business Unit,User.

Common Privileges for each entity?

Create,Read,Write,Delete,Append,Append to

Difference between Append and Append to?

Append to will allow other entities to be attached with the entity. Append to is for Parent Entity.
Append will allow the entity to be attached with the entity which has append privilege. Append is for child
 for example : to attach note to a case, case should have append to privilege and note should have append privilege.

Difference Between Plugin and Custom Workflow?


Plugin
Custom Workflow
We have so many messages to trigger plugin execution
Custom workflows triggered by the system workflows in CRM so the custom workflow can be triggered only on Create,Update,Status Change,Delete,Assign
Plugin can run offline
Workflow can’t run offline






 
Difference Between Managed and UnManaged Solution?

Managed Solution
Unmanaged Solution
Cannot be edited once installed in another environment as a managed solution
Can be edited
Deleting a managed solution will remove all the components contained in that managed solution
Deleting unmanaged solution will not remove any components; it only removes the reference to the solution.
We cannot export a managed solution
We can export an unmanaged solution.
Importing unmanaged solutions will overwrite any changes you had previously made and this cannot be undone
Importing managed solutions will not overwrite any changes
 

Business Rules


What exactly is a business rule? Well, think of a business rule as client-side scripting that is done without actually having to do any programming.  So if you wanted to go in and have some client-side logic that's applied as the user's interacting to the form, but you want those to be built by somebody who has more of a knowledge of how the business works and what should be brought in, that's where business rules come into play.

 Now, it's not necessarily going to replace all of the client-side scripting or the JavaScript's that you would see inside of Dynamics CRM application, but it does allow you to replace a vast majority or a large portion of the potential need for client-side scripting in the application.  Now, before we go through and actually talk about how to build them and work with them, there's just a couple of key things that you need to remember.

The first thing is how they're triggered.  So they're actually triggered when a record is opened or when a field changes that has a rule or a condition associated with it.  So when somebody opens up a record inside the application, that business rule or those business rules are going to evaluate to determine whether or not they should be applied.  And then as somebody is going through and interacting with the application, those business rules will then be applied at that point as well.  Now, the key thing to remember is, that's a little different than calculated fields.  Calculated fields don't actually update or calculate until the record has been saved or reloaded.  With business rules, they are in essence real-time.

 Now, there's a couple of other things to remember, is you may create business rules at kind of an entity level.  If a business rule mentions a field that is not referenced on a specific form, it basically just ignores it.

So the nice thing about these business rules too is, you don't have to really be conscious of whether or not the fields that you're referencing in these business rules are on the form, particularly if you're doing role-based forms. They're not on the form, they just get ignored, you don't get any errors or anything like that.  The biggest difference that you want to keep in mind from business rules with, like, traditional client-side scripting is they're field level rules only.  So I wouldn't have the ability to have it like hide a section or hide a tab on a form.  I could certainly go in and have it hide specific fields that are in a section or specific fields that are in a tab, but I can't hide the entire tab and section.

 Now, that's not that huge of a deal cause, honestly, if I have a bunch of fields in a section and I hide all of those fields in that section, that section's not going to display anyway, but there's a little bit more administrative work that has to be done on that, as opposed to if I was going to use client-side scripting and just use the entire hide command for the section or the tab in general.

What are the Images in Plugin and why we use them?

Images are a way to pass the image of the record that is currently being worked upon prior or after the action has been performed.
Images are of two types.
1.Pre Image : This is the image of the record before the CRM action has been performed. Pre image is not available on Pre and Post Create Operations.
2.Post Image : This is the image of the record after the CRM action has been performed. Post image is only available in Post Create and Post Update operations.

As part of an Update request, only the fields that triggered the update will be made available in the Target which we get as an Input parameter in the Execution Context. To access the other fields that are not included in the context we will use Images.

Difference between Secured and Unsecured Configuration?



Secured Configuration
Unsecured Configuration
Secured Configuration does not move with the solutions, it have to be reconfigured for each environment.
Unsecured configuration will automatically move between environments with the CRM solutions
Secured Configuration can only be viewed by CRM Administrators
Unsecured Configuration is viewable by any CRM user



What are Access Teams?

 Access Team is a dynamic way to share records with users without using the default sharing functionality. Access teams are enabled on Entity basis. When access teams are enabled on an entity, a grid will appear on that entity record. Any user added to that grid will have share permissions for that record.

Disadvantage with default sharing functionality is it can cause POA table to grow in size. A large POA table can cause performance issues.

Plugin Event Pipeline?

Event pipeline allows us to configure at which stage of the event the plugin code will execute.

It is divided into 3 events

Pre Validation : Plugin registered in this stage will execute outside the database transaction.  The pre-validation stage occurs prior to security checks being performed to verify the calling or logged on user has the correct permissions to perform the intended operation.

Pre Operation : Plugins registered in this stage will execute before the main operation. ex: Pre Update,Pre Create,etc

Post Operation : Plugins registered in this stage will execute after the main operation. ex: Post Update,Post Create,etc

Debugging a Plugin?

Register and Deploy the plugin using Plugin Registration Tool. Select plugin step and click on Start Profiling, then Run the operation on which the plugin code will be executed in CRM, CRM will throw the exception and it will provide a Log file, Download and save it locally.

In the Plugin Registration tool, Select the step and Click on Debug, Attach visual studio to PluginRegistration process and in the plugin registration tool give the path of log file and the assembly file. Click on debug.












Dynamics CRM Interview Questions

Below are the frequently asked CRM interview questions. To attend CRM interview one should have the knowledge on Plugins,Workflows(both S...