Interview Questions

1) Have you implemented MS CRM with ur ASP.NET ??1) Have you implemented MS CRM with ur ASP.NET ??

Ans: yes, I have created one console application for creating a record in Account Entity and also created an aspx page for creating a record in Custom entity.
2) Give me a real example in which you used Managed solution and Unmanaged Solution??

Ans: In our application used Unmanaged solution always and Managed solution like which is not editable like third party Power Object’s Power Packs. They implemented a solution which is not editable and it can be used from any1 anywhere.
3) Suppose there is an entity in which a field is there whose datatype is different from a field of another entity. Can U assign same value to both fields while fields are having different different datatypes and in different entities fields are using OOB functionality??Ans: No we cannot achieve it through OOB functionality. We can achieve it through Javascript using string object.
4 ) Diff b/n Secure Configuration & Unsecure Configuration??

Ans:

Unsecure Configuration/Secure Configuration sections. These sections can be used to pass configuration information to the plug-in, such as user credentials or URLs.Secure Configuration does not move with solutions. It has to be re-configured for each environment.

Secure Configuration can be viewed/read only by CRM administrators.(E.g.: Restricted data from normal user could be supplied here) the Secure Configuration is not passed to plugins running in the CRM Outlook Client.

Unsecure configuration information could be read by any user in CRM. Remember its public information (E.g.: Parameter strings to be used in plugin could be supplied here)“Unsecure” config data will be stored along with the Plugin ‘Step’ registration information (i.e., In SdkMessageProcessingStep entity)

“Secure” config data will be stored in a separate entity named “SdkMessageProcessingStepSecureConfig”

Note: Both “Secured & Unsecured” configuration data stored as “Plain text” in DB
5) If there is a a form in which U have implemented a web-resource like HTML and inside HTML there is a field and U need to access this field using Javascript how to access this field??

Ans: Xrm.Page.getControl(“WebResource_DescriptionHTML”).getObject().contentWindow.document.getElementById(“divId1”) or (“bodyId”).
6)If U r creating 1:N relationship from A to B then on which entity we need to create lookup field?

Ans– Suppose there is a relationship between Account and Contact in which contact has N relation so we need to give lookup on contact.

Example:

  • One Account can have many contacts then we need to give Lookup on contact entity.
  • One customer can have many cases so we need to give lookup on case entity.

7) If there is N:N relationship b/n account and contact then How N:N relationship will be displayed?

Ans

  1. Goto any entity like suppose I am going contact then go to Navigation bar and from there open Account it’ll show associated view inside it there is + sign there we can add contact bcoz an account can have many contacts and vice-versa.
  2. again do the same thing for account.

8) Give an real time example when to create Organisation level entity and User level         entity??

Ans–

  1. Organisation is nothing but consists of Master Data(Taxonomy Data, Baseline Data
  2. User/Team consists Transnational Data like Account, contact etc.
  3. Master doesn’t require Owner means for suppose Country, state, Pincode, Category, Product.
  4. No one can be owner of these fields so it is accessible throughout the Organisation means any user within this organisation can use it.
  5. There is no need to provide the security.Transactional data means which is owned by the User/Team.
  6. Note: Organisational entity doesn’t hv Owner field.
    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.
  7. Types of Enity in MSCRM
  8. There are three main types of entities: system, business, and custom.
  9. In Dynamics CRM, system entities handle internal processes such as workflows.
  10. It is important to note that system entities cannot be deleted or customized.
  11. Business entities are the default entities within Dynamics CRM which include Case, Account, and Opportunity.
  12. One of the most important elements in Microsoft Dynamics CRM is customization.
  13. Custom entities are those entities which we need to create as per the requirement.
    Ownership is a key factor in how entities work.
  14. In Microsoft Dynamics CRM, most entities have an owner, which is determined by the ownership type.
  15. There are four ownership types in CRM: organization, business, user, and none.
  16. Organization-owned entities can be accessed by an entire organization.
  17. These records cannot be assigned to an individual owner (or shared).
  18. 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.
  19. Accounts, Contacts, and Cases are examples of user-owned entities.
  20. A few entities in Dynamics CRM have no ownership type.
  21. They are not owned by another entity.
  22. For example, the uom (unit-of-measure) and workflowlog (workflow log) entities are not owned by another entity.

9) Once entity is created which field we cannot modified after creation of entity??

