Sie sind auf Seite 1von 105

Data Types OR Type of Fields in MS Dynamic CRM by version From (2011 to 2015)

2011 2013 2015


Single Line of Text
Option Set
Two Options
Multiple Lines of Text
Date and Time
Lookup
Whole Number
Floating Point Number
Decimal Number
Currency
Image Image

What tables get effected when a new user is created in MS CRM

When CRM creates a new user, it writes data to three different tables:
[MSCRM_CONFIG].[dbo].[SystemUserAuthentication]
[MSCRM_CONFIG].[dbo].[SystemUserOrganizations] [XX_MSCRM].[dbo].[SystemUserBase]
The steps for creating the user in CRM is as follows: The first table is populated as soon as you
press ‘Save’. Amongst other data, the users GUID in Active Directory is added to the table. Next
it tries to bind the user to the chosen organization. Lastly CRM populates the table in wich is
used to display CRM users in CRM.

On creation of entity how many tables will be created at backend?


Entityname+Base , EntityName+ExtensionBase
example: if you created an entity bank then following tables will be created at crm database
new_bankbase , new_bankentensionbase

What databases are created while installing MS CRM?

The following SQL Server components are added. source

Componen Name Description


t
Databases MSCRM_CONFIG Microsoft SQL Server Setup
OrganizationName_MSCRM creates the SystemDrive:\Program
Files\Microsoft SQL
Server\MSSQL<ver>\MSSQL\Data
\ folder and Microsoft Dynamics
CRM Server Setup installs the
Microsoft Dynamics CRM
configuration database and
organization databases in it.
SQL Server MSCRM_CONFIG.SiteWideCleanu Microsoft Dynamics CRM Server
Jobs p Setup creates one SQL Server job
that is used for maintenance.
Logins PrivReportingGroup Microsoft Dynamics CRM Server
ReportingGroup Setup creates SQL Server logins
SQLAccessGroup for the PrivReportingGroup,
MSCRMSqlLogin ReportingGroup, and
SQLAccessGroup Active Directory
groups that are created.
MSCRMSqlLogin is used for time
zone conversions when you use
dashboards and charts, and do
queries using Advanced Find.
When Microsoft SQL Server is
enabled to use common language
runtime (CLR), this can
significantly improve performance
for those features.

Sharing variables between plugins


In plugin code you can use following line to add a variable to shared-variables which can be
accessed by other plugins which are next in event execution pipeline
context.SharedVariables.Add("Name", Value);

Here the context is plugin execution context.

Can we hide tab in MS Dynamic CRM form using JavaScript? How?


Yes we can hide particular section using following line of code.
Xrm.Page.ui.tabs.get("tab_name").sections.get("section_name").setVisible(false);

What the are the main interview questions asked in MS


Dynamics CRM?
here are plenty of questions are available but here you go with some of the questions,
please find the answers in the google.

most common questions:

1. Difference between PlugIn vs Workflow (Asynchronous vs Synchronous)


2. What are basic security permissions at domain level (priv reporting group, privUser group, SQL
Reporting group... total 5 groups availble google it.)
3. for plugin deployment, Difference between GAC, DataBase, Disk deployments.
4. Difference between CRM webservice Vs CRM.SDKProxy namespaces.
5. Calling Dynamic Entities (knowledge on Moniker, INputParameters, OutPutParameters, and
MetaServices.)
6. Difference between GUID and Key, Lookup and String
7. Knowledge on Java Script and SOAP webservices, most important how to call XmlHttpRequest.
(Bold questions are high priority quesitons, you will get answers in google. if not ask me.)
8. how many max number of tabs available in MS CRM Entity Form (officially max 8
tabs, unofficially we can do plenty(Its not recommended by Microsoft CRM))

You will get remaining questions in google.

During interviews, i usually talk about candidates


prior experience while playing with challenges like:

- Scenario to design an application

- Infrastructure planning

- Workaround product lacking in mailmerge, templates, reporting, workflow, UI.

- Auto numbers

- Infinite loop

- Synchronous VS asynchronous plugins

- Deployment Issues

1. explain in details about the event execution pipeline.

2. when do we register a plugin in child pipeline. give examples

3. What are images. Why are they used.

4. What is early binding and late binding. How is it used in CRM

5.How do you debug a plugin

7. What is PrinciplalObjectAccess table why is it used.

8. What is the use of stringmap table.

9.How do you set a recurrening activity in CRM

10. when can infinite loop occur in a plugin. How do you avoid infinite loops in plugin
code.

11. How do you avoid sql deadlock.


12. How many types of relationships are available in crm

13. What is the difference when the ownership is user vs organizaion for a custom
entity.

14. what are filtered views?

15. if you delete a record from UI, what happens in database. can you bring the record
back?

16 what is deletion service? can you change its schedule

i Rajeev,

There are plenty of questions are available but here you go with some of the questions,
please find the answers in the google.

most common questions:

1. Difference between PlugIn vs Workflow (Asynchronous vs Synchronous)


2. What are basic security permissions at domain level (priv reporting group, privUser group, SQL
Reporting group... total 5 groups availble google it.)
3. for plugin deployment, Difference between GAC, DataBase, Disk deployments.
4. Difference between CRM webservice Vs CRM.SDKProxy namespaces.
5. Calling Dynamic Entities (knowledge on Moniker, INputParameters, OutPutParameters, and
MetaServices.)
6. Difference between GUID and Key, Lookup and String
7. Knowledge on Java Script and SOAP webservices, most important how to call XmlHttpRequest.
(Bold questions are high priority quesitons, you will get answers in google. if not ask me.)
8. how many max number of tabs available in MS CRM Entity Form (officially max 8
tabs, unofficially we can do plenty(Its not recommended by Microsoft CRM))

1. explain in details about the event execution pipeline.

2. when do we register a plugin in child pipeline. give examples

3. What are images. Why are they used.

4. What is early binding and late binding. How is it used in CRM

5.How do you debug a plugin

7. What is PrinciplalObjectAccess table why is it used.

8. What is the use of stringmap table.

9.How do you set a recurrening activity in CRM

10. when can infinite loop occur in a plugin. How do you avoid infinite loops in plugin
code.

11. How do you avoid sql deadlock.


12. How many types of relationships are available in crm

13. What is the difference when the ownership is user vs organizaion for a custom
entity.

14. what are filtered views?

15. if you delete a record from UI, what happens in database. can you bring the record
back?

16 what is deletion service? can you change its schedule

During interviews, i usually talk about candidates


prior experience while playing with challenges like:

- Scenario to design an application

- Infrastructure planning

- Workaround product lacking in mailmerge, templates, reporting, workflow, UI.

- Auto numbers

- Infinite loop

- Synchronous VS asynchronous plugins

- Deployment Issues

Friday, August 14, 2009

Microsoft CRM Interview Questions - Part 2


This blog is dedicated to the users who are looking for the advanced level of interview questions and
for the people who want to dive deeper into MSCRM.I will add questions in incremental basis.
Q: What is CRM Service of MSCRM?
Ans: CRM Service is the main web service and it exposes Six methods such that you can write your code
against CRM entities. To perform operation other than the six operations (six methods provided by
mscrm) we will have to use the Execute method.
Q: What is Metadata service of MSCRM.
Ans: Dictionary meaning of the word METADATA is data about data and similarly the metadata holds the
information about MSCRM means the information about the entity and attribute e.g. Display name,
platform name, size of the attribute, datatype of attribute etc. If we want to access any information
about any entity (Dynamic or system) we will have to make use of the Metadata service. In the
database we can find the metadata table and name of these table begins with keyword Metadata.
Q: What is discovery Service?
Ans: The Discovery service is a global service that helps the caller to detemine the correct organization
and URL. Microsoft CRM server may include several servers. Each server might be dedicated to multiple
organization. Each of these servers will have dedicated web-service URL for faster operations.
Internally the Microsoft CRM server allocation may change so the discovery service directs the request
to its corresponding web-server for further processing.
In short the Discovery service responsibility is to find the 'CRM Service' and 'Metadata Service' urls.

The discovery service returns the list of organization URLs that the current-requester (current user)
belongs to. During the Outlook client configuration discovery service shows he list of organization the
current-user belongs to.

This web-service is used to create authentication ticket in case of Windows live authentication.

