Thursday, January 14, 2016

CRM Product Life Cycle



Feature Difference between CRM 2011,2013 and 2015



Features
CRM 2011
CRM 2013
CRM 2015
User Interface
  • Contextual Ribbon Bar.
  • CRM Functional groups like Sales, Services, Marketing, Workplace etc. are at bottom left of the home screen.
  • Pop up windows are more.
  • Ribbon Bar is replaced by top Command Bar
  • CRM functional groups are now at the top of the CRM home screen.
  • No pop up windows.
  • Top Command Bar
  • CRM functional groups are now at the top of the CRM home screen.
  • No pop up windows
  • More space for customer data
Workflows
Asynchronous
Asynchronous/ Synchronous(Real time).

The existing workflow execution model that supports asynchronous workflows has been extended to support real-time (synchronous) workflows. Real-time workflows are not queued, as was the case with asynchronous workflows, but execute immediately on-demand or in response to a message being processed by the execution pipeline. Real-time workflows participate in the database transaction and perform similar functionality to plug-ins, yet can be created by a non-developer through the web application workflow designer. Developers can still create real-time workflow through code.
Asynchronous/ Synchronous(Real time)
Duplicate Detection Rule
Available
Removed
Removed
Auto Save
Not Available
Auto Save of Record is Available & this option can also be disabled in settings.
Auto Save of Record is Available & this option can also be disabled in settings.
Quick Create
Not Available
Available. Now any type of record type created being in another record.
Available. Now any type of record type created being in another record.
Portable Business Logic/Rules
Not Available.
Only Custom javascipt.
Introduced.

Business rules in CRM 2013 now allows for native controls to be applied on forms instead of writing custom JavaScript as it was the case in previous version. These are client side enforced controls based on business conditions and allows for 5 actions:
Set specific field value (including formulas & calculation),
Set business required state for a CRM attribute,
Set visibility of a field to visible or invisible (visible = false),
lock and unlock Dynamics CRM fields / attributes, and
Show an error message on a form if certain conditions are met.
Enhanced.

Complex condition branching added.
Business Process Flow (BPF)
Limited to Lead, Opportunity, Case entities.
For any entity now BPF is enabled.

Dynamics CRM 2013 gives users visual guidance to navigate processes that makes workflows more prescriptive and easier to follow.New process bar prompts users to follow next action steps in line with your mapped workflows to progress leads, opportunities, service cases and other tasks.
For any entity now BPF is enabled.
Business Processes also have Stage-Gating feature that prevents users progressing any process to the next stage if one or more steps haven’t been completed
Mobility Form
  • Javascript not supported
  • Custom entity not supported
  • Javascript supported
  • Custom entity supported
  • Javascript supported
  • custom entity supported.
Server Sync.
Email router
Server Side Sync.
No Email Router
Server SIde Sync
Adv Find
Under, Not-under filter not present.
Under, Not-under filter not present.
Under, Not-under filter criteria is introduced.
Social Enterprise Collaboration
Not available
Introduced.
Users can participate in social conversations directly within Microsoft Dynamics, through the Yammer web and desktop applications as well as apps running on Microsoft (Windows Phone), Apple (iOS) and Google (Android) mobile devices.
Enhanced
Prominent Records Headers & Quick View Forms
Not available
Introduced.
Surfaces important Customer information and highlights key data (such as phone number, status, record owner) on related forms so users always have their customer data at their fingertips.
Enhanced
Get Started Pane
Introduced
Removed
Removed
Workplace Area Navigation
Available
Removed
Removed
Inline Data Editing
Not Available
Introduced
Available
Global Search
Not available
Introduced
Enhanced
Image DataType
Not Available
Introduced
Available
Actions
Not Available
Introduced.
Developers can extend the functionality of the standard Microsoft Dynamics CRM system by creating custom messages, with associated request/response classes, known as actions. Actions are new type of processes to expand the vocabulary available for developers to express business processes. With core verbs like Create, Update, Delete, Retrieve, Associate and Assign provided by the system, an action uses those core verbs to create more expressive verbs like Escalate, Approve, Route, and Schedule. If the definition of the action needs to change due to changing business priorities, someone who is not a developer can edit the action using the application workflow designer. Since these actions are available through web service calls, they can be used from both inside the application using a command action or from external applications.
Available
Integrated Maps
NotAvailable
Introduced.
Integrated Bing Maps dynamically show the map for the primary record address.
Available
Skype & Lync Integration
Not Available
Introduced.
Skype and Lync integration enabling direct dialling from any phone number field in Dynamics CRM.
Available
Access Team
Role-Based Security (owner) Teams Only
Role-Based Security Teams (owner Teams) and Access Teams.
Teams need to collaborate with a unique set of people within their organization for each record such as an Opportunity, order or important customer contact. CRM 2011 role-based security does not give users this level of flexibility. With a record-based access team, CRM users can be added to a specific record and give them access. The access team is a new type of team that doesn’t own records, but, has access to records. Unlike with owner teams, you can create one or more access teams to work on the same records and have team members with different levels of access rights to the record.
Hierarchy Security Model Introduced.

