Welcome to TechNet Blogs Sign in | Join | Help
We were present on Project Management Institute Seminar!!!

... with Sure Step presentation. 

So, it finally happened  :). We were asked by our friends from Project Management Institue Poland Chapter (www.pmi.org.pl) to present our approach to CRM projects (using Sure Step Methodology)

We presented our findings on CRM project management:

  1. why CRM projects fail
  2. what is our methodology and what are key differentiators
  3. how we deal with day-to-day project management 
  4. how do we implement PMI recommendations

Event took place in Warsaw School of Economics. It was a great opportunity to share our experience with top polish Project Managers and to share Microsoft Dynamics vision and Sure Step methodology with them.

Link to the event http://www.pmi.org.pl/content/view/343/52/

 

Microsoft Dynamics CRM 4.0 Dutch language version and language pack is now available

Microsoft Dynamics CRM 4.0 Dutch language version and language pack is now available for download. 

 For the 90 days trial version please visit http://www.microsoft.com/downloads/details.aspx?FamilyId=A9C110FD-AAC8-4D2A-B401-7801B1866E82&displaylang=en

 

How to change CRM 4.0 organization's database name

Sometimes you may have to change the CRM organization database name on SQL Server.  It is possible in CRM 4.0 and is quite easy, in fact. To accomplish this task you will have to follow these steps:

1.  Run Microsoft CRM Deployment Manager (Start -> All Programs -> Microsoft Dynamics CRM Deployment Manager).

2.  Go to "Organizations" node, press right mouse button on the organization that uses the database whose name you want to change. Choose the "Disable" option.

3. Repeat all the activities described in point 2, but this time select "Delete" option.

4. Connect to your database server (for example, using Microsoft SQL Management Studio) and rename your [OrganizationName]_MSCRM database to the desired name. Sometimes you may get the information: “The database cannot be exclusively locked to perform this operation”. In such a situation the SQL Server restart will help.

5.  Use the CRM Deployment Manager to Import Organization (Deployment Manager -> Organization -> “Import Organization” option). It will run the wizard which allows for importing an organization from an existing SQL database

6. Choose SQL Server and new database names.

7.  Specify the "organization name", "display name" and report server network location.

8. Select appropriate method for mapping CRM users.

9. Finally, import new organization. J

Microsoft Dynamics CRM 4.0 French Language Version is now available
 

Microsoft Dynamics CRM 4.0 French Language Version is now available for download.

  French MUI 

 

 

 

 

 

To get it (90 days trial) please visit http://www.microsoft.com/downloads/details.aspx?FamilyId=A9C110FD-AAC8-4D2A-B401-7801B1866E82&displaylang=en

Microsoft Dynamics CRM 4.0 English, German and Spanish Language Packs -- Now Available

Microsoft Dynamics CRM 4.0 English, German and Spanish Language Packs are now available for download.

  

 To get them please visit http://www.microsoft.com/downloads/details.aspx?FamilyId=50761E58-6040-4CF3-853A-F5AB535F7194&displaylang=en

"Not have enough privilege to complete Create operation for an Sdk entity" exception when you register a CRM 4.0 plug-in

CRM 4.0 introduces the concept of plug-ins that will replace the callouts. CRM 4.0 Plug-in is custom business logic that can be integrated into CRM 4.0's platform. Plug-ins are much more powerful than callouts, but require more work to be deployed successfully. It's sometimes not easy to be successful with plug-in registration if you forget about a specific step.

Today we were trying to deploy new plug-in assembly into CRM 4.0 database. First we used Plug-in Registration Tool for CRM 4.0 delivered with CRM 4.0 SDK. After that we were trying to register plug-in assembly with our custom application.

Unfortunately in both cases the operation was unsuccessful and we were getting the strange looking Soap Exception "Not have enough privilege to complete Create operation for an Sdk entity". At the same time we were able to create any other business entities like contacts, accounts...

Unhandled Exception: System.Web.Services.Protocols.SoapException: Server was unable to process request.

Detail:

<detail>

<error>

                        <code>0x80040256</code>

                        <description>Not have enough privilege to complete Create operation for an Sdk entity.</description>

                        <type>Platform</type>

</error>

</detail>  

 

It looked pretty strange because our user had System Administrator role and in CRM it had all the rights. After few attempts we realized that Active Directory account used to deploy and register new assembly into CRM 4.0 database has to be added into Deployment Administrators group in CRM Deployment Manager

Here are the steps to accomplish this: 

1.       Open CRM 4.0 Deployment Manager Console (Start -> All Programs -> Microsoft Dynamics CRM -> Deployment Manager).

 

2.       Go to “Deployment Administrators” node and choose “New Deployment Administrator…” option.

 

 