Q. Suppose I want to migrate an Microsoft CRM implementation from one environment to other
environment. Let us assume that there a published workflow for account entity. Now in normal
usage there will be few accounts-records for which the workflow will be waiting/Waiting for
Resource/Failed/Succeded state. So what should be our strategy for the migration. What will
happen to the records which are in waiting state and what will happen to the records which are in-
progress?
Q. Suppose there is a plug-in registered for account entity. When a user submits a request (e.g.
account creation etc.) to the web-server then what will happen in the server?
Ans - The plug-in will get loaded into the memory and will perform the operation it is needed to do.
Q. Now what will happen if 100 users will submit the request to the web-server? The plug-in code
will get loaded into the memory for 100 times?
Ans - Answer is NO. Noticable point over here is that the Microsoft CRM is a mananged application and
runs under .Net framework. So whenever the first request arrives at the web-server the plug-in code is
loaded into the memory and will perform its operation and susequently the same plug-in code will
serve the process for other user as well. So this way it saves the amount of time required to load the
plug-in into the memory. If the plug-in code is not being used for long then the Garbage collector will
identify it and will sweep the plug-in out from the memory.
Q. How to add/remove columns in an entity lookup window.
Ans - Go to Settings >> Customization >> Select the entity >> Click 'Forms and Views in the Left Nav
Pane" >> Double click the 'Entity Lookup View' >> Dialog box appears that contains the Add/Remove and
Sorting options for a lookup view.
Q. How to Debug the java script that we write for some validation on entity pages.
Ans - Following are the steps that are needed to be followed:
1. Enable the Debugging in the Internet Explorer - Goto Tools >> Internet Options (wizard will appear
>> Click the 'Advanced Tab' >> Under Browsing Section uncheck the 'Disable script debutting' checkbox
>> Click OK.
2. Edit the java script code of the Entity Page that you want to debug.
3. Put the statement 'debugger;' above the line where you want do the debugging. e.g. suppose my
java-script show 'Hello World' message and i want to debug this then following is the way I am going to
add script:
debugger;
alert('Hello World')
4. Save and Publish corresponding customization.
5. Perform the operation that would trigger the java script written by you
6. Debugger dialog box will appear and select appropriate debugger (Visual Studio new or existing
instance)
And you may start debugging from the 'Debugger' statement of your javasript.
More to Come...

Posted by P Uday Kumar at 8:20 AM 3 comments:


Wednesday, March 4, 2009

Microsoft Dynamics CRM Interview Questions


Following are the some of the questions which are asked most frequently in the Microsoft CRM
interviews. Generally the during the recruitment of MS CRM Functional consultant, Technical
Consultant or Test Consultant the answer to this questions are expected.I will add few more questions
in this post.
1. What is a Plug-in?
2. What is a Workflow?
3. What are the differences between Plug-in and a Workflow?
4. What are the differences between Asynchronous Plug-in and a Workflow?
5. When will you use a workflow and when will you use a Plug-in? Give some Real-life scenario.
6. What is an Email-Router?
7. What are the steps to configure an Email router?
8. How the Plug-in and Workflow will behave in case of Off-line client?
9. What is Metadata?
10. What is CRM Discovery Service?
11. What is Sales and Marketing life cycle in MSCRM?
12. What is Queue entity in MSCRM?
13. What is 1:1, 1:N and N:N relationship in Microsoft Dynamics CRM?
14. How a Plug-in is different from a Call-out?
15. What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
Ans: 'Append' and 'Append To' priviledges works together. 'Append To' priviledge will allow other
entities to get attached with the entity. 'Append' priviledge will allow the entity to attach the records
to the entity with 'Append To' privildege.

Let us understand this with simple example:


Let us say that you want to attach a note to a case then note entity should have 'Append' access right
and case entity should have 'Append To' access right.

Let us take one more example to understand this. Suppose you have two custom entities called
'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to
'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1'
entity and 'Append To' access right on 'TestCustomEntity2'.
Now guess will I be able to attach the records? Answer is "NO" because we need to create a 1:N
relationship between 'TestCustomEntity1' and 'TestCustomEntity2'.
Now the user who has above mentioned access right in his security role will only be able to add
'TestCustomEntity2' records to 'TestCustomEntity1'.
16. How to create a Custom Entity record using SDK?
Ans: Using Dynamic Entity.
17. How to join two table using Query Expression?
Ans: Using Linked entity. You should always try to minimize the number of SWS calls that we make in
the database. Often during code review it is explored that the number of Microsoft CRM web-service
could have been reduced by making use of the Linked-entity concept. So we should always look for the
opportunity to minimize the effort.
18. Can we modify the name of Root Business Unit?
Ans: No; We will have to re-install MSCRM.
19. Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st
User?
Ans: The 21st User will get created in MSCRM but that user will be in disabled state.
20. What are the maximum number of tabs allowed on a Microsoft Dynamics CRM 4.0 form?
Ans: 8
21. How to enable/disable the form assistant? How to make sure the form assitant is
expanded/cllapsed on a form?
Ans: Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select
Form Properties >> Open Display Tab >> Check/Uncheck the "Enable the Form Assistant" and "Expanded
by Default".

The interviewer will always try to figure-out whether one is comfortable with the basic concepts of
Microsoft CRM (MS CRM) or not and after that; questions will be asked from your previous experience (if
you have any experience in CRM). Those questions will be something like this:
1. What was you role in the MSCRM implementation project that you have worked on?
You should be honest while giving answer to this question and should give a brief overview of the
project and your role. This is very important question because the answer of this question will tigger so
many questions. You should highlight the key skills you have; this way you will divert the attention of
the interviewer to your key skills and try not to expose the area in which you are less confident.
2. What was the most challenging task you have faced till now?
Here you should give answer that exihibit your positive attiude . e.g. for a techincal consultant it may
be something like ... "I was new to the suppport and during this experience i faced challenging issue
related to plug-in that impoved my debugging skills. Email-to-case plug-in was really diffcult as we had
to take care of so many conditions. I have learnt one thing during my previos assignment and that is
'Never give-up'".
3. What was the size of the implementation? (i.e. the number of user-licenses)

I hope this post will help you to crack technical interviews on MSCRM. All the best for your interview...

Posted by P Uday Kumar at 6:10 AM 12 comments:

MS CRM Interview Questions


Posted on August 17, 2010by RAHUL S SALUNKHE

Favorite Topics ( Functional Consultants, Technical Consultants)


 How to Deploy MS CRM Server?
 What is system requirement?
 Whats in MS CRM installation CD?
 How to deploy online client?
 How to deploy offline client?
 How to integrate with Axapta?
 How to integrate to non-microsoft systems?
 Major Problems
 Major Advantages
 How to develop plug-ins
 Accelerators
1.1 Part 1

This blog is dedicated to the users who are looking for the advanced level of interview
questions and for the people who want to dive deeper into MSCRM.I will add questions
in incremental basis.
Q: What is CRM Service of MSCRM?
Ans: CRM Service is the main web service and it exposes Six methods such that you can
write your code against CRM entities. To perform operation other than the six
operations (six methods provided by mscrm) we will have to use the Execute method.
Q: What is Metadata service of MSCRM.
Ans: Dictionary meaning of the word METADATA is data about data and similarly the
metadata holds the information about MSCRM means the information about the entity
and attribute e.g. Display name, platform name, size of the attribute, datatype of
attribute etc. If we want to access any information about any entity (Dynamic or system)
we will have to make use of the Metadata service. In the database we can find the
metadata table and name of these table begins with keyword Metadata.
Q: What is discovery Service?
Ans: The Discovery service is a global service that helps the caller to detemine the
correct organization and URL. Microsoft CRM server may include several servers. Each
server might be dedicated to multiple organization. Each of these servers will have
dedicated web-service URL for faster operations. Internally the Microsoft CRM server
allocation may change so the discovery service directs the request to its corresponding
web-server for further processing.
In short the Discovery service responsibility is to find the ‘CRM Service’ and ‘Metadata
Service’ urls.
The discovery service returns the list of organization URLs that the current-requester
(current user) belongs to. During the Outlook client configuration discovery service
shows he list of organization the current-user belongs to.

This web-service is used to create authentication ticket in case of Windows live


authentication.

Q. Suppose I want to migrate an Microsoft CRM implementation from one


environment to other environment. Let us assume that there a published
workflow for account entity. Now in normal usage there will be few
accounts-records for which the workflow will be waiting/Waiting for
Resource/Failed/Succeded state. So what should be our strategy for the
migration. What will happen to the records which are in waiting state and
what will happen to the records which are in-progress?
Q. Suppose there is a plug-in registered for account entity. When a user
submits a request (e.g. account creation etc.) to the web-server then what
will happen in the server?
Ans – The plug-in will get loaded into the memory and will perform the operation it is
needed to do.
Q. Now what will happen if 100 users will submit the request to the web-
server? The plug-in code will get loaded into the memory for 100 times?
Ans – Answer is NO. Noticable point over here is that the Microsoft CRM is a mananged
application and runs under .Net framework. So whenever the first request arrives at the
web-server the plug-in code is loaded into the memory and will perform its operation
and susequently the same plug-in code will serve the process for other user as well. So
this way it saves the amount of time required to load the plug-in into the memory. If the
plug-in code is not being used for long then the Garbage collector will identify it and will
sweep the plug-in out from the memory.
Q. How to add/remove columns in an entity lookup window.
Ans – Go to Settings >> Customization >> Select the entity >> Click ‘Forms and Views
in the Left Nav Pane” >> Double click the ‘Entity Lookup View’ >> Dialog box appears
that contains the Add/Remove and Sorting options for a lookup view.
Q. How to Debug the java script that we write for some validation on entity
pages.
Ans – Following are the steps that are needed to be followed:
1. Enable the Debugging in the Internet Explorer – Goto Tools >> Internet Options
(wizard will appear >> Click the ‘Advanced Tab’ >> Under Browsing Section uncheck
the ‘Disable script debutting’ checkbox >> Click OK.
2. Edit the java script code of the Entity Page that you want to debug.
3. Put the statement ‘debugger;’ above the line where you want do the debugging. e.g.
suppose my java-script show ‘Hello World’ message and i want to debug this then
following is the way I am going to add script:
debugger;
alert(‘Hello World’)
4. Save and Publish corresponding customization.
5. Perform the operation that would trigger the java script written by you
6. Debugger dialog box will appear and select appropriate debugger (Visual Studio new
or existing instance)
And you may start debugging from the ‘Debugger’ statement of your javasript.
More to Come…

1.2 Part 2

Following are the some of the questions which are asked most frequently in the
Microsoft CRM interviews. Generally the during the recruitment of MS CRM Functional
consultant, Technical Consultant or Test Consultant the answer to this questions are
expected.I will add few more questions in this post.
1. What is a Plug-in?
2. What is a Workflow?
3. What are the differences between Plug-in and a Workflow?
4. What are the differences between Asynchronous Plug-in and a
Workflow?
5. When will you use a workflow and when will you use a Plug-in? Give
some Real-life scenario.
6. What is an Email-Router?
7. What are the steps to configure an Email router?
8. How the Plug-in and Workflow will behave in case of Off-line client?
9. What is Metadata?
10. What is CRM Discovery Service?
11. What is Sales and Marketing life cycle in MSCRM?
12. What is Queue entity in MSCRM?
13. What is 1:1, 1:N and N:N relationship in Microsoft Dynamics CRM?
14. How a Plug-in is different from a Call-out?
15. What is ‘Append’ and ‘Append To’ privilege in MSCRM? Give one
example of it?
Ans: ‘Append’ and ‘Append To’ priviledges works together. ‘Append To’ priviledge will
allow other entities to get attached with the entity. ‘Append’ priviledge will allow the
entity to attach the records to the entity with ‘Append To’ privildege.
Let us understand this with simple example:
Let us say that you want to attach a note to a case then note entity should have ‘Append’
access right and case entity should have ‘Append To’ access right.
Let us take one more example to understand this. Suppose you have two custom entities
called ‘TestCustomEntity1’ and ‘TestCustomEntity2’. You want to attach the
‘TestCustomeEntity2’ records to ‘TestCustomEntity1’records. For this you need to have
‘Append’ access right on ‘TestCustomEntity1’ entity and ‘Append To’ access right on
‘TestCustomEntity2’.
Now guess will I be able to attach the records? Answer is “NO” because we need to
create a 1:N relationship between ‘TestCustomEntity1’ and ‘TestCustomEntity2’.
Now the user who has above mentioned access right in his security role will only be able
to add ‘TestCustomEntity2’ records to ‘TestCustomEntity1’.
16. How to create a Custom Entity record using SDK?
Ans: Using Dynamic Entity.
17. How to join two table using Query Expression?
Ans: Using Linked entity. You should always try to minimize the number of SWS calls
that we make in the database. Often during code review it is explored that the number of
Microsoft CRM web-service could have been reduced by making use of the Linked-entity
concept. So we should always look for the opportunity to minimize the effort.
18. Can we modify the name of Root Business Unit?
Ans: No; We will have to re-install MSCRM.
19. Suppose if I have 20 user license and I have created 20users. What will
happen if I create 21st User?
Ans: The 21st User will get created in MSCRM but that user will be in disabled state.
20. What are the maximum number of tabs allowed on a Microsoft
Dynamics CRM 4.0 form?
Ans: 8
21. How to enable/disable the form assistant? How to make sure the form
assitant is expanded/cllapsed on a form?
Ans: Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open
Form >> Select Form Properties >> Open Display Tab >> Check/Uncheck the “Enable
the Form Assistant” and “Expanded by Default”.
The interviewer will always try to figure-out whether one is comfortable with the basic
concepts of Microsoft CRM (MS CRM) or not and after that; questions will be asked
from your previous experience (if you have any experience in CRM). Those questions
will be something like this:
1. What was you role in the MSCRM implementation project that you have
worked on?
You should be honest while giving answer to this question and should give a brief
overview of the project and your role. This is very important question because the
answer of this question will tigger so many questions. You should highlight the key skills
you have; this way you will divert the attention of the interviewer to your key skills and
try not to expose the area in which you are less confident.
2. What was the most challenging task you have faced till now?
Here you should give answer that exihibit your positive attiude . e.g. for a techincal
consultant it may be something like … “I was new to the suppport and during this
experience i faced challenging issue related to plug-in that impoved my debugging skills.
Email-to-case plug-in was really diffcult as we had to take care of so many conditions. I
have learnt one thing during my previos assignment and that is ‘Never give-up'”.
3. What was the size of the implementation? (i.e. the number of user-
licenses)
I hope this post will help you to crack technical interviews on MSCRM. All the best for
your interview…

1.1.1 What are plug ins? Have u implemented , developed plug ins?

Deciding when to use a workflow vs. a plug-in is usually a straight forward process. In
general, I always recommend using workflow to automate business processes especially
if the business process will be later modified/maintained by “business” people (non IT).

However, there are some characteristics that will guide you to use one versus the other
that do require you to know a bit more details of the task that you are trying to achieve.
For example, if you require performing an action right away, let’s say when a record is
updated (synchronous), then you have to use plug-ins because workflows are always
asynchronous.

With the CRM 4.0 enhancements to the plug-in and workflow engine as well as the
introduction of the web based workflow designer I’ve seen many CRM developers asking
the same question: When should I use workflow vs. plug-ins? The answer is “depends”;
the right approach is determined by the characteristics of the task that you are trying to
accomplish. The following matrix gives you my take on this:
Requirement Plug-in Workflow

Needs a synchronous
action to happen before or
after an event occurs x

The same piece of logic will


be executed for different
events and possibly on
different entities x x

The logic needs to be


executed while offline x

Needs elevation of
privileges (impersonation) x

Needs to execute on
events other than assign,
create, update, setstate x

The process/logic may take


a long time to complete or
will be a persistent process
(multiple long running
steps) x

Needs an asynchronous
action x x

End users will need to


modify the process logic x

Child sub processes will be


triggered x

It may also be the case that a combination of both approaches is required; a plug-in can
trigger a workflow and a vice versa. From the above matrix the most decisive factor is
whether you need a synchronous action or not; if you do, plug-ins are the way to go, if
you don’t then other factors need to be pondered.
1.1.2 Deployment of CRM, load balancing

CTI integration with CRM


Implementing MS crm in Chinese language
Ms CRM architecture
Creating custom workflow in MS CRM
Data migration to MS CRM.
Data synchronization using MS CRM
Outlook client customizations….. shared mail folders etc.
MS Exchange server
MS CRM implementation methodology
Web services of MS CRM
Plug ins
Custom workflows
Scrib
How do u implement a solution in foreign language
Deployment of ms CRM
Common issues of MS CRM
There are plenty of questions are available but here you go with some of the questions,
please find the answers in the google.

most common questions:

1. Difference between PlugIn vs Workflow (Asynchronous vs Synchronous)


2. What are basic security permissions at domain level (priv reporting group, privUser group, SQL
Reporting group... total 5 groups availble google it.)
3. for plugin deployment, Difference between GAC, DataBase, Disk deployments.
4. Difference between CRM webservice Vs CRM.SDKProxy namespaces.
5. Calling Dynamic Entities (knowledge on Moniker, INputParameters, OutPutParameters, and
MetaServices.)
6. Difference between GUID and Key, Lookup and String
7. Knowledge on Java Script and SOAP webservices, most important how to call XmlHttpRequest.
(Bold questions are high priority quesitons, you will get answers in google. if not ask me.)
8. how many max number of tabs available in MS CRM Entity Form (officially max 8
tabs, unofficially we can do plenty(Its not recommended by Microsoft CRM))

You will get remaining questions in google.

Hope it will blast your interviews, let me know if you are in US

Interview Questions
Dear Friends, I have prepared common interview questions on Dynamics CRM from experience. I
have divided the questions based on topic and complexity. I will update the remaining topics also
soon….
Suggestions/comments are always welcome so feel free to give suggestions under comments section
on this blog to improve more
Topic-1 : General Questions (Services, Field/Form security,
Auditing, etc)
Topic-2: Field Level security
Topic-3 : Customizations (Entity, field, form, view, Ribbon,
dashboard)
Topic-4 : Solutions
Topic-5 : Differences
Topic-6 : Plug-ins
Topic-7 : Workflows
Topic-8 : Security Roles
========================================================================
====================================

Topic-1 : General Questions (Services,


Field/Form security, Auditing, etc):
========================================================================
====================================
Click here for Ans

Easy
1. What are the services available in CRM 2011?
2. What is the main difference between CRM 4.0 and CRM2011 services?
3. Any idea on current version of CRM?
Medium
1. What is Discovery service and purpose of it?
2. What are the REST calls in CRM?
3. What is early binding and late binding. How is it used in CRM?
4. What is PrinciplalObjectAccess table why is it used?
5. What is the use of stringmap table?
Advanced:
1. What are the different types of Authentication methods supported in Dynamics CRM
2. What are different types of Modules we have in CRM?
3. Can you explain the Marketing Life cycle in CRM?
4. Can you brief on Sales module of CRM?
5. How the service module works in CRM?
6. Explain details about “Event Execution Pipeline”
7. What is field level security?
8. What is form level security?
9. Can we control the field level security based on security role?
10. Can we control the entities in site map with security roles?
11. Will auditing slow down my system?
12. Does audit data count against my CRM storage quota?
13. Can I audit just changes done by a couple users?
14. Can I schedule auditing to be turned off during data import?
15. What type of operations and data can be audited in CRM?

Easy
1. What are the different WCF services available in CRM 2011/2013/2015?
CRM provides 3 WCF services as below

o Discovery service
o Organization service
o Organizaton OData service
2. What is the main difference between CRM 4.0 and CRM2011 services?
We had separate services for “CRM Service” and “Metadata” in CRM 4.0. In CRM 2011 we
have both in same service “Organization.svc”
3. Where we can find the WCF services addresses in Dynamics CRM
Navigate to Settings –> Customizations –> Click on Developer Resources –> Here user can
see the 3 WCF services URLs.

4. Any idea on current version of CRM?


CRM 2015 is out now and soon MS will release CRM 2015 Update1

Medium
1. What is Discovery service and purpose of it?
http://www.magnetismsolutions.co.nz/blog/roshanmehta/2012/07/04/the_microsoft_dynamic
s_crm_2011_discovery_service
2. What are the REST calls in CRM?
3. What is early binding and late binding. How is it used in CRM?
http://www.magnetismsolutions.com/blog.aspx/roshan-mehtas-
blog/2012/05/04/dynamics_crm_2011_early_vs._late_binding_overview
https://woodsworkblog.wordpress.com/2013/02/25/crm-2011-early-binding-vs-late-binding-
performance/
4. What is PrinciplalObjectAccess table why is it used?
http://blogs.msdn.com/b/crminthefield/archive/2011/06/09/principalobjectaccess-
performance-recommendations.aspx
5. What is the use of stringmap table?

Advanced:
1. What are the different types of Authentication methods supported in Dynamics CRM
2. What are different types of Modules we have in CRM?
CRM provides mainly below modules:

o Sales
o Marketing
o Servive
o Apart from these we can Extend the CRM system based on our requirements with
customizations, Plug-ins, workflows and integrations
3. Can you explain the Marketing Life cycle in CRM?
Click here to see Video on Marketing module
4. Can you brief on Sales module of CRM?
Click here to see Video on Sales module
5. How the service module works in CRM?
Click here to see Video on Service module
6. Explain details about “Event Execution Pipeline”
7. What is field level security?
8. What is form level security?
9. Can we control the field level security based on security role?
10. Can we control the entities in site map with security roles?
11. Will auditing slow down my system? No, it will not slow down CRM system because all
auditing data is stored in a single audit table. This design keeps the audit logs
completely separated from other CRM data.
12. Does audit data count against my CRM storage quota?
Yes audit data occupies the CRM storage. Hence, as a best practice we need to clean up the
audit data on a regular basis as part of yearly maintenance.

“Settings / Auditing / Audit Log Management “ will show the space that occupied by audit
data in CRM DB.

13. Can I audit just changes done by a couple users?


Auditing is turned on or off based on the entity or attribute. If auditing is only desired for a
couple users custom code is needed.

14. Can I schedule auditing to be turned off during data import?


Yes. Auditing can be scheduled to be turned off during a data import but this requires custom
code.

15. What type of operations and data can be audited in CRM?


Below data and oprations can be audited in CRM:

o Create, update, and delete operations on records.


o Changes to the shared privileges of a record.
o N:N association or disassociation of records.
o Changes to security roles.
o Audit changes at the entity, attribute, and organization level. For example, enabling
audit on an entity.
o Deletion of audit logs.
o When (date/time) a user accesses Microsoft Dynamics CRM data, for how long, and
from what client.

========================================================================
====================================
Topic-2: Field Level security
=================================
=================================
=================================
=========
Click here for Ans

Easy:
1. What is the importance of field level security in CRM?
2. What are the permission we can restrict on specific field with field level security?
3. What are the high level steps to enable field level security?
4. What will happen if a field is enabled for field level security?
5. What a field level security profile contains in CRM?
6. Can we add user/team to more than one field level security profile?
7. Can we delete System Administrator field level security profile?
8. Can we set field level security for OOB fields?
9. Do Audit history maintained for enabling and disabling field level security by setting
“IsSecured” on a field?
10. What will happen if the user don’t have “Read” security on a field?

Medium:
1. How can we know what are all attributes can be secured in CRM with field level security?
2. Do all attribute data types support to restrict all permissions with field level security?
3. Which security roles allow you to see secured fields?
4. What will happen if multiple profiles assigned to user/team?

Advanced:
1. How do secured fields behave for create or update?
2. How do secured fields behave for Retrieve and RetrieveMultiple?
3. How do secured fields behave when records are shared?
4. How do secured fields behave for filtered views?
5. How do secured fields behave for offline synchronization?

Easy:
1. What is the importance of field level security in CRM?
Field level security allow us to restrict the users/teams on individual fields
2. What are the permission we can restrict on specific field with field level security?
Below are the security permission that we can restrict the users/teams on individual fields:
o Read
o Create
o Update
3. What are the high level steps to enable field level security?
o Enable field-level security for an attribute
o Create a field-level security profile
o Associate users or teams with the profile
o Add specific field permissions, such as Create, Update or Read for a specific
attribute to the profile
4. What will happen if a field is enabled for field level security?
A field that is enabled for field level security is added to all field level security profiles in
CRM.
It will automatically be added to all Field Level security roles with Read, Create and Update
all set to No.
5. What a field level security profile contains in CRM?
Field level security profile contains all the fields from all entities which are enabled for field
level security.
6. Can we add user/team to more than one field level security profile?
Yes, we can.
7. Can we delete System Administrator field level security profile?
No, we can’t
8. Can we set field level security for OOB fields?
No, we can’t. We can set only for custom fields
9. Do Audit history maintained for enabling and disabling field level security by setting
“IsSecured” on a field?
No.
10. What will happen if the user don’t have “Read” security on a field?
The filed on the form shows as “*** asterisks” if a user does not have read access to a field.
Even the field is blank/null, user can see “*** asterisks” on field.

Medium:
1. How can we know what are all attributes can be secured in CRM with field level
security?

There are thousands of attributes from all entities those can secured with field level
security. We can get those attributes in 2 simple ways:
o Install metada ta browser for the customized CRMs and query the entity
metadata for the following properties CanBeSecuredForCreate,
CanBeSecuredForRead and CanBeSecuredForUpdate
o Open EntityMetadata.xlsx file for uncustomized CRM and query the entity
metadata for the following properties CanBeSecuredForCreate,
CanBeSecuredForRead and CanBeSecuredForUpdate
2. Do all attribute data types support to restrict all permissions with field level
security?

No, there are a few additional rules that apply to certain attribute data types
o Boolean attributes can be secured for create and update operations but not for
read.
o Option set attributes can be secured for create, update, and read when a
default value is unspecified.
3. Which security roles allow you to see secured fields?

System Administrator
o The System Administrator field security profile gives full access to all
secured fields in Microsoft Dynamics CRM. By default, all users who have
the System Administrator security role have this profile. This profile is
system managed and can’t be updated or deleted.

4. What will happen if multiple profiles assigned to user/team?


User/Team receives the least restrictive permissions

Advanced:
5. How do secured fields behave for create or update?
If user prepares an object with secure fields to Create/Update a record then it will
show “Insufficient permission” error on creating/updating the record.
6. How do secured fields behave for Retrieve and RetrieveMultiple?
When user call the Retrieve/RetrieveMultiple messages, CRM evaluates if the user
has access to each retrieved record and each secured field. CRM wont show error
message if the retrieve column set contains secure fields instead null values are
returned for secured fields.
7. How do secured fields behave when records are shared?
A user with access to a secured field in a record can choose to share it with another
user or team. The user can only give the access that they have on the record. For
example, to share the record and grant Update privileges, the user must have update
privileges.
You can share a secured field on a particular record with Read and/or Update with a
security principal (user or team). The user or team members with whom the record
was shared now have that type of secured field access only on the shared secured
fields on only that particular record, even if the user or team member to whom it was
shared does not have a field security profile that gives them access.
8. How do secured fields behave for filtered views?
Filtered views will not return data for the secured fields if the calling user does not
have authorization for the fields. When no field security is applied for any of the
view’s attributes, the filtered views return complete data.
9. How do secured fields behave for offline synchronization?
Only the secured field values that you have access to replicate into the offline
database. If you don’t have access to the data, it is not saved offline.

========================================================================
====================================

Topic-3 : Customizations (Entity, field,


form, view, Ribbon, dashboard):
========================================================================
====================================
Click here for Ans

Easy:
1. Can we modify the name of root business unit?
2. Can we have 2 BU’s for a single user?
3. Can we add different BU related users to a single Team?
4. Where we need to change the prefix for custom components?
5. How to see the CRM version information?
6. Where can we set the Default module and Entity to get on opening CRM?
7. Where to do the user related (personal) settings?
8. Where to change the #of records count limit that displaying in entity grid view?
9. What is the maximum limit of records can be displayed in CRM grid view?
10. Where can we change the number, currency and time formats?
11. What are the different data types we have in CRM?
12. Can we create a new field from form customization?
13. What is the max chars limit for “Multiline textbox”?
14. What is the lookup data type and where it will be placed?
15. What is the char limit for custom components pre-fix?
16. Where does CRM store Option Set values in SQL Server?
17. What are requirement levels we have to create a new field for an entity?
18. What are the default settings for Field level security and Auditing?
19. How can you customize the CRM Ribbon?
20. Where can we get Organization and Discovery service URLs in CRM instance?

Medium:
1. How many types of relationships are available in crm?
2. What are the “Relationship behaviors” in CRM and explain each of them?
3. Where the Option set field options are stored in CRM?
4. How can you add Custom buttons to Ribbon?
5. How can you Hide system ribbon buttons?
6. How can you override system ribbon button functionality?
7. Is there any way to get Intelligence for Ribbon customizations in VS? If yes, how?
8. What are filtered views?
9. What is the importance of Application Ribbon component in CRM?
10. What is the importance of Site map in CRM?
11. What are the different types of forms we can create in CRM 2015?
12. What are the limitations of Quick create form w.r.t controls and design?
13. What are the limitations of Quick view for w.r.t. controls and design?
14. What are the different web resource supported by CRM?
15. Can we enable/disable the plug-in steps from CRM solution?
16. What are the different types of views we have in CRM?
17. How can we create a custom activity in CRM?
18. What are the different changes you observer between custom entity and custom activity?
19. What will happen if we set “Searchable” as “No” for a field from customizations?
Advanced:
1. What is the difference when the ownership is user vs organizaion for a custom entity?
2. What are the types of Ribbons we have in CRM 2011?
3. What will at backend on creation of new custom entity in CRM?
4. What are the different type of N: N relationships we have in CRM?
5. What are the options we can’t rollback if we enable them while creating custom entity?
6. What are the options we can rollback if we enable them while creating custom entity?
7. What are the settings we need to do to see the entity relations from Advanced find?
8. What is the importance of “Manager Properties” on CRM components?

Scenarios
1. When we should go with Global option sets?
2. What is the importance of Manual N:N relationship? Can you explain with a simple scenario?
3. When we can use multiple forms? Can you explain in detail?

Easy:
1. Can we modify the name of root business unit?
No, we cant. We have to re-create the crm instance.
2. Can we have 2 BU’s for a single user?
No
3. Can we add different BU related users to a single Team?
Yes
4. Where we need to change the prefix for custom components?
Under Publisher record
5. How to see the CRM version information?
 Click on settings Icon at top right corner of the CRM instance
 Select About
 A pop-up window will be opened with version information
6. Where can we set the Default module and Entity to get on opening CRM?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under General tab, select Default pane and Default Tab
7. Where to do the user related (personal) settings?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Here, user can update general settings like default module, #records per grid view,
tmezon, currency, email settings, format settings, synchronization settings, email
templates and etc.
8. Where to change the #of records count limit that displaying in entity grid view?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under General tab, select the value for Records per page (25, 50, 75, 100 and 250)
9. What is the maximum limit of records can be displayed in CRM grid view?
250
10. Where can we change the number, currency and time formats?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under format tab
 Click on “Customize”
 Here, user can change the format of Number, Currency, Date and Time
11. What are the different data types we have in CRM?
 Single line of text
 Multiple lines of text
 Currency
 Date and Time
 Whole Number
 Decimal Number
 Floating Point Number
 Option set
 Two Options
 Image
 Lookup
12. Can we create a new field from form customization?
Yes
13. What is the max chars limit for “Multiline textbox”?
1048576
14. What is the lookup data type and where it will be placed?
It will be created on 1:N relationship mapping and will be placed at “N” side entity
15. What is the char limit for custom components pre-fix?
2-8
16. Where does CRM store Option Set values in SQL Server?
StringMapBase
17. What are requirement levels we have to create a new field for an entity?
 Optional
 Business recommended
 Required
18. What are the default settings for Field level security and Auditing?
 Field level security : Disable
 Auditing : Enable
19. How can you customize the CRM Ribbon?
Mention the tool name which you are using to customize the CRM Ribbon. (Ribbon editor,
Ribbon Workbench, etc)
20. Where can we get Organization and Discovery service URLs in CRM instance?
–Navigate to Settings > Customizations –> Developer Resources
Share this:

========================================================================
====================================

Topic-4: Solutions
========================================================================
====================================
Click here for Ans
Easy:
 What are types of solutions in CRM 2011?
 Can we export Default solution as “Managed Solution”?
 What is Managed Solution?
 What is unmanaged solution?
 Can we update the components in Managed solution?
 What is the process to update Managed solution?
 How can we know the Owner of Managed solution?

Medium:
1. What are components we can add from solutions?
2. What is meant by web resources and how many types of web resources we have?

Advanced:
1. What are the minimum privileges required to create solution?
 Read write of Customizations
 Read write of solutions
 Read write of publishers
 Read write of web resources
 Import and Export customizations
 Publish customizations
2. What is meant by Managed Properties?
3. What is meant by publisher and why we are using it in CRM 2011?

Easy:
1. What are the different types of solutions in Dynamics CRM?
There are two types Dynamics CRM solutions: Managed and Unmanaged. We have ‘Default
Solution’ also in CRM with all components of instance
2. Can we export Default solution as “Managed Solution”?
No
3. What is Managed Solution?
Managed solutions is a kind of completed package that we can distribute to others to install
in their CRM organizations.
4. What is unmanaged solution?
Unmanaged solutions is a group of unmanaged customizations. Any unmanaged customized
solution component can be associated with any number of unmanaged solutions.
We can export an unmanaged solution as Managed solution. We can’t rollback the
customizations once import into CRM instance.
5. Can we update the components in Managed solution?
No, we can’t update the components in Managed solution
6. What is the process to update Managed solution?
By using Managed Properties of Managed solution
7. How can we know the Owner of Managed solution?
Each Managed solution is linked with Publisher. Publisher indicates the owner of the
Managed solution who developed it.
8. What is the difference between Remove and Delete buttons on solution?
Remove button release the components from the solution whereas Delete button removes the
component from CRM system.
9. What are all the steps to create a solution?
 Navigate to Settings – Solutions
 Click on New
 Fill the required fields like Name, version. Select the Publisher record (Create if not
existed)
10. What are all the steps to Export the solution as Managed solution?
 Navigate to Settings – Solutions
 Select the solution that you want to export
 Click on “Export”
 Follow the Wizard and select “Managed” solution type in “Package Type” page.
 Follow the remaining steps in wizard and save the solution

MEDIUM:
1. What are all components can be added to solution?
The following is a list of solution components that you can view within a solution:
 Application Ribbon
 Article Template
 Business Rule
 Chart
 Connection Role
 Contract Template
 Dashboard
 Email Template
 Entity
 Entity Relationship
 Field
 Field Security Profile
 Form
 Mail Merge Template
 Message
 Option Set
 Plug-in Assembly
 Process
 Report
 Sdk Message Processing Step
 Security Role
 Service Endpoint
 Site Map
 Web Resource
2. What is meant by web resources and how many types of web resources we have?
Web resource is one of the component in CRM to create JS, HTML, Silverlight, images and
style sheet files. We can create below types of web resources in CRM:
 Webpage (HTML)
 Style Sheet (CSS)
 Script (JScript)
 Data (XML)
 Image (PNG)
 Image (JPG)
 Image (GIF)
 Silverlight (XAP)
 StyleSheet (XSL)
 Image (ICO)
3. What are all the new components we create from solution?
Below components can be directly create from solution file:
 Entity
 Option sets
 Web Resources
 Processes
 Dashboards
 Reports
 Connection Roles
 Security Roles
 Templates (Email, Mail merge, contract and Article)
 Field security profiles
4. What are all the components require Publish when they update in system?
Below solution components require publishing when they are updated:
 Application Ribbon
 Entity
 Entity Relationship
 Field
 Form
 Message
 Option Set
 Site Map
 Web Resource

ADVANCED:
1. What are the minimum privileges required to create solution?
 Read write of Customizations
 Read write of solutions
 Read write of publishers
 Read write of web resources
 Import and Export customizations
 Publish customizations
2. What is meant by Managed Properties?
We can’t customize Managed solution components. By using, Managed properties of
Managed solutions users can customize these Managed solution components.
3. What is meant by publisher and why we are using it in Dynamics CRM Solutions?

Every solution in CRM has a Publisher. Publisher record stores the information like address
and contact information of solution publisher.
CRM default solution has its own default publisher with the name “Default Publisher for ”
We can create our own Publisher for solution and can define the “Prefix” for the custom
components and start value of Option set values.

Please click here for more information on Publishers

========================================================================
====================================

Topic-5: Differences
========================================================================
====================================
Click here for Ans

Easy:
1. Discovery service Vs Organization service
2. Managed Solution Vs Unmanaged Solution
3. Plug-in Vs Workflow
4. Workflow Vs Dialogue
5. Sync Vs Async Plug-ins
6. Global Option set Vs Normal Option set field in CRM
7. Append Vs AppendTo
8. Share Vs Assign
9. Organization owned entities Vs User Owned entities

Medium:
1. Query Expression Vs Fetch XML query
2. Query Expression Vs Query by Attribute
3. Form level security Vs Field level security
4. Pre-Image Vs Post Image in Plug-ins
5. Plugin deployment: Difference between GAC, DataBase, Disk deployments.
6. SQL based Vs Fetch XML based SSRS reports

Advanced
1. Async Plug-in Vs Custom Workflow
2. Pre-Validation step Vs Pre-Operation step
3. Secure configuration Vs Unsecure Configurations in Plugin
October 12, 2015P.R.M

1. Discovery service Vs Organization service


Discovery Service :
The IDiscoveryService Web service is used to determine the organizations that a user is a
member of, and the endpoint address URL to access the IOrganizationService Web service
for each of those organizations. This discovery service is necessary because Microsoft
Dynamics CRM is a multi-tenant environment—a single Microsoft Dynamics CRM server
can host multiple business organizations. By using the discovery Web service, your
application can determine the endpoint address URL to access the target organization’s
business data.
Organization Service
It is a primary web service that accesses data and metadata of an organization. This web
service contains the methods that you use to write code that uses all the data and metadata in
Microsoft Dynamics CRM.
2. Global Option set Vs Option set field

Click here to get more info on Global Option set


3. Organization owned Vs User Owned entities
When we create a new entity in CRM, we have two option for “Ownership” as “User or
Team” and “Organization”. Below are the main differences between these two types of
entities.
Owned Entity User/Team owned Entity

Entity doesn’t has Owner ID field. Hence, these Entity has owner ID field. Hence, it
entity records can’t be owned by any user/team. can be owned by user/team.

Entity records can be viewed by whole organization Entity records can be viewed by user
users based on their security roles

Records cannot be shared or assigned Records can be share and assigned

Entity has only two security access levels as “None” Entity has all access levels (None,
and “Organization” user, BU, Parent: Child BUs, Org)
4. Fin Vs Advanced Find
Find Advanced Find

Search is performed on Search can be performed on any attributes, users can


defined attributes in Quick customize the attributes
Find view

Find searches only Active Advance Find searches in all records including inactive
records in an entity records

Fine filters on only one User can declare multiple conditions dynamically in
condition Advanced Find. User can define complex queries with
GROUP AND & GROUP OR

Find gives better performance Less performance


than Advanced Find
5. Managed Solution Vs Unmanaged Solution
Unmanaged Solution
All solutions start out as Unmanaged. When it is in the unmanaged state, you can add,
remove, update, and test any of the components of the solution. You can delete components of
your unmanaged solutions, while leaving it available for use in the rest of the system. Some
on the MS CRM dev team have likened this to your ‘source’ code of your system. The great
thing about an Unmanaged Solution is that during development, you can create restrictions
(like ‘not customizable’) on the components as they evolve.
Managed Solution
When your unmanaged solution is ready for the show, you simply export it to ‘Managed’.
You could think of this as ‘compiling’ you code. You set the restrictions (i.e. prevent
customizations on certain components) and the end user lives by those rules. But remember,
they can still customize the components of the solution that are unrestricted. You cannot add
or remove components of a solution, even if the component is unmanaged.
Once you have packaged the Managed Solution, it can be installed into another organization.
They can also be deployed across multiple deployment types (Online, Partner Hosted, On-
Premise) and all CRM Clients (web, Outlook, Mobile Express, and Offline via Outlook
Client).
6. Append Vs AppendTo
‘Append’ and ‘Append To’ privileges works together in CRM. ‘Append To’ allows other
entities to get attached with it. ‘Append’ privilege will allow the entity to attach the records
of an entity which has ‘Append To’ privilege.

Ex:
Generally, we attach notes to an entity (Account). To do this Note should have “Append”
privilege and Accounts should have “Append To” privileges.

Let say Entity1 and Entity2 has 1:N relation. Entity1 should have Append To and Entity2
should have Append permission to relate both the entities records with lookup.
7. Share Vs Assign
Share Assign

User who has share privileges on entity record can User who has Assign privileges on
share to another user entity record can share to another
user

On sharing the record, selected permission given to On Assigning record, Ownership


new user on that record. Here, ownership of the will be transferred to new user
record remain same.

We can use GrantAccess, ModifyAccess and We can use AssignRequest to


RevokeAccess Messages to share the records with assigned records with SDK
SDK
8. Form level security Vs Field level security
Click Here
to know the difference between Form level security Vs Field level securityn
9. Plug-ins Vs UI Workflow

Click here
to know the difference between Plug-ins Vs UI Workflow
10. Synchronous Vs Asynchronous Plug-ins
Synchronous Plug-ins Asynchronous Plug-ins

These Plug-ins are executed by the CRM These plug-ins are executed by
Core System Asynchronous service

Synchronous means the triggering point will Triggering event don’t wait to finish the
wait until the Plug-in finish its execution. Asynchronous plug-in to complete.

Generally, we use Synchronous plug-ins to do Generally, we use this plug-ins to improve


validations before any actions happened, Any the server performance. If the Plug-in logic
action that should be performed immediately. takes more time and that need to not to be
It give lesser performance compare to happen immediately then we can go with
Asynchronous plug-ins. these plug-ins.
11. UI Workflows Vs Dialogue

Click here
to know the difference between Workflows Vs Dialogue
12. Advanced Find Vs Reports
Click Here
to know the difference between Advanced Find and Reports
13. QueryByAttribute and QueryExpression
Click Here
to know the difference between QueryByAttribute and QueryExpression
14. QueryExpression and FetchExpression
Click Here
to know the difference between QueryExpression and FetchExpression

========================================================================
====================================

Topic-6: Plug-ins
========================================================================
====================================

Easy:
1. What is the process to develop the Plug-in?
2. What is the process to register the Plug-in in CRM?
3. What are stages we have in CRM?
4. What is the namespace for IPlugin Interface? (Xrm.Sdk)
5. What is the method we need implement from IPlugin interface?

Medium:
1. Do we have all attributes on the form in “Target” attribute of Input parameters in CRM?
2. Which type of plug-ins contains “Output Parameters”
3. When can infinite loop occur in a plugin? How do you avoid infinite loops in plugin code?
4. Different fields in context object
5. When we can go for pre-validations and when we can go for pre-stage?
6. At what events “Images” are not available
7. What is the advantage of adding “Pre or Post” images to a plug-in
Advanced:
1. How can you debug the Plug-in code?
2. What is plug-in profiler and importance of it?
3. What is the secured configurations and how can we access from plug-in code?
4. What is the unsecured configurations and how can we access from plug-in code?
5. What are the minimum privileges a user should have to register a plug-in in CRM?
6. What are different methods of Plug-in storage?
========================================================================
====================================

Topic-7: Workflows
========================================================================
====================================

Easy:
1. What is the process of creating sample UI workflow?

Medium:
1. How can we create Timeout conditions in workflow?
2. Difference between Timeout and Wait conditions?
3. What is the importance of scope option in workflow?

Advanced:
1. What is CorrelationToken in workflows and importance of it?
2. Generally, workflows are getting failed after 8 iterations. Is there any way to overcome this?
========================================================================
====================================

Topic-8: Security Roles


=================================
=================================
=================================
=========
Easy:
1. Explain the difference between Append & Append To?
2. Can you explain the difference between Share and Assign?
3. What are the different access levels we have in CRM?
4. What are the different types of privileges we have in CRM?
Medium:
1. What is the default role assigned to user if it created from OOB import tool?
2. Which roles will get access by default on creation of custom entity?
3. Can we export child business unit security roles?

Advanced:
1. What are the minimum privileges required to track the outlook appointments into CRM?

Scenarios:
1. User wants add notes to an account record. Which privileges he should have on account and
notes?
1) What is a Plug-in?

A plug-in is custom business logic that you can integrate with Microsoft Dynamics CRM 2011 and Microsoft
Dynamics CRM Online to modify or augment the standard behavior of the platform. Plug-ins are event handlers since
they are registered to execute in response to a particular event being fired by the platform.

2) What is a workflow?