New hierarchical visualizations and roll-ups bring real-time territory and forecasting data to your fingertips. Users now have a way to view accounts, products, and users that helps you see how info is related.  CRM 2015 can display how data is related or grouped by accounts, products, or users in hierarchical charts. The user can pick a data set to get more details and navigate to the info you're interested in.
Calculations and formulas via Business Rules
Not Available
Available.
Setting a field value in a business rule allows the use of formulas to do calculations for applicable fields such as fields of type “Money”. Addition, subtraction, multiplication & division are the calculation operations available and can be done between fields or values. So for example: set “Total Box Value” field value to “Price per item” field multiplied by “24”. (assuming every box has 24 identical items for instance).
Available.

Rollup fields.
calculated fields
Web Services & Endpoints
Support for CRM 4.0 2007 Endpoint & Legacy features
CRM 4.0 Service Endpoints & Features removed in CRM 2013
CRM 4.0 Service Endpoints & Features removed in CRM 2015
Inline Editable Grids
Not Available
Introduced.
Available
Product Bundling
Not Available
Not Available
Introduced.
Products can be bundled and offered as packages, for discounts and offers
Regional Price List
Not Available
Not Available
Introduced.
Products can be bundled and offered as packages, based on regional requirements and assessments
Import/ Export Product
Not Available
Configuration migration tool introduced in Dynamics CRM 2013
Improved.
support product migrations in Dynamics CRM 2015
Guided Sales Flow
Limited to Lead, Opportunity, Cases
Improved for all entities.
Improved to have complex business processes.
Conditional branching has brought about more specificity to business processes
Offline Draft Capability
Not Available
Not Available
Offline draft capabilities on mobile devices which are synced when the user is back online
Pause & Resume SLA’s
Not Available
Not Available
Pause and Resume SLAs to track time efficiently through system settings
Themes
Not Available
Not Available
Introduced.
You can now brand your CRM! Themes offer the option of changing the default colors and adding your logo to the top navigation as pictured below. This is just one more way to customize CRM to match the uniqueness of your organization.
OneNote Integration
Not Available
Not Available
Introduced.
Users can now easily capture meeting details using OneNote from within CRM Online. This functionality allows the information to be available to other CRM Online users in the Social Pane.
Advance Find Older Than Filter
Not Available
Not Available
Introduced.
Export to Excel Redesign
Only allows to save as excel in local computer. Limiting record 10000.
Only allows to save as excel in local computer. Limiting record 10000.
Record Limit increased to 100000 or 32 MB.
Import excel opens online facility.

How to Download Report file in CRM

How to Download Report file in CRM


  • Goto Reports


  • Select any one of the report and click edit button. 





  • A new window will open and click action button and click download report





Tuesday, January 12, 2016

The record cannot be deleted because it is associated with another record

The record cannot be deleted because it is associated with another record

Whenever you delete the record in the CRM the above error occur.

Solution:
Example:
If you delete the account in CRM.


You have to open the record and delete all the data in the subgrid of that record that means an account has "1:N" relationship  items, those items has to be delete first.

To easily find the associated record, try to delete the account in the sql it throws error as reference constraint error in which it says relationship name. In which you can easily find
in which entity an account is associated with it.
Here credit card entity (custom entity) is linked with that account. So delete that credit card first and then delete the account. It will successfully deleted.



Tuesday, January 5, 2016

Owning businessunit is not visible in CRM adapter in scribe

Owning business unit is not visible in CRM adapter in scribe
If you have any doubt in the post please post comments. I will try to solve your problem.

In the CRM scribe adapter some fields are not enables by default in the scribe.

In our example we are connecting CRM adapter in the scribe and select the account entity. We are going to display the owning business unit in the account entity.

we are connecting CRM adapter in the scribe and select the account entity.

  • Owning business unit column is not available in the account 


  • Click view->Hidden Data objects and fields


  •  Now you can see owning business unit column in grey color.




Monday, January 4, 2016

Easily filter record in the CRM Audit

If you have any doubt in the post please post comments. I will try to solve your problem.