Ans–

Ownership Define as an activity entity.

Display in Activity Menus BPF

Under Communication & Collaboration Feedback Notes(includes attachments) Activities Connections Knowledge management.
10) if there is two entity like Contact and lead and contacts hv firstname, lastname and Email-Id if these fields are there(means in Lead) then we need to prioritised the lead how to do these things using Javascript, Workflow or Plugin??

Ans– Simply we can achieve it through OOB workflowif contact.lastname=——– , contact.firstname=——– and contact.EmailId=——–then status in lead equal to High so on.
11)what is scope of entity in MS CRM??
12)why we are using Iplugin interface in Plugin and Code activity class in Workflow??Ans– This is designed by the Microsoft and we r application developer not core developer ..it is responsibility of Core Developer to develop the from the scratchWhatever is providing by Microsoft we r simply using it.
13)How Case is getting created through EDM Portal or HRWEB Portal??
14)Diff b/n BR 2013 & BR 2015??how did U use BR on entity level??

Ans — Refer : http://www.inogic.com/blog/2014/09/business-rule-updates-in-dynamics-crm-2015/

Diff b/n BR-2013 & BR-2015.In BR-2013

i.  Business rules in CRM 2013 execute only Client Side.

ii. Has no if…else if…else support hence need to develop multiple rules to achieve rich business logic, means Earlier we were only allowed to write an If condition. There was no scope to write the else part for the condition within the same business rule.

iii.Scope of BR is form (Just that form) level.
In BR-2015

i.  Business rules in CRM 2015 now execute Client Side and server side as well, means If business rule is created with scope as “Entity” then the business rules will execute server side.

This means that you do not need the CRM form for the rules to be executed.

It can also be executed when you do updates to a record programmatically similar to the concept of Workflows and Plugins.

ii. It has support for If-else condition.

iii.AND/OR support, But you can only use one of them in a single condition i.e you still cannot create complex conditions that use a combination of AND and OR conditions.

iv. Default Value — So it only sets the value if no value has been provided as an input. You can set default value without any conditions to make sure the field getsthe value specified.

v.  Scope of BR in now Entity( All forms & Server), All forms (All forms) and Specific form (Just that form) level.
Still limitation in BR-2015

i.  Complex conditions are still not supported… perhaps asking for too much 🙂

ii. Still unable to set the value as null  for/clear value of a field.

iii.It only allows for a single If.. Else.. condition. Complex nested if..else is still not supported.

iv. Unable to update fields of related entity i.e a field of the record that is set as the lookup for the current record (N:1).

How did U use BR on entity level??

Ans– https://adisys.wordpress.com/2014/12/15/crm2015businessrules/https://community.dynamics.com/crm/f/117/t/167757

15) If there are 5 fields and we are updating 2 fields through plugin. Now we want all the fields value updated value of those two field and value of other field also whose value are not updated then whether I need to use Post-Image or Context will contain those values??

Ans– Context — change/Updated/Modified data captured

Post-Image will give all fields value.
16) Difference b/n Managed and Unmanaged Solution??

Ans–

Managed solution can’t be customized, but can be uninstalled easily, so there is a risk of data loss if we remove the solutions then all the customization will be removed.We can’t export managed solution.
Unmanaged solution can be customized, we can’t remove the components by uninstalling the solution, the solution acts as a container for the components means if we delete the solution the components still exist in the default solution.We can export the unmanaged solution.
Note: It is not decided by DEV team whether we will go for managed or Unmanaged solution it depends on agreement b/n the customer and the company.If we don’t want to share our source code then we should use Managed solution.There is R&D team who is providing Managed solution they don’t want to share source code bcoz it is being used by many teams.In our application there are Onsite and off-shore team and I am a part of Off-shore team and On-site team implemented some business logic and developed a managed solution in order to not to share with off-shore team.Example: Third party vendor like Power Objects who are providing us managed solution bcoz they don’t want to share the source code.
17)How to debug plugin??

Ans — Plugin using Developer tools
Debugging Plugins:

1) Plugin Profiler (Both online and on premise)