Workflow enables automation of business processes during which documents, information, or tasks are
passed from one party to another and actions are performed according to a set of rules. Workflow provides many out-
of-the-box components that business users and administrators can use to model their business processes. Microsoft
Dynamics CRM offers developers a new mechanism to extend and customize the standard behavior to achieve the
functionality that their business applications require.

3) Difference between CRM 2011 Plug-In and Workflow

Criteria Plug-in Workflow

Execution
Executes immediately
before or after
before or after the core
the core Queued to execute
operation
platform after the core operation
(synchronous).Can also be
operation (always
queued to execute after the
(Create, Update, asynchronous).
core operation
Delete, and so
(asynchronous).
on)

Performance Synchronous plug-ins can


Less impact on server
impact on the increase the platform’s
response time because
server response time because they
the code is run in a
are part of the main
platform different process.
processing.Asynchronous
plug-ins have less impact
on server response time
because the code is run in a
different process.

Users can interactively


create workflows in
To register a plug-in with the Web
the platform requires a application.However,
System Admin or System to register a custom
Security
Customizer security role workflow activity, the
restrictions
and membership in the deploying user must
Deployment Administrator have the same security
group. roles as those required
for registering plug-
ins.

Workflows without
Supported in Microsoft custom workflow
Dynamics CRM Online activities are supported
Microsoft
when registered in the by all product versions.
Dynamics CRM
sandbox. May be supported Custom workflow
version (SKU)
in partner-hosted activities are not
support
installations at the supported on
discretion of the partner. Microsoft Dynamics
CRM Online.

A plug-in registered for


synchronous or
Works well for either
Length of asynchronous execution is
short or long
processing time restricted to complete its
processes.
execution within a 2
minute time limit.

Works when the


Both online and offline are Workflows do not
Microsoft
supported. execute when offline.
Dynamics CRM
for Outlook
client is offline
Workflows can be
paused, postponed,
canceled, and resumed
Plug-ins execute to
through SDK calls or
completion. Plug-ins must
Process and data by the user through the
be written to be stateless
persistence Web application. The
where no in-memory data
state of the workflow
is persisted.
is automatically saved
before it is paused or
postponed.

Plug-ins can perform data


Workflows cannot use
Impersonation operations on behalf of
impersonation.
another system user.

4) Difference between plugin vs workflow (asynchronous vs synchronous)

 Workflows and by extension, custom workflow activities, execute totally asynchronously.


 Plugins can execute both asynchronously and synchronously.
 Workflows can be manually executed, or automatically triggered by selected events.
 Workflows can be limited to automatically execute within specific organizational scopes (ie. Org, BU, Parent and
Child BUs, or for the Owner only).
 Plugins are always triggered by the messages to which they're subscribed, though some Messages allow
limiting execution based on whether certain attributes have been passed into the Message.
 Workflows can be turned off (by unpublishing). Plugins are always on. Custom workflow activities can be used
in many Workflows.
 Workflows can be developed through the Workflow design interface.
 Plugins must be developed in Visual Studio.Workflows do not require compiling (though custom workflow
activities do).
 Plugins and custom workflow activities must be compiled and deployed through processes external to CRM.

In short: though only asynchronous in nature, Workflows allow an unimpeachable degree of flexibility and ease
of configuration which Plugins do not afford, and their administration can be granted to power users of CRM without
necessary access to the server or platform code. Plugins offer the highest degree of security and performance and
surpass Workflows in capability and ability to augment platform operations.
When speed of execution, security of process, and validity of data are integral, I choose Plugins. When flexibility,
functionality reuse, and optional user involvement are integral, I choose Workflows.

5) When will you use workflow and when will you use Plug In.?
With the CRM 4.0 and 2011 enhancements to the plug-in and workflow engine as well as the introduction of
the web based workflow designer I've seen many CRM developers asking the same question: When should I use
workflow vs. plug-ins? The answer is “depends”; the right approach is determined by the characteristics of the task
that you are trying to accomplish.

The following matrix gives you my take on this:

Requirement Plug-in Workflow

Needs a synchronous X
action to happen before
or after an event occurs

The same piece of logic X x


will be executed for
different events and
possibly on different
entities

The logic needs to be X


executed while offline

Needs elevation of X
privileges (impersonation)

Needs to execute on X
events other than assign,
create, update, setstate

The process/logic may x


take a long time to
complete or will be a
persistent process
(multiple long running
steps)

Needs an asynchronous x x
action

End users will need to x


modify the process logic

Child sub processes will x


be triggered

6) What is Microsoft Dynamics CRM E-mail Router?


Ms CRM E-mail Router is a software component that creates an interface between a Microsoft Dynamics CRM
deployment and the organization's messaging system. The E-mail Router routes qualified email messages to the
Microsoft Dynamics CRM system as email activities and fully integrates with different messaging systems, such as
Microsoft Exchange Server, Microsoft Exchange Online, POP3, and SMTP. The E-mail Router includes the
functionality for sending email through any desired SMTP provider and for receiving email from Microsoft Exchange
Server or from a POP3 server. Additionally, the Forward Mailbox feature remains available.

7) Should I have Microsoft Exchange Server installed in my Active Directory domain?

You do not need to have Microsoft Exchange Server installed to send and to receive email messages from
Microsoft Dynamics CRM. You can use external or in-house SMTP and POP3 services to send and to receive email
messages
Summary: Microsoft Dynamics CRM 2013 & 2015 Interview Questions and Answers

1.What are the new type of workflows introduced in MS CRM2013.


Answer: a.Action. b.Business Process workflow.

2.What is the Business Rules in Ms CRM?

3.Business Rules,JavaScript Method which one trigger the first?


Answer: javascript method is clientside program and syncronous and business rules are asynchronous process so
javascrit execute first.

4.What is the realtime workflow ?

5.Realtime workflow trigger first or plugin will trigger first?


Answer: By default plugin will trigger first.

6.How should is change execution order between synchronous workflow and Plugin?
Answer: we have tool synchronous event order in ToolBox by using we can able to update Rank of workflow.
Dynamics CRM 2013, when you create a new entity you can define the entities"Ownership” by
choosing “Ownership” option.

So what does it mean? Entities, can be owned by

1.Organization
2.User or a Team

Organization owned entity

 Records of “Organization owned entity” can be viewed by the whole organization


 Records cannot be shared or Assigned
 The security roles for organization-owned entities have two access levels: None and Organization

i.e., You cannot define “Access levels” like (User level, Business unit level, Parent: Child Business unit level)

User or a Team owned entity

 Records of “User or a Team owned entity” can be limited to users or teams, so that you restrict data access to
authorized users
 The user-owned or team-owned entities have five access levels: None, User level, Business unit level, Parent:
Child Business unit level, Organization.
Interview Questions On Entity Ownership in Ms CRM 2013:

1. what difference b/w the Organization owned entity and User or a Team owned entity ?
2. can we assign/share the Organization owned entity records ?.
3.how many access levels for Organization owned entity ?.

Microsoft Dynamic CRM Interview Questions..


Microsoft Dynamic CRM Interview Questions..

Please find the pdf for the ms crm interview question and answers?

https://drive.google.com/file/d/0B_3v8vr2YbkuNURORmg2NXJXTmc/view?usp=sharing

1) What is the difference between Plugin and Workflow?


Answer:-
Plugin is a synchronous process and it should be executed within 2 minutes, plugin which gets executed
more than 2 minutes will be timed out with exception.
Workflow is a Asynchronous process and it executes in background .
2) What are the new features in ms crm 2013?
Answer:-
1) Command Bar
2) Simple Navigation
3)Flat User Interface
4)Auto Save
5)Business Process Flow
6)Social Pane
7)Quick Create Form
8)Portable Business Logic
9)Quick View Form
10)Real Time WorkFlows

3) What are the new features introduced in ms crm 2015?


1) CRM online Administration Experience
2) Enhance Business Processes
3) Enhanced Mobile Sales
4) Enhanced Business Rules
5) Search
6) Security Enhancements
7) Outlook and Sync Enhancements
8) Sales Product Taxonomy
9) SLA Enhancements
10) Fields: Calculated and Rollups
11) Hierarchy Visualization
1) What is the difference between Dialog and Actions?

Answer:- Dialogs contain a collection of pages, and each page can contain multiple sets of prompts and
responses. You can also specify a dialog as a child dialog, and then invoke that dialog from within a parent
dialog. Read this topic to understand the basics of dialogs in Microsoft Dynamics CRM.

Actions:-Actions are messages that can be defined for an entity. Out-of-the-box CRM provides a set of
pre-defined messages for each entity (like create, update, delete and others), but there can be cases when
you want a custom action

2) What is the difference between custom workflow and system workflow?

3) How to Register a Plugin as a Asynchronous Plugin?


Answer:- Through Plugin Registration tool, select Asynchronous mode.

4) What are the service endpoints used in MS CRM using Javascript?


Answer:- REST and SOAP endpoints.

5) What is the difference between SOAP and REST ?


Answer:- REST will done Create, Update, Delete, Read, Associate and Disassociate.
Whereas SOAP will do all the operations including Create,Update, Delete, Read, Associate,
Disassociate, Assign Records, Retrieve Metadata,Execute Messages.

6) What are the stage names used in registering plugins in MS CRM 2015?
Answer:- Pre- Validation, Pre-Operation and Post- Operation.

7) What is the Critical Plugin have you done in your previous role?

8) Have you done any Integration with MS CRM 2013?

9) Have you ever faced any scenario where you argued with your boss that your way of implementation is
right?

10)Have you ever faced most complicated situation in previous role?


11) Tell me about yourself and experience ?

=================================================================
1) Plugin vs workflow
2) What are the new features of 2011 & 2013
3) How to deploy a solution in on premises
4) Where do we register plugin
5) Where do we register workflow
6) How do we import the solution into the production
7) When we install crm what databases will be created
8) How do we deploy asp.net application into mscrm
9) When we export the solutions into the production(environment) from development environment, how
do we set the solution as managed or unmanaged?
Answer:- Create a managed solution by selecting the Managed option in the Package Type dialog box
when exporting the solution.

ASP.NET
----------
1) Abstract vs Interface
2) Diretives
3) Assembly and types of Assemblies?
4) Value Type and Reference Type
5) Page life cycle stages.
6) Delegates
--------------------------------------------------------------------------------------------------------------------

1) What projects have you involved in your current/previous employment?


2) Do you have experience in Requirement gathering?
3) What do you know about our company?
4)What technologies are you familiar with?
5)If we put in a situation to gather requirement and understand , will you provide solution?
6) What technical documentation experience do you have?
7)What projects have you done in current employement.?
8)Do you have experience in agile methodologies, we sometimes give solutions in quick time?
9)How do you describe yourself as a consultant or business analyst?

Technical questions
----------------------------------------------------------------------------------------------------------------------
1) Append and Append to
2) Business process flow
3) explain a plugin scenario
4) Case Management solution
5)Role based forms
6) Secuirty roles
7) Parent and child entities security previligies, is the child and parent have access to the entities?
8) what are the new features of MS CRM 2013?
9) Field level security
10) Javascript Webresource
11) Critical Plugins scenario?
12) Plugin Events?
13) Which events plugins store in database?
14) How did you create a report in MS CRM ? SSRS BIDS TOOL , SQL SERVER, AND FETCH XML
15) Suppose there is a tree hirarchy , organisation, parent and child , then child node have access to the
organisation?
====================================================================
1)Tell me about yourself
2) What have you been done in your current role?
3)Suppose you have used a visual studio, then how did you create a plugin?
4)What class library do you use to create a new solution?
5)Suppose we have two projects in a solution, one is plugin and another one workflow, if we have to use
common class file then
which dll will be registered in the plugin regsitration tool, which .dll(assembly) do you use?

