#MSDynCRM #CRM2013 Using FetchXML versus SQL script for writing Microsoft Dynamics CRM SSRS custom reports

This might sound a known fact but you will be surprised that quite a few people don’t know why and when do they need to use FetchXML for writing an SQL Server Reporting Services report as opposed to writing common SQL Server script.

Here is how Microsoft Defines FetchXML:

FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM Online. It’s based on a schema that describes the capabilities of the language. The FetchXML language supports similar query capabilities as query expressions. In addition it is used as a serialized form of query, used to save a query as a user-owned saved view in the userquery entity and as an organization-owned saved view in the savedquery entity.

A FetchXML query can be executed by using the IOrganizationService.RetrieveMultiple method. You can convert a FetchXML query to a query expression with the FetchXmlToQueryExpressionRequest message.
For information about how to use LINQPad to work with FetchXML, see this blog post: Getting FetchXML from LINQPad: http://blogs.msdn.com/b/devkeydet/archive/2012/04/22/getting-fetchxml-from-linqpad.aspx

Now to answer the main question of this post: When should I use FetchXML for reports?

As a fact, you cannot write SSRS reports with direct SQL script on Microsoft Dynamics CRM Online. Hence, if you want to write an SSRS report for Dynamics CRM Online, you have to write your query in FetchXML.

Within your SSRS report, you will need to create a dataset that returns the data you require in your report and then everything else will be the same as per any other SSRS report.

Please note however that you do require Microsoft Dynamics CRM Report Authoring Extension installed to be able to write FetchXML queries and to connect to your Dynamics CRM Online organisation.

Additionally, at the time of this post, you can only write Custom SSRS reports for Dynamics CRM using Visual Studio 2010 with SQL Server Data Tools SSDT OR Business Intelligence Development Studio (SQL 2008 and VS 2008 with BI)

You cannot write SSRS reports in Visual Studio 2012, 2013 at this point of time. SSDT for Visual 2013 is not currently available due to some issues.

Finally, here are some sample FetchXML queries:

Total number of Leads (Count - Aggregate):
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='lead'> 
 <attribute name='fullname' alias='lead_count' aggregate='count'/> 
 </entity> 
</fetch>
Total number of Opportunities (Count - Aggregate):
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='opportunity'> 
 <attribute name='name' alias='opportunity_count' aggregate='count'/> 
 </entity> 
</fetch>
Number of leads by Category:
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='lead'> 
 <attribute name='fullname' alias='lead_count' aggregate='count'/> 
 <filter type="and">
 <condition attribute="crm_leadtype" operator="eq" value="100000001" />
 </filter>
 </entity>
</fetch>
<!-- where crm_leadtype is an option set (category) and its value is integer-->
The "Not Equal" filter condition example:
<condition attribute="crm_leadtype" operator="neq" value="100000001" />
FetchXML Average aggregate:
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='opportunity'> 
 <attribute name='estimatedvalue' alias='estimatedvalue_avg' aggregate='avg' /> 
 </entity> 
</fetch>
FetchXML Maximum Aggregate:
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='opportunity'> 
 <attribute name='estimatedvalue' alias='estimatedvalue_max' aggregate='max' /> 
 </entity> 
</fetch>
FetchXML Sum Aggregate:
<fetch distinct='false' mapping='logical' aggregate='true'> 
 <entity name='opportunity'> 
 <attribute name='estimatedvalue' alias='estimatedvalue_sum' aggregate='sum' /> 
 </entity> 
</fetch

More information and samples can be found here:
http://msdn.microsoft.com/en-us/library/gg309565(v=crm.6).aspx

Hope this helps!

Business Process Flow Vs Dialogs in Microsoft Dynamics CRM #MSDynCRM #CRM2013

Process Enablement in Microsoft Dynamics CRM 2013 is achieved through a number of capabilities including Business Process Flows, Dialogs and Workflows in Dynamics CRM 2013.

