Microsoft Dynamics CRM 里的account 左侧导航栏连接报表

Microsoft Dynamics CRM 4.0 里account实体里面的左侧导航栏按钮在isv里是不能写javascript函数所以如果要连接需要传递参数的报表就有问题。

我想一个办法在account里的onload里面写一个段代码就能改变这种情况。

1.在account里的onload里写入如下代码。

var CRM_FORM_TYPE_CREATE = 1;
var CRM_FORM_TYPE_UPDATE = 2;
var navId="navTransactionsItem"
if(crmForm.FormType ==CRM_FORM_TYPE_CREATE)
{
   //debugger;
    displayLeftNavItem('客户交易信息', false);
}
else if(crmForm.FormType == CRM_FORM_TYPE_UPDATE )
{
    if(document.getElementById(navId) != null)
   {
      var navElement = document.getElementById(navId);
      if(navElement!=null )
      {
               var accountcode = crmForm.all.accountnumber.DataValue;
               //debugger;
               if(accountcode!=null)
               {
                   var url=
'https://crmtest.msfunds.com.cn/ReportServer/Pages/ReportViewer.aspx?%2fMSHF-DEV_MSCRM%2f%e5%ae%a2%e6%88%b7%e4%ba%a4%e6%98%93%e6%b5%81%e6%b0%b4&rs:Command=Render&CUSTID='+accountcode;
                    navElement.onclick = function LoadAreaOverride() {
                        openIsvWin(url, false, -1, '')
                    }
              }
              else
             {
                     setLeftNavItemState('客户交易信息', true);
              }
      }
   }
}

注意:openIsvWin 这个javascript函数是CRM 4.0 特有全局函数,任何地方都可用,就是它让报表再点击左侧栏按钮时加载报表,setLeftNavItemState displayLeftNavItem 这两个函数是我自己定义的用来显示隐藏和启用禁用左侧栏按钮。

实现效果如图:

posted @ 2010-11-17 13:15  crm2011w  阅读(2053)  评论(2编辑  收藏  举报