6)Business process flow?


7) Sales process?
8) How many services are there in MS CRM
9) Is it possible to create a report using SSRS In MS CRM 2011?
10) Have you faced any issues while migrating from CRM 4.0 to 2011 , MS CRM 2011 to MS CRM
2013(on premises)

====================================================================
1) Append and Apped to
2) How do you integrate .net Application with online version of MS CRM 2011?
3)ASP.NET what do you say about it?
4) Do We really need Asp.net in ,MS CRM ?
5)Suppose we need to create a new business unit, and what are the requirements do we need to
consider for new Business unit?********
6) What are the difficult situation have you faced in your previous employment?
7)Have you done any Integration before? explain?
8)What motivates you work for ABC ltd Company?
9)If we make an Web Application with pure HTML AND CSS THEN do we still need ASP.NET?

===================================================================
1) Javascript
2) DOM Objects in javascript
3) Libraries
4) XML Libraries
5) Multiple Browser Compatibilities can be restricted with javascript?
6) Busienss process flow
7) Plugins
8) Queue Work
9)Integration
10) Email Outbound Optmization(Oganisationservices)
====================================================================
1) EXPLAINED ABOUT THE ORGANISATION
2) Is that you and why?
3) we have a record with same GUID IN different organisations then how do we overcome this duplication
of GUID?( Plugin on creation and post operation message)
4) Suppose we have Barcode Scanner products then how do we print that product barcode on the SSRS
REPORT?
( Using REPORT GENERATOR SERVICES USING CUSTOM REPORT ITEM OR .NET REPORT
GENERATOR, OR ONLINE BARCODE GENERATOR, THERE ARE 39 BARCODE GENERATOR IN
SSRS)
5) Have you created security role for the users?
=================================================================

1) Tell me about yourself?


2) how do you work on solutions and do you use source control?
3) how to do you export the solutions ?
4) have you created any plugins ? explain? how much time will you take to create a plugin ?(account and
contact address changes)
5) Have you created a html page in MS CRM, how do you use the html page? is it to fill in or onload of
the form?
6) how much is your team size, who will give requirement? business analyst, project manager?
7) Do you know Silverlight? how did you used in MS CRM ?
========================================================================

1) Tell me about yourself


2) do you have experience in created plugins
3) suppose we have alot of if else conditions then how do you minimise the code?
Answer: By using ternary operator
4) try catch and finally block.
----------------------------------------------------------------
1) Tell me about yourself
2) do you have experience in case management
3) have you created plugins and workflows
4) security roles
5) where do we use http and https in asp.net

========================================================================

1) Tell me about yourself?


2) integration experience
3) case management?
4) is it possible to migrate from 2013 to 2015 online?
5) scribe experience ?

========================================================================
The Below Url might give more interview tips:
http://sandeepmscrm.blogspot.in/2013/11/microsoft-dynamics-crm-interview.html?view=classic

1) Unmanaged and Managed Solution?


2) Sandboxed or Isolation mode?
3) Difference between Plugin and Workflow?
4) Synchronous and Asynchronous plugin and workflow?
5) POA Table?
6)How do you work with offline data?
7) In Odata what is the use of Expand() method and =! operator?
8) Why we use Security Roles?
9) What is the use of Connection Roles?
10) How do you sychronize data with offline customer?
11) Data structures in c#?
12) What data type will you use for currency in c#?
13) Inheritance syntax?
14) Collections?
15) HashTable in c#?
16) List in c#?
17) HashSet?
18) Dictionary?
19) Method overloading?
20) Delegates?
21) Interface?
22) Parent and child relationship in MS CRM ?
23) Difference between Sytem.String and System.Text.StringBuilder?
24) Difference between Dipose() and Finalise() Methods?
25) How do you Initialize nullable Int type?
OR How to use nullable types in .Net?

Value types can take either their normal values or a null value. Such types are called
nullable types.

Int? someID = null;

If(someID.HasVAlue)

}
28) What standard practice will you use in programming?
29) How do you debug plugin in ms crm 2011?
Answer:- PluginProfiler
30) How many types of Images Available in MS CRM ?
Answer:- PreEntityImage and PostEntityImage
31)Have you ever done any Unit Testing
32) How do you check whether records data is correct?
Answer:- Auditing..

For more C# Interview Questions and Answers follow below link:


-------------------------------------------------------------------------------
http://career.guru99.com/top-50-c-sharp-interview-questions-answers/
http://www.pragimtech.com/c-sharp-video-tutorials.aspx

Troubleshooting and Bug fix Scenarios based questions

1. Suitable candidates will have suitable experience in supporting, bug fixing and developing CRM
Dynamics solutions including:

• Excellent CRM diagnostic skills to trace and identify the underlying issues with CRM solutions and their
integrations with other systems.

Answer:- a) CRM Diagnostic tool for 2011/2013/2015

b) Windows event logs:- Application, security, system logs

c) Logs files: - C:\Program files\microsoft dynamics crm\Trace

d) Windows PowerShell: if value = 0 then tracing is disabled, if value = 1 then tracing is Enabled.

"Integration with other system errors will be traced in other system logs files."

• Business Units, Teams, Roles & User Security Configuration

Answer: - Business units: Business units are the foundation of the security structure in Microsoft
Dynamics CRM. Each user in the CRM has to be part of a business unit.” There is a default business unit
that is created when CRM is installed.”

This is called the root business unit, and it cannot be deleted or disabled–only renamed

Business Units

Team Users Security roles

---Privileges

|
---Acess Levels

> How to create Business Unit?

Answer: SETTINGS > ADMINISTRATION> BUSINESS UNITS > NEW

> Security Roles :

Answer: Security roles in Microsoft Dynamics CRM are a matrix of privileges and access levels for the
various entities. They are grouped under different tabs based on their functionality.

These groups include: Core Records, Marketing, Sales, Service, Business Management,
Service Management, Customization and Custom Entities.

Previleges:

> Create, delete, read,write,append, append to

Level of Access:

> None > User > Business Unit > Parent child Business Unit > Organisation.

Access Associated

> System Administrator

> System Customizer

> Standard Roles

===============

• Supporting customised development (Full customisation to meet Organisation needs, Javascript, C#,
etc)***

Answer: Form Customization, Ribbon Customization, Webresource, Plugin, Custom Workflow,


Supported Customization.

SUPPORTED CUSTOMIZATION:

> Editing the ribbon

> Editing the sitemap

> Editing formXML

> Editing saved Queries

> Editing the ISV.CONFIG

UNSUPPORTED CUSTOMIZATION:
Answer: Defining any other solution components by editing the exported customizations.xml file is not
supported. This includes the following:

Entities

Attributes

Entity Relationships

Entity Messages

Option Sets

Web Resources

Processes (Workflows)

Plugin Assemblies

SDK Message Processing steps

Service Endpoints

Reports

Connection Roles

Article Templates

Contract Templates

E-mail Templates

Mail Merge Templates

Security Roles

Field Security Profiles

• Forms Editing & Javascript manipulation

Answer: Form editing can be done using either javascript or websources.

>javascript manipulation:

 Avoid unsupported code (custom code validation tool ) can trace unsupported code,

A) getElementById

 B)JQuery
C)crmForm object model

D).FireOnChange() INSTEAD use .fireOnChange()

 Keep it simple

 Use safe and efficient logic

 Use non-block queries

 Use read-only, unique values

• Plugin diagnosis, bug fixing & development in C#

Answer:- Plugin error will through error on CRM FORM , we can trace in C:\Program files\Microsoft
Dynamics CRM \Trace

Can develop Custom Plugin to extend the existing functionality of MS CRM 2011

• Workflow diagnosis, bug fixing & development

Answer: CRM PLATFORM TRACE, CRM DIAGONISTICS TOOL

• Excellent diagnostic skills to trace and identify the underlying issues with Plugins, workflows,and CRM
forms

Answer:- Diagnostics are achieved for plugin & Workflows errors or system errors are achieved
from "CRM DIAGONISTICS TOOL" Log files , CRM FORMS ERRORS can be seen on the form and can
debug the errors

Through INTERNET EXPLORER F12

• Code Release, Deployment & Version Control

Answer: - Version control: Version control systems keep track of every version of the software

Deployment: Deployment of solution can be achieved through export to the target


system and PowerShell.

Code Release: bit by bit

2. General Windows IIS web & server diagnostic skills including analysis if IIS logs, Event Logs,
Answer: To determine where your IIS log files are stored, please perform the following steps on your
server:

Go to Start, click on Control Panel, then Administrative Tools

Run Internet Information Services (IIS).

Find your Web site under the tree on the left.

Right-click on it and choose Properties.

On the Web site tab, you will see an option near the bottom that says "Active Log Format."
Click on the Properties button.

At the bottom of the General Properties tab, you will see a box that contains the log file
directory and the log file name.

The full log path is comprised of the log file directory plus the first part of the log file name.

For example, if the dialog box displayed the following values:

Log file directory: C:\Windows\System32\LogFiles

Log file name: W3SVC1\exyymmdd.log

Then your full log path to put into SmarterStats would be:

C:\Windows\System32\LogFiles\W3SVC1

Custom trace logs to determine the route cause of reported problems

3. Dot net web development skills using C#, javascript & CSS

Answer:- Im coming from developement background, have implemented number of projects based on
.net

Save-e Intranet Web Application

a data cleansing application

CMS Integration with web application

4. Use of Visual studio and Team foundation Server for development & source control
Answer: Being Software developer iam using visual studio over 5 year version
2005/2008/2010/2012/2013,

TFS i have been similar with tfs over 5 years, to store and merge or download on to the
developement environment.

source control :

Without leaving your development environment, you can manage your individual and team projects easily
using the source control features of Microsoft Visual Studio.

Visual Studio source control allows you to:

Manage database access. Visual Studio source control supports both shared and exclusive file access,
and file merging mechanisms.

Retrieve successive versions of source-controlled items. Most source control packages hosted by Visual
Studio store data that distinguishes one version of a source-controlled item from another.

Maintain detailed historical information on source-controlled items.

Many source control packages provide mechanisms for storing and retrieving item history, for example,
creation date and time.

Collaborate across projects and solutions. File sharing makes it possible for multiple projects and
solutions to share source-controlled items.

Changes to a shared item are reflected in all the projects and solutions.

Automate frequently repeated source control operations.

For example, a source control package hosted by Visual Studio might define a command line interface
that supports the key features of source control.

You can use this interface in batch files to automate the source control tasks that you perform regularly.

Recover from accidental deletions. Visual Studio source control supports restoration of the latest
checked-in file version.

Conserve disk space on both the source control package and the associated server.

5. SharePoint Support & administration skills (SharePoint 2010 upwards), development skills would be
an advantage.

Answer: Windows Server

IIS

SQL SERVER
SharePoint is a platform that organisations used to build solutions for a wide variety of business problems

You use the same application that you have used already but now you use them with SharePoint.

Microsoft SharePoint is known as team sites

Team sites will be hosted on SharePoint server for communities, content and search for particular
content, Insights into the capabilities of which document is stored where. the ability to create new things
in SharePoint

is called as "Composites"

SharePoint is more than a program

Not a suite of applications like Microsoft Outlook 2010 or Office.

6. BizTalk - general support & administration skills

Answer: BizTalk server is used for system integrations, if there are multiple sites that needs data sharing
then BizTalk is the solution.

7. Working knowledge of IIS (Internet Information Services) v7 onward - site deployment, configuration &
support as well as SSL and authentication configuration

Answer : IIS is used mainly to run websites and we need to configure the application in IIS and configure
port number and Security setting and authentication.

8. Microsoft Sequel Server – Transactional SQL skills to undertake data analysis and manipulation, MS
SQL administration & Performance Tuning

Answer: Transact-SQL is central to using SQL Server. All applications that communicate with an instance
of SQL Server do so by sending Transact-SQL statements to the server,

Regardless of the user interface of the application.

The following is a list of the kinds of applications that can generate Transact-SQL:

General office productivity applications.

Applications that use a graphical user interface (GUI) to let users select the tables and columns from
which they want to see data.

Applications that use general language sentences to determine what data a user wants to see.
Line of business applications that store their data in SQL Server databases. These applications can
include both applications written by vendors and applications written in-house.

Transact-SQL scripts that are run by using utilities such as sqlcmd.

Applications created by using development systems such as Microsoft Visual C++, Microsoft Visual Basic,
or Microsoft Visual J++ that use database APIs such as ADO, OLE DB, and ODBC.

Web pages that extract data from SQL Server databases.

Distributed database systems from which data from SQL Server is replicated to various databases, or
distributed queries are executed.

Data warehouses in which data is extracted from online transaction processing (OLTP) systems and
summarized for decision-support analysis.

9. Web services: Experience in consuming web services (SOAP, Restful, etc). Some experience in
development of dot net web services.

Answer: I have used SOAP And Restful web services for data retrieval or transmission between the
applications.

I have experience in consuming the .net web services (WCF) to integrate with MS CRM
APPLICATION.

10. CSS (Cascading Style Sheets) coding

Answer: CSS is used in MS CRM, html form to inserted into the crm, using the css web resources for
styling the html ribbon forms.

AsyncOperationBase Table

When you run Microsoft Dynamics CRM 4.0 or Microsoft Dynamics CRM 2011, the
AsyncOperationBase table grows to be very large. When the table contains millions of
records, performance is slow.
Additionally, errors that resemble the following are logged in the application event log on
the server that is running Microsoft Dynamics CRM:

To resolve this problem, perform a cleanup of the AsyncOperationBase table by running the
following script against the<OrgName>_MSCRM database, where the
placeholder<OrgName> represents the actual name of your organization.
Warning Before you clean up the data, be aware that completed system jobs have business
value in some cases and have to be stored for a long period. Therefore, you should discuss
this with your organization's administration staff first.

System jobs that are affected:

 SQM data collection. Software Quality Metrics collects data for the customer experience
program.

 Update Contract States SQL job. This job runs one time per day at midnight. This job sets
the expired contracts to a state of Expired.

 Organization Full Text CataLog Index. Populates full text index in db for searching Microsoft
Knowledge Base articles in CRM.

If recurring jobs were canceled, they will be removed.

-------------------------------------------------------------------------------------------------------------------
1) Difference between jpeg and png?
2) Can you tell me one javascript library and explian why it is useful?
3) Jquery ?
4) Source Control?
5) SharePoint error displayed and how you go about it?
6) How many types of customizations can be done.
7) Static Keyword used in c#?
8) Static is different from others?
9) In IIS why the AppPool is used?
10) Placeholder in css?
11) When you search something in web browser what will happen ?
12) How many ways we can query for the data manipulation on sql server?

13) Class and object


14) Retrieve activity of the contact entity plugin?
15) What are steps to follow in creating a plugin?
16) Early binding and Late binding?
17) Auto Record Creation using Plugin?
18) What customizations have you done with javascript.
19) Discovery web services
20) IOrganisation services
21) Difference between SOAP and REST
22) Have you done any Integrations? how?
23) What web services will you use to create Integrations?
24) JavaScript Library use? DOM.
25) Microsoft Dynamics CRM Architecture?
26) What types of joins in SQL Server? What is the use?
27) Custom workflow and SharePoint workflow?
28) Integrations Scenario? what are the requirements?
29) Talk me through the steps to create a plugin and how do you troubleshoot errors?
--------------------------------------------------------------------------------------------------------------
1) Tell me about yourself?
2) How to create Reports in ms crm ?
Answer:- Two types of reports , SQL based, Fetch based reports.
3) How many types of web resources in MS CRM?
4) How many ways to register the plugins in ms crm?
Answer:- 2 ways, Plugin Registration tool and through crm sdk code:
Register Plug-ins Programmatically:

The key entity types used to register plug-ins and images


are: PluginAssembly, PluginType,SdkMessageProcessingStep,
and SdkMessageProcessingStepImage. The key entity types used to register custom workflow activities
are PluginAssembly and PluginType. Use these entities with the create, update, retrieve, and delete
operations.
5) Do you have any experience with integrations? explain?
6) How to write a Plugins?
7) Without any crm knowledge, how do you find out, why a field on a record is autofilling?
8) Do you have any concerns the role?

Interviews are scary


Many people find interviews are scary because they contain the unknown. When your mind
thinks about unknowns it exaggerates things, focusing on worst case scenarios
 Forgetting a technical detail
 Not understanding the questions asked
 You can’t remember any of your technical skills
 The interviewer asking for skills and experience you don’t have
 Turning up without trousers on
What is the purpose of the CRM Developer interview
Whilst preparing for the interview, consider the interviewer’s perspective and goals of the interview

 What are the objectives of the interview?


 Identify skills and experience for the role?
 The interviewers context (e.g. developer, management, director)?
 Will the interviewee work well with existing staff members?
People can exaggerate their CV’s, part of the interview process is validate what skills and experience
the interviewee has. You can assist in the process by giving as many examples of your experience
and skills as possible.

Describe significant projects and your role in those projects, interviews are short so present the
highlights of your recent experience.
The interviewer will see how truthful you have been on your CV and estimate your CRM knowledge
and experience.
Key areas
CRM knowledge
 Knowledge of CRM SDK
 Understanding of CRM out of the box functionality
 CRM certifications held
Experience
 Projects
 Your Roles on those projects (looking for role exaggeration is common)
 Experience of CRM customizations
 Size of project
 Integrating external applications with CRM
 Project style (Agile, Waterfall, others)
Career
 Where are you now?
 Where are you going?
 Why are you moving?
CRM certifications
I am a big fan of CRM developers getting certified (read why you should get certified and
the benefits). Studying for a CRM certification gives developers a good knowledge of out of
the box functionality and its limitations.
Here are links to resources to help you pass the Customization and Config CRM certification
 CRM 2015 – Tips on passing MB2-707 customization and config exam
 MB2-703 – CRM 2013 Customization and Configuration Certification Information
 MB2-703 – CRM 2013 Customization and Configuration Hosk study notes
but…
Certifications show knowledge of Microsoft Dynamics CRM, it gives no sign the person can
create effective CRM solutions. Certifications don’t show character, or how they will work
with other team members.

Learn new CRM features and functionality


Learning new CRM features, understanding new functionality, keeping up
with latest version of CRM shows a person is self-motivated learner.

If you haven’t worked with the latest version, having knowledge on new features is the next
best thing. Staying up to date with new versions of CRM and new functionality is being
prepared for using it.

 What’s new in CRM 2016 and why you should read the preview guide
 CRM 2015 SDK – Why you should read the What’s new for developers
 What’s new in CRM 2015 SP1 for developers, customizers and admins
Hosk‘s CRM Interview questions
I’m not going to give the answers to the questions because they would be my answers. The
questions are ones you might get asked, so if you are going to an interview think about the
answers to show case your experience and thoughts on CRM development.

Q. What is your CRM experience?


Question Purpose – A summary of CRM experience, your CRM career journey.
Mention – Role and experience, concentrate on the most relevant experience for the role
Q. Tell me about your last CRM project?
 Size
 Complexity
 Customizations
 Integration
Question Purpose – The question aims to find out the experience of the

Mention- Mention different customizations, difficulties experienced and how you overcame
them. Show what skills you used and will bring to the role.

Q. What development tools do you use for CRM development?


Question Purpose – CRM developers can answer this question if they have done CRM
development.

Mention – CRM Developer toolkit, XrmToolkit, Ribbon Workbench, Plugin Registration. Tools
used in CRM development which you use.
Q. When do you use managed and unmanaged solutions?
Question Purpose – Does the developer the differences between managed and
unmanaged solutions, which can be a pain.
Mention – Discuss your experiences with Solutions, how you used them. How would you
use solutions.

CRM 2013 – Understanding Solutions and how they work


Q. What are the disadvantages of managed and unmanaged solutions?
Question Purpose – Explain when to use managed solutions and when to use unmanaged
solutions. Solutions are key part of releasing the customizations to the customer, if done
badly can cause problems and waste time.

CRM 2013 – Managed solution problems with out of sync solutions


Q. How do you set up your CRM solutions?
Question Purpose – You can package the CRM solutions in lots of different ways,
releases/sprints/phases, splitting up the customizations by type (e.g. plugins, javascript) or creating
solutions with different functionality in.
Mention – Your experiences or ideas of how you think solutions should be created. There is
no right or wrong way
Q. What are the potential problems with multiple developers working on a project?
Question Purpose – What development environments have you worked in, with how many
developers, problems and solutions.

Mention – How you have developed solutions with a team of developers and what problems
can arise.

Q. How do you debug a plugin?


Question Purpose – Lots of CRM Developers debug in different ways but it’s an important
skill because CRM developers must test be able to test and debug their code.

Mention – How you debug, e.g. Unit Test, console app, Remote Debugging
or pluginregistration tool
 CRM 2015 – Understanding the plugin profiler and a puzzling error
 Debugging online plugin in CRM 2013
 Debug a plug-In
 Getting started with unit testing with Microsoft Fakes
Q. How do you debug Javascript?
Question Purpose – Debugging Javascript is a necessary skill for a CRM developer

Mention – Pressing the F12 key and getting your breakpoints setup and hit. If you haven’t done
this, try it out, it’s awesome.
Video CRM 2013 – JavaScript tutorial using CRM 2013 Developer Toolkit
Dynamics CRM 2011 JavaScript debugging in Internet Explorer 11
Q. Have you integrated CRM with other systems, what was it and did you have any
problems?
Purpose – Integrating CRM with 3rd party application or other Microsoft products is
common. It’s great if CRM developers have experience of this..

