Feb

28

I am a bit slow on the uptake, but I have just set Word up to directly publish Blog posts and I love it. Using words formatting tools and familiar interface I am able to very quickly publish updates to this site. I recommend any bloggers that are not using this feature check it out!

Feb

27

I encountered an error on my development system that stopped me from opening any of the settings | customization screens. The error was: The xml passed to the platform is not well-formed XML.

This occurred following an import of several customizations. I managed to find that the issue was with a specific field, the relationship was missing. The way I found this was by using a CRM trace – if you ever get any real show stopping issues then the following link will be of enormous benefit to you.

http://support.microsoft.com/default.aspx/kb/907490

Feb

22

I have seen some examples of using the Virtual Earth SDK to display a contacts location on a map but have yet to see anyone display a map with all contacts stored in CRM. I was bored so I thought I should give it a bash. For UK users this is actually a challenge because reverse Geocoding is not free, in fact any form of Geocoding is not free because the Royal Mail have kidnapped our data and held it to ransom (http://www.freethepostcode.org/).

I recently built a simple address lookup system into CRM using the services provided by Postcode Anywhere http://www.postcodeanywhere.co.uk/ they provide a cost effective service, the alternatives are actually rather expensive and in most cases the data is not up to the minute as it is provided as a standalone database with quarterly updates. Postcode Anywhere provides regularly updated data and for developers they provide comprehensive support and documentation.

Read more

Feb

22

This had me scratching my head!

JAVASCRIPT [Show Plain Code]:
  1.  </p>
  2. var sCurrencySymbol = "($)";
  3. var myarray = new Array(‘tab0′);
  4.  
  5. for (var loop in myarray)
  6. {
  7.   /* get a hande to the tab containing our form fields */
  8.   var tabs = document.getElementById(myarray[loop]);
  9.  
  10.   /* locate all of the HTML Tables on the Tab */
  11.   var tables = tabs.getElementsByTagName("table");
  12.  
  13.   /* loop through all of the Tables on the Tab */
  14.   for (var i = 0; i < tables.length ; i++)
  15.   {
  16.    /* Locate all of the table Cells within the specified Table */
  17.    var td1 = tables[i].getElementsByTagName("TD");
  18.  
  19.   /* loop through all of the Cells in the Table */
  20.    for (var i2 = 0; i2 < td1.length ; i2++)
  21.    {
  22.      var sElem = td1[i2];
  23.  
  24.      if ((sElem.getAttribute(‘className’) == "n") &&
  25.          (sElem.innerHTML.indexOf(sCurrencySymbol) > 0))
  26.                   sElem.innerHTML = sElem.innerHTML.replace(sCurrencySymbol, "");
  27.    }
  28.  }
  29. }

Feb

22

I am going to document the development process I am about to embark on for a customer. The system is one that is currently in heavy development and I am tasked with the following requirement.

Problem:
The customer has a custom entity to store details of exams. There is a related entity called results that facilities the entry of results for each contact. This process can be tedious and time consuming when entering results in bulk for a particular course.

Solution:
I have decided to create an ASP.NET 2.0 web page that will be integrated with CRM via an iframe on the exam entity form. The page will display all contacts that attended the exam that have not yet had their results stored. Next to each contact will be a picklist enabling the user to select the contacts result, after entering the result the user should be removed from the list on the custom page.

Read more

Blogroll