Monday, 1 December 2014

Microsoft Dynamics CRM Build numbers



CRM 2015 builds numbers.

Build Number
KB
Release Date
Description
7.0.0.3543
-
17 Nov 2014
RTM

CRM 2013 Online build numbers.

Build Number
KB
Release Date
Description
6.0.0.809
-
30 Sep 2013
Online Fall '13
6.0.0.1018

Dec 2013

6.0.1.0061

Dec  2013

6.0.1.462
24 Jan 2014
Update 2
6.0.2.43

Feb 2014

6.1.0.575

May 2014
Spring '14
6.1.0.1043
June 2014
Update 3
6.1.0.1214
Sep 2014
Update 4
6.1.1.1521
Sep 2014
Update 5
6.1.1.1610
Oct 2014
Update 6


CRM 2013 On - Premise build numbers.

Build Number
KB
Release Date
Description
6.0.0000.0514
-
RC
6.0.0000.0809
-
RTM
6.0.0001.0061
16 Dec 2013
6.0.0002.0046
22 Mar 2014
6.0.0003.0106
15 Jul 2014
6.1.0000.0581
28 May 2014
6.1.1.132
23 Sep 2014


CRM 2011 build numbers.

Build Number
KB
Release Date
Description
5.0.9688.53
-
30 Jan 2011
RC
5.0.9688.583
-
22 Feb 2011
RTM
5.0.9688.1045
04 Apr 2011
5.0.9688.1155
02 Jun 2011
5.0.9688.1244
28 Jul 2011
5.0.9688.1450
22 Sep 2011
5.0.9688.1533
08 Nov 2011
5.0.9690.1992
12 Jan 2012
5.0.9690.2165
22 Mar 2012
5.0.9690.2243
03 May 2012
-
-
Cancelled
Update Rollup 9
5.0. 9690.2730
16 Aug 2012
5.0.9690.2835
11 Oct 2012
5.0.9690.2838 (Client)
5.0.9690.2839 (Server)
11 Oct 2012
5.0.9690.2903
26 Jul 2013
5.0.9690.3233 (Client)
5.0.9690.3236 (Server)
29 Jan 2013
5.0.9690.3438
26 Mar 2013
5.0.9690.3557
11 Jul 2013
5.0.9690.3731
5.0.9690.3739
(Outlook client only)
07 Oct 2013
5.0.9690.3911
22 Jan 2014
5.0.9690.4150
08 Mar 2014
5.0.9690.4376
24 Sep 2014


CRM 4.0 build numbers.

Build Number
KB
Release Date
Description
4.0.7333.3
-
19 Dec 2007
RTM
4.0.7333.1113
24 Nov 2008
4.0.7333.1312 or
4.0.7333.1316
15 Jan 2009
08 Feb 2009
4.0.7333.1408
12 Mar 2009
4.0.7333.1551
07 May 2009
4.0.7333.1644 or
4.0.7333.1645
02 Jul 2009
4.0.7333.1750
26 Aug 2009
4.0.7333.2138
05 Nov 2009
4.0.7333.2542
17 Dec 2009
4.0.7333.2644
11 Feb 2010
5.0. 9690.2730
08 Apr 2010
4.0.7333.2861 or
4.0.7333.2862
03 Jun 2010
4.0.7333.2935
29 Jul 2010
4.0.7333.3018
23 Sep 2010
4.0.7333.3135
18 Nov 2010
4.0.7333.3231
13 Jan 2011
4.0.7333.3335
10 Mar 2011
4.0.7333.3414
05 May 2011
4.0.7333.3531
30 Jun 2011
4.0.7333.3628
25 Aug 2011
4.0.7333.3732
10 Nov 2011
4.0.7333.3822
09 Feb 2012

Saturday, 1 November 2014

Creating New Organization in CRM 2013 Step by step



Here I am going to share how to create new Organization in CRM 2013.
Goto "C:\Program Files\Microsoft Dynamics CRM\tools\ " and click on  “Microsoft.Crm.DeploymentManager.exe”

You will see below screen





Click on Organizations button in left panel




Click on New Organization… under right hand side panel under Actions >> Organizations




It will pop up the below screen.




Enter Display name, Unique Data Base Name, base currency and other details as shown below  and click on Next button




Click on Next again




It will pop up data base server name or you can select database from the dropdown list and click on Next button



Pop up you the reporting server URL or enter the reporting server URL and click on Next



Ignore warn message because I did not upgrade in Dev if you want upgrade you can find more information below.
Data encryption will be active after the install or upgrade. We strongly recommend that you copy the organization encryption key and store it in a safe place. For more information, see http://go.microsoft.com/fwlink/?LinkId=316366.

And click on Next




Finally click on Create












Friday, 31 October 2014

Hiding ‘Activities’ and ‘Closed Activities’ from Custom Entity forms in Dynamic CRM 2013



One of the most common and general requirement in dynamic CRM implementations is hiding Activities and Closed Activities in Custom Entities.

For System Entities, CRM allows you to remove Activities and Closed Activities from the forms customization window.





But when coming to Custom Entities the actual problem comes into picture, we cannot see the above options from forms customization window.






