MSCrm javascript queryByAttribute

 我自已实现的

function  getq1AttributesString(attributes)
{
   
   
var  strRet = "" ;
   
for (i = 0 ;i < attributes.length;i ++ )
  {
    strRet
+= ( " <q1:Attribute> " + attributes[i] + " </q1:Attribute> " ) ;

    
  }
   
return  strRet;
}

function  getq1AttributesValue(attributes)
{
   
   
var  strRet = "" ;
   
for (i = 0 ;i < attributes.length;i ++ )
  {
    strRet
+= ( " <q1:Value xsi:type=\ " xsd:string\ " > " + attributes[i] + " </q1:Value> " );

    
  }
   
return  strRet;
}

function  queryByAttribute(entityName, columnsetAttributes, queryAttributes, queryAttributesValue)
{
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\">" +GenerateAuthenticationHeader() +
"   <soap:Body> "   +  
"     <RetrieveMultiple xmlns=\ " http: // schemas.microsoft.com/crm/2007/WebServices\">" + 
"       <query xmlns:q1=\ " http: // schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryByAttribute\">" + 
"         <q1:EntityName> " + entityName + " </q1:EntityName> "   +  
"         <q1:ColumnSet xsi:type=\ " q1:ColumnSet\ " > "   +  
"           <q1:Attributes> "   +  getq1AttributesString(columnsetAttributes) +  
"           </q1:Attributes> "   +  
"         </q1:ColumnSet> "   +  
"         <q1:Attributes> "   +  getq1AttributesString(queryAttributes) +  
"         </q1:Attributes> "   +  
"         <q1:Values> "   +  getq1AttributesValue(queryAttributesValue)  +  
"         </q1:Values> "   +  
"       </query> "   +  
"     </RetrieveMultiple> "   +  
"   </soap:Body> "   +  
" </soap:Envelope> "   +  
"" ;

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

xmlHttpRequest.Open(
" POST " " /mscrmservices/2007/CrmService.asmx " false );
xmlHttpRequest.setRequestHeader(
" SOAPAction " , " http://schemas.microsoft.com/crm/2007/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;
}
var  queryAttributes = new  Array( " pricelevelid " , " productid " , " uomid " );
var  columnsetAttributes = new  Array( " amount " );
var  queryAttributesValue = new  Array( " 02BC5E52-021D-DE11-9A15-000AE42C41EE " , " 75E1AB61-27DE-DD11-9A12-000AE42C41EE " , " A1278C3F-BBDB-DD11-AB5E-002215572EEF " );



queryByAttribute(
" productpricelevel " ,columnsetAttributes,queryAttributes,queryAttributesValue);

 

 

 

你可能感兴趣的:(JavaScript)