In CRM, audit is a super feature to track a record in CRM. It is very useful at the time of production issue. When we view the audit, as you can see except record column other fields we can filter.
But in real time we would need filter audit record based on particular record.



 By using the below query you will filter audit based on record. In that query you can

  • {0}: Start date
  • {1}: End date
  • {2}: Record guid(example: if you look into account record then put particular  account guid.)


drop table  #temp1

  Declare @attributes VarChar(Max), @values VarChar(Max), @ObjectTypeCode int, @LogDateTime DateTime, 
 
@RecordId uniqueidentifier, 
 
@UserId Uniqueidentifier, 
 
@ActionId int
 
Declare @Result Table(AttributeId int, Value VarChar(Max), 
 
ObjectTypeCode int, LogDateTime DateTime, RecordId uniqueidentifier, UserId uniqueidentifier, 
 
ActionId int)
 
Declare @CurrentAttribute VarChar(max), @CurrentValue VarChar(Max)
 
DECLARE DataAuditCursor 
 
CURSOR FOR 
 
Select top 200
 
 Case When IsNull(a.AttributeMask, '') = '' 
 
 Then '' 
 
 Else Substring(a.AttributeMask, 2, Len(a.AttributeMask) - 2) 
 
 End ,
 
 a.ChangeData ,a.ObjectTypeCode ,a.CreatedOn ,a.ObjectId ,a.UserId ,a.[Action]
 
From dbo.Audit a 
 
where
-- Createdon > '2014-11-01 00:00:00.000'{0} -- Edit this to match your scenario
 
--and Createdon < '2014-11-19 00:00:00.000' {1}-- Edit this to match your scenario
   a.ObjectId= '3A780EAA-1327-E511-9405-0050568106FE' --{2}
and Action = 2 --(1=Create, 2=Update, 3=Delete)
 
order by Createdon desc
 
OPEN DataAuditCursor
 
FETCH NEXT FROM DataAuditCursor INTO @attributes, @values, @ObjectTypeCode, @LogDateTime, @RecordId, @UserId, @ActionId
 
WHILE @@FETCH_STATUS = 0
 
BEGIN 
 
 WHILE CHARINDEX(',',@attributes,0) <> 0 
 
 BEGIN 
 
 SELECT 
 
 @CurrentAttribute=RTRIM(LTRIM(SUBSTRING(@attributes,1,CHARINDEX(',',@attributes,0)-1))),
 
 @attributes=RTRIM(LTRIM(SUBSTRING(@attributes,CHARINDEX(',',@attributes,0)+1,LEN(@attributes)))),
 
 @CurrentValue=RTRIM(LTRIM(SUBSTRING(@values,1,CHARINDEX('~',@values,0)-1))),
 
 @values=RTRIM(LTRIM(SUBSTRING(@values,CHARINDEX('~',@values,0)+1,LEN(@values))))
 
 IF LEN(@CurrentAttribute) > 0
 
 INSERT INTO @Result Values(CAST(@CurrentAttribute as int), 
 
 @CurrentValue, @ObjectTypeCode, @LogDateTime, @RecordId, @UserId, @ActionId) 
 
 END 
 
 INSERT INTO @Result 
 
 Values((
 
 Case 
 
 When IsNull(@attributes, '') = '' 
 
 Then Null 
 
 Else CAST(@attributes as int) 
 
 End
 
 ), @values, @ObjectTypeCode, @LogDateTime, @RecordId, @UserId, @ActionId) 
 
  FETCH NEXT FROM DataAuditCursor 
 
 INTO @attributes, @values, @ObjectTypeCode, @LogDateTime, @RecordId, @UserId, @ActionId
 
END
  CLOSE DataAuditCursor;
 
DEALLOCATE DataAuditCursor;
 
Select 
  (
 
 Select Top 1 Name 
 
 From MetadataSchema.Entity e
 
 Where r.ObjectTypeCode = e.ObjectTypeCode
 
  ) EntityName ,
 
 (Select Top 1 a.Name 
 
 From MetadataSchema.Attribute a Inner Join MetadataSchema.Entity e On a.EntityId = e.EntityId 
 
 and a.ColumnNumber = r.AttributeId 
 
 and e.ObjectTypeCode = r.ObjectTypeCode
 
 ) AttributeName ,
 
 u.fullname UserName ,
 
 r.Value OldFieldValue ,
 
 r.RecordId ModifiedRecordId,
 r.LogDateTime
 
 into #temp1
 
 From @Result r Left Join dbo.FilteredSystemUser u On r.UserId = u.systemuserid
 
 create table ##temp2 (AttributeName varchar(200), currentValue varchar(400), RecId uniqueidentifier)
 