When is best to use Business process flows and when best to use Dynamics CRM dialogues is a dilemma that many CRM consultants and developers face.

This post gives a simple comparison table between Business Process Flows Versus Dialogs in Microsoft Dynamics CRM 2013

Point of Comparison Business Process Flows Dynamics CRM Dialogs
Session  Mostly for Multi-Session processes but could work for Single Session ones  Single session capture only.
 Wizard  Using process to reproduce all fields on a form is not recommended approach Misses opportunity to highlight key outcomes that should be addressed  Yes. Dialogs are perfect for a wizard based process.
 Guidance or Control

 Guidance.

BPF are intended to guide a user through a process, not to control them. Strict compliance is not well served by Business Process Flows.

 Control.Dialogs are intended to provided a structured strictly controlled processes. Strict compliance is better served by Dialogs
 Linear Information Capture Where there are significant linear information capture processes, then dialogs or forms work well, and provide better mechanisms for this type of information capture.  Dialogs can be useful for information capture if the information is to be used across multiple entities.
 Tracking  Tracking of stage in a processReporting/ management awareness of state of business TrackingQuick insight to user on initial access  You can’t stop a dialog half way through, close it and then re-run it from where you stopped. Business process flows can via current stage and state tracking.
 Complex Processes Guidance Yes. Particularly cross entity and cross person, where mistakes can occur during the
hand offs between parties.Support for infrequently used or inconsistently performed processes, where mistakes are more likely to occur through lack of familiarity
 Yes as well. Dialogs can provide help, tips and guidance text throughout each page of Dynamics CRM dialog.
 Training Business Process Flows can assist by supplementing training.It can be used to support new processes before they are well understood by staff.Used to roll out new or changed processes, minimising need for explicit training Training material or sessions.  Not really. Dialogs are not a good approach for training users or for users who are not familiar with processes.

In summary, Business Process Flows and Dialogs are both equally powerful process enablement capabilities of Dynamics CRM. However, BPFs are more for guidance, multi session, tracking of process status. Business process flows provide the ability to show the current stage of a process allows user to rapidly see where a process is up to, for example reviewing a deal and seeing what has been completed to date. It can also be used to show related information easily e.g. the originating lead for an ongoing opportunity. BPFs are also good for ensuring key steps in a process aren’t missed providing consistent checklist for steps that need to be completed as part of the process. It also provides guidance through complex process flows and can be used for Training.

A Dynamics CRM Dialog on the other hand, is a single session Wizard Form, strictly controlled process which can be used in capturing completely linear information similar to forms but across multiple entities.

Hope this post gives some guidance on the difference in use of Dynamics CRM business Process Flows and Dialogs in a readable comparison table. Please note that this post has used content, text and information published as part of Microsoft’s Process Enablement White Paper (Download Here)

Microsoft Dynamics CRM 2013 Refreshed Versus Non-Refreshed legacy entities in the new Fluid Flat UX design

Microsoft Dynamics CRM 2013 comes with the new fluid User Interface and Flat UI User Experience (UX) and design. The new design aims to ease user navigation, free up screen space and create a consistent look and feel across desktop and touch enabled mobile devices. It comes with new simpler single line action command bar with a “more actions” drop down list freeing up screen space (as opposed to the ribbon in CRM 2011) for more data, charts and information on forms.

 This new refreshed design of CRM 2013 has affected most but not all Dynamics CRM entities. Entities that have changed to reflect the new fluid UX design are called Refreshed Entities. Entities which are continuing to use the classic design are called non refreshed entities in CRM 2013.