To hide Activities and Closed Activities Button from the ribbon we need to load below JavaScript to programmatically set the visibility is false for the Activities and Closed Activities.

function hideLeftNavItems() {
    Xrm.Page.ui.navigation.items.forEach(
function (item, index) {
        
var lblItem = item.getLabel();

         if (lblItem == "Activities" || lblItem == "Closed Activities") {
            item.setVisible(
false);
        }
    });
}

Thursday, 23 October 2014

Building queries with FetchXML – MS CRM

CRM offers different querying patterns to use build queries. In this module we are going to discuss about some theory about building queries with Fetch XML and followed by demo

With Fetch XML you can use all standard query operators and partial values. Fetch XML is really powerful you can do all these checks with query expressions or date related examples.  You can also combine multiple conditions.
1)      Standard Operators Examples
Ex: eq, neq, ne, gt, ge, le, lt, like, not-like, in, not-in, null, not-null

2)      Partial value Examples
Ex: Begins-with, ends-with, not-end-with, not-begin-with

3)      Date Related Examples
·         Today, tomorrow, last-seven-days, this-week, this-month, next-month
·         This-fiscal-year, next-fiscal year
·         On, on-or-before/after

Getting Related Data
  1.  Useful to reference and include data from N:1 related entities
  2.   We Can specify filter conditions based on the related data

Using Aggregation
Unique and powerful features with Fetch XML is Aggregation
  1.  Enable aggregates vis aggregate= true and distinct=false on <fetch   tag
  2. Can have one or more attributes with aggregate specified.
  3.  Avg, Count, Max, Min and Sum

Ex:
Null values are not considering in computing averages, zeros are
Null, 100, 100, 1000 would have average of 100
Null, 100, 0, 1000 would have average of 66.66
Null, 100, Null, 100 would have average of 100

<fetch  distinct='false' mapping ='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='estimatedvalue' aggregate='avg' alias='estimatedvalue_avg' />
<attribute name='estimatedvalue' aggregate='min' alias='estimatedvalue_min' />
<attribute name='estimatedvalue' aggregate='max' alias='estimatedvalue_max' />
</ entity>
</ fetch>

Using Grouping
Grouping is another powerful feature we can do.

  1. Can group on normal attributes – can’t group by virtuals
  2.  For dates you must specify a dategrouping                                                                                Ex: Year, quarter, month, weekly or day
  3. Group can be specifies for Linked Entity.

<fetch  distinct='false' mapping ='logical' aggregate='true'>
<entity name='opportunity'>
<attribute name='statecode' groupby='true' alias='state' />
<attribute name='createdon' groupby='true' alias='state' dategroupping='month' alias='created' />
<attribute name='estimatedvalue' aggregate='avg' alias='estimatedvalue_avg' />
<attribute name='estimatedvalue' aggregate='min' alias='estimatedvalue_min' />
<attribute name='estimatedvalue' aggregate='max' alias='estimatedvalue_max' />
</ entity>
</ fetch>
Limitations in Fetch XML

There are some limitations to Fetch XML query expression
  1. No Union Support – instead you have to use multiple queries
  2. No concept of sub queries
  3. Fetch aggregates are limited to 50,000 records by default (online is limit to 50,000)  AggregateQueryRecordLimit is the setting for on-premise
  4. Liked entities are limited to 10
  5. Conditions can’t be to other fields on the entity
  6. No way to do “or” conditions across linked entities
Demo:

Here we are going to build out an aggregate query against the entity called Account

    1) Goto File >> Click on New >> Click on Project >> Select console application






     2)  Check references. “CrmServiceHelpers.cs” and “DeviceIdManager.cs” files you can fine in CRM       SDK 2013 or find below







using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.ServiceModel;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk.Query;

namespace FetchXML_Aggregate
{
    class Program
    {
      
        static void Main(string[] args)
        {

            // Obtain the target organization's web address and client logon
Microsoft.Crm.Sdk.Samples.ServerConnection serverConnect = new Microsoft.Crm.Sdk.Samples.ServerConnection();

Microsoft.Crm.Sdk.Samples.ServerConnection.Configuration config =        serverConnect.GetServerConfiguration();
         
           OrganizationServiceProxy _serviceProxy;

using (_serviceProxy = Microsoft.Crm.Sdk.Samples.ServerConnection.GetOrganizationProxy(config))
           {
               string strAggregate = @"<fetch mapping='logical' aggregate='true' distinct='false' >
                                        <entity name='account'>
                                            <attribute name='creditlimit' alias='creditLimitAvg' aggregate='avg' />
                                        </entity>
                                    </fetch>";

               var aggResults = _serviceProxy.RetrieveMultiple(new FetchExpression(strAggregate));

               foreach (var c in aggResults.Entities)
               {
decimal creditLimitAvg = ((Money)c.GetAttributeValue<AliasedValue>("creditLimitAvg").Value).Value;

                   Console.WriteLine("Total : " + decimal.Floor(creditLimitAvg));
                   Console.Read();

               }
           }

        }
    }
}


      3)  Press F5 .
      You can get average of creditlimit