New reasons added for why your callout won't work

The last weeks I've been adding multiple possible reasons with possible solutions to the checklist as published earlier. If your callout is not working, then make sure you view this list.

Happy coding!



Change username of user in CRM

Microsoft has released KB article #935220 some time ago. This article describes how to change the username of a user in Dynamics CRM. See the article here:
How to change the user name and the logon name for a user record in Microsoft Dynamics CRM 3.0

This worked for me, I hope this also might help one of you!



Add New Button on Lookup

Hi Guys,

I’ve been looking into how to enable the ‘new’ button on custom entities. Here is what I have found. O yeah, For the direct solution scroll to the end of the mail.

- You can set test some things when using this url:
http://localhost:5555/_controls/lookup/lookupsingle.aspx?class=null&objecttypes=10001&browse=0&DefaultType=0&ShowNewButton=1&ShowPropButton=1
Ofcourse modify the servername and the objecttypes to match your situation

- The properties and new button can be set by using the querystring parameters as given above.

- There is one additional piece of hard coding in the class Microsoft.Crm.Web.Controls.Lookup.LookupPageBase. This particular piece of code is this:


if (this._showNewButton)
{
for (int j = 0; j < this._objectTypes.Length; j++)
{
switch (int.Parse(this._objectTypes[j], CultureInfo.InvariantCulture))
{
case 1:
this._canCreateAccount = base.CurrentUser.GetPrivilege(Privileges.CreateAccount);
break;

case 2:
this._canCreateContact = base.CurrentUser.GetPrivilege(Privileges.CreateContact);
break;

case 3:
this._canCreateOpportunity = base.CurrentUser.GetPrivilege(Privileges.CreateOpportunity);
break;

case 4:
this._canCreateLead = base.CurrentUser.GetPrivilege(Privileges.CreateLead);
break;

case 0x10cc:
this._canCreateList = base.CurrentUser.GetPrivilege(Privileges.CreateList);
break;
}
}
this._showNewButton = ((this._canCreateAccount || this._canCreateContact) || (this._canCreateLead || this._canCreateOpportunity)) || this._canCreateList;
}

What it does, is looking to the specified list of objecttypecodes and looks if any of these match the id of account, contact, lead, opportunity or (marketing)list. If it does not match one of those, then the new button is hidden.

- You can run the javascript code "createNew();”. This is the same function as that will be executed by the button. Running this javascript will open the quickcreate window which will work.

- You can also modify the file ‘lookupsingle.aspx’. In this file there is the function window.onload() function. Modify this function to add these lines to the end:

//enable new button
btnNew.style.display = 'inline';

This will cause the new button to be visible.

That’s about it. Just add the line above and you’ll be ready to go. The new button will now be available for all entities. I haven’t tested this through so that will need to be done in your situation. Also note that this is unsupported and will not be migrated to a potential upgrade to titan or might be lost after an install of a hotfix.

Hope this helps,

Ronald



My current project

Hi Guys,

Last weeks I've been working very hard for my current customer. Together with a team in the Londen, UK and a team in Hyderabad, India I'm working on a very interesting project. We're creating a CRM system for the London office of my client which will connect to a global CRM implementation and which will also have a self service web interface. This project does take a lot of time and that's the reason why I have not been posting much.

Right now I am in India at our offshore development team. They are doing a great job and it is a pleasure to work with these guys. They make my stay here a real pleasure and an unforgettable time. Here are some pictures.







I hope to have a little bit more time now to post more interesting posts. I have some interesting topics ready, just need to make them real posts :)



Fetching the selected records in a grid

Make sure that you read this page if you want to use the selected values in a grid:
http://msdn2.microsoft.com/en-us/library/bb267367.aspx

Until some time ago I was using one of the functions that CRM uses, but since that is unsupported and the method as described in the article as stated above is supported, I am using the new approach.

In short it comes down to this:


// window.dialogArguments contains an array of the IDs for the
// selected records.
var sSelectedRows = window.dialogArguments;

// If sSelectedRows is empty, do not execute the update.
if (sSelectedRows == "" sSelectedRows.length == 0)
{
alert("You must select records in order to use this feature.");
window.close();
}
else
{
//Do something;
}


Happy coding!



CRM Blog search

My fellow MVP Matt Wittemann has created a custom search which searches through all of the blogs listed on the blog list. You can search through all of these blogs by going to this page:

http://google.com/coop/cse?cx=007820608918962702080%3Ao4ydxw03wpa

or go to Matt's blog and perform a search from there.

Thanks Matt!

Update:
Not only Matt has created such a list, also Mitch Milam has created such a seach:
http://www.crmaccelerators.net/searchcrm.aspx

And also Maarten Dominicus has created that:
http://www.google.com/custom?cx=006153342194408151232%3Aji9yuqn0bms

The choice is up to you :)