Below are some important facts and information about both refreshed and non-refreshed entities in CRM 2013:

    • Non-Refereshed legacy entities and cannot have Business Process Flows allowed for them.  However, as a work around, Non-Refreshed legacy entities can still be exposed as sub-grids onto refreshed entities so that they can be included in Business Process Flows on the refreshed entities in CRM 2013.
    • All custom entities and most end user facing system (out of the box) entities are “Refreshed” entities and are using new UX form experience.
  • Classic (old) forms are mostly restricted to system settings area while new Fluid UX forms for refreshed entities cover majority of common CRM 2013 entities that are frequently used by CRM users (such as Accounts, Contacts, Cases, etc. – full list / details below).
  • Non Refreshed entities are:
    • Goals & Territories performance Management,
    • Service Contracts,
    • Service Scheduling/Management entities,
    • Goals Performance Management,
    • Document Management,
    • Reports,
    • Search / Advanced Find,
    • Email and Mail Merge Templates,
    • Organisation settings,
    • Security Roles & Profiles,
    • Duplicate (Dupe) Detection,
    • Data Management (Cleansing, Auditing),
    • Dialog/Workflow,
    • Customisation & Extensibility,
    • MUI & Multi-Currency,
    • Billing & Subscription Management.
    • In CRM 2013, Only Refreshed Entities have the new command bar while the legacy Non-Refreshed entities have the Ribbon (as in CRM 2011).
  • Full List of Refreshed entities in Dynamics CRM 2013 (Total of 28 entities):
    • Appointment
    • BulkOperation
    • Campaign
    • CampaignActivity
    • CampaignResponse
    • Competitor
    • Contact
    • Contract
    • ContractDetail
    • Email
    • Fax
    • Incident
    • Invoice
    • Lead
    • Letter
    • List
    • Opportunity
    • OpportunityProduct
    • PhoneCall
    • Product
    • ProductPriceLevel
    • Quote
    • RecurringAppointmentMaster
    • SalesLiterature
    • SalesOrder
    • SystemUser
    • Task
    • Team

The following Table / Diagram shows the various Refreshed and Non-Refreshed entities in CRM 2013:

 

Refereshed Versus Non Refereshed Entities in CRM 2013
Refereshed Versus Non Refereshed Entities in CRM 2013

 

What’s new in Microsoft Dynamics CRM 2013: New Features & Comparison of Microsoft Dynamics CRM 2011 versus #CRM2013 #MSDynCRM

This post, What’s new in Microsoft Dynamics CRM 2013, lists the main new features in Dynamics CRM 2013 and compares them to Microsoft Dynamics CRM 2011 where applicable (Crm 2013 Vs. CRM 2011). At the bottom of the comparison table, you will find links for the most important Dynamics CRM 2013 resources which are the customer center, developer center and Tech IT Pro Center. You will also find some informational files about Dynamics CRM 2013 and which are published by Microsoft.

I will continue to update this table frequently. All comments & feedback is welcome. Please comment below.

Area

Original CRM 2011 Feature CRM 2013 New Feature

CRM 2013 New Feature/Benefit Description

