Tuesday, 28 February 2012

Re-import Dynamic Spreadsheet as Report

One of the very useful features of Microsoft Dynamics CRM is the ability to export data as Excel spreadsheets, both static and dynamic. A feature that is also useful, but probably under used is the ability to manipulate that spreadsheet, perhaps adding columns and formula's, then re-importing as a report.

Why is this useful?

Well I guess it's quite rare that only one person would want to see that information.By re-importing as a report, you can then just email the link (another feature) and anyone that needs it, can download it.

The process is simple enough. Just export your Excel spreadsheet as normal and save it.
Manipulate whatever way you want then go to the reports area of CRM and Choose Report Type 'Existing File' and navigate to the spreadsheet:























There you have it.

Thursday, 16 February 2012

Flags and Alerts Web Resource in Microsoft Dynamics CRM 2011

One of the requirements for the project I'm working on is to easily show any alerts or flags against a record. The CRM record itself might record it somewhere on the form, but having a very quick reference or reminder can be quite important.

I thought about going down the Silverlight road, but in this case it didn't need to be too complicated.

The solution is an HTML web resource which looks for the flags and dependent on them will display an alert:


Bad Alert


Good Alert!



The alert in the example above is toggled by the 'Credit Hold' choice, but could easily be used in different ways.

This is the basic web resource, which I haven't cleaned up from my early attempts, but could easily be hacked around to suit:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <script type="text/javascript" src="ClientGlobalContext.js.aspx"></script> 
    <script type="text/javascript">
        function ContextInformation() {
            document.getElementById('td2').innerHTML = window.parent.Xrm.Page.getAttribute('creditonhold').getValue();
            var result = window.parent.Xrm.Page.getAttribute('creditonhold').getValue();
        }
 </script> 
     <title></title> 

 </head> 
<body onload="ContextInformation();" style="border-bottom: 0px;
    border-left: 0px;
    border-top: 0px;
    border-right: 0px;
    padding-bottom: 0px;
    padding-top: 0px;
    padding-left: 0px;
    padding-right: 0px;
    font-family: Segoe UI, Tahoma, Arial;
    font-size: 11px;
    font-weight: bold;
    background-color: #f6f8fa;" text="White">
     <table class="style1">
 
         <tr> 
         <td> 
         </td> 
             
            <td class="style4"> 
                &nbsp;</td> 
          <td class="style3" id="td2"> 
                 &nbsp;</td>
         </tr> 
    </table>
      
         <script type="text/javascript" src="ClientGlobalContext.js.aspx"></script> 
            <script type="text/javascript">

                document.getElementById('td2').innerHTML = window.parent.Xrm.Page.getAttribute('creditonhold').getValue();
                var result = window.parent.Xrm.Page.getAttribute('creditonhold').getValue();
                //alert(result);
                if (result == true) {
                    document.write('<img alt= "alert2" style="height: 38px; width: 51px" src="http://crm-dev-01:5555/CRMDEV/WebResources/arcrp_alert" /><font color ="Red"><marquee>There is a Flag on this record</marquee></font>');
                }
                else {
                    document.write('<img alt= "alert2" style="height: 51px; width: 51px" src="http://crm-dev-01:5555/CRMDEV/WebResources/arcrp_Smile" />');
                }
</script>

</body>
</html>



Wednesday, 15 February 2012

Calculate Age from Date of Birth in Microsoft Dynamics CRM 2011

There are a few posts regarding this, but thought I would throw mine in as well.
Most Organisations have a Date of Birth field, but it's also useful to have an Age field, and even more useful if it's calculated based on the DOB value.

You might think it's a simple equation of Current Year - Birth Year e.g.
2012 - 1969 = 43, but actually for me (born in June) this is wrong at the moment, so the code needs to look at the DOB and work out whether the birthday has passed in the current year.

So the code is:

function CalcAge()
{
    var now = new Date(); //Todays Date  
    var birthday = Xrm.Page.getAttribute("arcrp_dob").getValue(); //Get the Date of Birth value 
    
    var diff = now.getMonth() - birthday.getMonth();  //Check to see if Birthday has already passed
if (diff > -1) //If Birthday has already occurred  
    {
        var bd1 = now.getFullYear() - birthday.getFullYear();
        //set the age attribute
        Xrm.Page.getAttribute("arcrp_age").setValue(bd1.toString()); 
    }
    else //If Birthday has not already occurred 
    {
        var bd2 = now.getFullYear() - birthday.getFullYear() - 1;
        Xrm.Page.getAttribute("arcrp_age").setValue(bd2.toString());
    }
}

Monday, 6 February 2012

CRM 2011 Roadmap - R8 Release Preview Guide

Some nice things coming up in the world of Microsoft Dynamics CRM 2011

Mobile solutions accross platforms - Microsoft Dynamics CRM Mobile
Cross Browser functionality - CRM Anywhere

Read about them here:

http://crmpublish.blob.core.windows.net/docs/ReleasePreviewGuide.pdf

Friday, 3 February 2012

Useful Microsoft CRM 2011 Documentation

Pulled together a list of useful CRM 2011 Documents and their download links.
Feel free to add comments with ones I have missed out.

Microsoft Dynamics CRM 2011 Quick Start Guide for Business Users

Microsoft Dynamics CRM 2011 User’s Guide

Microsoft Dynamics CRM 2011 for Outlook Quick Start Guide

Microsoft Dynamics CRM 2011 Administrators Guide

Microsoft Dynamics CRM 2011 for Outlook Installing Guide for use with Microsoft Dynamics CRM Online

Microsoft Dynamics CRM 2011 Implementation Guide – Includes link to Planning Guides

Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 Server Infrastructure

Optimizing and Maintaining the Performance of a Microsoft Dynamics CRM 2011 and CRM Online

Microsoft Dynamics CRM 2011 Performance Counters

Microsoft Dynamics CRM 2011 for E-mail Router Installing Guide for use with Microsoft Dynamics CRM Online

How to configure the Microsoft Dynamics CRM on-premises and Microsoft Dynamics CRM Online E-mail Router in different deployment scenarios

Microsoft Dynamics CRM 2011 Readme

Microsoft Dynamics CRM 2011 Readme

Microsoft Dynamics CRM 2011 Entity Relationship Diagrams