Mention – Any experience you have, problems you experienced and how you overcame
them.

Q. How to you estimate CRM customizations?


Question Purpose – Developers have to estimate work. The greater accuracy you can
estimate the better.

Mention – explain how you estimate customizations. e.g. breaking up the work into smaller
chunks, taking into account risks and experience.
Q. Tell me about a project which went wrong, what were the reasons for the
problems, how did you cope?
Question Purpose – Projects can go wrong, problems will happen. Showing thecharacter to
overcome problems and obstacles is an important skill. Identifying the cause of problems,
taking steps to avoid them will be useful to your prospective employer.
Mention – The lessons learnt and how you avoid potential problems.

Q. How do you test your code?


Question Purpose – Unit testing code is great. if you have experience mention it. This
question is asking how you test the logic of your code, which might not be unit testing. You
might debug your code or write a console app to run your code.

Mention – Unit testing knowledge and experience if you have it. Your process of testingcode.
 Why CRM Developers should unit test their code
 Experiences of Unit testing with Microsoft Dynamics CRM Projects
 Information to Get started with Unit Testing with Microsoft Fakes and Microsoft Dynamics
CRM 2013
 Unit tests are a vital part of emerging code design
Q. Explain how pre-validate, pre and post are different plugins?
Question Purpose – Specify how running a plugin in a different stage changes the purpose of
the plugin e.g. pre before data is written to the database, post is after the changes have been written to
the database.
Mention – Plugin stages, images and when you use each .

Q. How are Asynchronous and synchronous plugins different?


Question Purpose – Does the CRM developers understand the difference? Explain when to
use an Async plugin instead of synchronus plugin.
Mention – Time. Synchronus plugins must run straight away, async plugins can be delayed.
Q. What is a common cause of plugin bugs?
Question Purpose – To find out if the developer has experience developing, if they have they
will have experienced common errors.

Mention – The most common error is an infinite loop caused by updating fields, which
triggers the plugin to run again and again
 CRM 2015 – How to diagnose plugin errors
 CRM Plugins – Stopping infinite loops and understandingPluginExecutionContext.Depth
Q. What is early binding, what are the benefits and the drawbacks?
Question Purpose – To understand if you the CRM developer understands the benefits of
early binding.

Mention – Early binding creates strongly typed code which is easier to read and moves the
errors to compile time and not runtime. Early binding stops syntax errors which can occur
with late bound code.
 Early Binding vs Late Binding Performance (Revisited)
 CRM 2013 Tool – CRM Early Bound Generator
 CRM 2013 – Create Enumerations for option sets
Q. Should you keep up with the latest release of Microsoft Dynamics CRM?
Question Purpose – Does the CRM developer understand the benefits and disadvantages of
keeping your version of CRM to the latest release.
Mention – Whenever you upgrade your CRM your customizations might stop working but
you get the new features and fixes. If you delay you have more versions to catch up to.

Should you keep up with Microsoft Dynamics CRM release cycle?


Q. How do you keep up with Microsoft Dynamics CRM news?
Question Purpose – Does the CRM developer keep up to date with CRM, if so, how?

Mention – Blogs, certifications, Microsoft Dynamics community page


Q. What is the effect of making a plugin sandboxed?
Question Purpose – CRM online can only deploy sandboxed plugins, so it’s important for a
CRM developer to realise the limitations the sandbox can have.
Mention – CRM online can only deploy Sandboxed plugins and Limitations such as
 Access to the file system (C Drive)
 systemevent log
 certain network protocols
 registry
 You cannot access any other DLL’s
 IP addresses cannot be used
 Only the HTTP and HTTPS protocols are allowed.
 In isolated mode you cannot call any external DLL’s\DLL’s in the GAC
This blog had some good restrictions in a bit more detail
 Attempting to use the AppDomain.CurrentDomain.AssemblyResolve event
 IO.Path.GetTempPath() [System.Security.Permissions.EnvironmentPermissionException]
 Any filesystem access code [System.Security.Permissions.FileIOPermissionException]
 Attempting to use the EventLog[System.Diagnostics.EventLogPermissionException]
 Attempting to
use IsolatedStorage[System.Security.Permissions.IsolatedStoragePermissionException]
 Any references to Thread.CurrentThread caused a security failure.
Read this blog Understanding Plugin sandbox mode for more information
Q. When do you use OData?
Question Purpose – To test if the user has written many JavaScript customizations

Mention – OData is the primary method to retrieve information from related records

Q. What Access teams and why would you use them?


Question Purpose – Access teams are not widely used, does the developer know what Access
team are and how they work.
Mention – The purpose of access teams are to easily share records with a team of people
where the members of the team are not static.
CRM 2015 – The benefits of Access Teams
Q. What is Metadata and how is it used in CRM?
Question Purpose – Does the CRM developer know what Metadata is and how it works with
CRM
Mention – Metadata is the data about data. CRM has lots of Metadata, types of
field,optionset value, auditing etc. To retrieve Metadata you need
use webservices,RetrieveEntityRequest for entity Metadata and RetrieveAttributeRequest
CRM 2015 – Understanding CRM Metadata
Q. What things should you consider when choosing between CRM online or on
Premise?
Question Purpose – CRM online has several limitations compared to CRM on premise, a
CRM developer should understand them.
Mention – The big difference is you can’t see or modify the CRM server and SQL
server. CRM Online limitations, such as Sandbox plugins, workflow limit of 200, custom
entities 300, storage is a monthly fee.
 Microsoft Dynamics CRM – Online vs. On Premises Decision Matrix
 What are the limitations of Microsoft Dynamics CRM Online and how do you work with
them?
 CRM 2013 Interview Question – What things should you consider when choosing between
CRM online or on Premise
 Quick Compare: Microsoft Dynamics CRM Online vs. On Premise
 Microsoft Dynamics CRM 2011 – Limitations of Dynamics CRM Online Vs On Premises
Q. Why is code readability important?

Question Purpose – To find out if the developer designs code, codes to best practices
Mention – Reading and understanding code is important because code spends most of its
time in a maintenance state. Developers will need to read and understand code to extend
the code, debug the code.

Why Code Readability is important


Q. If a user complained a particular CRM form is loading slowly, how to investigate, what to
look for?
CRM 2011/2013 Investigating CRM Form Performance issues
Q. If CRM stopped working, what would you check?

Question Purpose – This test experience. CRM will stop working on production systems is
good to know a CRM developer will know what to check. To understand what to check the
CRM Developer will need to understand the architecture of Microsoftt Dynamics CRM.
Mention – CRM Async services stopped, APP Pool service account password, SQL Server
services, Disk space, Active Directory

Microsoft Dynamics CRM not working? check these common causes


Q. What is the POA table and how can it affect performance?

Question Purpose – The POA table is used for security and sharing. A large POA can cause
performance problems

Mention – security, sharing problems.


PrincipalObjectAccess–Performance Recommendations
How would you questions?
Q. validate a phone number on a form
Q. Add a sequential counter to a custom entity
Q. Automatically fill in an address field when a user selected a contact lookup field on a
custom entity.
Q. Send an email on the creation of an account record.
Q. Update a status with a plugin

Solutions Interview Questions –


Dynamics CRM
December 9, 2015P.R.MLeave a comment

Easy:
1. What are the different types of solutions in Dynamics CRM?
There are two types Dynamics CRM solutions: Managed and Unmanaged. We have ‘Default
Solution’ also in CRM with all components of instance
2. Can we export Default solution as “Managed Solution”?
No
3. What is Managed Solution?
Managed solutions is a kind of completed package that we can distribute to others to install
in their CRM organizations.
4. What is unmanaged solution?
Unmanaged solutions is a group of unmanaged customizations. Any unmanaged customized
solution component can be associated with any number of unmanaged solutions.
We can export an unmanaged solution as Managed solution. We can’t rollback the
customizations once import into CRM instance.
5. Can we update the components in Managed solution?
No, we can’t update the components in Managed solution
6. What is the process to update Managed solution?
By using Managed Properties of Managed solution
7. How can we know the Owner of Managed solution?
Each Managed solution is linked with Publisher. Publisher indicates the owner of the
Managed solution who developed it.
8. What is the difference between Remove and Delete buttons on solution?
Remove button release the components from the solution whereas Delete button removes the
component from CRM system.
9. What are all the steps to create a solution?
 Navigate to Settings – Solutions
 Click on New
 Fill the required fields like Name, version. Select the Publisher record (Create if not
existed)
10. What are all the steps to Export the solution as Managed solution?
 Navigate to Settings – Solutions
 Select the solution that you want to export
 Click on “Export”
 Follow the Wizard and select “Managed” solution type in “Package Type” page.
 Follow the remaining steps in wizard and save the solution

MEDIUM:
1. What are all components can be added to solution?
The following is a list of solution components that you can view within a solution:
 Application Ribbon
 Article Template
 Business Rule
 Chart
 Connection Role
 Contract Template
 Dashboard
 Email Template
 Entity
 Entity Relationship
 Field
 Field Security Profile
 Form
 Mail Merge Template
 Message
 Option Set
 Plug-in Assembly
 Process
 Report
 Sdk Message Processing Step
 Security Role
 Service Endpoint
 Site Map
 Web Resource
2. What is meant by web resources and how many types of web resources we have?
Web resource is one of the component in CRM to create JS, HTML, Silverlight, images and
style sheet files. We can create below types of web resources in CRM:
 Webpage (HTML)
 Style Sheet (CSS)
 Script (JScript)
 Data (XML)
 Image (PNG)
 Image (JPG)
 Image (GIF)
 Silverlight (XAP)
 StyleSheet (XSL)
 Image (ICO)
3. What are all the new components we create from solution?
Below components can be directly create from solution file:
 Entity
 Option sets
 Web Resources
 Processes
 Dashboards
 Reports
 Connection Roles
 Security Roles
 Templates (Email, Mail merge, contract and Article)
 Field security profiles
4. What are all the components require Publish when they update in system?
Below solution components require publishing when they are updated:
 Application Ribbon
 Entity
 Entity Relationship
 Field
 Form
 Message
 Option Set
 Site Map
 Web Resource

ADVANCED:
1. What are the minimum privileges required to create solution?
 Read write of Customizations
 Read write of solutions
 Read write of publishers
 Read write of web resources
 Import and Export customizations
 Publish customizations
2. What is meant by Managed Properties?
We can’t customize Managed solution components. By using, Managed properties of
Managed solutions users can customize these Managed solution components.
3. What is meant by publisher and why we are using it in Dynamics CRM Solutions?

Every solution in CRM has a Publisher. Publisher record stores the information like address
and contact information of solution publisher.
CRM default solution has its own default publisher with the name “Default Publisher for ”
We can create our own Publisher for solution and can define the “Prefix” for the custom
components and start value of Option set values.

Please click here for more information on Publishers


Interview Questions

Differences reated Interview Questions in


Dynamics CRM
October 12, 2015P.R.MLeave a comment
1. Discovery service Vs Organization service
Discovery Service :
The IDiscoveryService Web service is used to determine the organizations that a user is a
member of, and the endpoint address URL to access the IOrganizationService Web service
for each of those organizations. This discovery service is necessary because Microsoft
Dynamics CRM is a multi-tenant environment—a single Microsoft Dynamics CRM server
can host multiple business organizations. By using the discovery Web service, your
application can determine the endpoint address URL to access the target organization’s
business data.

Organization Service
It is a primary web service that accesses data and metadata of an organization. This web
service contains the methods that you use to write code that uses all the data and metadata in
Microsoft Dynamics CRM.
2. Global Option set Vs Option set field

Click here to get more info on Global Option set


3. Organization owned Vs User Owned entities
When we create a new entity in CRM, we have two option for “Ownership” as “User or
Team” and “Organization”. Below are the main differences between these two types of
entities.
Owned Entity User/Team owned Entity

Entity doesn’t has Owner ID field. Hence, these Entity has owner ID field. Hence, it
entity records can’t be owned by any user/team. can be owned by user/team.

Entity records can be viewed by whole organization Entity records can be viewed by user
users based on their security roles

Records cannot be shared or assigned Records can be share and assigned

Entity has only two security access levels as “None” Entity has all access levels (None,
and “Organization” user, BU, Parent: Child BUs, Org)
4. Fin Vs Advanced Find
Find Advanced Find

Search is performed on Search can be performed on any attributes, users can


defined attributes in Quick customize the attributes
Find view

Find searches only Active Advance Find searches in all records including inactive
records in an entity records

Fine filters on only one User can declare multiple conditions dynamically in
condition Advanced Find. User can define complex queries with
GROUP AND & GROUP OR
Find gives better performance Less performance
than Advanced Find
5. Managed Solution Vs Unmanaged Solution
Unmanaged Solution
All solutions start out as Unmanaged. When it is in the unmanaged state, you can add,
remove, update, and test any of the components of the solution. You can delete components of
your unmanaged solutions, while leaving it available for use in the rest of the system. Some
on the MS CRM dev team have likened this to your ‘source’ code of your system. The great
thing about an Unmanaged Solution is that during development, you can create restrictions
(like ‘not customizable’) on the components as they evolve.

Managed Solution
When your unmanaged solution is ready for the show, you simply export it to ‘Managed’.
You could think of this as ‘compiling’ you code. You set the restrictions (i.e. prevent
customizations on certain components) and the end user lives by those rules. But remember,
they can still customize the components of the solution that are unrestricted. You cannot add
or remove components of a solution, even if the component is unmanaged.
Once you have packaged the Managed Solution, it can be installed into another organization.
They can also be deployed across multiple deployment types (Online, Partner Hosted, On-
Premise) and all CRM Clients (web, Outlook, Mobile Express, and Offline via Outlook
Client).
6. Append Vs AppendTo
‘Append’ and ‘Append To’ privileges works together in CRM. ‘Append To’ allows other
entities to get attached with it. ‘Append’ privilege will allow the entity to attach the records
of an entity which has ‘Append To’ privilege.

Ex:
Generally, we attach notes to an entity (Account). To do this Note should have “Append”
privilege and Accounts should have “Append To” privileges.

Let say Entity1 and Entity2 has 1:N relation. Entity1 should have Append To and Entity2
should have Append permission to relate both the entities records with lookup.
7. Share Vs Assign
Share Assign

User who has share privileges on entity record can User who has Assign privileges on
share to another user entity record can share to another
user

On sharing the record, selected permission given to On Assigning record, Ownership


new user on that record. Here, ownership of the will be transferred to new user
record remain same.

We can use GrantAccess, ModifyAccess and We can use AssignRequest to


RevokeAccess Messages to share the records with assigned records with SDK
SDK
8. Form level security Vs Field level security
Click Here
to know the difference between Form level security Vs Field level securityn
9. Plug-ins Vs UI Workflow

Click here
to know the difference between Plug-ins Vs UI Workflow
10. Synchronous Vs Asynchronous Plug-ins
Synchronous Plug-ins Asynchronous Plug-ins

These Plug-ins are executed by the CRM These plug-ins are executed by
Core System Asynchronous service

Synchronous means the triggering point will Triggering event don’t wait to finish the
wait until the Plug-in finish its execution. Asynchronous plug-in to complete.

Generally, we use Synchronous plug-ins to do Generally, we use this plug-ins to improve


validations before any actions happened, Any the server performance. If the Plug-in logic
action that should be performed immediately. takes more time and that need to not to be
It give lesser performance compare to happen immediately then we can go with
Asynchronous plug-ins. these plug-ins.
11. UI Workflows Vs Dialogue

Click here
to know the difference between Workflows Vs Dialogue
12. Advanced Find Vs Reports
Click Here
to know the difference between Advanced Find and Reports
13. QueryByAttribute and QueryExpression
Click Here
to know the difference between QueryByAttribute and QueryExpression
14. QueryExpression and FetchExpression
Click Here
to know the difference between QueryExpression and FetchExpression
Interview Questions

Customizations Interview Questions –


Microsoft Dynamics CRM
May 12, 2015P.R.M

Easy:
1. Can we modify the name of root business unit?
No, we cant. We have to re-create the crm instance.
2. Can we have 2 BU’s for a single user?
No
3. Can we add different BU related users to a single Team?
Yes
4. Where we need to change the prefix for custom components?
Under Publisher record
5. How to see the CRM version information?
 Click on settings Icon at top right corner of the CRM instance
 Select About
 A pop-up window will be opened with version information
6. Where can we set the Default module and Entity to get on opening CRM?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under General tab, select Default pane and Default Tab
7. Where to do the user related (personal) settings?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Here, user can update general settings like default module, #records per grid view,
tmezon, currency, email settings, format settings, synchronization settings, email
templates and etc.
8. Where to change the #of records count limit that displaying in entity grid view?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under General tab, select the value for Records per page (25, 50, 75, 100 and 250)
9. What is the maximum limit of records can be displayed in CRM grid view?
250
10. Where can we change the number, currency and time formats?
 Click on settings Icon at top right corner of the CRM instance
 Select Options
 Under format tab
 Click on “Customize”
 Here, user can change the format of Number, Currency, Date and Time
11. What are the different data types we have in CRM?
 Single line of text
 Multiple lines of text
 Currency
 Date and Time
 Whole Number
 Decimal Number
 Floating Point Number
 Option set
 Two Options
 Image
 Lookup
12. Can we create a new field from form customization?
Yes
13. What is the max chars limit for “Multiline textbox”?
1048576
14. What is the lookup data type and where it will be placed?
It will be created on 1:N relationship mapping and will be placed at “N” side entity
15. What is the char limit for custom components pre-fix?
2-8
16. Where does CRM store Option Set values in SQL Server?
StringMapBase
17. What are requirement levels we have to create a new field for an entity?
 Optional
 Business recommended
 Required
18. What are the default settings for Field level security and Auditing?
 Field level security : Disable
 Auditing : Enable
19. How can you customize the CRM Ribbon?
Mention the tool name which you are using to customize the CRM Ribbon. (Ribbon editor,
Ribbon Workbench, etc)
20. Where can we get Organization and Discovery service URLs in CRM instance?
–Navigate to Settings > Customizations –> Developer Resources
Interview QuestionsCRM, CRM 2011, CRM 2011 Interview Questions, CRM 2013, CRM 2013 Interview
Questions, CRM 2015,CRM 2015 Interview Questions, CRM Interview Questions, Customization Interview
Questions,Customizations, Dynamics CRM, Dynamics CRM Interview Questions, Microsoft Dynamics CRM

Field Level Security – Interview


Questions – Dynamics CRM
April 24, 2015P.R.MLeave a comment

Easy:
1. What is the importance of field level security in CRM?
Field level security allow us to restrict the users/teams on individual fields
2. What are the permission we can restrict on specific field with field level security?
Below are the security permission that we can restrict the users/teams on individual fields:
o Read
o Create
o Update
3. What are the high level steps to enable field level security?
o Enable field-level security for an attribute
o Create a field-level security profile
o Associate users or teams with the profile
o Add specific field permissions, such as Create, Update or Read for a specific
attribute to the profile
4. What will happen if a field is enabled for field level security?
A field that is enabled for field level security is added to all field level security profiles in
CRM.
It will automatically be added to all Field Level security roles with Read, Create and Update
all set to No.
5. What a field level security profile contains in CRM?
Field level security profile contains all the fields from all entities which are enabled for field
level security.
6. Can we add user/team to more than one field level security profile?
Yes, we can.
7. Can we delete System Administrator field level security profile?
No, we can’t
8. Can we set field level security for OOB fields?
No, we can’t. We can set only for custom fields
9. Do Audit history maintained for enabling and disabling field level security by setting
“IsSecured” on a field?
No.
10. What will happen if the user don’t have “Read” security on a field?
The filed on the form shows as “*** asterisks” if a user does not have read access to a field.
Even the field is blank/null, user can see “*** asterisks” on field.

Medium:
1. How can we know what are all attributes can be secured in CRM with field level
security?

There are thousands of attributes from all entities those can secured with field level
security. We can get those attributes in 2 simple ways:
o Install metada ta browser for the customized CRMs and query the entity
metadata for the following properties CanBeSecuredForCreate,
CanBeSecuredForRead and CanBeSecuredForUpdate
o Open EntityMetadata.xlsx file for uncustomized CRM and query the entity
metadata for the following properties CanBeSecuredForCreate,
CanBeSecuredForRead and CanBeSecuredForUpdate
2. Do all attribute data types support to restrict all permissions with field level
security?

No, there are a few additional rules that apply to certain attribute data types
o Boolean attributes can be secured for create and update operations but not for
read.
o Option set attributes can be secured for create, update, and read when a
default value is unspecified.

3. Which security roles allow you to see secured fields?

System Administrator
o The System Administrator field security profile gives full access to all
secured fields in Microsoft Dynamics CRM. By default, all users who have
the System Administrator security role have this profile. This profile is
system managed and can’t be updated or deleted.

4. What will happen if multiple profiles assigned to user/team?


User/Team receives the least restrictive permissions