2) Remote Debugging (On premise)

Steps

Plugin Profiler (Both online and on premise)

Step1 : Go To plugin registration tool ->

Step2: click on “Install profiler” which installs the plugin profiler–

Step3: select the step on which we got an error and click on “Start Profiling” which makes the step as “(Profiled)”

Step4:– Now repeat the same process in CRM.

Step5: Download the error file and save it.

Step6: Again go to  plugin registration tool and click on replay plug-in execution and select the downloaded error file– select the registered assembly

Step7: Go To Visual Studio and place the debugger in the code  -> click on tools -> Attach to Process -> Select Plug-in registration tool -> click Attach– After attaching go back to plugin registration tool and click on Start Execution

Step8: End
18) Diff b/n Plugin & Workflow??

Ans

  1. Workflows can only be triggered online
  2. Workflows have limited messages which is  triggered.
  3. Mostly these would be your basic create/update/delete/assign/state change.
  4. Plugins support different event execution pipelines.
  5. Workflows are always post operation.
  6. Workflow can be executed on-demand but plugin doesn’t.
  7. There is a Time limit in plugin means it is restricted to complete its execution within a 2 minute time limit but Workflows well for either short or long processes.
  8. Workflow support only one level of Hierarchy for example if there is an entity named Account and we are creating/Updating Account Entity record then it will create/Update the related contact entity and then product entity record will be created or updated.
  9. This requirement we can achieve through workflow but when we r updating or creating Account Entity and directly we r updating or creating product entity then workflow will not work. In this case we will use plugin.

19) Shared variable in plugins?

Shared Variables are used to pass variables/information from one plugin to another plugin registered on different stages but in the same transaction (the same message on the same record)

e.g. a pre-event plugin can pass information to a   post-event plugin.
20) Types of Relationships

Ans : There are three main types of relationships we can create in Dynamics CRM:

One to Many (for example “One Employer has many Employees”),

Many to Many (for example “Many Students can attend Many Courses”), and

Many to One (for example “Many Employees are employed by One Employer”).

The type of relationship you choose depends on internal rules within your business.

Type of relationship

Parental vs Referential Relationships

In a Parental Relationship, anything done to the parent record is also done to related records.

For example, if an Account is deleted all related Contacts for that Account are also deleted.

In a Referential Relationship, actions performed on the parent record do not affect related records.

The link between the parent and related records is simply removed.

When you have a One to Many relationship where a custom entity is the primary entity and a system entity is the related entity, the relationship type can only be referential.

For example:

if you have a custom entity called “Office” which has many Contacts and you delete the Office record, the related Contacts will not be deleted.

The link between the Office and its Contacts will be removed.

Native or Manual?

There are two types of Many to Many relationships:

Native and Manual.

The main difference between the two is that a when you create a Native Many to Many relationship,an intersect entity (Intermediate Entity) is automatically created for us.

For example, when you create a new Many to Many relationship between a “Course” entity and the “Contact” entity,an intersect entity will be created which has links to both the Course and Contact records.

This intersect entity cannot be customized and is not available on the CRM UI.

A Manual Many to Many relationship is actually two One to Many relationships.

In this case, you actually create the intersect entity yourself.

For example: to create a Manual Many to Many relationship between a “Course” and “Contact” entity:

1. Create a new “Course Attendee” entity in CRM.

2. Create a new One to Many Relationship from “Course” to “Course Attendee”.

3. Create a new One to Many Relationship from “Contact” to “Course Attendee”.

The advantage of a Manual Many to Many relationship is that we can customize the intersect entity to track attendance information which can then be available within workflows.

For example,

we can an Attended and Date Attended field to the “Course Attendee” entity so we can track if a particular Contact attended a Course.

If the Course spans over multiple time periods, we can also track the date that the Contact attended the Course.
Note:  There is a Native N:N relationship between Marketing List and Contact.

Due to this the intermediate entity that joins Contact with Marketing List entity is not available on the CRM UI.

Self-Referential Relationships

Self-Referential relationships allow you to create complex relationships between two records of the same entity type.

For example, you might want to link a User to another User so you can easily track employee hierarchies in CRM.

However, you cannot link a record to itself.