3.       Insert appropriate user and confirm selection by clicking “OK” button.

 

After completing this step, both users were able to register and deploy the assembly successfully. So, remember about this when you try to play with plug-ins with user that you added to CRM :) 

 

How to properly add CRM Queue?

Question might look simply, but I lose few hours to force it to work… Before we start to add a queue, let’s make some assumptions:

1.       Microsoft CRM 3.0 is installed

2.       Microsoft Exchange 2003 is installed (on Windows Server 2003 – this is supported configuration)

3.       Microsoft CRM Exchange E-Mail Router is installed.

I suppose that installed software is configured correctly, and replying for a message with valid CRM token generates CRM activity. In such a clean situation we can start to add a queue. First of all, create user in AD, but user has to be disabled and should have proper rights granted. Just to verify, open Active Directory Users and Computers and

-          on the Account tab verify, that ‘Account is disabled’ option is checked

-          on the ‘Exchange Advanced’ tab click Mailbox Rights and verify, that Allow is checked for the SELF account for “Full mailbox access” and “Associated external account” permissions

-          on the ‘Exchange Advanced’ tab click “Custom Attributes” and verify, that CRMEmailEnabled value is present

In some places we can encounter attribute CrmMailEnabled instead of CrmEmailEnabled. As far as I know, queue works with both of them, but I use CRMEmailEnabled, following the “CRM Installation and Configuration course”. Before closing User Properties, copy user’s E-mail to clipboard. That’s all stuff, that we need from Active Directory.

Second part will be done in Microsoft CRM, so open main CRM page and go to Settings -> Business Unit Settings -> Queues and click New. Type Queue Name, paste e-mail copied just before, choose Owner and Business Unit and click ‘Save and Close’.  Verify that ‘All incoming e-mail’ option is checked. That all the stuff from the CRM side…

And now… that it is the place where I lost much time. I was thinking (following the mentioned CRM Installation and Configuration course) that it should works at this place… But in effect, if I send message to CRM Queue nothing happens. I checked, that messages are sent (I mean present in Exchange Mailbox – it can be checked in Microsoft Exchange System Manager), but message is not delivered to CRM Queue. The question is why message cannot be delivered? Or maybe, why CRM cannot receive message? Solution is simple, and it is described in Microsoft CRM Implementation Guide:

Choose to Deploy Rule to Users Mailboxes

This is done by “Rule Deployment Wizard” tool, which is installed with Microsoft CRM Exchange E-mail Router.

After that everything should works properly. If not, there is one more issue, described in KB 921389 – “E-mail messages from internal Microsoft Dynamics CRM users are not delivered where the key is internal CRM user. In such a case, verify that mails from CRM users are not excluded. This option can be found in “Settings -> Organizational Settings -> System Settings” on the “E-mail Tracking tab”. Verify that “No” is selected in “Set whether to exclude e-mails between Microsoft CRM users” option.

How to customize the Marketing List Member view?

That's the question often asked by all the people customizing MS CRM. Simply, going to customization area does not allow you to customize the Marketing List Members view. So how to do that?

We should begin with noticing the fact that there are three types of marketing list by default in MS CRM - one for Leads, one for Contacts and one for Accounts. So if you want to customize the Marketing List Mamber view, you will have to know for which entity you would like to customize it. Once you know, it is worth noting somewhere the type codes for these entities, i.e. Account = 1, Contact = 2, Lead = 4. Knowing these values, we can proceed further.

For each entity type there are several views (e.g. "All members"). So you have to decide which one you would like to customize before you begin with the customization.

 Once you have done all this, follow these steps to customize the Marketing List Member view and enjoy all the advantages of MS CRM customization :)

 

1. We assume that we want to customize the All Members view for the Marketing List containing accounts. 

Go to the MS CRM database and use SQL Server Management Studio or Query Analyzer to enter the following query:

SELECT * FROM SavedQueryBasy WHERE name LIKE '%members%

2. You will be presented with the list of views containing members. Find the one that you want to customize and be sure that you look at the one for the entity, you would like to customize. So, in our example, we want to customize the view containing accounts. Thus, find the row that contains 1 in the ReturnedTypeCode column.

3. Once you've done this, copy the GUID of this view from the SavedQueryId column

4. You can leave the Management Studio now and go to CRM web client

5. Go to "Settings" / "Customize entities" and select the Account entity

6.  Go to "Forms and views" and open any view to customize it

7. Now, press CTRL+N on your keyboard to open the address bar

8. In the URL, replace the GUID of currently customized view to the one you have copied in point 3. and press enter to refresh the window

9. Wow! You are now presented with the Marketing List Member view that you would like to customize. Customize it using normal MS CRM mechanisms!

10. Once you finish, "Save & Close" the window and the entity window