Advanced:
5. How do secured fields behave for create or update?
If user prepares an object with secure fields to Create/Update a record then it will
show “Insufficient permission” error on creating/updating the record.
6. How do secured fields behave for Retrieve and RetrieveMultiple?
When user call the Retrieve/RetrieveMultiple messages, CRM evaluates if the user
has access to each retrieved record and each secured field. CRM wont show error
message if the retrieve column set contains secure fields instead null values are
returned for secured fields.
7. How do secured fields behave when records are shared?
A user with access to a secured field in a record can choose to share it with another
user or team. The user can only give the access that they have on the record. For
example, to share the record and grant Update privileges, the user must have update
privileges.
You can share a secured field on a particular record with Read and/or Update with a
security principal (user or team). The user or team members with whom the record
was shared now have that type of secured field access only on the shared secured
fields on only that particular record, even if the user or team member to whom it was
shared does not have a field security profile that gives them access.
8. How do secured fields behave for filtered views?
Filtered views will not return data for the secured fields if the calling user does not
have authorization for the fields. When no field security is applied for any of the
view’s attributes, the filtered views return complete data.
9. How do secured fields behave for offline synchronization?
Only the secured field values that you have access to replicate into the offline
database. If you don’t have access to the data, it is not saved offline.
Interview QuestionsCRM, CRM 2011, CRM 2013, CRM 2015, CRM Interview Questions, CRM On-Premise, CRM
Online,Dynamics CRM Interview Questions, Field Level security, Interivew, Interivew Questions

General Interview Questions –


Microsoft Dynamics CRM (Services,
Field/Form security, Auditing, etc)
April 11, 2015P.R.MLeave a comment

Easy
1. What are the different WCF services available in CRM 2011/2013/2015?
CRM provides 3 WCF services as below
o Discovery service
o Organization service
o Organizaton OData service
2. What is the main difference between CRM 4.0 and CRM2011 services?
We had separate services for “CRM Service” and “Metadata” in CRM 4.0. In CRM 2011 we
have both in same service “Organization.svc”
3. Where we can find the WCF services addresses in Dynamics CRM
Navigate to Settings –> Customizations –> Click on Developer Resources –> Here user can
see the 3 WCF services URLs.
4. Any idea on current version of CRM?
CRM 2015 is out now and soon MS will release CRM 2015 Update1

Medium
1. What is Discovery service and purpose of it?
http://www.magnetismsolutions.co.nz/blog/roshanmehta/2012/07/04/the_microsoft_dynamic
s_crm_2011_discovery_service
2. What are the REST calls in CRM?
3. What is early binding and late binding. How is it used in CRM?
http://www.magnetismsolutions.com/blog.aspx/roshan-mehtas-
blog/2012/05/04/dynamics_crm_2011_early_vs._late_binding_overview
https://woodsworkblog.wordpress.com/2013/02/25/crm-2011-early-binding-vs-late-binding-
performance/
4. What is PrinciplalObjectAccess table why is it used?
http://blogs.msdn.com/b/crminthefield/archive/2011/06/09/principalobjectaccess-
performance-recommendations.aspx
5. What is the use of stringmap table?

Advanced:
1. What are the different types of Authentication methods supported in Dynamics CRM
2. What are different types of Modules we have in CRM?
CRM provides mainly below modules:
o Sales
o Marketing
o Servive
o Apart from these we can Extend the CRM system based on our requirements with
customizations, Plug-ins, workflows and integrations
3. Can you explain the Marketing Life cycle in CRM?
Click here to see Video on Marketing module
4. Can you brief on Sales module of CRM?
Click here to see Video on Sales module
5. How the service module works in CRM?
Click here to see Video on Service module
6. Explain details about “Event Execution Pipeline”
7. What is field level security?
8. What is form level security?
9. Can we control the field level security based on security role?
10. Can we control the entities in site map with security roles?
11. Will auditing slow down my system? No, it will not slow down CRM system because all
auditing data is stored in a single audit table. This design keeps the audit logs
completely separated from other CRM data.
12. Does audit data count against my CRM storage quota?
Yes audit data occupies the CRM storage. Hence, as a best practice we need to clean up the
audit data on a regular basis as part of yearly maintenance.

“Settings / Auditing / Audit Log Management “ will show the space that occupied by audit
data in CRM DB.
13. Can I audit just changes done by a couple users?
Auditing is turned on or off based on the entity or attribute. If auditing is only desired for a
couple users custom code is needed.
14. Can I schedule auditing to be turned off during data import?
Yes. Auditing can be scheduled to be turned off during a data import but this requires custom
code.
15. What type of operations and data can be audited in CRM?
Below data and oprations can be audited in CRM:
o Create, update, and delete operations on records.
o Changes to the shared privileges of a record.
o N:N association or disassociation of records.
o Changes to security roles.
o Audit changes at the entity, attribute, and organization level. For example, enabling
audit on an entity.
o Deletion of audit logs.
o When (date/time) a user accesses Microsoft Dynamics CRM data, for how long, and
from what client.

#1: How is CRM changing and what does the business owner need to be aware of?
At the heart of CRM is the benefit of having the customer record at the center of the data
universe rather than multiple galaxies of transactions held in separate, transaction-specific
apps. So the innovation lies in new and improved visibility for putting information to use in
intelligent decision making. Companies that used to serve 100 are serving 10,000, and with
this kind of scaling, better top-level tools and custom dashboards are where I see CRM
continuing to morph and advance.
#2: Who are the newcomers to the CRM landscape?
It is such a hot area right now, there are literally hundreds. But two I have been following
are Zoho and HighRise. Both are niche vendors that have garnered great contact lists with
their other products and created relatively simple implementations for their clients and
others. They both illustrate the fact that CRM is no longer esoteric — it is going mainstream,
which is a great thing for business, particularly customer service and data security.
#3: How much should I plan to spend on a good solution?
That’s always a tough question, given that applications vary widely in price based on
whether it’s a hosted or installed delivery model, user-based or organization-wide
subscription model, or a per-gigabyte or other data model. I would use the cost-per-sale and
cost-per-lead values to help determine what a system is worth to a business. For most
customers, services are going to be anywhere from $20 to $350 per month per user.
#4: What exactly should I be expecting CRM to do for me?
This is an important question, as there are many misconceptions about software and CRM
in particular. Besides some fundamentals, like data security and access and ease of use,
CRM will primarily help you do what you do anyway, but move it to the next level. If your
main focus is customer service, CRM will help you monitor, deliver, and measure your
effectiveness. If your goal is a flat organization where the right hand knows immediately
what the left hand is doing, CRM will help you be informed about the customer’s world and
not just what relates to your department or team.
#5: What are your expectations for CRM in the next five years?
First, I expect CRM to become much more commonplace. Players like Zoho and 37signals
(Highrise) are knocking down barriers to entry. I also expect to see some consolidation. I
think the bigger players, like Salesforce, Microsoft, and SAP, will buy up some of their
smaller rivals to build into their suites and migrate their user bases. As long as the acquiring
provider keeps the connections intact during the migration and meets a similar price point,
it will be a win-win. I also think we’ll be seeing more mobile-friendly applications, like
Salesforce’s Visualforce and NetSuite’s iPhone, to maximize data access and timeliness.
#6: What are the most common mistakes you see companies make with CRM?
Many organizations use Outlook BCM or Excel for managing their contacts, which offer no
planning or setup process — just create a column or type in a field and get started. This
causes problems when information is related and the flexible aspects of the previous
solution are overlooked. There are real benefits that won’t happen without understanding
the new vernacular; the specific way the new solution describes the data. For example, an
“account” in Salesforce may not be the same as an “account” in Highrise. In fact, it might
have another name altogether, such as “company.” Understanding how the particular
vendor uses “leads” or “opportunities” will help to avoid a great deal of frustration.
#7: Do you have a few key best practices someone considering CRM can use?
Yes, I have three that anyone can use. First, consider your future needs. Look down the road
and ask “How many contacts will I have in five years?” “How many salespeople will I have?”
“How many of my people will need real-time access to this information at home or on their
phones and PDAs?” “How much would it cost me to replace these contacts?”
Second, take the opportunity to clean up your data now. Moving to a CRM solution is an
opportunity to start with a clean version of accurate data. De-duplicate and otherwise scrub
the data to minimize the possibility of needing to import twice. For example, the flexibility
of Excel and Outlook BCM allow placing incorrectly formatted information in their fields.
This data will not import well without some good planning.
Third, be sure to communicate throughout the process and get early buy-in. The biggest
focus of Saleforce.com with its customers is adoption. Members of your team are influencers
in their departments. Leverage their expertise and influence by building a team to help you
make decisions about the solution. Even if you disagree, listening, acknowledging, and
respecting will build loyalty and acceptance within the process.
#8: What advantages might CRM have for specific verticals?
The answer to this question is not if but how much. Since CRM helps you do what you do
better, if you are in a professional services company with long sales cycles, project terms,
and frequent interactions and touch points, CRM will be exponentially more valuable to
you. So service businesses, like lawyers, consultants, and accountants, are ripe for CRM but
often have a technological aversion and a strong status quo to maintain.
#9: Does CRM fall more to sales or marketing in most organizations?
In my experience, marketing is somewhat of a new concept in CRM. Sales is definitely
involved, but most often it is operations leading the charge.
#10: What are my best resources for finding out more about CRM?
One resource I would recommend any company create for itself is a one- to two-page
document that answers the best practice questions above and includes input from the team.
Send it to five vendors your team has selected and go over the proposals to see which
companies address you as a unique business — not just with a customizable offering but as a
discrete business. Here are a few good sites I would recommend to anyone considering a
solution:

Interview Questions & Answers for


MSCRM page2
What is MS CRM?
 Microsoft CRM redefines customer relationship management with a fast, flexible, and affordable solution for driving
consistent and measurable improvements in all of your customer business processes using tools and technology
like Microsoft Office and Outlook that you already know and use. (Source: Microsoft)

CRM is a strategy, Microsoft Dynamics CRM helps you achieve it.


History has shown us that user acceptance is one of the most important factors for the success of a new product,
process or any other service that has to be deployed. To overcome this problem, Microsoft Dynamics CRM has
been built with the following three tenets in mind:
 It works the way you do: Microsoft Dynamics CRM offers a native outlook experience and integrates
nicely within Microsoft Office. No need to learn a new user interface.
 It works the way your business does: every company has its own specific products and services. This
requires a system to be adaptable to your processes and not the other way around. You customize the
system; the system is not customizing you.
 It works the way IT does: Deployment, maintainability and integration should be easy. It is based on
standards and does not require highly specialized or unique knowledge. Even IT should be happy with it.
Microsoft Dynamics CRM Titan has added one more: The Power of Choice. This is driven by the three new key
features:
 Multi-Tenancy: choose where, when and how you want to use the program. From outlook, the browser or
your mobile device? On premise, partner hosted or Microsoft Dynamics CRM Live (Microsoft running it
under the concept of the popular Software-as-a-Service (SaaS) concept - Currently ONLY available in
North America)
 Multi-Lingual: Choose the language for your organization and/or for every user individually.
 Multi-Currency: Support for multiple currencies, so you can easily manage customers from different
locations.

The way you use Microsoft Dynamics CRM greatly depends on your function within your company and the role you play in
the customer life cycle. Microsoft Dynamics CRM supports this by categorizing its possibilities into a couple of functional
groups. Although some of their functionalities overlap, the first three groups (Sales, Marketing and Customer Service) can
really be seen as separate modules in Microsoft Dynamics CRM. Reporting and Analytics is a group which you will encounter
in all the modules.
 Sales: increase your sales success by managing your sales life cycle. It includes Account, Contact, Lead,
Opportunity, Quote, Order, Invoice, and Product Catalog management.

 Marketing Automation: enhance marketing effectiveness by managing you marketing automation life cycle.
Plan, manage and track your marketing campaigns from development to launch.

 Customer Service: deliver outstanding customer service by managing your service and service scheduling life
cycle. This includes Contract, Case, Knowledge Base, and Queue management, Service scheduling and Scheduling
administration.

 Reporting and Analytics: start treating your customer data more like customer information. Establish new
business intelligence in real-time to uncover business trends and performance results.

Q: What is CRM Service of MSCRM?


Ans: CRM Service is the main web service and it exposes Six methods such that you can write your code against CRM
entities. To perform operation other than the six operations (six methods provided by mscrm) we will have to use the
Execute method.
Q: What is Metadata service of MSCRM.
Ans: Dictionary meaning of the word METADATA is data about data and similarly the metadata holds the information about
MSCRM means the information about the entity and attribute e.g. Display name, platform name, size of the attribute,
datatype of attribute etc. If we want to access any information about any entity (Dynamic or system) we will have to make
use of the Metadata service. In the database we can find the metadata table and name of these table begins with keyword
Metadata.
Q: What is discovery Service?
Ans: The Discovery service is a global service that helps the caller to detemine the correct organization and URL. Microsoft
CRM server may include several servers. Each server might be dedicated to multiple organization. Each of these servers will
have dedicated web-service URL for faster operations. Internally the Microsoft CRM server allocation may change so the
discovery service directs the request to its corresponding web-server for further processing.
In short the Discovery service responsibility is to find the 'CRM Service' and 'Metadata Service' urls.

The discovery service returns the list of organization URLs that the current-requester (current user) belongs to. During the
Outlook client configuration discovery service shows he list of organization the current-user belongs to.

This web-service is used to create authentication ticket in case of Windows live authentication.

What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
Ans: 'Append' and 'Append To' priviledges works together. 'Append To' priviledge will allow other entities to get attached
with the entity. 'Append' priviledge will allow the entity to attach the records to the entity with 'Append To' privildege.

Let us understand this with simple example:


Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity
should have 'Append To' access right.

Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and
'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need
to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.
Now guess will I be able to attach the records? Answer is "NO" because we need to create a 1:N relationship between
'TestCustomEntity1' and 'TestCustomEntity2'.
Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records
to 'TestCustomEntity1'.
16. How to create a Custom Entity record using SDK?
Ans: Using Dynamic Entity.
17. How to join two table using Query Expression?
Ans: Using Linked entity. You should always try to minimize the number of SWS calls that we make in the database. Often
during code review it is explored that the number of Microsoft CRM web-service could have been reduced by making use of
the Linked-entity concept. So we should always look for the opportunity to minimize the effort.
18. Can we modify the name of Root Business Unit?
Ans: No; We will have to re-install MSCRM.
19. Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st User?
Ans: The 21st User will get created in MSCRM but that user will be in disabled state.
20. What are the maximum number of tabs allowed on a Microsoft Dynamics CRM 4.0 form?
Ans: 8
21. How to enable/disable the form assistant? How to make sure the form assitant is expanded/cllapsed on
a form?
Ans: Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select Form Properties
>> Open Display Tab >> Check/Uncheck the "Enable the Form Assistant" and "Expanded by Default".

What is CRM Service of MSCRM?


The Web service is the core API mechanism for programmatically interacting with all entities in Microsoft Dynamics CRM.
This service contains six common methods that work on all entities, and an Execute method that is available for all other
needs
http://<crmserver>/mscrmservices/2007/crmservice.asmx

 Create Creates a new record for a given entity.

 Retrieve Returns a single record based on the entity ID passed in.

 RetrieveMultiple Returns multiple records based on a query expression.


 Update Edits an existing record.

 Delete Removes a record.

Fetch Returns multiple records based on a FetchXML query. The FetchXML query syntax mirrors that of previous Microsoft
Dynamics CRM versions

Execute Method

The Execute method allows you to run any special commands or business logic not addressed by the common methods.
Unlike the common methods, the Execute method works on Request and Response classes. You pass a Request class as a
parameter to the Execute method, which then processes the request and returns a response message. Though
the Executemethod can perform all of the actions of the common methods, its real purpose is to provide you with the
functionality that the common methods lack. Typical actions for which you might use the Execute method are to retrieve the
current user, assign and route records

What is Metadata service of MSCRM?

 MetadataService Web service that you can use to programmatically access the metadataMetadata Service Web
Service: Retrieve the metadata for a specific entity, either system or custom.

 Retrieve the attributes for an entity.

 Retrieve the metadata for a specific attribute, such as the possible state names or picklist values for an attribute.

 Create a custom entity.

 Add or update an attribute for an entity, either system or custom.

 Create or delete a relationship between two entities.

 Retrieve all the metadata to create a metadata cache in a client application.

 Determine whether the metadata has changed since a previous retrieve.

 Retrieve all the entities and determine which ones are custom entities.

 Add or remove an option from a picklist attribute.

 Write an install and uninstall program for your custom solution.

THe Metadata Service Web service is located at http://<crmserver>/mscrmservices/2007/metadataservice.asmx

What is discovery Service?

The CrmDiscoveryService Web service can provide a list of organizations and their corresponding Web service endpoint
URLs. You use this information to configure the CrmService and MetadataService Web service proxies and call Web service
methods that access an organization's data. The discovery service URL is fixed per installation so that you can
programmatically configure solutions for multiple organizations in a single environment.
The discovery Web service is most applicable for the following situations:

 Large-scale installations of Microsoft Dynamics CRM, where the installation may have the Web service APIs
installed on a server different from the Microsoft Dynamics CRM Web server

 Independent software vendors (ISVs) solutions

More Info:

A multi-tenant installation is one in which multiple CRM organizations are configured against a common set of hardware.
Remember that each organization contains a unique database that contains the custom configuration and all the business
data. You need the Enterprise edition of Microsoft Dynamics CRM to setup and deploy a multi-tenant deployment

The CrmDiscoveryService Web service for an on-premise installation is located


athttp://<crmserver>/mscrmservices/2007/AD/CrmDiscoveryService.asmx, where crmserver is the Microsoft Dynamics CRM
Web server.

What is a Plug-in?

Plug-ins provide one of the most powerful customization points within Microsoft Dynamics CRM. As users work in the
application, their actions cause Microsoft Dynamics CRM to trigger events that developers can use to execute custom
business logic through the use of plug-ins

What is a Workflow?

Difference Between Plug-in & Workflow !!!!


When will you use a workflow and when will you use a Plug-in? Give some Real-lifescenario?

What are the differences between Asynchronous Plug-in and a Workflow?

1.Workflow solution requires zero code maintenance and a normal user or administrator can create the Workflow.

Whereas for Plug-in , needs a Professional to develop it or the individual who as some programming knowledge.

2. Workflow includes a limited set of Events. For Example Create,Update & Delete.

Plug-in includes a number of Events like Create, Update, Delete,Retrieve,Retrieve Multiple,Send,Set-state,Assign,Route &
Merge.

3.Workflow can only work as Asynchronous.

Whereas Plug-in can work both way Synchronous & Asynchronous.

4.Workflow can work on only Asynchronous Operations mean after the event occur.For example On creation of Lead an E-
mail needs to be generated to the Owner of that Lead. In this example the E-mail will be send to the Owner of that Lead
when the Lead get created.
Where's Plug-in can be implemented as Pre-Event and Post-Event.

5. Plug-in feature's include Pre-Image & Post-Image.

Whereas Workflow include only Post-Image.

6. Workflow can run Automatically & Manually.

Whereas Plug-ins cannot be run manually; they only run on the steps for which they are registered.

NOTE:-

The biggest difference between the two techniques is in the timing of the actual update. Plugins can be executed either
Synchronously or Asynchronously. Workflows function in an asynchronous manner.

The Synchronous operation will modify the data stream as it is being saved to the database, which can introduce a delay in
the user's experience, but will provide results back to the user in a quicker fashion.

Asynchronous operations will happen shortly after the data has been saved which will not impact the user, but which may
result in a slight delay between the time the user saved the record and when the value will be updated.

 Workflows:

1. Can be created via the CRM user interface, without code

2. Can be run manually

3. Always run asynchronously

Plugins:

4. Necessarily written as .Net code

5. Registered in CRM via tools in the SDK

6. Cannot be run manually

7. Support more events than workflow

8. Can run before changes are committed to database, and hence cancel changes

9. Can run synchronously or asynchronously

frequently get this question: When should I write a plug-in in Microsoft Dynamics CRM versus a workflow ? This dilemma is
faced whenever custom logic must be executed in a pre and/or post operation.

Peter Hecke of Microsoft created this decision table on MSDN. Here is another pretty cool matrix done by Humberto on how
to choose between these options: http://blogs.msdn.com/lezamax/archive/2008/04/02/plug-in-or-workflow.aspx.
Additionally, I would like to point out some stuff that could also help when making up your mind.

First of all, remember than both workflows and plug-ins can attach to exactly the same events. Well, plug-ins
have available a couple of more events but essentially both work on top of the same event model.Remember also
thatworkflows always run asynchronous and hence, the Asynchronous Processing Service must be running on
the server in order to run.

Workflows are more suitable if:

 you want to achieve simple tasks faster, such as sending an e-mail or creating / updating assigning records. These
actions can be set up very quickly with a workflow without any need of writing code.
 you want to easily scale things to managers (if they were setup for user records), as it is possible to assign records
to them.
 you want to allow an advanced user to make changes to logic. As using the integrated workflow designer is user-
friendly, an advanced user would be able to edit an existing workflow and change some rules according to
business changes.
 the logic should be available to be run on demand. I mean, when you are within an entity and navigates to
“workflows” option in the left pane, all workflows marked as available to run on demand can be executed making
them independent of an event trigger.
 you want to send emails making use of templates and attaching files.

Workflows also allow running child workflows which may make a lot of sense in some scenarios. Nevertheless, be careful
if you need the child workflow results in order to make decisions on your main workflow, as child workflows always run
asynchronous, which means that it will trigger the child workflow and continue. If you need your primary workflow to wait
until child ends, you will need to write a custom activity.

On the other hand, plug-ins are more suitable if:

 you need to manipulate data before is saved.


 you need to make validations before submitting the operation.
 you want to be able to cancel an operation based on your validations.
 immediate response to the user is needed.
 you need retrieve values and/or take actions after operation has been completed (i.e. getting and autogenerated
id)

It is important to note that since Dynamics CRM 4, plug-ins can also be configured to run
asynchronous(Mode attribute while registering plug-in). Nevertheless, pre-event asynchronous plug-ins are not
supported. In this case, you will have to set it up as synchronous mode.