When defining relationships within your organization, it’s important to understand the types of relationships to use. In my next post, I will cover cascading rules in Microsoft Dynamics CRM.

Note:

Monitoring real-time workflows and actions–Real-time workflows and actions do not use System Job records because they occur immediately.

Any errors that occur will be displayed to the user in the application with the heading Business Process Error.
There is no log for successful operations.

You can enable logging for errors by checking the Keep Logs for workflow jobs that encountered errors option in the Workflow Log Retention area at the bottom of the Administration tab for the process.
To view the log of errors for a specific process, open the real-time workflow or action definition and go to the Process Session tab.

This will only show any errors logged for this process.
If you want a view of all the errors for any process, go to Advanced Find and create a view showing errors on the process session entity.

Diff 2015 & 2016

  1. In the case of BR, in 2016 the UI for BR is completely different and one ribbon button validate is added which is not in previous version.
  2. In Dynamics 365, in Customization section , customize the system, Publishers, Themes, Solutions are not showing .
  3. First go to security–> users–>select user–>Click on Promote to Admin…then only we can see all options.
  4. Interactive Service Hub
  5. Excel Integration
  6. Voice of the Customer Surveys
  7. The survey designer will include radio buttons, tick boxes, star ratings and smiley face satisfaction options to cater for virtually any survey type. – See more at:
  8. Invoke Business Rules by Process Flows
    Business Rules and Business Process Flows were added to Dynamics in CRM 2013 but previously these haven’t work too closely in tandem.
  9. For example, for requirements to invoke a form action (e.g. set a field as mandatory) when a Business Process Flow is set, or when a stage is reached these requirements would require custom code.
  10. With the release of CRM 2016 standard Business Rules can now handle this process. Let’s says you have two Business Process Flows for a lead entity that reflect different products, Product A is sold exclusively to the domestic marketing and Product B is sold worldwide.
  11. The form contains a field called ‘Exporter’ which is hidden by default as most sales are domestic and the default process flow is for Product A.
  12. However, when the international business process flow is selected the ‘Exporter’ field should be visible and set as a mandatory field.
  13. Thanks to Business Rule ‘Conditions’ this process can now be applied using the inbuilt functionality of CRM 2016 without the need to resort to external development. –
  14. Bulk Data Loader Now we can import or export large groups of data using the new CRM Online Bulk Loader will enable this data to be uploaded to a staging area where basic data changes

How to set value of a read only field using JavaScript Same only means

Xrm.Page.getAttribute(“Schema name”).set Value(“value”);

Regarding WEBAPI OData  version 3.0 Web API version 4.0 Create  —- PostRetrive —- GetUpdate —– Patch/put but we used patchDelete  —- delete

In WebAPI every request comes into JSon Format.

When we are using POST then we need to create an object.
How to implement On-fly form in CRM

form.

http://www.nalashaa.com/composite-controls-features-customization-dynamics-crm-2015/https://www.codeproject.com/articles/1032318/improve-user-experience-by-styling-and-coloring-mihttp://www.inogic.com/blog/2015/01/simplified-process-to-add-new-records-on-the-fly-in-dynamics-crm-2015/
********************************************How to register custom workflow in plugin registration tool************************

At which scenario you will use Custom workflow and Plugin?

Ans: The Main purpose of Creating custom work flow is to update or change the value of field item before save activity

3.What are the Plugin Pipeline Stages?
Ans:

Pipeline Stages:

Event Pipeline Stages are 4, in which we can register plugin in 3 Stages.
Stages

Synchronous vs. Asynchronous Plug-ins

Synchronous plug-ins are executed by the CRM Core System.

  • Synchronous execution means that triggering event will wait until the plug-in finishes the execution.
  • For example, if we have synchronous plug-in that triggers on the creation of account and user creates account record in CRM, the form will hang at save until the plugin has finished.

Asynchronous plug-ins are executed by asynchronous service.

  • Asynchronous plug-ins allow triggering event to finish before plug-in code runs.
  • Therefore these can never be used to prevent an action, validate data entry, or provide any error messages back to the user.

Plug-in vs. Processes

These are very similar, in fact workflows are just a skin on an asynchronous system plug-in.