declare @EntityName varchar(100), @AttributeName varchar(100), @UserName varchar(100), @OldFieldValue varchar(700), @ModifiedRecordId uniqueidentifier, @Temp2LogDateTime DateTime
 
declare @SQLStatement nvarchar(400)
 
declare @getOldValue varchar(400)
 
DECLARE TempCursor CURSOR FOR 
 
Select top 10 EntityName, AttributeName, UserName, OldFieldValue, ModifiedRecordId
 
from #temp1
 
OPEN TempCursor
 
FETCH NEXT FROM TempCursor INTO @EntityName, @AttributeName, @UserName, @OldFieldValue, @ModifiedRecordId
 
WHILE @@FETCH_STATUS = 0
 
BEGIN 
 
 select @SQLStatement = 'insert into ##temp2 select '+ ''''+@AttributeName +''' as AttributeName, ' + @AttributeName+' as currentValue, '+ @EntityName+'id 
as RecId from dbo.'+@EntityName+' where '+@EntityName+'id'+' = '+ ''''+'{'+convert(varchar(38),@ModifiedRecordId)+'}'+''''
 
 --select @SQLStatement
 
 EXEC sp_executesql @SQLStatement;
 
   --select @EntityName, @AttributeName, @UserName, @OldFieldValue, @ModifiedRecordId
 
 FETCH NEXT FROM TempCursor INTO @EntityName, @AttributeName, @UserName, @OldFieldValue, @ModifiedRecordId
 
END
  CLOSE TempCursor;
 
DEALLOCATE TempCursor;
 
select #temp1.EntityName,#temp1.AttributeName,#temp1.UserName, #temp1.OldFieldValue, ##temp2.currentValue 
,#temp1.LogDateTime
 
from #temp1 
 
 join ##temp2 on (##temp2.RecId = #temp1.ModifiedRecordId and ##temp2.AttributeName = #temp1.AttributeName collate Latin1_General_CI_AI)
 
 drop table ##temp2

  -- Clean up some trash...
  delete from tempTrashChanges where OldFieldValue = '' and currentValue is null
-- Don't need to see this
delete from tempTrashChanges where OldFieldValue = currentValue 


Output
There are 6 columns in the output.
Description:
Entity Name      : Name of the entity
AttributeName   :Logging field name
UserName         : by which user this record create
OldFieldValue   :old value of the field
CurrentValue    : new value of the field
LogDateTime    :When it was created

How to connect XRM toolkit for CRM?

Connect XRM toolkit

  • Download XRM toolkit and open the exe.
  • Click "Connect to CRM", a connection window will open.
  • In that click "New connection" a connection dialog will open.
  • Give your connection name, server name, authentication that's it.


Delete a record tracked in CRM or outlook reflect to viceversa(contacts,appointment,task and email)

Email messages
  • Deleting a tracked email message in Outlook does not delete the email message from Microsoft Dynamics CRM.
  • Deleting an email message in Microsoft Dynamics CRM does not delete the tracked message from Outlook.
  • If you stop tracking an email message in Outlook, Dynamics CRM for Outlook asks whether you want to delete the email message in Microsoft Dynamics CRM.

 Appointments

Deleting a tracked appointment in Outlook deletes the appointment in Microsoft Dynamics CRM. Deleting a tracked appointment in Microsoft Dynamics CRM deletes the appointment in Outlook if the following is true:
  • The appointment is current.
  • You are the owner or organizer of the appointment record.If you stop tracking an appointment, Dynamics CRM for Outlook asks whether you want to delete the appointment from Microsoft Dynamics CRM. The appointment record is deleted in Microsoft Dynamics CRM if the following is true:
  • The appointment is current.
  • You are the owner of the appointment record.

 Contacts
  • Deleting a tracked contact in Outlook does not delete the contact record from Microsoft Dynamics CRM.
  • If you are not the owner of the contact record, deleting a contact from Microsoft Dynamics CRM deletes the tracked contact from Outlook.
  • If you are the owner of the contact record, deleting a contact from Microsoft Dynamics CRM does not delete the contact from Outlook.
  • If you are the owner of the contact record, and you stop tracking the contact, Dynamics CRM for Outlook asks whether you want to delete the contact record from Microsoft Dynamics CRM.
  • If you are not the owner of the contact record and you stop tracking the contact, Microsoft Dynamics CRM deletes the contact record.

 Tasks
  • Deleting a tracked task in Outlook deletes the task activity record in Microsoft Dynamics CRM.
  • Deleting the task activity record in Microsoft Dynamics CRM deletes the task in Outlook if the task is current.
  • If you stop tracking the task, Dynamics CRM for Outlook asks whether you want to delete the task in Microsoft Dynamics CRM