Interface Left Navigation Pane New Top Horizontal Navigation menu bar New menu bar replaces CRM 2011 Navigation pane and designed to ease user navigation, free up screen space and create a consistent look and feel across desktop and touch enabled mobile devices.
Interface Top Ribbon Commands bar 5 buttons Action bar & a More actions CRM 2011 ribbon has been replaced by a simpler single line action bar with a “more actions” drop down list freeing up screen space for more data, charts and information on forms. Commands are related to what you are working on and change based on data and record opened.
Interface Get started pane Removed in CRM 2013 Removed to provide further screen space for information.
Interface Workplace Area & Dashboards No Workplace area. Dashboards specific for each area The Workplace Area has been removed and Dashboards and Reports are now part of every Work Area: Sales, Marketing and Service giving more room for data specific to each CRM Work Area.
Interface Popups No Popups. Edit Data Inline. Inline Editing: In CRM 2013, you can now click or tap a field to update info for a record right inline. No flipping to another screen. There are no more pop ups in CRM 2013.
Interface Quick Create Form Create new records using the Quick Create Forms on the go.In the top Nav bar, click or tap Create, and then select the type of record you want. Enter data for a few fields, or more if you have it. You can come back and fill in the gaps later when you have more time.
Interface Prominent Records Headers & Quick View Forms 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. .
Interface & Devices Seamless Interface Experience Across all devices CRM 2013 is delivering a CRM experience that is consistent across web, client and devices.  Native device capabilities provide familiar tools and actions to get things done.Always know where you are within your sales process, easily complete key tasks and advance the process to reveal what’s next. Embedded Skype calling allows you to stay connected with your Customers.
Devices Dynamics CRM Apps for Windows 8 PC & Tablets, iOS (iPhones & iPads) and Android phones. The Microsoft Dynamics CRM phone applications will complete the mobility story by providing a touch-enabled mobile phone application experience for Windows 8, Android and iPhones. Phone applications will be launched following the General Availability of CRM 2013.
Devices Tablet Optimised Web Browser Experience Users that access CRM from the web browser on their mobile device will be presented with a web browsing experience optimized for the device. The “liquid layout” optimises the viewing experience, adjusting for various screen shapes and resolutions (landscape, portrait, 1, 2, 3 column). This browsing experience adds flexibility in how the mobile employees access their CRM data and includes offline caching for offline viewing so users can still access key data if connectivity is lost.
Deployment Write once, Deploy Everywhere. Configuration changes to the interface will persist in the tablet application. CRM optimises your web forms for the tablet layout. Even client-side logic is supported on the mobile device to deliver rich experiences.
Social Enterprise Collaboration Yammer Integration including users without CRM licenses. 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.
Process Excellence & Agility Business Process Flow 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.

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

Business Rules Custom JavaScript Business Rules. 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:

  1. Set specific field value (including formulas & calculation),
  2. Set business required state for a CRM attribute,
  3. Set visibility of a field to visible or invisible (visible = false),
  4. lock and unlock Dynamics CRM fields / attributes, and
  5. Show an error message on a form if certain conditions are met.
Search Multiple Entity Search innew mobile client application. New mobile client application (MoCA) for Dynamics CRM 2013 will have multiple entity query (eg; a simple cross-entity search). The multiple entity search is configurable for up to ten entities and provides the capability in MoCA for mobile users to find the CRM data they need when working on their tablet
Customisation & Configuration Records Auto Save Users no longer need to click or tap Save when editing a record. By default, the system automatically saves any edited records every 30 seconds, or when users navigate to another record.
Customisation & Configuration Image Data Type Images are now First Class data type. Users can now associate images with CRM records including contacts and users
Customisation & Configuration Actions 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.
Customisation & Configuration Integrated Maps Integrated Bing Maps dynamically show the map for the primary record address.
Customisation & Configuration Skype & Lync Integration Skype & Lync integration enabling direct dialling from any phone number field in Dynamics CRM
Customisation & Configuration Workflows are Asynchronous. Real-time Synchronous Workflow 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.
Customisation & Configuration 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.
Customisation & Configuration Calculations and formulas via Business Rules 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).
Office 2013 Support for Office 2013 CRM 2013 for Outlook will be supported in Microsoft Outlook 2013 providing contextual capabilities directly within the Outlook experience. Word merge for documents and emails will be supported in Microsoft Word 2013, and the ability to export data to Microsoft Excel for analysis and reporting will be supported in Microsoft Excel 2013.
Web Services & Endpoints Support for Oauth protocol & enhancements to OData web service Endpoint. CRM 2013 includes several enhancements to provide flexibility to deliver powerful mobile applications. Added support for OAuth protocol that is RESTFUL and easier to support for Mobile/Tablet applications. These applications, once they are authenticated through OAuth, can then use either the SOAP endpoint or the REST OData endpoint. The OData web service endpoint has been enhanced with the addition of authentication support for external mobile and rich client applications. Previously, the OData web service endpoint supported only pre-authenticated client (script) code provided in web resources.
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 2007 service endpoints, CRM 4.0 plugins, CRM 4.0 client-side scripting and CRM 4.0 custom workflow activities no longer supported & will not work in CRM 2013.
Duplicate Detection Duplicate Detection during Record Create and Update Removed in CRM 2013
Server Side Synch Server-Side Sync will be used to integrate emails, activities and tasks with CRM 2013.Server-Side Sync will be doing the same work as the Email Router and more. Currently, Server-Side Sync will only work in the following scenarios:

  1. Microsoft Dynamics CRM Online → Microsoft Office 365
  2. Microsoft Dynamics CRM On-Premise → Microsoft Exchange On-Premise.