The main differences:

  • Workflows can only be triggered asynchronously
  • Workflows can only be triggered online
  • Workflows have limited triggers. Mostly these would be your basic create/update/delete/assign/state change
  • Plugins support different event execution pipelines.
  • Workflows are always post operation.
  • Workflow execution logic can be easily modified, this allows encapsulation of code in custom workflow activity while still retaining possibility of frequent changes on execution logic by non-programmers.

How will you test your plugin code?

Ans: Unit Testing Plugins using Microsoft Fakes

If you are integrating third party application into CRM how will you authenticate Users?

OAuth /Odata and Single signOn
What is Pre-and Post-operations in Plugin?

  • Pre validation means you plugin will run before the form is validated
  • Pre -operation is after validation and before the values are saved to the database
  • Post operation is your plugin will run after the values have been inserted/changed on the database

7.what is WEBAPI? Why we need it?
8.What are the relationship behaviour types?
10.What is the difference between managed and unmanaged solution.
11.Explain in brief Sales Module.
12.How to integrate crm web applications.
13.Pre-validation and preoperation with scenarios
14.What is ODATA? how will form odata urls for select and conditions?
15. What is BPF? why to use?
16.Difference b/w Javascript and Business Rules?
17. How will create Security Roles?
18.Have you worked on Azure?
19.How can we use SSIS to data intigration?
20.what are the customizations you did in crm for your project?
21.what are the end points available in crm?
22.I have two workflows, one is sync and another one async. both are triggering on creating an account entity.
Both Tasks are

When an account record is created automatically task should be create

But
Sync workflow email filed dont have data account record should not create?
Am creation an account without email data?
Now how many tasks it will creating?
23.How to assign a security role to access team?
24.I have synchronous on post operation plugin and real time workflow on creating a record? Which will trigger first?

How to return values from CRM custom workflow?

 

Yes this is possible in a Custom Workflow Activity using Output ParametersThis blog post is useful.

In your C# code, outside of the Execute() function, define an Output Parameter like this:

[Output("Account Name")]
public OutArgument<string> AccountName { get; set; }

Then in your code (that executes within the Execute() function, set the value of your Output Parameter (in this case AccountName) like this:

AccountName.Set(executionContext, "account name"); Replace the "account name" string as appropriate.

Then in your workflow, every step after the step where you have called your custom step will have access to Account Name.

How to retrieve data using JavaScript?

Only query will change for different type of retrieve. Below are the different retrieve queries.

1. Retrieve top 1 record

var query = “/api/data/v8.0/accounts?$select=name&$top=1”

2. Retrieve records with lookup condition like records owned bay a user.

var query = “/api/data/v8.0/accounts? $select=name,accountnumber,_primarycontactid_value,createdon,accountcategorycode,revenue&$filter=_ownerid_value eq (212626EE-54B9-4E99-93F9-0BF5FDCA3481)”

3. Retrieve accounts whose name starts with B or C.

var query =”accounts?$filter=startswith(name,’B’) or startswith(name,’C’)”

4. Retrieve related entity attributes.

var query =”/api/data/v8.0/accounts(B14CC863-07E3-E511-80EE-3863BB2E4DE0)?$select=name,accountnumber,_primarycontactid_value,createdon,accountcategorycode,revenue&$orderby=name&$expand=primarycontactid($select=fullname,telephone1,email)”

Below is the sample java script code for retrieving record in CRM using java script.

CRM web API with java script

function retrieveRecord() {
var clientURL = Xrm.Page.context.getClientUrl();
var req = new XMLHttpRequest()
var query = “/api/data/v8.0/accounts?$select=name&$top=1”;
req.open(“GET”, encodeURI(clientURL + query), true);
req.setRequestHeader(“Accept”, “application/json”);
req.setRequestHeader(“Content-Type”, “application/json;charset=utf-8”);
req.setRequestHeader(“OData-MaxVersion”, “4.0”);
req.setRequestHeader(“OData-Version”, “4.0”);
req.onreadystatechange = function () {
if (this.readyState == 4) {
req.onreadystatechange = null;
if (this.status == 200) {
var data = JSON.parse(this.response);
if (data && data.value) {
for (var indxAccounts = 0; indxAccounts < data.value.length; indxAccounts++) {
var accountName = data.value[indxAccounts].name;
var eTag = data.value[indxAccounts][‘@odata.etag’];
}
}
}
else {
var error = JSON.parse(this.response).error;
alert(“Error retrieving Accounts – ” + error.message);
}
}
};
req.send(null);
}

Have you implemented MS CRM with ur ASP.NET ??

Ans: yes, I have created one console application for creating a record in Account Entityand also created an aspx page for creating a record in Custom entity.
Give me a real example in which you used Managed solution and Unmanaged Solution??Ans: In our application used Unmanaged solution always and Managed solution like which is not editable like third party Power Object’s Power Packs. They implemented a solution which is not editable and it can be used from any1 anywhere.

3) Suppose there is an entity in which a field is there whose datatype is different from a field of another entity. Can U assign same value to both fields while fields are having different different datatypes and in different entities fields are using OOB functionality??Ans: No we cannot achieve it through OOB functionality. We can achieve it through Javascript using string object.

