Dynamic CRM 365 - 2nd

 

1) How many types of teams do we have in CRM?

We have 4 types of teams in MS CRM .

Owner Team: Based on security role they can access the records in a team. In this they have their own security roles and own privileges on the records.

Access Team: In this they don’t have any security role and privileges. What are records shared by the owner

team with privileges, access team can access records. If u want to share any entity records to access team first, we need to enable the access team check box for that entity.

AAD Security and Office teams: These are related to Azure environment. If we have an environment, we can create teams.

 

2) Explain about solution types?

We have a 3 types of solution types

1. Default solution

2. Managed solution

3. Un-managed solution


Default solution:

· The entire components will be available in the default solutions

· We cannot export and import from default solution

· We can edit only default solution

· When we are creation organization at the time default solution will be created


Managed solution:

· Managed solution is a completely developed solution.

· A new solution cannot be added.

· We can’t export the managed solution.

· If we delete the managed solution, it will be deleted along with all components.

· We can import managed solutions from one environment to another environment.

· We can edit the managed solution by using managed properties given by source environment and

 also in default solution.


Unmanaged solution:

· Unmanaged solution helps to create a managed solution while exporting the unmanaged solution

· Unmanaged solution is incomplete solution

· We can export and import the unmanaged solution

· We can edit and modify the solution

· If we delete the unmanaged solution the container will be deleted, but all the components will

 be available in the CRM instance.

 

3) Explain the clone a patch?

Different developers working with the same solution at the same time for that purpose we can create the Clone a patch. While creating time of clone a patch version of patch solution "build version" number will increase at time cloning. cloning a patch is only done for unmanaged solutions.

EX: when we are having the multiple developers and they are working in the parallelly same project with the same components at that time we are going for the clone a patch. We can create multiple patches for the multiple developers.

 

4) Explain the clone solution?

"Clone solution " refers to the process of combining the clone a patch. After developing the solution, we need to merge all the patches. At that time select the parent solution click on clone a solution. While combining clone patched solutions from clicking on main solution, at the "Minor version" number will be increased.


5) Explain the managed properties?

After importing the managed solution in destination environment, we need to give some privileges to work on managed solution by using managed properties. We can only give the managed properties, when the solution is in Unmanaged one.

 

6) How to make an entity to activity?

At the time of creating an entity, we need to select the entity as an activity entity check box in the entity creating form. Then the activity entity will come as sub grid for selected entity.

 

7) Explain about Entity Ownership?

We are having 2 types of entity ownership are there, 1) user or team ownership 2) organization ownership

1) User or team ownership: By the default it is having 19 fields only. In that Owner team, Owner user, Owner business unit and Owner Id fields creating in user or team ownership. For this ownership, we can give security role. We can share and assign the user or team ownership.

2) Organization Ownership: By the default it has 16 fields only. In that Organization Id field is created in Organization ownership. It does not have any security role to organization ownership. We can’t share and assign the organization entity.

 

8) What will happen to be enabling of Business process flow?

In any type of ownership, while validating the BPF, it will create the system entity with all the fields present in the business process flow. The security level of BPF is having none or organization level only. In the selected entity one field is created in the name business process flow id.

 

9) What will happen when you enable the sending email option while creating entity?

When we select this option, a new field of format “Email” would be created and that will be used to receive emails from CRM.

 

10) Explain about the access teams?

Access teams are particularly useful when multiple individuals or departments need to work on the same set of records. Access teams don’t own records and don’t have security roles assigned to the team. Access teams can access the records when team members are shared the record only.

For example, if a sales team is responsible for managing accounts, they can create an access team and associate it with the relevant accounts. All members of the team will then have the necessary permissions to view.

 

11) What is the primary field of an entity. Is it possible to change?

Primary fields are mandatory in an entity, which we can’t remove from the form. While, in PowerApps we can remove the primary field, or we can set it as optional field. Yes, while creating time we can change the primary name.

 

12) Explain about different types of forms?

There are 4types of forms, 1) Main form 2) Quick form 3) Quick create form 4) Card form. 

1.Main form-under the entity we create main form under the form we can create multiple fields.  

2.Quick view form-when we enter any one field value it will show all records.

3. Quick create form- it is used to create minimal data.

4. Card form-this form is used to create invitation card, visiting card.

 

13) How to change the order of forms?

In the form page, select the form and click on the change order button in home ribbon bar of form page and sorting the form order to be in first or in required order.


14) How to enable a form for specific roles?

In the form page, select the form and click on the enable security role button in home ribbon bar of form page and select security role on click on ok.

 

