在记录相关的 Activity/History 后面显示数字

怎样在记录相关的 Activity/History 后面显示数字?就像我们使用Outlook一样,可以知道收件箱里有多少Email。
我写了一些代码(onLoad())可以在打开记录的时候清楚的看到这些数字,请注意当新添加一条Activity/History的时候,要刷新一下才能得到当前的数字。

var buXml = GetRegardingActivity();

if(buXml != null)
{
    var buNodes 
= buXml.selectNodes("//BusinessEntity/statecode");  // CRM 3.0
    
//var buNodes = buXml.selectNodes("//BusinessEntity/q1:statecode");   // CRM 4.0
    var iActivity = 0;
    var iHistory 
= 0;
   
    
if(buNodes != null )
    
{
        
/**//*get values*/
        
for( i = 0; i < buNodes.length; i++)
        
{
            
switch(buNodes[i].text)
            
{
                
case "Open" : iActivity++break;
                  
case "Scheduled" : iActivity++break;
                
case "Completed" : iHistory++break;
                
case "Canceled" : iHistory++break;
            }

        }

       
        
if(document.getElementById('navActivities'!= null)
        
{
            document.getElementById(
'navActivities').getElementsByTagName('NOBR')[0].innerText = document.getElementById('navActivities').getElementsByTagName('NOBR')[0].innerText + " (" + iActivity + ")";
        }

        
if(document.getElementById('navActivityHistory'!= null)
        
{
            document.getElementById(
'navActivityHistory').getElementsByTagName('NOBR')[0].innerText = document.getElementById('navActivityHistory').getElementsByTagName('NOBR')[0].innerText + " (" + iHistory + ")";
        }

    }

}


function GetRegardingActivity()
{
    var xml 
= "" +
    
"<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    
"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
    "  <soap:Body>" +
    
"    <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\" xmlns=\"http://schemas.microsoft.com/crm/2006/WebServices\">" +
    "      <q1:EntityName>activitypointer</q1:EntityName>" +
    
"      <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
    
"        <q1:Attributes>" +
    
"          <q1:Attribute>statecode</q1:Attribute>" +
    
"        </q1:Attributes>" +
    
"      </q1:ColumnSet>" +
    
"      <q1:Distinct>false</q1:Distinct>" +
    
"      <q1:Criteria>" +
    
"        <q1:FilterOperator>And</q1:FilterOperator>" +
    
"        <q1:Conditions>" +
    
"          <q1:Condition>" +
    
"            <q1:AttributeName>regardingobjectid</q1:AttributeName>" +
    
"            <q1:Operator>Equal</q1:Operator>" +
    
"            <q1:Values>" +
    
"              <q1:Value xsi:type=\"xsd:string\">" + crmForm.ObjectId + "</q1:Value>" +
    
"            </q1:Values>" +
    
"          </q1:Condition>" +
    
"        </q1:Conditions>" +
    
"      </q1:Criteria>" +
    
"    </query>" +
    
"  </soap:Body>" +
    
"</soap:Envelope>" +
    
"";

    var xmlHttpRequest 
= new ActiveXObject("Msxml2.XMLHTTP");

    xmlHttpRequest.Open(
"POST""/mscrmservices/2006/CrmService.asmx"false);
    xmlHttpRequest.setRequestHeader(
"SOAPAction","http://schemas.microsoft.com/crm/2006/WebServices/RetrieveMultiple");
    xmlHttpRequest.setRequestHeader(
"Content-Type""text/xml; charset=utf-8");
    xmlHttpRequest.setRequestHeader(
"Content-Length", xml.length);
    xmlHttpRequest.send(xml);

    var resultXml 
= xmlHttpRequest.responseXML;
    
return resultXml;
}
posted @ 2008-02-24 08:11  MicrosoftCRM  阅读(675)  评论(5)    收藏  举报