4 ) Diff b/n Secure Configuration & Unsecure Configuration??Ans:Unsecure Configuration/Secure Configuration sections. These sections can be used to pass configuration information to the plug-in, such as user credentials or URLs.Secure Configuration does not move with solutions. It has to be re-configured for each environment.Secure Configuration can be viewed/read only by CRM administrators.(E.g.: Restricted data from normal user could be supplied here) the Secure Configuration is not passed to plugins running in the CRM Outlook Client.Unsecure configuration information could be read by any user in CRM. Remember its public information (E.g.: Parameter strings to be used in plugin could be supplied here)“Unsecure” config data will be stored along with the Plugin ‘Step’ registration information (i.e., In SdkMessageProcessingStep entity)“Secure” config data will be stored in a separate entity named “SdkMessageProcessingStepSecureConfig”Note: Both “Secured & Unsecured” configuration data stored as “Plain text” in DB

5) If there ia a form in which U have implemented a web-resource like HTML and inside HTML there is a field and U need to access this field using Javascript how to access this field??Ans: Xrm.Page.getControl(“WebResource_DescriptionHTML”).getObject().contentWindow.document.getElementById(“divId1”) or (“bodyId”).

6)If U r creating 1:N relationship from A to B then on which entity we need to create lookup field?Ans– Suppose there is a relationship between Account and Contact in which contact has N relation so we need to give lookup on contact.Example: One Account can have many contacts then we need to give Lookup on contact entity.One customer can have many cases so we need to give lookup on case entity.

7)If there is N:N relationship b/n account and contact then How N:N relationship will be displayed?Ans– Goto any entity like suppose I am going contact then go to Navigation bar and from there open Account it’ll show associated view inside it there is + sign there we can add contact bcoz an account can have many contacts and vice-versa. again do the same thing for account.

8)Give an real time example when to create Organisation level entity and User level entity??Ans— Organisation is nothing but consists of Master Data(Taxonomy Data, Baseline Data) and User/Team consists Transactional Data like Account, contact etc.Master doesn’t require Owner means for suppose Country, state, Pincode, Category, Product. No one can be owner of these fields so it is accessible throughout the Organisation means any user within this organisation can use it. There is no need to provide the security.Transactional data means which is owned by the User/Team.Note: Organisational entity doesn’t hv Owner field.
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. Types of Enity in MSCRMThere 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 are those entities which we need to create as per the requirement.
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. For example, the uom (unit-of-measure) and workflowlog (workflow log) entities are not owned by another entity.

9)Once entity is created which field we cannot modified after creation of entity??Ans– Ownership Define as an activity entity. Display in Activity Menus BPFUnder Communication & Collaboration Feedback Notes(includes attachments) Activities Connections Knowledge management.

10)if there is two entity like Contact and lead and contacts hv firstname, lastname and Email-Id if these fields are there(means in Lead) then we need to prioritised the lead how to do these things using Javascript, Workflow or Plugin??And– Simply we can achieve it through OOB workflowif contact.lastname=——– , contact.firstname=——– and contact.EmailId=——–then status in lead equal to High so on.

11)what is scope of entity in MS CRM??

12)why we are using Iplugin interface in Plugin and Code activity class in Workflow??Ans– This is designed by the Microsoft and we r application developer not core developer ..it is responsibility of Core Developer to develop the from the scratchWhatever is providing by Microsoft we r simply using it.