Another important thing about plug-ins is the Deployment option which says if the plug-in is going to be executed on the
server and/or Outlook client. If both executions are set up and client goes offline and online, plug-in calls are
triggered after synchronization so be prepared in this case to execute your code twice!

Regarding to security:

 Workflows triggered automatically will run under the security context of the workflow owner. On the contrary, if
executed on demand, the security context of the user who executed the workflow will be used.
 Plug-ins execute under the security context of the CRM Web application pool identity (typically NETWORK
SERVICE). As this account typically maps to generic CRM SYSTEM user this typically works fine.

However, within plug-ins you can make use of impersonation to work under the credentials of the user who is making the
request. For doing so, you just need to pass True to the CreatCrmService method under the context object.If you need to
always impersonate with a specific user, you can do that by passing True as above and setting impersonatinguseridattribute
while registering the plug-in.It is important to know that plug-in impersonation does not work offline. The logged
on user credentials are always used in this case.

Requirement Plug-in Workflow


Needs a synchronous action to x
happen before or after an event
occurs
The same piece of logic will be x x
executed for different events and
possibly on different entities
The logic needs to be executed while x
offline
Needs elevation of privileges x
(impersonation)
Needs to execute on events other x
than assign, create, update, setstate
The process/logic may take a long x
time to complete or will be a
persistent process (multiple long
running steps)
Needs an asynchronous action x x
End users will need to modify the x
process logic
Child sub processes will be triggered x

It may also be the case that a combination of both approaches is required; a plug-in can trigger a workflow and a vice
versa. From the above matrix the most decisive factor is whether you need a synchronous action or not; if you do, plug-ins
are the way to go, if you don’t then other factors need to be pondered.

What is an Email-Router?

The Microsoft Dynamics CRM E-mail Router is a software component that provides an interface between the Microsoft
Dynamics CRM system and Microsoft Exchange Server 2003, Microsoft Exchange Server 2007, SMTP, or a POP3-compliant
e-mail server. When E-mail Router is installed, it transfers e-mail messages to the Microsoft Dynamics CRM system, and it
sends outgoing e-mail messages.

The Microsoft Dynamics CRM system stores e-mail messages as activity records. These e-mail activity records are stored in
the Microsoft Dynamics CRM database and include both the contents of the e-mail message, such as the text of the
message and its subject line, and relevant associations with other Microsoft Dynamics CRM records. For example, when a
salesperson replies to a customer about a case, the salesperson creates an e-mail activity record that includes the text of
the message plus information associating the e-mail activity record with the correct case record.

What are the steps to configure an Email router?

Ans: The E-mail Router Configuration Manager is a separate tool that you use to configure the E-mail Router. The E-mail
Router Configuration Manager is installed with the E-mail Router and can be run after the E-mail Router Setup is completed.

All E-mail Router settings configured by using the E-mail Router Configuration Manager are saved in the
Microsoft.Crm.tools.EmailAgent.xml file that is located in the folder where E-mail Router is installed.

The E-mail Router has several options. Before you run the E-mail Router Configuration Manager, you should determine how
you want to deploy these options.

 Incoming Configuration. The E-mail Router supports Exchange Server 2003, Exchange Server 2007, or POP3 e-mail
systems for incoming e-mail messages.
 Outgoing Configuration. Microsoft Dynamics CRM supports only SMTP e-mail systems for outgoing e-mail
messages.
 Mailbox Monitoring Type. The following two mailbox types can be configured:
 Forward Mailbox. If you select Forward Mailbox when you run the E-mail Router Configuration Manager, a
single mailbox will be used by E-mail Router to process e-mail messages. Then, for each Microsoft
Dynamics CRM user or queue that will receive e-mail messages, a rule must be created for the user, or
queue, by running the Rule Deployment Wizard.
 Individual Mailboxes. If your e-mail system does not allow rules, where an e-mail message can be
forwarded as an attachment, you must select Individual Mailbox Monitoring. Notice that, if you are using
Exchange Server, we recommend that you use Forward Mailbox Monitoring.

How the Plug-in and Workflow will behave in case of Off-line client?

with the Outlook client, further extending your existing solution. You can choose to have the plug-in execute only against
the server, run offline with the Outlook client, or both.

Remember that when a client goes offline and then returns online, any plug-in calls are executed after the data
synchronizes with the server. If you choose to have your logic execute both with the server and offline, be prepared for
Microsoft Dynamics CRM to execute your plug-in code twice.

Microsoft Dynamics CRM does not support an asynchronous implementation of a plug-in with offline deployment. If you
want to have your plug-in work offline, you need to register it in synchronous mode.

Question : What is the use of Secondary Entity within Plugin Registration Tool in MSCRM
Significance of Secondary Entity in Plugin
2011 ?

Registration Tool while Registering Plug-In in MSCRM


"Secondary Entity use when you have to trigger plugin or retrieve record from Intersect
Entity(contactleads) having records of Entities(Contact and Lead) having N:N Relationship"

While using the Plugin Registration tool in Dynamics CRM, we might have rarely or even
never used the ‘Secondary Entity’ field and almost always assigned it as ‘none’, but there are
some scenarios where this field comes into play.

When is ‘Secondary Entity’ required


The following 2 messages require the ‘Secondary Entity’ to be specified while registering a step
in Plugin registration:
o SetRelated
o RemoveRelated
These two methods were extensively used in Dynamics CRM 4.0, but they were deprecated
from Dynamics CRM 2011 onwards; although you can still use them in 2011 and 2013.
What are the supported ‘Secondary Entities’
Following is the table depicting the out-of-the-box ‘Primary Entity’ and ‘Secondary Entity’ that
are supported for both ‘SetRelated’ and ‘RemoveRelated’ messages:
Primary Entity Secondary Entity Supported Relationships
Invoice Contact contactinvoices_association
Lead Account accountleads_association
Lead Contact contactleads_association
Opportunity Account opportunity_customer_accounts
Opportunity Contact opportunity_customer_contacts
Opportunity Competitor opportunitycompetitors_associationor
Product Lead leadproduct_association
Product Competitor competitorproduct_association
Quote Contact contactquotes_association
SalesLiterature Competitor competitorsalesliterature_association
SalesLiterature Product productsalesliterature_association
SalesOrder Contact contactorders_association
You can also find this entire list in the Dynamics CRM SDK,
What does ‘SetRelated’ and ‘RemovedRelated’ do
These two messages are basically triggered when a primary entity record is
associated/dissociated with/from the secondary entity record via the relationships supported,
details of which are mentioned above. So, if you’re planning to execute some business logic on
association of the above mentioned entities, you can register the plugin against the ‘SetRelated’
message. The ‘RemoveRelated’ works for dissociation of the entity records from each other.

From Dynamics CRM 2011 onwards, the ‘SetRelated’ and ‘RemoveRelated’ have been
succeeded by the ‘Associate’ and ‘Disassociate’ messages respectively

What is the use of String Map Table in MSCRM ?


Use of String Map Table in MSCRM
Ever wonder how (or where) CRM stores the related values for pick lists or Option
set ?
Answer is in String Map Table
So what is string map table actually means in CRM?

String map table basically used in MSCRM for storing the details of Option Set Fields exists in an
organization. It contains all the data (Attribute Name, Option Set name, option value , option
name, Object Type Code) of option set.

Let’s take one requirement to clear the use of StringMap table, requirement is like:

“Show the incident by status Name”

like: "CAS-T4R4F-U7Y6T5" shown status as "Problem Solved"

So in this scenario if we will have no string map table then either you need records which contain all
the distinct type of record by status or you need hard code value use in report query.

By String Map table you can join the table and can collect all the status present in incident and can
collect records number by grouping of them.

So this type of many scenarios can be fulfill by this table

Result of Case with Status Without using Stringmap Table :


Query : select TicketNumber[TicketNumber],statuscode[Status] from incident

Result of Case with Status using Stringmap Table :


Query :
select INC.TicketNumber[Case ID],SMT.Value[Status Name], SMT.AttributeValue[Status Value]
from incident as INC inner join StringMapBase as SMT
on INC.StatusCode = SMT.AttributeValue
where SMT.AttributeName='statuscode' and SMT.ObjectTypeCode=112

Difference between Asynchronous Plugin and Workflow ?

Difference between Asynchronous Plugin and Workflows


in MSCRM
So many times I have been asked a question from my colleagues,
What is the difference between Async Plugin and Workflow, Since both are
Asynchronous But What is the actual difference between them and When should i use
Workflow and When should I use Async Plugin ?

Answer :
My Answer is always "Depends", the right approach is determined by the Characteristics
of the task that you are trying to accomplish.

Following Matrix show the difference between the same :

Requirement Use Plug-in Use Workflow

Needs a synchronous action


to happen before or after an No
event occurs
Or
Need to perform a task that Yes
has to completed within 2
Sec
The logic needs to be Yes No
executed while offline
Needs elevation of privileges
(impersonation)
Or
No
Perform data operations on
behalf of another system Yes
user
Needs to execute on events
other than assign, create, Yes No
update, set state
The process/logic may take
a long time to complete or No Yes
will be a persistent process
(multiple long running steps)

End users will need to No Yes


modify the process logic
Child
sub processes will be No Yes
triggered
Tell me types of Entity and What are Organisation Type in Entity ?
Entities Overview – Microsoft Dynamics CRM

Entities form a vital piece of the Microsoft Dynamics CRM framework. Essentially, entities are used
to model and manage business data. Some common entities that most Dynamics CRM users are
familiar with are Account, Case, Campaign, Contact, Lead, and Opportunity. These entities deal with
many of the most common sales, service, and marketing data with which a CRM user frequently
engages.

Types of Enity in MSCRM

There are three main types of entities: system, business, and custom. In Dynamics CRM, system
entities handle internal processes such as workflows. It is important to note that system entities
cannot be deleted or customized. Business entities are the default entities within Dynamics CRM
which include Case, Account, and Opportunity. One of the most important elements in Microsoft
Dynamics CRM is customization. Custom entities provide organizations with a way to meet their
needs head-on. One example of this is that you can create a vendor entity if you are a retail
business and then dictate how it relates to different entities within your organization. Since each
entity supports a variety of actions, streamlining communications processes among est your
organization is now an attainable goal.

Entities Ownership – Microsoft Dynamics CRM


Ownership is a key factor in how entities work. In Microsoft Dynamics CRM, most entities have an
owner, which is determined by the ownership type. There are four ownership types in CRM:
organization, business, user, and none. Organization-owned entities can be accessed by an entire
organization. These records cannot be assigned to an individual owner (or shared). Business-owned
entities belong to a Business Unit, while user-owned entities are owned by one specific CRM user
and typically contain customer-related data. Accounts, Contacts, and Cases are examples of user-
owned entities. A few entities in Dynamics CRM have no ownership type. They are not owned by
another entity (user, business unit, or organization) within CRM.

The following table lists the complete ownership types:

Ownership Description
Type
Organization Organization-owned entities typically contain data involving something that
Owned belongs to or that can be viewed by the whole organization. Organization-
owned entities cannot be assigned or shared. For example, products are
owned by the organization.
Business Business-owned entities belong to a business unit.
Owned
User Owned User-owned entities are associated with a user. User-owned entities
typically contain data that relates to customers, such as accounts or
contacts. Security can be defined according the business unit for the user.
None The entity is not owned by another entity. For example, the uom (unit-of-
measure) and workflowlog (workflow log) entities are not owned by another
entity.

How to retrieve records from Entity having N:N Relationship


Retrieve N:N relationship records by Query Expression in
MSCRM
Sometimes we have requirement to get records from N: N relationship. So today I would like share
how we can get these relationship records by query expression in code. When we create N: N
relationship between 2 entities, it creates an intermediate entity (i.e., Relationship Entity) . Below
screen shot showing N:N relation between account and marketing list.

for details attribute you can see the database table with same relationship entity name as here is
“contactleads”

Contact Lead N:N Relationship

contactleads(Intersect Entity) fields in DB

I am taking example of existing 2 entities “Contact” and “Lead” with N:N association as above
screenshot showing . Because an Contact can be in multiple Leads or Vice-Versa

for e.g we have requirement to get all the ‘Leads’ which the Contact with name “Arpit Shrivastava”
is associated . for this query code viz:

string entity1 = “Contact”;

string entity2 = “Lead”;

string relationshipEntityName = “contactleads”;

Private EntityCollection getM_to_M_Record(string entity1 ,string entity2, string


relationshipentityName)

QueryExpression query = new QueryExpression(entity1);

query.ColumnSet = new ColumnSet(new string[]{"firstname"});


LinkEntity linkEntity1 = new LinkEntity(entity1, relationshipEntityName, “contactid”,
“{Entity 1 Primary field}“, JoinOperator.Inner);

LinkEntity linkEntity2 = new LinkEntity(relationshipEntityName, entity2, “lead”, “{Entity 2


Primary field}“, JoinOperator.Inner);

linkEntity1.LinkEntities.Add(linkEntity2);

query.LinkEntities.Add(linkEntity1);

// Add condition to match the Contact Name with “Arpit Shrivastava”

linkEntity2.LinkCriteria = new FilterExpression();

linkEntity2.LinkCriteria.AddCondition(new ConditionExpression(“firstname”,ConditionOperator.Equal,
“Arpit Shrivastava”));

EntityCollection recordcollection= service.RetrieveMultiple(query);

return recordcollection ;

How many types of Relationships and Relationship Behavior exist in MSCRM ?

Have you ever faced Performance related issue in MSCRM, How you have
resolved it ?
Overcome CRM Slowness and Optimization of
Performance in Dynamics CRM 2011
Here is a checklist which can help you identify and reduce the issues with your client
performance:
 Optimize Your Form Load Experience.
 Keep less fields on the form.
 Do not overuse scripts (Avoid OnLoad; Use OnChange since its on demand).
 Trim the ribbon appropriately.
 Be wary of client side enabled rules.
 Use collapsed sections whenever possible.
 Use server side show/hide fields.
 Use ‘read optimized’ forms.
 Use iFrames carefully, the more you have longer it takes to load.
 Use Sub-grids, where necessary as it tend to increase page size quickly.
 Manage the complexity and visualizations of dashboards.
Other than customizations,
 Make sure you meet the minimum requirements for Hardware
 Power settings can affect performance
 Proxy server settings
 Configure Internet Explorer for optimal performance: Configuring client-side browser
caching and Configuring simultaneous download sessions
 Extraneous processes, applications, and add-ins
 Internet Explorer zoom setting
What is difference between FIND and ADVANCED FIND in MSCRM ? Which is
Faster ?

Find vs Advanced Find in MSCRM


Which one is Faster FIND or ADVANCED FIND ?

Find : Find perform a search on an attribute for which it is defined.


Advanced Find : Advanced Find perform search on the conditions and the
attributes for which user customizes or runs it.

Find : Normal Find is faster as it looks for one attribute and matches with that and
returns the result
Advanced Find: Advanced Find searches for all the attributes and conditions while
parsing through the records.

Find : Find is applicable on only active records and it finds only on 2 or 3 column
which we have defined in the find view and even it returns any those column
which is there in the view
Advanced Find : Advanced find is applicable to all the records and it finds all the
columns and even it returns all the column and filter criteria can be on any
column and most important

Find : Find filters on just one condition


Advanced Find : But adv find filters on multiple condition at one time..

So Find is faster than Advanced Find.


Where Plug-In store in MSCRM or Where the Plug-In information stored in
MSCRM ?

Plugin Assembly Table in MSCRM


One of my colleagues faced a situation where he had installed a plugin assembly into
database but was not able to locate its DLL, and now he wanted to deploy it in some other
server.

In MSCRM all plugins related information like its name, content, createdBy, createdOn.
ModifiedBy, ModifiedOn etc store in PluginAssemblybase Table. You can get it by below
Query result :
select * from PluginAssemblyBase
Below are some column description of PluginBaseTable :

Column Description
Name
Name Store name of Plugin
Source Type Where the Plugin registered
0 - Database
1 - Disk
2 - GAC
content Store content of DLL

These are the steps to get DLL from Content :

Get the encoded base 64 string representation of the plugin from PluginAssemblyBase table.

select name,content,*
from PluginAssemblyBase

Use that content and get the dll from the following site.

http://www.motobit.com/util/base64-decoder-encoder.asp

Set decode and export to binary file option there with filename having extension as .dll

Open the dll in the reflector tool and use the source code to build that assembly.

http://reflector.red-gate.com/download.aspx
Question : How many possible ways to registered a Plug-In in MSCRM ?

Answer : 1. Plugin Registration Tool. 2. Solution Export/Import 3.Developer Tool Kit


uestion : What is SCOPE in MSCRM system workflow and why it is use for ?

Answer : In MSCRM workflow has 4 Scope available as mentioned below


:
1. User - WF will only run for those record whose owner is WF owner itself or Logged in
User only.

2. Business Unit: WF will only run for those record whose owner is in the same BU of WF
owner.

3. Parent-Child Business Unit: WF will only run for those record whose owner is in the Child
BU of WF owner BU

4. Organisation : WF will run for all records in organisation regardless of owner

Question : What is the use of Ownership while creating Entity in MSCRM ?

Answer : http://arpitmscrmhunt.blogspot.in/2014/05/overview-of-entity-in-mscrm.html

Question : What is the difference in fields in User or Team owned Entity and
Organisation Owned Entity ?

Answer : There is no 'Owner' field available on the form when you create a Entity
hasOrganisation Ownership. while in User or Team Owned Entity this field will be
available.
Below is the screenshots which will clear what exactly happens:

Organisation owned Entity Fields (No Owner field exists) :

User or Team owned Entity Fields :

Question : Can System Admin Create, Update, Delete the Personnel View of
other User ?
Answer : NO,
In MSCRM, each user has User Access Level on Saved Views(Personnel View), even System
Admin cannot do any operation on Personnel View see below:

Question : Why MSCRM ? Since so many CRM available in the market like
ERP, SAP, SIEBEL etc But How MSCRM is different from others ?

Answer : World-class customer experiences begin with your people. By giving your people the right
tools to multiply their productivity, multiply their impact, they can drive your organisation to achieve
your goals, multiply your revenue, and multiply your customers.

The top reasons, why organisations choose Microsoft Dynamics CRM instead of other CRM to create
world-class customer:

Ease of Use :
Since MSCRM is a Microsoft product which is very similar & integrated with other
Microsoft Products Like MS Word, MS Excel, MS Outlook, MS SharePoint, Internet
Explorer etc, so it is very familiar to all those businessman who use to spend 70% of his time
on these tools, To understand this CRM no additional tool need to be learn, no additional
software need to be install. Anyone could easily learn MSCRM with little training.
In other words we can also say that

it integrates with Microsoft Business Solutions for Financial Management, Microsoft Office, and other
systems to that you get a complete picture of your customer.

It's important to note just how easy it is to integrate Microsoft CRM with Microsoft Office. Because it is
so easy it enables your employees to access Microsoft Dynamics CRM right from their Microsoft Office
Outlook whether they are working online or offline. It's a great tool for your sales department and it
takes little training to make it happen.
Dynamic :
Since MSCRM hide Dynamic word inside itself its abbreviate as 'Microsoft Dynamic CRM'. We
can extend it at any level. Microsoft itself provides three modules (Sales, Marketing & Service). But
anyone could add its own module. Apart from this MSCRM is easy integrated with other MS Products as
well as various third party tool like Ava-ya etc.

Three Deployment Options :


MSCRM is the only CRM product available in the market who have 3 Deployment options,
On-Premise, Online and IFD (Internet Facing Deployment).

The Cloud :
Microsoft invests over $2 billion US dollars in cloud infrastructure every year. Microsoft Dynamics CRM
is one of the quickest and one of the easiest ways for your business to take advantage of the cloud and
cloud economies, including helping to reduce systems management and maintenance costs as well as
meaning you pay only for the capacity you need.
Value :
When considering costs—including licensing, services, training, deployment, administration and
maintenance — customers, media, and industry analysts regard Microsoft Dynamics CRM as one of the
best value offerings in the industry.
Language Support :
MSCRM is only product available in the market which is Available in more than 40 languages.

Access Clients :
MSCRM is only product in the market which could be accessible through Mobile, Outlook and Web
client. MSCRM 2013 also accessible from Tablet also.
.Net Development Platform :
MSCRM use .net framework. All Plug-Ins, Custom WF written in either C# or VB. Even the whole MSCRM
Pages, forms has designed in .net(.aspx page). So its easy for .net developer to write code in MSCRM and
make it understandable for itself.

Question : Can we customize SVCUTIl.exe class of MSCRM or Can we create


our custom Early binding class for few entities ?

Question : Difference between Query Expression and Query by Attribute ?

Question : What is Dynamic Entity in Dynamic CRM ?

Question : What is Security Depth Dynamic CRM ?

Question : Can we Export Vanilla Solution from Dynamic CRM ?

Question : What is Inherited Security Role in MSCRM ?


Question : What is Data Impersonation in MSCRM ?

Question : if you change BU of any CRM user is it mandatory to change security


role of that user ?

Question : Difference between System Administrator and System Customizer


Security Role in Dynamic CRM ?

Question : Advantages of using Web Service in C# ?

Question : Address , Binding and Contract Web Service in C# ?

