SlideShare a Scribd company logo
DYNAMICS CRM
Presented By
Venkata Pradeep
AGENDA
• Brief introduction on Dynamics CRM
• Business Unit
• Security roles
• User management
• Teams
• Entities(creating custom)
• Fields(Custom fields in Entity)
• Custom Business Rules
• Auditing
• Field security Profiles
• Positions
AGENDA (CONT.)
• Solutions
• Creating Custom Forms, Views, Dashboards, Charts
• Relating two Entities( 1:N, N:1, N:N)
• Themes
• Developer Resources
• Process
AGENDA (CUSTOMIZATIONS)
• Validating fields using JavaScript
• Creating custom plug-ins using SDK and Plug-in Registration tool
• Creating custom work flows and deploying to CRM
• Site map customization
• Ribbon customization
• SSIS(Sql Server Integration Services)
BRIEF INTRODUCTION ON DYNAMICS CRM
• CRM is now termed as XRM-Extended Relationship Management
• For every business who sell their product and who wants to retain their customers
needs CRM(Customer Relationship Management ) software.
• For offering services, they first has to sell the product.
• There are there modules CRM software offers 1. Sales 2.Services 3. Marketing
• Sales Process:
• Lead-->Qualify-->Opportunity-->(Create Quote-->Order-->Invoices)-->Won the
Opportunity-->Customer.
BRIEF INTRODUCTION ON DYNAMICS CRM
(CONT.)
• Marketing Process:
• Planning & Budgeting-->Creating & Managing lists--> Planning & Creating Campaigns--
>Launching & managing Campaigns-->tracking & Reporting
• Services:
• Cases ,Contract Management, Service &Report management, Appointment Scheduling,
Knowledge Base Article.
BRIEF INTRODUCTION ON DYNAMICS CRM
(CONT.)
• Deployment options: 1. Web client, Outlook client, Mobile &Tablets
• Available in On-premise, Online, Partner Hosted versions.
• Entity-->Contact, Opportunity, Leads etc.
• Form: Collection of fields.
• Filed : Single data point relating an entity.
• Contact: Person & Account: Business/Organization/Groups.
• Who ever creates a record becomes owner.
• For account/Company there can only be one primary contact and many sub contacts.
BRIEF INTRODUCTION ON DYNAMICS CRM
(CONT.)
• User Authentication:
• Windows Integrated Auth. --> Active Directory credentials
• Clam based Auth. --> Token generation.
• Federated Auth. --> Online CRM.
• CRM is a Multi-Tenant Application:
• Many organizations can be deployed on one server.
• For CRM online, each trail gets new CRM Organization.
• For on premise, we should create new Organization with "Deployment Manager" tool.
• Two Data bases in CRM:
• MS CRM Config Data base, Each Organization Data base
BUSINESS UNITS
• Each instance of CRM has a unique Business Unit.
• By default, a team is created with the same name as of BU.
• Business Unit is a company for example.
• There can be many BU's but only one root BU and can be many child BU's.
• Records created in parent can not be seen in child BU's. Whereas, records
created in child BU'S can be seen in Parent BU's
SECURITY ROLES
• Each user or team can be assigned a security role.
• There are 14 default security roles (CSR Manager, Admin etc)
• For each role(example CRS Manager) we can set different permission: Create read
write, share etc.
• Each role can be set at different levels.
USER MANAGEMENT & TEAMS
• For creating a new User system asks for licenses (User Licensing)
• CAL--> Client Access Licensing). -- > License Type and Access Mode.
• License Type-->
• Read/Write(fill, Limited, device full, device limited)
• Read (Limited , device limited)
• Access Mode
• Read Write & Read & Admin
• User can be set role with "Manage Role" option from ribbon
• Different users form different BU's can become a team but only admin cam
group.
• Record shared in a team/ when admin makes team as owner then the record
can be seen to all members of team though of different BU's.
DYNAMICS CRM CERTIFICATION:
CUSTOMIZATIONS
Entity customization
Form customization
View customization
Entity Relationships
Business Rules
Dashboards
Charts
Solutions
CUSTOM ENTITY
CUSTOM ENTITY EXAMPLE & DISPLAY
FORM CUSTOMIZATION
• From Basic Types:
• Edit, Read-Optimised, Updated, Outlook page, Mobile.
• Edit form: Common and is automatically generated.
• Read- Optimised: Opt-in and if any client side script is enabled, it goes to Edit Form.
• Update: CRM Online and Process focused, doesn’t use ribbons, Only available in case, lead,
opportunity, Account.
• Role Tailored Forms: Creating multiple forms and deciding based on security code who is
going to see what form.
• Multiple forms can be created via “save as” or “new form”.
• Role Assignment:
• Allows targeting specific forms for specific roles
• Allows setting “specific roles” or “All roles”.
• System Admin and Customizer should always be the default roles while setting roles to form.
VIEW CUSTOMIZATION:
• Views: List of data for entities, Sub grids on forms for related records, for reports, for charts
on dash boards, Lookup dialogs for finding records.
• 3 types : Personal, System, Public.
• Personal: Visible only to user by default, can be shared with user/team, can not be converted
in to public view.
• System: Created by CRM when Entity is created. Advanced Find, Associated, Quick Find,
Lookup.
• Personal views are stored in UserQueue Entity.
• System and public are stored in SavedQuery.
RELATING 2 ENTITIES(1:N , N:1 , N:N)
• Example: (1:N) : An address can have many Phone Numbers.
• Relating My Address Entity and My Phone Entity.
• There can be many phones related to one address.
RELATING TWO ENTITIES (CONT.)
• CRM provides some rules that are performed when a certan action CRM happens in.
• Actions: Assign, Share, Unshare, Report, Delete, Merge.
• Each action can be done in 3 ways:
• Cascade all, Active, User Name.
• Parental and Referential can be the filed types.
• Connections are similar to N:N metadata relationship,it’s relation is defined by data.
• Connections roles define each side of connection.
• Example: Employer and Employee
SOLUTION LIFE CYCLE
• Managed Solution VS Unmanaged :
• Unmanaged are always used during development
• Use managed when you are building a project or need some level of isolation from
other changes.
• Use unmanaged when you are the only one delivering changes to the target CRM.
• Note:
• 1.You deploy your customizations as solution.
• When existing entity is used to create in a solution, it just creates a copy.
RIBBON CUSTOMIZATION AND SITE- MAP
CUSTOMIZATION
• We can use Ribbon work bench tool for customizing Ribbon.
• Sitemap customizer tool for customizing sitemap.
• Sales, Service, Marketing section in CMR is Area section.
• Case, Lead, Opportunity etc is a Sub Area section.
SIMPLE BUSINESS RULE
CUSTOM FORMS, VIEWS, CHARTS,
RELATIONS
• Views, Forms. Charts, Dash Boards can be customized.
• Custom Dash Board with Custom view:
CUSTOM FILED EXAMPLE
CLIENT SIDE SCRIPTING XRM.PAGE API
CLIENT SCRIPTING
• Scenarios:
• Making fields required.
• Option set filtering.
• Hide/Show tabs, sections, and Fields.
• Format data: Phone Number.
• Stopping the form to save with “restrict default” method().
• Refer below slides for all scripts using XRM.PAGE API
• Getting Attributes and controls
• Getting and setting values
• Working with controls, tabs and sections.option sets,
• Using client context: getslienturl, getuserid, getuserrules,
getquerystringparameters,getuserLcid.
GETTING ATTRIBUTES VS GETTING
CONTROLS
Dynamics CRM Harsha PPT
Dynamics CRM Harsha PPT
Dynamics CRM Harsha PPT
SIMPLE VALIDATING CUSTOM FIELD WITH
JAVASCRIPT
WORKING WITH CRM DATA AND SERVICES
• API’s: Discovery service, Organization Service, Deployment Service.
• Core libraries: Microsoft.CRM.sdk, Micosoft.xrm.sdk,
Microsoft.xrm.client,system.runtime.serialization,system.configuration.
• Entity class:
• Represents an instance of CRM record.
• Attributes collection allows dynamic use for all entities in CRM.
• Dynamic usage is referred to as Late bound.
• Sdk utility CRMSVCUTIL provides code generation for typed classes.
• Using typed classes is referred to as Early binding.
• Use normal .Net data types for “most” attributes.
• Special Data Types: OptionsetValues, Money, EntityReference.
DEVELOPER TOOLS
• Few services links are exposed for developer to create a proxy and use them.
• Discovery Service: Exposes End-Point
• Organization Services : for each Organization as CRM is a multi tenant application.
• These services can be used in VS by creating proxy, and get all the entities even the
custom entities.
3 WAYS FOR CONNECTING TO CRM
THROUGH VS2012
Way 1:
• Open Vs2012 command Prompt and enter cd
C:UsersPradeepCRM2013SDKBin  Enter
• Now paste  CrmSvcUtil.exe
/url:https://techminds123.api.crm.dynamics.com/XRMServices/2011/Organiz
ation.svc /out:GeneratedCode.cs
/username:Harsha123@techminds123.onmicrosoft.com /password:12ybYB!@
 Enter