13)How Case is getting created through EDM Portal or HRWEB Portal??

14)Diff b/n BR 2013 & BR 2015??how did U use BR on entity level??Ans — http://www.inogic.com/blog/2014/09/business-rule-updates-in-dynamics-crm-2015/
Diff b/n BR-2013 & BR-2015.In BR-2013i.  Business rules in CRM 2013 execute only Client Side.ii. Has no if…else if…else support hence need to develop multiple rules to achieve rich business logic, means Earlier we were only allowed to write an If condition. There was no scope to write the else part for the condition within the same business rule. iii.Scope of BR is form (Just that form) level.
In BR-2015i.  Business rules in CRM 2015 now execute Client Side and server side as well, means If business rule is created with scope as “Entity” then the business rules will execute server side.This means that you do not need the CRM form for the rules to be executed. It can also be executed when you do updates to a record programmaticallysimilar to the concept of Workflows and Plugins.ii. It has support for If-else condition.iii.AND/OR support, But you can only use one of them in a single condition i.e you still cannot create complex conditions that use a combination of AND and OR conditions.iv. Default Value — So it only sets the value if no value has been provided as an input. You can set default value without any conditions to make sure the field getsthe value specified.v.  Scope of BR in now Entity( All forms & Server), All forms (All forms) and Specific form (Just that form) level.
Still limitation in BR-2015i.  Complex conditions are still not supported… perhaps asking for too much :)ii. Still unable to set the value as null  for/clear value of a field.iii.It only allows for a single If.. Else.. condition. Complex nested if..else is still not supported.iv. Unable to update fields of related entity i.e a field of the record that is set as the lookup for the current record (N:1).
How did U use BR on entity level??Ans– https://adisys.wordpress.com/2014/12/15/crm2015businessrules/https://community.dynamics.com/crm/f/117/t/167757

 

15) If there are 5 fields and we are updating 2 fields through plugin. Now we want all the fields value updated value of those two field and value of other field also whose value are not updated then whether I need to use Post-Image or Context will contain those values??Ans– Context — change data capturedPost-Image will give all fields value.

16)Difference b/n Managed and Unmanaged Solution??Ans– Managed solution can’t be customized, but can be uninstalled easily, so there is a risk of data loss if we remove the solutions then all the customization will be removed.We can’t export managed solution.
Unmanaged solution can be customized, we can’t remove the components by uninstalling the solution, the solution acts as a container for the components means if we delete the solution the components still exist in the default solution.We can export the unmanaged solution.
Note: It is not decided by DEV team whether we will go for managed or Unmanaged solution it depends on agreement b/n the customer and the company.If we don’t want to share our source code then we should use Managed solution.There is R&D team who is providing Managed solution they don’t want to share source code bcoz it is being used by many teams.In our application there are Onsite and off-shore team and I am a part of Off-shore team and On-site team implemented some business logic and developed a managed solution in order to not to share with off-shore team.Example: Third party vendor like Power Objects who are providing us managed solution bcoz they don’t want to share the source code.

17)How to debug plugin??Ans — Plugin using Developer tools:—————————–
Debugging Plugins:——————1) Plugin Profiler (Both online and onpremise)2) Remote Debugging (Onpremise)

 

 

 

Shared variable in plugins?

Shared Variables are used to pass variables/information from one plugin to another plugin registered on different stages but in the same transaction (the same message on the same record) e.g. a pre-event plugin can pass information to a   post-event plugin.

 

For theory
Note: Monitoring real-time workflows and actions Real-time workflows and actions do not use System Job records because they occur immediately. Any errors that occur will be displayed to the user in the application with the heading Business Process Error.
There is no log for successful operations. You can enable logging for errors by checking the Keep Logs for workflow jobs that encountered errors option in the Workflow Log Retention area at the bottom of the Administration tab for the process.
To view the log of errors for a specific process, open the real-time workflow or action definition and go to the Process Session tab. This will only show any errors logged for this process.
If you want a view of all the errors for any process, go to Advanced Find and create a view showing errors on the process session entity.
Diff b/n Fetch Xml reports & Sql Reports