15) Explain the security models?

Role Based: By using security roles we can give like user or business or parent and child or organization level. Form: By selecting form click on enable security role, select the user. Then this form will be seen by selected used only.

Field Based: At the time of creating filed enable security yes. After selecting yes and go to filed profile available in security sub area in system area. In this give permission to allow update or delete or create.

 

16) What is the schema name?

The schema name refers to the unique name given to various components within the CRM system, such as entities, fields, relationships, attributes, forms, views, and other elements. The schema name serves as an identifier for these components and is used in various CRM configurations, customizations, and development tasks.

 

17) Explain about the versions?

versions refer to different releases or iterations of the CRM software. Each version represents a specific set of features, improvements, bug fixes, and updates introduced by Microsoft.

<Major>. <Minor>. <Build>. <Revision> this is syntax of version.

Major: UI functional is changed it will update the major version number like 1.00.00.00 to 2.00.00.00. if we added any plugin to software, it would also come to major version.

Minor: Any java script, entity, business rules this will coming in the minor version like 1.00.00.00 to 1.20.00.00.

Build: If resolve any buggees in program that will comes under build version like 1.00.00.00 to 1.00.10.00. Revision: A small change with existing entity that will comes under revision version like 1.00.00.00 to 1.00.00.10.

 

18) How to make a field mandatory?

We can do field mandatory from business rule in components or we can do while creating field in that, we having option called field requirement. Field requirement is having options like optional, business recommended, and business required. To make field mandatory we need to select business required option in field requirement.

 

19) How to make a field by default visible?

In the field properties, in display tab having visibility option, check in the check box to set field in visibility. By default, it will be visible.

 

20) what is the difference between customer type and lookup type fields?

Lookup Data type: In this we can select single entity as lookup. Customer: In this we can give lookup as both contact and account entity.

 

21) How will you make two option value to checkbox?

While creating time of field we need take field data type as two option set. After, save the field and go the field properties, in formatting tab having control formatting option having two radio buttons, check box and list. F or that select the check box option and click on ok.

 

22) How will you make a field read-only?

In the field properties, in display tab having visibility option, field behavior option in that need to check in the field is read –only to make field read-only. By default, it was not checked.


23) Explain about the relationship behaviors?

We have 4 types of relationship behaviors that are present in crm.

Parental: if u take any action on parent, it affects to child.

Referential: if u take any action parent, it doesn't affect the child, but the relationship will be loose.

Referential, restrict delete: If u want to take any action on parent, first need to act child.

Configurable cascade: in this we have 4 types

Cascade All: For all records

Cascade Active: All the active records present.

Cascade user own: only records that active user owned.

Cascade none: for no records at all.

 

24) What are the options in Cascade - Delete options?

we have 4 options like Cascade all, Remove Link, Restrict and Cascade None

Cascade All: It deletes all the parent and child records. Remove Link: It removes the link between parent and child. Restrict: It will restrict the parents if they have child records. Cascade None: Not to any action on Both parent and child.

 

25) What are field mapping and limitations?

Filed mapping is available in only relationships. By using filed mapping, we can reflect the parent data to child. Parent is source entity and target entity are child entity. The data type of both the fields are the same and the size is also the same or greater than the source field.

Limitations in Field Mapping:

· We can’t do filed mapping if the relation is not there in between entity.

· Data type should be same for field and size of the source field is less than, mapping will not do.

· Field mapping works only at the time or quickly created from parent entity.

· If I update any data in parent, that or not reflected to child entity.

 

26) Rollup field limitatio?

1. rollup field is readonly

2. we cannot be able to change this value manually 3.it is only used for mathematical operation

4. the limitation of rollup is 100 rollup field per instance and 10 rollup field per entity, we can’t set more.

5. it can only be used for 1: N relationship.

6. Data type should be same in rollup field and child field.

 

27) Calculated field limitations?

· A maximum number of chained calculated fields is 5

· A calculated field can’t refer to itself or have cyclic chains

· You can’t trigger workflows or plug-ins on calculated fields.

· Duplicate detection rules are not triggered on calculated fields.


28) Scope of workflow?

We have 4 level of scopes we have in workflow

User level: This workflow will be triggered to only owner records of workflow. Other than the owner of workflow this will not be triggered to anyone.


Business unit Level: This workflow will be triggered to owner business unit, who are there in the business unit, workflow will be triggered.

Parent and child Business unit: This workflow will be triggered to Parent Business unit who are there in the

Parent Business unit, workflow will be triggered.

Organization Level: This workflow will be triggered to organization level who are matching the events.

 