Question : How can we restrict any 'Entity Field' from being shown in
Advanced Find ?
Answer : Using Searchable Property of attribute(Entity Field.

Did you know that you can set each attribute of each entity to be able for advanced find or
not?

By doing this you can specify which fields the users can search on. That means that all the
fields which you do not use in your CRM system can be removed from the list to make using
the advanced find easier.

So how do you do this? Just:


- go to system
- customization
- customize entities
- select any entity
- go to the tab attributes
- select any attribute
- switch the flag 'Searchable'

Can we do the same using Field Security Profile ?


Answer is NO, the difference is described below:

if user A is added to Field level profile where he is not able to read field A then
when user A does the advanced find, system will display this column in advanced
find but it will be blank column (meaning user will not see/read the value and field
level security will be applied).
Question : How can we restrict any 'Entity' from being shown in Advanced
Find ?
Answer ; Using Security Role:
Best way to achieve this is apply security settings if you remove the read/view
permission of unused entity in CRM security, then those entity will not available.

But if you have read privilege on the entity and still you want that entity not to be shown in
Advanced find or If you want permanently hide entity from Advanced Find then there is no
supported way.
But there is an unsupported way to achieve the same. CRM exposes below Boolean property
in EntityMetadata to identify which entity should appear in Advanced Find.

EntityMetadata.IsValidForAdvancedFind Property - Gets or sets whether the entity is


will be shown in Advanced Find.
AttributeMetadata.IsValidForAdvancedFind Property - Gets or sets the property that
determines whether the attribute appears in Advanced Find.

Try below query to hide Account entity from Advanced Find.

update MetadataSchema.Entity set IsValidForAdvancedFind = 0 where Name = 'account'

update MetadataSchema.Relationship set IsValidForAdvancedFind = 0


where ReferencingEntityId = (select MetadataSchema.Entity.EntityId from
MetadataSchema.Entity where Name = 'account')
and IsValidForAdvancedFind = 1

Reset IIS and clear server(and client) cache.

This will hide the entity for all users on the Advanced Find.

Question : When do we register a plugin in child pipeline. give examples ?

Question : What are images. What are its types and Why are they used ?

Question : What are images. Why are they used. ?

Question : When can infinite loop occur in a plugin. How do you avoid infinite
loops in plugin code.

Question : what are filtered views?

Question : if you delete a record from UI, what happens in database. can you
bring the record back?

Question : What is deletion service? Can you change its schedule ?


Top 23 Salesforce Interview Questions
1) Explain what is sales force?

Salesforce is a CRM delivered as a software-as-a-service (SaaS).

2) Explain what is a custom object in sales force?


Custom objects are nothing but database tables. It stores data related to your company in
Salesforce.com. Once you have defined custom object you can do following things like
 Create custom fields
 Associate the custom object with other records
 In custom related lists, it display the custom object data
 For custom object, records track events and tasks
 Build page layouts
 For the custom object create a custom tab
 To analyze custom object data create dashboards and reports
 Share your custom tabs, custom apps, custom objects and any other related components
3) Explain what is object relationship overview?

Object relationship overview in Salesforce is used to link custom object records to standard object
records in a related list. In simple words, it is helpful to track product defects associated with
customer cases. You can define different types of relationship by creating custom relationship fields
on an object.

4) Mention changing what may cause data loss?

Data loss may cause due to following reasons

 Changing data and date-time


 Altering to percent,number and currency from other data types
 Changing from multi-select picklist, checkbox, auto number to other types
 Altering to multi-select picklist from any type except picklist
 Changing to auto-number except from text
 Changing from text-area to e-mail, phone, URL and text
5) How SaaS can be helpful to Sales force?
 As SaaS is a subscription based, customers can always choose not to renew if they are
dissatisfied
 Customers can avoid a large initial investment in an IT infrastructure and day to day hustle of
maintaining infrastructure
 SaaS customer provides same provider infrastructure and also easy integration
 SaaS applications use a simple internet interface that makes easier for customer to use.
 SaaS always provide a latest platform to the customer with innovation.
6) How sales force is useful in tracking sales?

Sales force records all the basic details like the number of customers served daily, daily sales
volume, sales manager detailed reports, sales numbers in each month or quarter. Also, it keeps a
track on the repeat customer, which is key to success for any sales organization.

7) Mention how many relationship is included in SFDC and what are they?

There are two types of relationships

 Master detail relationship


 Lookup relationship
8) Mention what is the difference between isNull and isBlank?
 isNull: It supports for number field
 isBlank: It supports for Text field
9) Explain what is the trigger?

Trigger is a code that is executed before or after the record is updated or inserted

10) Mention what is the use of the static resource in Salesforce?

With the help of static resources, you can upload zip files, images, jar files, JavaScript and CSS files
that can be referred in a visual force page. The optimum size of static resources for an organization is
250 mB.

11) Mention what is the difference between force.com and Salesforce.com?

Force.com is PaaS (Platform as a Service) while Salesforce.com is SaaS ( Software as a Service).

12) Mention what are the actions available in workflow?

Actions available in workflow are

 Email Alert
 Task
 Field Update
 Outbound Message
13) Explain what is the limit of data.com records that can be added to Salesforce?
User can see their limit form setup, by clicking data.com administration/Users. From the data.com
users section, user can see their monthly limit and how many records are exported during the month.
14) Mention what are the different types of custom settings in Salesforce?

Different types of custom settings in Salesforce includes

 Hierarchy type
 List type
15) Mention what are the three types of object relations in Salesforce?

Different types of object relations in Salesforce includes

 One to many
 Many to many
 Master detail
16) Mention what are the different types of reports available in Salesforce?

Different types of reports available in Salesforce are

 Tabular report: It displays the grand total in the table form


 Matrix report: It is a detailed report in which the grouping is done based on both rows and
columns
 Summary report: It is a detailed form of the report in which the grouping is done based on
columns
 Joined report: With this two or more reports can be joined in the single reports
17) Is it possible to schedule a dynamic dashboard in Salesforce?

No, it is not possible to schedule a dynamic dashboard in Salesforce.

18) What does it indicate if an error state this “list has no rows for assignment”?

The error that tells “list has no rows for assignment” indicates that the list you are trying to access
has no values in it.

19) Explain what the junction object is and what is the use?

Junction objects are used to build many-to-many relationships between objects. You can take a
recruiting application example, where a position for a job can be linked to many candidates and in
the same manner a candidate can be linked to the different positions. So, to connect this data model,
you need a third party object, this object is referred as junction object. Here “job application” is the
junction object.

20) Explain what is Audit trail?

Audit trail function is helpful in knowing the information or track all the recent setup changes that
the administration does to the organization. It can store last 6 months data.

21) Explain what is dashboard?


Dashboard is the pictorial representation of the report, and we can add up to 20 reports in a single
dashboard.

22) Explain how many controllers can be used in a visual force page?

As Salesforce comes under SaaS, one can use only one controller and as many extension controller.

23) Mention what is the difference between SOQL and SOSL?


SOQL ( Salesforce Object Query Language) SOSL (Salesforce Object Search Language)

 Only one object at a time can be searched  Many objects can be searched at a time
 Query all type of fields  Query only e-mail, phone and text
 It can be used in triggers and classes  It can be used in classes but not in triggers
 DML operation can be performed on query results  DML operation cannot be performed on search r

18 TOP CRM Interview Questions and Answers for


freshers and experienced pdf
Below are some important CRM interview questions which are asked in most MNC
company interviews for beginners or professionals.

1. What is CRM?
CRM stands for Customer Relationship Management. It is a process or methodology used to
learn more about customers' needs and behaviors in order to develop stronger relationships
with them. There are many technological components to CRM, but thinking about CRM in
primarily technological terms is a mistake. The more useful way to think about CRM is as a
process that will help bring together lots of pieces of information about customers, sales,
marketing effectiveness, responsiveness and market trends. CRM helps businesses use
technology and human resources to gain insight into the behavior of customers and the
value of those customers.

2. What is the typical landscape for a CRM project? What is the maximum number
of landscapes that you have worked on in a project.
CRM landscape typically has a minimum of three environments.
Development
Test (Quality Assurance)
Production
Though in a number of cases, there is also the Sandbox Environment, Training Environment
and a pre-Production environment all set up as separate physical boxes.

3. What is the difference between technical consultant and functional consultant


with respect to their roles and responsibilities?
A functional consultant is typically responsible for running workshops, interviewing clients to
get requirements, mapping these on to the Software, deciding the best way to customize
the solution to meet these requirement keeping the client's future plans in mind.
A technical consultant is typically responsible for suggesting suitable technical solutions for
gaps, setting up the system infrastructure, doing the developments, testing them, ensuring
that performance is not affected etc.
In the CRM world in particular, the role between the technical & functional consultants is
blurring with there being a large overlap.

4. Explain the general ways of how a CRM can be enhanced?


There are several ways to enhance the CRM system. Some of them are:
- Transaction Launcher
You can add external applications to the CRM WebClient User Interface using the transaction
launcher and SAP ITS (Internet Transaction Server). These could be for
example,
- Web sites of your choice
- Transactions in an ERP system
- Administration transactions in the CRM system

- BSP Components Workbench


This is at a technical level and typical changes carried out are e.g. Adding a completely new
View.
It assist with the Component Enhancements.

- UI Configuration Tool
Allows to make changes such as:
Adding or removing fields
Changing field labels
Adding Headers
Making fields mandatory
Displaying assignment blocks (direct, lazy)
Customer specific changes to the UI must be performed using a Role Configuration Key

- Easy Enhancement Workbench


Easy Enhancement Workbench (EEWB) is a development tool that does not require technical
knowledge to be used.
It automatically creates transportable ABAP objects, updates events and implements BADIs.

5. How Do Modification-Free Enhancements Work?


You can perform modification-free enhancements at predefined positions in code.
There you have anchor points or enhancement options, as they are called in the
terminology.
At these points you can insert your enhancements. You can do this without changing the
compilation unit that you are enhancing. The inserted implementations are processed at
the appropriate position in the compilation unit, but they are themselves not part of this
unit.
They cannot, for example, belong to another package. Let us take a look at the example of
a source code enhancement in a report in order to illustrate this better. We are not looking
at details of coding, but the key steps.
Anchor point, at which you can plug in an enhancement.
Enhancement which is executed here but is itself not a physical part of the code it is
plugged into
You can – to a certain extent – compare this enhancement technology with a closet system
where you can insert various elements at particular positions. Instead of drilling the wood in
the side walls, you can insert various boards and other elements where the manufacturer
has already inserted hooks or holders at important positions.
There are different types of holders or attachments at various positions. At each holder
type, you can insert exactly one type of element: boards at small dowel positions, CD
elements at wider dowel positions, and drawer elements at multiple dowels. It seems like
the elements are an integral part of the entire closet but, in fact, they are attached to the
closet parts through holders.
The different enhancement technologies correspond to these different types of elements
described above. These technologies become attached at different types of anchor points or
enhancement options of the Repository objects.
Therefore, you cannot simply insert enhancements into Repository objects at any position
you like without modifications, but only where there are so-called enhancement options in
place. At these enhancement options, you can also attach only certain elements – so-called
enhancement implementation elements.
A concept that standardizes and structures all previous enhancement possibilities cannot do
without a certain amount of complexity. The structure it is based on, however, is extremely
simple.
.On the one hand, you have hooks or, to put it correctly, enhancement options where you
can insert enhancements. There you define enhancement options, which is why
one can speak of the definition side.
. On the other hand, you have enhancement implementation elements that you can affix to
these hooks or enhancement options.
The rest is simple detail: There are various types of hooks or enhancement options, and
there are also various enhancement implementation elements. The enhancement options
are grouped together to enhancement spots and these, in turn, to even larger units.
The same applies to units on the implementation side. Between the different units of a side
and between those of the implementation and definition side, you have assignments of
different cardinality.
11. How is CRM and R/3 differ from each other?
R/3 is an integration of different application suits. It has its own architecture and way fo
functioning. CRM is all about maintaining the relationship with a customer. It is supposed to
enhance the profit of the company or organisation since the ultimate goal of any company is
profit. Therefore CRM is one step ahead for their goal achievements.
SAP R/3 is a 3 tier based client/ server based application. One layer is presentation layer
(Client) which interfaces with the end user. Second layer is application layer for all business
- specific requirements (Program), and third is database which contains all information and
records about the system, including transcational and configration data.
SAP R/3 has been developed in it's own language called ABAP (Advanced business
application programming).
Different modules of SAP R/3 are - FICO, MM, PP, SD, IS, AM, HRMS, SCM, SEM, WM etc.
Where CRM is under a business mySAP Business Suit collection (SRM, CRM, SCM etc).
12. What is CRM Software?
Sales Force Automation
- Contact management
Contact management software stores, tracks and manages contacts, leads of an enterprise.
- Lead management
Enterprise Lead management software enables an organization to manage, track and
forecast sales leads. Also helps understand and improve conversion rates.
eCRM or Web based CRM
- Self Service CRM
Self service CRM (eCRM) software Enables web based customer interaction, automation of
email, call logs, web site analytics, campaign management.
- Survey Management Software
Survey Software automates an enterprise's Electronic Surveys, Polls, Questionnaires and
enables understand customer preferences.
Customer Service
- Call Center Software
- Help Desk Software
Partner Relationship Management
- Contract Management Software
Contract Management Software enables an enterprise to create, track and manage
partnerships, contracts, agreements.
Example: Upside Software, Accruent Software, diCarta, I-Many.
- Distribution management Software

13. What are the Advantages of CRM ?


Using CRM, a business can:
- Provide better customer service
- Increase customer revenues
- Discover new customers
- Cross sell/Up Sell products more effectively
- Help sales staff close deals faster
- Make call centers more efficient
- Simplify marketing and sales processes
The types of data CRM projects collect
- Responses to campaigns
- Shipping and fulfillment dates
- Sales and purchase data
- Account information
- Web registration data
- Service and support records
- Demographic data
- Web sales data

14. What is Business Process Management - BPM?


Business Process Management or BPM, is the practice of improving the efficiency and
effectiveness of any organization by automating the organization's business processes. BPM
used to be also know as Business Process Reengineering (BPR).
Many companies have business processes that are unique to its business model. Since these
processes tend to evolve over time as the business reacts to market conditions, the BPM
solution you choose must be easily adaptable to the new conditions and requirements and
continue to be a perfect fit for the company.
In order to use BPM effectively, organizations must stop focusing exclusively on data and
data management, and adopt a process-oriented approach that makes no distinction
between work done by a human and a computer.
- The idea of BPM is to bring processes, people and information together.
- Dynamic infrastructure requires separation of flows, business rules and services.
- Identifying the business processes is relatively easy. Breaking down the barriers between
business areas, and finding owners for the processes is difficult.
- BPM not only involves managing business processes within the enterprise but also involves
real-time integration of the processes of a company with those of its suppliers, business
partners, and customers.
- BPM involves looking at automation horizontally instead of vertically.
- Business Activity Monitoring (BAM) is essential for measurement of BPM impact.
Examples of BPM tasks that your organization performs that should be automated include:
- Expense Reports Travel Requests
- Purchase Orders Human Resource Management
- New Accounts and Credit Authorizations Sales Orders
- Project Management Software Change Management
The following example illustrates the power of BPM:
When a B2B partner needs some inventory, he can log into the web site and order required
inventory. An email will be generated and sent to the supervisor responsible for the
partner's inventory. The supervisor can click on the link in the email, login to the site and
approve the inventory. The partner will be notified of the allocation and the inventory will be
shipped.

15. What is a Service Ticket?


The Service Ticket (which was a variant of the IC service order business transaction) was
introduced in SAP CRM 4.0 Add-On for Services Industries to better support the Service
Desk scenario. The service ticket has transaction BUS type (BUS2000116).

6. We are planning to implement Employee Interaction Centre (EIC). We can do it either in


CRM or ERP. What is your advice?
If the focus is on native HR functionality requiring process depth within your EIC service
offering, then the ERP option is recommended.
Relevant functionalities not yet available with the SAP CRM EIC deployment option include
the handling of concurrent employment scenarios employee authentication integration to HR
processes and forms.
The SAP CRM solution provides greater depth of Interaction Center related functionality that
is not available within the ERP solution.
These functionalities include:
• Campaign management
• Case management
• Multi-tenancy capabilities enabling client switch & BPO environments
• Standard help desk processing methodology including service request handling &
problem management
• Intent driven interaction
• Billing and charging for delivered services
• User interface flexibility and personalization

7. Is CRM already in place, planned or a potential future need/consideration? If not, from a


technical standpoint - why take on the overhead of CRM?
The ERP based solution is geared towards implementations involving a central HCM system
running on ERP 6.0 and customers who want a HR specific call center solution to
support HCM Service Delivery.
If so, it is likely that the EIC will ultimately be realized within the context of the SAP CRM
Interaction Center. Consideration should also be given to note 1256691 indicating that "the
functions provided in Enhancement Package 4 for SAP ERP 6.0 for the Employee Interaction
Center component (PA-EIC) constitute the final range of functions."
SAP's direction is to establish one common shared services platform based on CRM
technology and other SAP Business Suite components to offer functions following the
latest business trends such as multi-functional shared services.
The CRM technology will thereby be further leveraged to build this shared services platform
in additional to providing functional enhancements for comprehensive scenario coverage
across shared service center topics.

8. We sell computer hardware, and need to log customer technical issues. We have been
debating whether to use Service Tickets, Service Order, Complaints Management or Cases.
Could you explain what each of these are and when they might be used?
1)Service Ticket Management
The service ticket is the most common type of service-related business transaction.
Service tickets are commonly used as the default transaction for logging product defects,
bugs, or any other technical issues.
After creating a service ticket as a follow-up transaction to the interaction record, agents
can perform technical analysis of problems (using multi-level categorization) and provide
solutions within defined service-level agreements (SLAs). If necessary, agents can also
dispatch or escalate service tickets to second-level support using pre-defined business rules.
2)Service Order Management
Service orders are very similar to service tickets (in fact they share the same underlying
technical structure) but are used whenever it is necessary to schedule a repair, installation,
or other field-service related appointment -- especially if spare parts/service parts are
required.
Unlike service tickets, which do not support spare parts/service parts, the service order
allows agents to assign the relevant spare parts/service parts required for a repair,
maintenance or installation.

3)Complaint Management
Complaints are a very specific type of service transaction. In SAP CRM, complaints are
created as follow-up documents to support product returns, exchanges, or refunds. A
complaint is appropriate when a customer has a problem or issue with delivery shipment or
billing invoice.
Agents can create a complaint from a reference document such as sales order or billing
invoice. Agents can also generate appropriate follow-on tasks such as credit/debit memos,
QM notifications, free-of-charge shipments, and returns.
In SAP, complaints are NOT used to record situations in which a customer is calling to
"complain" about bad service or defective products; rather interaction records and service
tickets are best suited for such situations.

4) Case Management
Cases are also a very specific type of service transaction.
In SAP CRM, cases are created as follow-up documents to group together multiple
documents or objects related to a single root cause or issue.
For example, a company might create a case for keeping track of all of the service tickets
related to a particular product recall, service outage, insurance claim, criminal investigation,
etc. Cases are not created to log individual customer issues or problems; rather service
tickets are typically used for such situations.

9. What are the difference between Interaction Record and other Business Activities?
When an interaction record is created the system creates an ‘anchor' document flow link
(relationship type INTO with object type CRMCICANCH). This differentiates an interaction
record from all other Activity Business Objects (BUS2000126).

This additional anchor is used in navigation: when navigating from the interaction history or
inbox to an interaction record, the system will use this anchor to determine whether an
activity is of type interaction record or not. An interaction record typically has other screens
than a normal business activity.
The BW extractor makes also use of this anchor object to differentiate interaction record
related statistics from regular business activities.

10. We are an existing SAP CRM customer upgrading to SAP CRM 7.0 and are debating
whether to convert all of your pending Interaction Center (IC) service tickets to the new
CRM Web Client service request format. What would be your advice?
Prior to SAP CRM 7.0, the service ticket was the business transaction recommended by SAP
for service issues related to the Help Desk in the IC.
However, as of SAP CRM 7.0, SAP introduced a new business object type called the service
request, which can be used in the Interaction Center, as well as in other CRM business roles
such as the Service Professional role.
New customers should use the service request rather than the service ticket.
Existing customers who are already using the service ticket should migrate to the new
service request when possible (although you can still continue to utilize the IC service
ticket). In order to facilitate the migration, it may be necessary to create a custom report to
handle the conversion of open (pending) service tickets to service requests.
16. What is a Service Request?
The new Service Request in SAP CRM 7.0 provides most of the functionality available in the
Service Ticket as well as some additional functionality, such as multiple multilevel
categorization schemas, as well as integration with other new features, such as knowledge
articles* and master service requests. Technically the Service Request represents not only a
different transaction type than the Service Ticket but is also built on a different Business
Object Type in the Business Object Repository (BUS2000223 rather than BUS2000116; the
master service request is built on BUS2000224).

17. What is SAP’s recommended strategy for which transaction to use?


Existing customers using the Service Ticket are encouraged to use the new Service Request
when possible. However, it is still possible to use the Service Ticket.

18. We’re currently upgrading to SAP CRM 7.0 and we are using Service Tickets in
our current version, what is SAP’s recommended strategy for converting Service
Tickets to Service Requests?
If customers want to stop using the service ticket and start using the service request
instead, the easiest way is probably to make a hard cut and create only new service
requests from a specific date onwards. However, this may not be an option for customers.
Therefore, OSS Note 1261247 exists to help customers create a conversion report and
offers two options to convert Service Tickets to Service Requests. This process can be
cumbersome (as with any conversion) and takes time. For those that are interested in doing
a conversion, the note exists as guidance.

Das könnte Ihnen auch gefallen