Using Business Rule we can achieve Recommendation

Lock/Unlock the field Hide/Show the fieldSet Field valueSet required levelset

Default value Show Error Message

1)In the case of BR, in 2016 the UI for BR is completely different and one ribbon button validate is added which is not in previous version.

2)In Dynamics 365, in Customization section ,, customize the system, Pulishers, Themes, Solutions are not showing …. first go to security–> users–>select user–>Click on Promote to Admin…then only we can see all options.

3)Interactive Service Hub

4)Excel Integration

5)Voice of the Customer

Surveys The survey designer will include radio buttons, tick boxes, star ratings and smiley face satisfaction options to cater for virtually any survey type. – See more at:

Invoke Business Rules by Process Flows

Business Rules and Business Process Flows were added to Dynamics in CRM 2013 but previously these haven’t work too closely in tandem. For example, for requirements to invoke a form action (e.g. set a field as mandatory) when a Business Process Flow is set, or when a stage is reached these requirements would require custom code. With the release of CRM 2016 standard Business Rules can now handle this process. Let’s says you have two Business Process Flows for a lead entity that reflect different products, Product A is sold exclusively to the domestic marketing and Product B is sold worldwide. The form contains a field called ‘Exporter’ which is hidden by default as most sales are domestic and the default process flow is for Product A. However, when the international business process flow is selected the ‘Exporter’ field should be visible and set as a mandatory field. Thanks to Business Rule ‘Conditions’ this process can now be applied using the inbuilt functionality of CRM 2016 without the need to resort to external development.

Bulk Data Loader Now we can import or export large groups of data using the new CRM Online Bulk Loader will enable this data to be uploaded to a staging area where basic data changes can be applied.

 

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

“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.

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’(Associate) and ‘RemoveRelated’(Disassociate) 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

 

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.

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

Question :  Tell me types of Entity and What are Organisation Type in Entity ?

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.

 

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.

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. For example, the uom (unit-of-measure) and workflowlog (workflow log) entities are not owned by another entity.

Question :  What is the 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.

 

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

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 Name Description
Name Store name of Plugin
Source Type Where the Plugin registered

0 –      Database

1 –      Disk

2 –      GAC

content Store content of DLL

 

2)Have you ever faced Performance related issue in MSCRM, How you have resolved it ?

http://arpitmscrmhunt.blogspot.in/2014/04/overcome-crm-slowness-and-optimization.html

3)How many possible ways to registered a Plug-In in MSCRM ?

1.Plugin Registration Tool

2.Solution import/Export

3.Developer Tool Kit

4) 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

 

5) Types of Entity 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 requirement. One example of this is we can create an entity and we can also share them with team.

Types of Entity based on Ownership type:

There are two types of entities: User or Team and Organisation

Organization-owned entities can be accessed by an entire organization. These records cannot be assigned to an individual owner (or shared).

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.

6) 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 has Organisation 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 :

 
7)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:

8)What is Dynamic Entity in MS CRM?

Dynamic entities were used back in the CRM 4 days, but since CRM2011 we have Early Bound and Late Bound entity types.

Late Bound entities use the ‘Entity’ class and the attributes are get/set using the attribute logical name as a string on the attribute collection.

Early Bound entities inherit from the Entity base class and then have strongly typed properties for the attributes that then internally set the attribute values in the attribute collection. Early bound entities are created using the crmsvcuitl tool.

I always recommend using the early bound types since there is no overhead and it helps run time errors caused by miss-spelling attribute names and using the wrong types.

See msdn.microsoft.com/…/gg328210.aspx

9) Can we Export Vanilla Solution from Dynamic CRM ?

The instance which is newly created known as Vanila instance.

We can export the default solution in ms crm.

All the configurations in an MS CRM application is maintained in a solution. It is a repository of configuration items like Entities, Fields, Forms, reports, Dashboards etc.

Every application will have one default solution defined with all the basic entities. Default solution is a vanilla solution. It is recommended not to modify anything in a default solution. We should create our own custom solution.

 

10) How can we restrict any ‘Entity Field’ from being shown in Advanced Find ?

Answer : Using Searchable Property of attribute(Entity Field).

 

11) 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).

12) 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.

 

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s