Important Dynamics CRM 2013 resources can be found here:
CRM Customer Center: http://www.crmcustomercenter.com
CRM Developer Center: http://www.crmdevelopercenter.com
CRM IT Pro Technical Center: http://www.crmtechcenter.com

You can find more information in below CRM PDF guides / informational files published by Microsoft:

 

Microsoft Dynamics CRM 2013 has been officially released & is now available for Free Trial Online & On-Premise download

Microsoft Dynamics CRM 2013 has been officially released and is now available as of today 8 October 2013. Dynamics CRM 2013 Online Free Trial and On-Premise installation bits (server, etc.) are all available.

To register for a free 30 days Microsoft Dynamics CRM 2013 trial, use the following link:
http://www.microsoft.com/en-us/dynamics/crm-free-trial-overview.aspx

To download Microsoft Dynamics CRM 2013 On Premise installation bits are available from following locations:

Microsoft Dynamics CRM Server 2013:
http://www.microsoft.com/en-us/download/details.aspx?id=40341

Microsoft Dynamics CRM 2013 Language Packs:
http://www.microsoft.com/en-us/download/details.aspx?id=40340

Microsoft Dynamics CRM 2013 Email Router:
http://www.microsoft.com/en-us/download/details.aspx?id=40342

Microsoft Dynamics CRM 2013 Report Authoring Extension (with SQL Server Data Tools support):
http://www.microsoft.com/en-us/download/details.aspx?id=40343

Microsoft Dynamics CRM 2013 for Microsoft Office Outlook (This is the Outlook Client):
http://www.microsoft.com/en-us/download/details.aspx?id=40344

Microsoft Dynamics CRM 2013 List Component for Microsoft SharePoint Server 2010 and Microsoft SharePoint Server 2013 (for multiple browsers):
http://www.microsoft.com/en-us/download/details.aspx?id=40345

Good news for everyone in the Dynamics CRM community.

Business Rules in Microsoft Dynamics CRM 2013 – New feature introduction & basic facts

Microsoft Dynamics CRM 2013 comes with a new feature called Business rules. Business rules are “almost” a replacement for JavaScript client side UI scripting but only for 5 specific actions. Business rules feature is different Business Process Flows (or Business Processes) so don’t confuse the two. When CRM 2013 is released, it will only have 5 actions that can be done via CRM 2013 business rules. More actions and additional capability enhancements are expected in future updates of Dynamics CRM.

The five actions in the first release of Dynamics CRM 2013 are:

  • Set specific field value (including calculations and formulas),
  • 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.

The following Screenshot shows a sample business rule, its conditions and available actions:

Sample Business Rule with Conditions and Available Actions
Sample Business Rule with Conditions and Available Actions

More actions and capabilities expected in later updates but in the mean time, other functionality will need to be created using JavaScript UI similar to how it has been in previous Dynamics CRM version (2011, 4, etc.).