11. In the "Customize entities" view click "More actions" / "Publish all customizations"

12. Once the customizations are published, you have your new Marketing List Member view :)

 Happy Customization! :)

You can follow these steps for all other views.

Please note that this customization (simply saying, as any other requiring to query the db and not shown on the web client) is NOT SUPPORTED!

 

 

Why are some fields disabled in "Bulk Edit"?

The "Bulk Edit" feature is a really nice thing in MS CRM. You can edit multiple records at one time. This was already described on number of other blogs.

However, there is a very common question "Why are some fields disabled when I use 'Bulk Edit'?" although they are enabled on the form? The answer is: each field that has an event enabled will be disabled in 'Bulk Edit'. Even if there is no client side script attached - it is enough that the event is enabled.

There is a rationale for this - what should happen when a script should be run on OnChange event when several records are edited?...

 

Setting the URL for a dynamic IFrame (URL vs. SRC)

Dynamics CRM lets us use IFrames on the entity forms to load any pages as the part of the form. There are plenty of tutorials showing how to add an IFrame, including CRM SDK. However, they are sometimes insonsistent or (like SDK in section "Creating a Dynamic IFRAME") describe procedures that may not work.

There are two properties in Iframe object - URL and SRC. SDK says in one of examples that url property should be used. In fact, the src is the one that will guarantee our Iframe to load appropriate page. The src property is a valid DOM property and the only one that works.

Remember about this!

 

How to search for multiple values and fields using Quick Find...

There is one very common requirement for CRM 3.0 and question that users ask - how to look for multiple values at the same time using "Quick Find" view. Unfortunately the answer is - you cannot do it by default in Dynamics CRM :-(. 

However, there is a workaround (or trick, if you like ;-) ) that can be used whenever users want to search for multiple fields and values at one time, using the "Quick Find" view. It is not very simple (and quite challenging to extend), but makes searching for multiple values possible and can really help users. The trick uses an additional field to store all the values that we would like to search on in one field and then use callouts to update this field with relevant values. This post requires one to possess the knowledge how to create callouts and how to make simple customizations.

Here are the steps to achieve that funcitonality:

  1. First, we have to decide for which values we want to search simultaneously. In this example, we are going to enable simultanous search on Full name, Security number and the City from the Contact entity
    This is a very important step, because we will have to customize the callouts in a proper way and set the field length to a proper value.
  2. Then, we create a new field for the entity that will be searched, using Quick Find. In this example, we will call it new_alldatasearch
    This field will aggregate the content from the fields that we would like to use when searching for multiple values. So, its data type should be nvarchar and its length be at least as big as aggregated length of all the fields we want to search on
    • Go to "Settings" tab, and then to "Customization", "Customize Entities"
    • Select which entity will allow to search for multiple values (in our example, we use Contact entity)
    • Add a new field
  3.  Having added the new field, we have to guarantee that this field contains data from all the fields we would like to serch for simultaneously. For this purpose we have to create 2 callouts for this entity. First callout should be triggered before we add a new record (so, this will be a PreCreate callout). This will guarantee that when a new object is created, the values from all the proper fields are in one field (so that "Quick Find" view is able to search for these values). The second callout code should be run to update the values in the  new_alldatasearch whenever the user changes these values.
    For the reference how to create callout, please refer to CRM SDK
  4. The best way to update the new_alldatasearch field is to write values from all the relevant fields to it with using a white space as a separator. This will allow the "Quick Find" view to find the values
  5. Have we guaranteed that the new field always contains the right data, we have to instruct the "Quick Find" view to search in our new field for the values the the user enter. To accomplish this, we go to "Settings" tab, "Customization" and then choose the entity that we would like to use to search for multiple values.
  6. Now we have to add our new field new_alldatasearch to "Find columns" in the Quick Find view.
  7. After we publish our customizations we are ready to search for multiple values at the same time using the "Quick Find" view!
    We may use the (*) wildcard in our search, but we have to remember that due to the way the "Quick Find" works, we have to specify the values in a particular order. If we don't care for specific value, we should use the star (*).

Please note that this is only a workaround and it requires some deeper knowledge on Dynamics CRM customization. It also requires the end users to comply with some imposed ways to look for the values

Welcome to the new MS Dynamics CRM blog by CRM-Business Intelligence Polish Team

Welcome everybody to the new blog about Microsoft Dynamics CRM and Business Intelligence related topics.

On this blog we are going to present useful facts, tricks and knowledge about Dynamics CRM based on our experience on different projects and while working with CRM day-by-day. We will also share our Business Intelligence knowledge, as this is one of the key areas that we're working on.

 

Enjoy your new Dynamics CRM blog - CRMBIPL Blog!

Page view tracker