29) Triggering points/automate process in workflow process?

IN this we have two ways to work on workflows

Manual or triggering point and automatic Process of workflows. For manual work flow we have as an on-demand process.

For automatic we have 5 events to run workflow automatically

Record is created: At the time of record creation, based on the scope is available workflow will be triggered. Record Status change: If record status is changed from active or inactive or disable etc. at that time workflow will be triggered.

Record Assigned: if any record is assigned to another user or team at that time this workflow will be triggered. Record Field Change: By selected filed data changed at that time workflow2 will be triggered.

Record is deleted: If a record is deleted in selected entity, then this workflow will be triggered.

 

30) Process/process template/child workflow in workflow? 

Process: creating a workflow process.

Process template: creating a workflow process into template. This template can be used in many workflows in the same entity.

Child Workflow: to use a workflow as a child in another workflow. Or we can call a child workflow in a workflow or as another workflow. While, in process template we can’t call as another workflow.

 

31) Difference between wait and time out?

Timeout: Timeout is for automated. This will fix the amount of time or until for specific date to proceed for next step or further in workflow. Timeout conditions is available for wait and parrel wait conditions only. We can’t add the extra conditions in timeout.

Wait Condition: This is manual Process. Based on some condition it will wait up to condition satisfying. If the condition is satisfied, then goes for next step. In this we can’t fix the time or date to work. This will be useful to work on waiting on condition rather than the specific amount of time.

 

32) Difference between background and real time workflows?

 

Real time workflow

Background Workflow

This workflow also called as synchronous workflow

This workflow also called as Asynchronous workflow

Wait and parallel conditions steps are not available

Wait and parallel conditions steps are available

This workflow is available for users and owners of workflows.

This workflow is available only for owners of workflow.

Works in both post and pre operation

Works for only post operation

UI part is changed compared to Background workflow like Execute as and start when.

 

 

Same as UI with some parts


 

Change will be noticeable instantly after saving

IF u want to see the changes in this then we need to refresh the page for some time

After process of workflow, if we want to delete process sessions, we can delete directly

After processing workflow, if we want to delete process sessions then we need to review the process sessions.

 

33) Limitations of workflow?

· By using real and background workflows we can’t delete the record.

· We can’t retrieve one entity record to other entity record.

· we can add maximum 4 nested if condition.

· the workflow does not trigger dynamics 365 offline mode.

· there is no way to set execution order for workflow if we create multiple workflows in same entity.

 

34) How will you dynamically compare with today's date?

In workflow Condition, select primary entity, select field, select operator as equals and in the value, go for form assistant look for option and select process and add execution time in the value field.

 

35) Explain about the SDLC?

There are different steps in sdlc

development: developer will develop the solution and send it to sit team (system integration testing team) they will test the solution if any error occurs, they will send to solution to development team. If the solution has no error and is working fine, they will give a solution to a team.

SIT(system integration test): if there is no error in solution they will send to solution at team (user acceptance testing team).

UAT team (user acceptance team): if there is any error in solution again, they will send to solution in development team. If the solution is working fine, the development team will be sent to the solution production team.

production: if the solution is not working fine again, they will send the solution to the development team. Developer will solve the error and they will send to solution production team has context menu.

 

36) what is your day in day out activities as a developer?

My day starts with checking my outlook for any raised ticked or bugs in project are came. For that my standup call will start with team members. In the call, I need to explain what I did yesterday and what I am going to do today. If I face any problem, while resolving ticket time. I ask for Assis to resolve the ticket.

 

37) Explain the sales process?

Lead will come in 2 ways either Walkin or campaign response. Based on customer interest either qualify or disqualify lead. If we disqualify the lead, we have options like lost, cannot contact, not interested or cancel. If the customer is interested, then we will qualify the lead. Based on the given information account, contact and opportunity records are created. We should provide a pricelist, based on pricelist we can add products.

According to the product we create quotes. After creating the quote, activate quote. Then send it to the customer. The customer is not satisfied with the quote, so we have revised the quote for that we have revise button, then we provide more discounts and more products. Once the customer is happy with the quote then we create an order. While creating order close the opportunity as won status and provide the actual revenue. Once the order is created, we will click the fulfill order. Once fulfilled the order, once invoice is paid, we will click on invoice paid; it will become as read only. From lead to invoice is called as sales process.


38) Scope of Business rules?

Scope: How it will work and where it will work. Entity, all forms and individual forms.

All forms: this business rule is applicable to all forms available in that entity. When the customer opens the

form, the rule is applied. This will come order client-side validation