Some important facts, Basics and tips about Business rules in Dynamics CRM:

  • Business Rules work on all clients and devices whether it is Microsoft Dynamics CRM web client, outlook client, tablet, Safari or Dynamics CRM iOS and Android Apps.
  • Business rules are solution aware so they can be included in importing and exporting Dynamics CRM Solutions.
  • 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).
  • Business rules are just a process category similar to workflows and dialogs. It is not a complete replacement of JavaScript. It is written once, works everywhere.
  • Business rules can be customised on the Web and Dynamics CRM Outlook clients only.
  • Business rules are triggered by onLoad, onSave and onChange events.
  • Business rules are written in JavaScript for execution.
  • Always create business rules in deactivated mode.
  • Quick create form supports business rules. so if field is missing, business rule will not fire on quick create form.
  • Business rules will not execute if the field does not exist on the form, the business rule will not get triggered or fired.
  • You cannot call other JavaScript web resources or connect to external data sources from within the business rule.
  • Business rules that belong to the last installed CRM Solution will run last. no limit on the number of actions to attach in a business rule.

* Business rules can be configured and setup from any of the following locations:
1) Entity Customisations in Settings –> Customisations –> Entity –> Business Rules as shown in the following screenshot:

business_rules-1-EntityCustomisations2) On the Form customisation as shown in the next snapshot:

business_rules-2-FormCustomisations3) On the field (attribute) properties dialog, under the business rules tab (new tab in CRM 2013) as shown below:

business_rules-3-FieldProperities
4) In Settings –> Customisations –> fields customisations, open a field customisation form, you have Business rules for this field as shown in the following screenshot:

business_rules-4-FieldCustomisation

 

This new feature will save us from some JavaScript but it is by no means a replacement of JavaScript, yet. Looking forward for more available actions in business rules in next product updates.

What more actions do you think Business Rules should get? Any ideas or thoughts of how to improve this feature? Looking forward for your comments below.

Basic Facts & Introduction to Auto Save feature in Microsoft Dynamics CRM 2013 #MSDynCRM #CRM2013

This post tries to list everything essential you need to know about the Auto Save functionality in the upcoming Microsoft Dynamics CRM 2013. This is followed by another post about how to disable this functionality for the whole Dynamics CRM 2013 organisation or disable auto save on specific entity forms.

Here are the facts:

  • Auto Save is automatically triggered every 30 seconds (approx.) on all forms in Dynamics CRM 2013.
  • There is no more “Save” on the top left of a Dynamics CRM 2013 form as it was in the previous version, CRM 2011. The save button now is a small icon at the bottom right corner of your form.
  • Auto Save will trigger all your plugins and workflows that are set to run on updating the form.
  • If another user is editing the same Dynamics CRM 2013 form, their updates will show on your form once auto save occurs.
  • Actively edited fields are not updated.
  • Auto Save can be disabled at organisation level (not recommended) from system settings –> General Tab –> Disable Auto Save.
  • Once Auto Save is disabled for the whole organisation, the “Save” button then appears on Dynamics CRM 2013 forms as shown in the following screenshot:
Save Button shows when Auto Save is Disabled at Organisation level
Save Button shows when Auto Save is Disabled at Organisation level
  • Whether auto save is enabled or disabled, if you navigate away or close a Dynamics CRM form or even if you click on back on your Dynamics CRM web client (Browser), you will still have all your changes saved. Previously in Dynamics CRM 2011, you used to get a warning message that you are navigating away and you will lose all your data. Now, if you navigate away, everything is saved for you. Please note this functionality is irrelevant of auto save being enabled or disabled. It will happen in all cases even if auto save is disabled for the whole organisation.
  • Generally, as a best practice, make sure that your plugins fire on specific field updates and not on general updates of the form. This will avoid full execution of a plugin when a field is updated that is different to the desired one.
  • As explained before, you can disable AutoSave feature at organisational level from system settings for all entities, you can also disable auto save for named specific forms for specific entities using a simple JavaScript library that you add to your form and call from the onSave event of the form. This is described in details in this post:

http://www.mohamedibrahim.net/blog/2013/09/29/disabling-microsoft-dynamics-crm-2013-auto-save-feature-for-a-specific-entity-form-or-a-crm-organisation-to-avoid-undersired-execution-of-plugins-or-workflows/

 