• This generates a class file GeneratedClass.cs file. Just import in to solution
and use it.
• Add references Microsoft.crm.sdk,
Microsoft.xrm.sdk,Microsoft.crm.client,system.Runtime.serialization
,system.System.Configuration
CONNECTING VS2012 WITH CRM
• Use Dynamics CRM Template.
• Download sdk 2016 and use developer toolkit.
• While creating a new solution it prompts for Discovery service connect to it and
can add javascript, html,css etc files.
• Can also connect to plug-in and create a custom plugin.
• Note  You can just use references and create a new entity with late binding. And
create method
• Add GeneratedCode.cs file and get all account classes in to project Early
Binding. ---------
CRUD OPERATIONS
• Create:
• Create method /CreateRequest via Execute.
• When a record is created it assigns a GUID.
• Retrieve:
• With Retrieve (based on Primary ID), RetrieveMultiple(based on Query Expression or FetchXML), Via LINQ
• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true));
• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(“m_title”));
• Update:
• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true));
• If(!account .Contains(“Creditlimit”))
• {
• Account[“CreditLimit”]= new money(500.00m);
• Service.update(account);
• }
• Better to udate just specific column rather retrieving all and updating unnecessary Audit.
• Can’t Update: Primary id, created on, Createdby, Modifiedon, modifiedby, overid, owningteam, owinguser, StateCode.
TOPICS TO COVER
• Using LINQ with CRM
• Advanced querying of CRM data.
• Using REST endpoints(OData).
• Working with Metadata.
• Business Process flow, dialogs fetch xml etc.
BUSINESS PROCESS FLOW
DIALOGS
FETCH XML QUERY CONDITIONS
FETCH XML RELATED DATA OF TWO
ENTITIES
FETCH XML AGGREGATION
FETCH XML LIMITATIONS
AGGREGATING DATA USING FETCH XML
EXAMPLE:
Dynamics CRM Harsha PPT
EXTENDING CRM CUSTOMIZATIONS
• Plug in --> Plug in is a post- pre- process logic which you want to run when any
CRM activity happens. (like a new contact is created)
• Download SDK--> when a plug in logic is created using C# and it can be injected in
to CRM by Plug-in Registration Tool(SDK-->Tools-->Plugin Registration).
• Tool-->New activity--> save--> new step(create when contact entity and insert our
custom dll).
• This creates a record (like Audit trail) when new contact is created.
• Note: Practiced this in VS2012 but has issues and ought to confirm.
CUSTOM PLUG-IN (ACTIVITY TRACKER)
WITH PLUGIN REGISTRATION TOOL
CUSTOM WORK FLOWS
• Work Flow--> Series of connected activities which run in parallel.
• Two types: Code Workflow, Designer Work Flow.
• In OOB we have dialog Work flow, Business process work flow etc.
• Two types: Sequence/ Flowchart can be used as container.
• Sequence is one after another where as, flowchart can go back.
SSIS(SQL SERVER INTEGRATION SERVICES
• Note: Yet to practice a lot.
• SSIS: Data Extraction , Transformation , Loading (ETL)
• Used as middleware.
• Example --> Visual Studio--> file --> new--> BI template--> activity-->Flat file/ODBC
source to OLEDB Destination
• Import flat file on the control and run . You can find in OLEDB.
SIMPLE WINDOWS FORM CREATING A
RECORD

More Related Content

PPTX
Dynamics 365 introduction and functional
PPTX
Security settings in dynamics 365 customer engagement (crm)
PPTX
Dynamics 365 CRM Introduction
PDF
Quiz 8QUIZ strategic management concepts &cases 11th edition by Fred R. David...
PPTX
D365 Sales - Processes
PPT
Customer Relationship Management (CRM)
PDF
Microsoft Dynamics 365 - Intelligent Business Applications
PPTX
Getting started with Microsoft dynamics crm 2016
Dynamics 365 introduction and functional
Security settings in dynamics 365 customer engagement (crm)
Dynamics 365 CRM Introduction
Quiz 8QUIZ strategic management concepts &cases 11th edition by Fred R. David...
D365 Sales - Processes
Customer Relationship Management (CRM)
Microsoft Dynamics 365 - Intelligent Business Applications
Getting started with Microsoft dynamics crm 2016

What's hot (20)

PPTX
Introduction to Customization in dynamics crm 2016
PPTX
Microsoft Dynamics 365 for customer services
PPS
Microsoft dynamics-crm-online-overview-ppt
PPTX
Microsoft Dynamics 365 for sales
PPTX
DYNAMICS 365 SALES
PDF
OneDrive Quick Start Guide
PDF
Top 10 Checklist For Successful Salesforce Implementation
PDF
Microsoft Dynamics 365 and why you need it NOW!
PPTX
Overview of microsoft teams
PPTX
Dynamics 365 for Marketing
PPTX
Microsoft Teams
PPTX
Managed vs Unmanaged Solution- Dynamics 365 CE (CRM)
PPTX
Microsoft Dynamics CRM Multi - Tier Architecture
PDF
Microsoft Dynamics 365
PDF
Demystifying Dynamics 365 & Power Platform Licensing
PDF
Introduction Dynamics 365 CRM
PDF
Overview power apps and microsoft flow
PPTX
What is Office 365 | Benifits of Office 365 | Learn Office 365
PPTX
Microsoft power platform
PPTX
Learn More About Microsoft Teams
Introduction to Customization in dynamics crm 2016
Microsoft Dynamics 365 for customer services
Microsoft dynamics-crm-online-overview-ppt
Microsoft Dynamics 365 for sales
DYNAMICS 365 SALES
OneDrive Quick Start Guide
Top 10 Checklist For Successful Salesforce Implementation
Microsoft Dynamics 365 and why you need it NOW!
Overview of microsoft teams
Dynamics 365 for Marketing
Microsoft Teams
Managed vs Unmanaged Solution- Dynamics 365 CE (CRM)
Microsoft Dynamics CRM Multi - Tier Architecture
Microsoft Dynamics 365
Demystifying Dynamics 365 & Power Platform Licensing
Introduction Dynamics 365 CRM
Overview power apps and microsoft flow
What is Office 365 | Benifits of Office 365 | Learn Office 365
Microsoft power platform
Learn More About Microsoft Teams
Ad

Similar to Dynamics CRM Harsha PPT (20)

PDF
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
PPTX
Get Data from Microsoft CRM using Mule ESB
PPTX
Integration with Microsoft CRM using Mule ESB
PPTX
Dyn crm2013 whatsnew_v1_0_cr
PPTX
Microsoft Dynamics CRM – Web Resources
PPT
Salesforce Presentation
PPTX
Dynamic DSM Tracking Software Features
PPTX
Crm Core Contact Management in Drupal
PDF
Dynamics saturday madrid 2018 riva presentation
PPTX
Salesforce
PDF
Microsoft Dynamics CRM Certification Training
PDF
Microsoft Dynamics 365 xRM4Legal xRM4Accounting Technical Overview
PPTX
Troubleshooting the Outlook Client UBCRM04 Microsoft Convergence DayONE 2011
PDF
Salesforce Winter 23 Release Webinar Slide Deck
ODP
MAS202 - Customizing IBM Connections
ODP
MAS202 - Customizing IBM Connections - Downloadable
PDF
Elite mindz introduction
PDF
EliteMindz: Who are we? Where do we serve ? What are our products & services?
PPTX
Microsoft CRM vs Salesforce
DOC
Sathya-Resume
Microsoft Dynamics CRM Technical Training for Dicker Data Resellers
Get Data from Microsoft CRM using Mule ESB
Integration with Microsoft CRM using Mule ESB
Dyn crm2013 whatsnew_v1_0_cr
Microsoft Dynamics CRM – Web Resources
Salesforce Presentation
Dynamic DSM Tracking Software Features
Crm Core Contact Management in Drupal
Dynamics saturday madrid 2018 riva presentation
Salesforce
Microsoft Dynamics CRM Certification Training
Microsoft Dynamics 365 xRM4Legal xRM4Accounting Technical Overview
Troubleshooting the Outlook Client UBCRM04 Microsoft Convergence DayONE 2011
Salesforce Winter 23 Release Webinar Slide Deck
MAS202 - Customizing IBM Connections
MAS202 - Customizing IBM Connections - Downloadable
Elite mindz introduction
EliteMindz: Who are we? Where do we serve ? What are our products & services?
Microsoft CRM vs Salesforce
Sathya-Resume
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
cuic standard and advanced reporting.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Approach and Philosophy of On baking technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PPT
Teaching material agriculture food technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
KodekX | Application Modernization Development
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
Reach Out and Touch Someone: Haptics and Empathic Computing
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
cuic standard and advanced reporting.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Approach and Philosophy of On baking technology
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Monthly Chronicles - July 2025
Teaching material agriculture food technology
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
KodekX | Application Modernization Development
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....

Dynamics CRM Harsha PPT

  • 2. AGENDA • Brief introduction on Dynamics CRM • Business Unit • Security roles • User management • Teams • Entities(creating custom) • Fields(Custom fields in Entity) • Custom Business Rules • Auditing • Field security Profiles • Positions
  • 3. AGENDA (CONT.) • Solutions • Creating Custom Forms, Views, Dashboards, Charts • Relating two Entities( 1:N, N:1, N:N) • Themes • Developer Resources • Process
  • 4. AGENDA (CUSTOMIZATIONS) • Validating fields using JavaScript • Creating custom plug-ins using SDK and Plug-in Registration tool • Creating custom work flows and deploying to CRM • Site map customization • Ribbon customization • SSIS(Sql Server Integration Services)
  • 5. BRIEF INTRODUCTION ON DYNAMICS CRM • CRM is now termed as XRM-Extended Relationship Management • For every business who sell their product and who wants to retain their customers needs CRM(Customer Relationship Management ) software. • For offering services, they first has to sell the product. • There are there modules CRM software offers 1. Sales 2.Services 3. Marketing • Sales Process: • Lead-->Qualify-->Opportunity-->(Create Quote-->Order-->Invoices)-->Won the Opportunity-->Customer.
  • 6. BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.) • Marketing Process: • Planning & Budgeting-->Creating & Managing lists--> Planning & Creating Campaigns-- >Launching & managing Campaigns-->tracking & Reporting • Services: • Cases ,Contract Management, Service &Report management, Appointment Scheduling, Knowledge Base Article.
  • 7. BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.) • Deployment options: 1. Web client, Outlook client, Mobile &Tablets • Available in On-premise, Online, Partner Hosted versions. • Entity-->Contact, Opportunity, Leads etc. • Form: Collection of fields. • Filed : Single data point relating an entity. • Contact: Person & Account: Business/Organization/Groups. • Who ever creates a record becomes owner. • For account/Company there can only be one primary contact and many sub contacts.
  • 8. BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.) • User Authentication: • Windows Integrated Auth. --> Active Directory credentials • Clam based Auth. --> Token generation. • Federated Auth. --> Online CRM. • CRM is a Multi-Tenant Application: • Many organizations can be deployed on one server. • For CRM online, each trail gets new CRM Organization. • For on premise, we should create new Organization with "Deployment Manager" tool. • Two Data bases in CRM: • MS CRM Config Data base, Each Organization Data base
  • 9. BUSINESS UNITS • Each instance of CRM has a unique Business Unit. • By default, a team is created with the same name as of BU. • Business Unit is a company for example. • There can be many BU's but only one root BU and can be many child BU's. • Records created in parent can not be seen in child BU's. Whereas, records created in child BU'S can be seen in Parent BU's
  • 10. SECURITY ROLES • Each user or team can be assigned a security role. • There are 14 default security roles (CSR Manager, Admin etc) • For each role(example CRS Manager) we can set different permission: Create read write, share etc. • Each role can be set at different levels.
  • 11. USER MANAGEMENT & TEAMS • For creating a new User system asks for licenses (User Licensing) • CAL--> Client Access Licensing). -- > License Type and Access Mode. • License Type--> • Read/Write(fill, Limited, device full, device limited) • Read (Limited , device limited) • Access Mode • Read Write & Read & Admin • User can be set role with "Manage Role" option from ribbon • Different users form different BU's can become a team but only admin cam group. • Record shared in a team/ when admin makes team as owner then the record can be seen to all members of team though of different BU's.
  • 13. CUSTOMIZATIONS Entity customization Form customization View customization Entity Relationships Business Rules Dashboards Charts Solutions
  • 16. FORM CUSTOMIZATION • From Basic Types: • Edit, Read-Optimised, Updated, Outlook page, Mobile. • Edit form: Common and is automatically generated. • Read- Optimised: Opt-in and if any client side script is enabled, it goes to Edit Form. • Update: CRM Online and Process focused, doesn’t use ribbons, Only available in case, lead, opportunity, Account. • Role Tailored Forms: Creating multiple forms and deciding based on security code who is going to see what form. • Multiple forms can be created via “save as” or “new form”. • Role Assignment: • Allows targeting specific forms for specific roles • Allows setting “specific roles” or “All roles”. • System Admin and Customizer should always be the default roles while setting roles to form.
  • 17. VIEW CUSTOMIZATION: • Views: List of data for entities, Sub grids on forms for related records, for reports, for charts on dash boards, Lookup dialogs for finding records. • 3 types : Personal, System, Public. • Personal: Visible only to user by default, can be shared with user/team, can not be converted in to public view. • System: Created by CRM when Entity is created. Advanced Find, Associated, Quick Find, Lookup. • Personal views are stored in UserQueue Entity. • System and public are stored in SavedQuery.
  • 18. RELATING 2 ENTITIES(1:N , N:1 , N:N) • Example: (1:N) : An address can have many Phone Numbers. • Relating My Address Entity and My Phone Entity. • There can be many phones related to one address.
  • 19. RELATING TWO ENTITIES (CONT.) • CRM provides some rules that are performed when a certan action CRM happens in. • Actions: Assign, Share, Unshare, Report, Delete, Merge. • Each action can be done in 3 ways: • Cascade all, Active, User Name. • Parental and Referential can be the filed types. • Connections are similar to N:N metadata relationship,it’s relation is defined by data. • Connections roles define each side of connection. • Example: Employer and Employee
  • 20. SOLUTION LIFE CYCLE • Managed Solution VS Unmanaged : • Unmanaged are always used during development • Use managed when you are building a project or need some level of isolation from other changes. • Use unmanaged when you are the only one delivering changes to the target CRM. • Note: • 1.You deploy your customizations as solution. • When existing entity is used to create in a solution, it just creates a copy.
  • 21. RIBBON CUSTOMIZATION AND SITE- MAP CUSTOMIZATION • We can use Ribbon work bench tool for customizing Ribbon. • Sitemap customizer tool for customizing sitemap. • Sales, Service, Marketing section in CMR is Area section. • Case, Lead, Opportunity etc is a Sub Area section.
  • 23. CUSTOM FORMS, VIEWS, CHARTS, RELATIONS • Views, Forms. Charts, Dash Boards can be customized. • Custom Dash Board with Custom view:
  • 25. CLIENT SIDE SCRIPTING XRM.PAGE API
  • 26. CLIENT SCRIPTING • Scenarios: • Making fields required. • Option set filtering. • Hide/Show tabs, sections, and Fields. • Format data: Phone Number. • Stopping the form to save with “restrict default” method(). • Refer below slides for all scripts using XRM.PAGE API • Getting Attributes and controls • Getting and setting values • Working with controls, tabs and sections.option sets, • Using client context: getslienturl, getuserid, getuserrules, getquerystringparameters,getuserLcid.
  • 27. GETTING ATTRIBUTES VS GETTING CONTROLS
  • 31. SIMPLE VALIDATING CUSTOM FIELD WITH JAVASCRIPT
  • 32. WORKING WITH CRM DATA AND SERVICES • API’s: Discovery service, Organization Service, Deployment Service. • Core libraries: Microsoft.CRM.sdk, Micosoft.xrm.sdk, Microsoft.xrm.client,system.runtime.serialization,system.configuration. • Entity class: • Represents an instance of CRM record. • Attributes collection allows dynamic use for all entities in CRM. • Dynamic usage is referred to as Late bound. • Sdk utility CRMSVCUTIL provides code generation for typed classes. • Using typed classes is referred to as Early binding. • Use normal .Net data types for “most” attributes. • Special Data Types: OptionsetValues, Money, EntityReference.
  • 33. DEVELOPER TOOLS • Few services links are exposed for developer to create a proxy and use them. • Discovery Service: Exposes End-Point • Organization Services : for each Organization as CRM is a multi tenant application. • These services can be used in VS by creating proxy, and get all the entities even the custom entities.
  • 34. 3 WAYS FOR CONNECTING TO CRM THROUGH VS2012 Way 1: • Open Vs2012 command Prompt and enter cd C:UsersPradeepCRM2013SDKBin  Enter • Now paste  CrmSvcUtil.exe /url:https://techminds123.api.crm.dynamics.com/XRMServices/2011/Organiz ation.svc /out:GeneratedCode.cs /username:Harsha123@techminds123.onmicrosoft.com /password:12ybYB!@  Enter • This generates a class file GeneratedClass.cs file. Just import in to solution and use it. • Add references Microsoft.crm.sdk, Microsoft.xrm.sdk,Microsoft.crm.client,system.Runtime.serialization ,system.System.Configuration
  • 35. CONNECTING VS2012 WITH CRM • Use Dynamics CRM Template. • Download sdk 2016 and use developer toolkit. • While creating a new solution it prompts for Discovery service connect to it and can add javascript, html,css etc files. • Can also connect to plug-in and create a custom plugin. • Note  You can just use references and create a new entity with late binding. And create method • Add GeneratedCode.cs file and get all account classes in to project Early Binding. ---------
  • 36. CRUD OPERATIONS • Create: • Create method /CreateRequest via Execute. • When a record is created it assigns a GUID. • Retrieve: • With Retrieve (based on Primary ID), RetrieveMultiple(based on Query Expression or FetchXML), Via LINQ • Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true)); • Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(“m_title”)); • Update: • Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true)); • If(!account .Contains(“Creditlimit”)) • { • Account[“CreditLimit”]= new money(500.00m); • Service.update(account); • } • Better to udate just specific column rather retrieving all and updating unnecessary Audit. • Can’t Update: Primary id, created on, Createdby, Modifiedon, modifiedby, overid, owningteam, owinguser, StateCode.
  • 37. TOPICS TO COVER • Using LINQ with CRM • Advanced querying of CRM data. • Using REST endpoints(OData). • Working with Metadata. • Business Process flow, dialogs fetch xml etc.
  • 40. FETCH XML QUERY CONDITIONS
  • 41. FETCH XML RELATED DATA OF TWO ENTITIES
  • 44. AGGREGATING DATA USING FETCH XML EXAMPLE:
  • 46. EXTENDING CRM CUSTOMIZATIONS • Plug in --> Plug in is a post- pre- process logic which you want to run when any CRM activity happens. (like a new contact is created) • Download SDK--> when a plug in logic is created using C# and it can be injected in to CRM by Plug-in Registration Tool(SDK-->Tools-->Plugin Registration). • Tool-->New activity--> save--> new step(create when contact entity and insert our custom dll). • This creates a record (like Audit trail) when new contact is created. • Note: Practiced this in VS2012 but has issues and ought to confirm.
  • 47. CUSTOM PLUG-IN (ACTIVITY TRACKER) WITH PLUGIN REGISTRATION TOOL
  • 48. CUSTOM WORK FLOWS • Work Flow--> Series of connected activities which run in parallel. • Two types: Code Workflow, Designer Work Flow. • In OOB we have dialog Work flow, Business process work flow etc. • Two types: Sequence/ Flowchart can be used as container. • Sequence is one after another where as, flowchart can go back.
  • 49. SSIS(SQL SERVER INTEGRATION SERVICES • Note: Yet to practice a lot. • SSIS: Data Extraction , Transformation , Loading (ETL) • Used as middleware. • Example --> Visual Studio--> file --> new--> BI template--> activity-->Flat file/ODBC source to OLEDB Destination • Import flat file on the control and run . You can find in OLEDB.
  • 50. SIMPLE WINDOWS FORM CREATING A RECORD