Individual form: rule is applicable to selected form only. Both are works user creating record in crm. Both are called client-side rules

Entity: Logic is applicable to entire entity. By using plugins, workflows or Data imports. If we create the records

those come under the server side. It works for server side and client side.

 

39) Different types of components in Business rules?

We have 7 types of components present Business rule.

Business recommendation: IF u Wanto to show any recommendation message to selected filed then use this

Set Filed Value: If u want to set the filed value based on some condition.

Set default Value: If u want to set default value in option set. Means after opening the form, if u want to show one value in option set then use.

Show error message: If the user is not giving required details at that time if u want to show any message to

user, then use this.

Business required: We can set any field as business required or recommended. Lock and unlock: Based on some conditions if u want to lock or unlock the file. Set Visibility: Based on conditions if u want to set field is visible or not.

 

40) Limitations of Business rules?

· It will not work if the file is not available in the form.

· 10 if else conditions only for 1 business rule.

· We can’t control the execution of Business rule

· No exception handling is available.

· Work for the one entity only.

· By using JavaScript, we can’t call the business rules.

· Can’t be interactive with tabs and sections.

 

41) what is mean by synchronous and Asynchronous?

 

Synchronous

Asynchronous

Executed by crm core system

Execute by asynchronous service

Independent on server data will execute

Wait for server to execute data in server

 

Execute plugin event until the before plugin finishes execution

Execute plugin events independent of the before plugin finishes execute or not.

It waits for 2 min to get response from server

It waits for 2 min to get response from server

Modification will be done before and after submitting to sever

Modification will be done after submitting to sever

Can runs as post and pre operation

Can runs as post operation only


 

42) What is the difference between workflow and plugin?

 

Workflows

Plugins

By using workflow, we can’t retrieve the data from other entity’s

 

We can retrieve the data

We can’t share the records using this

We can share the records using plugin

We can’t delete the records

We can delete the records

Based on the scope and owner, workflows will trigger

 

Works for everyone without scope

 

We can stop the execution after start

We can’t stop the execution after

execution start

Workflow will work on both manual and automatic process

Plugins are always work for automatically

We can’t write more than 4 nested if conditions

 

We can write no of nested if conditions

Workflow having wait and timeout conations, by using this we can wait for no of days or time.

 

These are executed within 2 minutes only, After that show timeout error.

Workflows are run for the selected entity only

We can write plugin for multiple entity’s

 

43) What is the execution order?

In Microsoft Dynamics 365 CRM, the execution order refers to the sequence in which plugins are executed during the event pipeline. The execution order determines the order in which multiple plugins registered for the same event are executed.

 

44) what is the difference between FetchXML and Query expression?

 

Fetch Xml

Query expression

By using we can get up to 5000 records

We can get 10k records

By using this we can do aggregation functions

 

We can’t do any aggregations

We can use in JavaScript, plugins and ssr reports

 

Used in only plugins

By using, we can work on the related entity's also

 

We can work on selected entity

By using this we can get the label names of lookup and option set

 

We can’t get names


 

 

45) what is the impersonation and how to use in plugin?

Impersonation means is on behalf of, for example I don't have any permission to execute .so, That I can be able to use another login or role we can be able to execute the plugin.

By using the code, we can do impersonation. While creating the service organizations, we can use another user id and we will get the service. Or plugin registration tool, there is “Calling user”. In this we can select the calling user. There we can change some another user plugins to execute.

 

46) What is the plugin execution pipeline?

We have 3 execution events in plugin.

Pre validation: this doesn’t have any connection between databases. It will validate the data before submitting it into database. Pre validation will work irrespective of security roles. We can’t do rollout in this, which means any plugin is executed, if the plugin was stopped in this middle, we can’t get back the execution data. Preimage and post images are not available in this. Comes under synchronous flow.

Pre-Operation: After pre validation only, pre operation will be executed. It will update the data before submitting to database. It has rollback. Means if the plugin fails, we can roll back the submitted data to database. We have preimages and post images. Comes under synchronous flow.

Post Operation: once database is updated, post operation will trigger. In this we have rollback and pre and post images are available. Comes under both synchronous and synchronous.

 

47) what are secure and unsecure configurations and how to read in plugin?

· The secure and unsecure configurations are the parameters. We can send plugins, which we can ably change from environment to environment.

· secure configuration read by crm admin only.

· unsecure configuration used by the developer

· Secure configuration never ever moves whenever we are doing the solution moment, unsecure configuration move whenever we are doing the solution moment"

we can read the secure and unsecure configuration by using constructor in constructor. first, it will come the unsecure configuration then it will go for the secure configuration.

 