Disabling Microsoft Dynamics CRM 2013 Auto Save feature for a specific entity form or a CRM organisation to avoid undesired execution of plugins or workflows

Microsoft Dynamics CRM 2013 comes with a new auto-save feature which triggers a save action on forms every 30 seconds (approx.). So if you are editing a form, an autosave is triggered automatically by CRM 2013 on regular intervals. This feature means that if you have a plugin or a workflow that first on saving the form, it will be triggered every time the auto save action is fired. This will obviously cause undesirable actions and potentially unexpected consequences to several processes especially in the case of an upgrade from Dynamics CRM 2011 to Dynamics CRM 2013.

To disable the Auto Save feature in Dynamics CRM 2013, you can stop it at organisation level which means NONE of your entity forms will have auto save across both customisable (System) and custom entities and their forms. To do this in Dynamics CRM 2013, you need to go Settings –> System Settings –> General Tab (first tab) –> Enable Auto Save on All forms –> No.

This is shown in the screenshot below:

Enable Disable Auto Save
Enable/Disable Auto Save feature in Microsoft Dynamics CRM 2013

 

Alternatively, if you want to allow Auto Save to work on some entities but not on others, you can write a small JavaScript web resource which can disable auto save on specific forms of your choice. This web resource JScript library can be enabled on selected forms of your choice.

To do this, you can call “GetSaveMode()” in client SDK to detect the auto-save. You can then call “preventDefault()” to write to the server to prevent the save. Here is the full script:

function preventAutoSave(econtext) {
 var eventArgs = econtext.getEventArgs();
 if (eventArgs.getSaveMove() == 70) {
 eventArgs.preventDefault(); 
 }
}

So here are the steps:

  1. Add the above function “preventAutoSave” as a web resource to your Dynamics CRM JavaScript library. Then,
  2. Add this JScript library to the form libraries of the form you want to disable Auto Save on.
  3. You should then register the function on the onSave event on this form you selected. Make sure you select the option to “pass execution context as the first parameter”.

This will stop auto save from triggering on this form. Repeat the same steps above for any form you wish to disable Auto-Save for.

For more information about Auto Save feature in Microsoft Dynamics CRM 2013 please check my other post which provides introduction to Auto Save functionality in #CRM2013 :

http://www.mohamedibrahim.net/blog/2013/09/29/basic-facts-introduction-to-auto-save-feature-in-microsoft-dynamics-crm-2013-msdyncrm-crm2013/

 

Microsoft Dynamics CRM 2013 and Dynamics CRM Online Fall 13 (ORION) announced today

Microsoft Corp. today announced that it plans to make the next version of Microsoft Dynamics CRM available in the fall of 2013.

Available both online as Microsoft Dynamics CRM Online Fall ’13 and on-premises as Microsoft Dynamics CRM 2013, this major release will deliver more personal experiences to sales, marketing and customer care professionals.

Full details here: http://www.microsoft.com/en-us/news/Press/2013/Jul13/07-02DynamicsCRM13PR.aspx

The new release gives people the ability to access their information on a variety of devices;* introduces a new user experience that is fast and fluid, enabling people to access information that is relevant to their jobs; and delivers richer contextual information that helps people have deeper insights into customers and their needs. Microsoft Dynamics CRM also offers enhanced social collaboration capabilities, so users can connect with the right people, and the right resources, at the right time.

There will also be:

• A connection to MarketingPilot,

• Introducing new mobile client applications on iPad and Windows 8 tablets

• Providing capabilities for people to collaborate with each other and share customer knowledge through Yammer right within the CRM solution

• Connecting Lync and Skype seamlessly

• Netbreeze. As part of the Microsoft’s work to bring the capabilities of Netbreeze, its recently acquired social monitoring and analytics service, to customers, the company will also be offering a limited beta of the service available in fall 2013