48) what are shared variables, how to get and set the shared variables in plugin?

shared variable is used to pass the data or parameters from one plugin to another plugin which we are not storing the data in the crm. If we do not store the data in the crm then only it will be useful. Shared variables can be accessed for some messages.

context.SharedVariables.Add(key, Value);

by using the same key and value I can be able to read other plugins where I want to read the shared variables, there I can declare the shared variable first.

<syntax of shared variables>

Guid sharedGuid = (Guid) context.shared variables [Key]; key mention here.

 

49) Why we will use images, how to read in plugin?

To get snapshots of an entity object of entity attribute data, before and after of system operation execution. Entity postImageAccount = (Entity) Context.postEntityImage[“Image”];

String imageAccount = postImageAccount.GetAttributeValue<string> (“field schema name”);

 

Entity preImageAccount = (Entity) Context.preEntityImage[“Image”];

String imageAccount = preImageAccount.GetAttributeValue<string> (“field schema name”);


50) What are the components are available in context?

1) input Parameters 2) OperationId 3) OrganizationId 4) OrganizationName 5) OutputParameters 6)PostEntityImages 7) PreEntityImages 8) PrimaryEntityId 9)PrimaryEntityName 10)UserId 11)SecondaryEntityName 12) SharedVariables 13) Depth

 

51) What is the depth, when will you use it?

in the plugin register sometimes it will go for infinite loop. At that time, we will use Context. Depth () ;// Number of time plugin is executed for single message or trigger.

 

52) what is the syntax to read the lookup field in plugin? EntityReference variablename = targetobject.Contains(“schemaname”)? (EntityReference)targetobject[“schemaname”];

 

53) What is the syntax to set the lookup field in plugin?

Targetobject[“schemaname”] = new EntityReference("account", new Guid(Id));

 

54) what is the syntax to read the multi select option in plugin?

OptionSetValueCollection variablename = targetobject.Contains("schemaname ")? (OptionSetValueCollection) targetobject [" schemaname "];

foreach (var item in variablename)

{

tracer.Trace("Subject is {0}", item.Value);

}

 

55) How to set the date in plugin?

DateTime date = new DateTime(2000,11,24); sky Entity["new_date"] = date;

tracer.Trace("date of joining {0} ", date);

 

56) How to debug the plugin? 1.install profiler in plugin registration 2.click on start profiler

3. go to visual studio and write code some mistake

4. go to crm click on refresh and then fill the field of selected entity click on save 5.it will show error chick on show file download error log

6. click on debug in plugin registration tool load error details and load updated assembly

7. go to visual studio keep debug after try block

8. click on debug in visual studio and click on attach to process 9.select plugin registration click on attach

10. go to plugin registration tool and click on start execution

11. click on f10 to go next step.

 

57) How to read the option set label in plugin?

string formattedValue = context.FormattedValues["your_optionset_field_name"]; targetEntity["your_another_field_name"] = formattedValue;

 

58) How to read the option set label in JavaScript?

var Optiontext = Fcontext.getAttribute("cr245_location").getText(); alert(Optiontext);


 

 

59) How to set the lookup fields in JavaScript?

var accountLookup = new Array (); accountLookup[0] = new Object ();

accountLookup[0].id = "83883308-7ad5-ea11-a813-000d3a33f3b4"; accountLookup[0].entityType = "account";

accountLookup[0].name = "A. Datum Corporation"; formContext.getAttribute("effg_parent").setValue(accountLookup);

 

60) What is the difference between webapi and xmlhttprequest?

 

WebAPI

Xmlhttprequest

 

it is a synchronous process

It was both synchronous and Asynchronous process

 

 

Webapi is less code

In xmlhttprequest is more code, we need to mention the type of output we want.

 

To send and receive data from a server while refreshing the entire web page.

It provides the ability to send and receive data from a server without refreshing the entire web page.

Web API is designed to work well with modern web technologies and frameworks, such as Single Page Applications (SPAs) and RESTful APIs.

However, it has a more complex and verbose syntax compared to the newer Web API, making it less intuitive and more prone to error.


 

Comments

Popular posts from this blog

If any case created, then check for the same user how many cases are created with in 30 days, if more than 2 and less than 5 send a mail to team lead, if more than 5 and less than 9 then send a mail to manager using power automate.

Create approve & reject ribbon buttons, once click on approve it should change the status field to approve.If clicked on reject it should change to Reject. Based on status field change trigger work flow to send a email to stating request is approved/Rejected.

How to get and set values in plugins?