5. Mai 2015 10:12
 Ich habe folgende Webservice Abfrage (heißen die so ich meine ja), die ich gerne in OData umstricken würde. Denn das CodeValidationTool meckert dies für CRM 2013 an.
  Ich habe folgende Webservice Abfrage (heißen die so ich meine ja), die ich gerne in OData umstricken würde. Denn das CodeValidationTool meckert dies für CRM 2013 an. 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:QueryExpression\">" +
   " <q1:EntityName>equipment</q1:EntityName>" +
   " <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
   " <q1:Attributes>" +
   " <q1:Attribute>name</q1:Attribute>" +
   " </q1:Attributes>" +
   " </q1:ColumnSet>" +
   " <q1:Distinct>false</q1:Distinct>" +
   " <q1:Criteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>opd_ist_fahrzeug</q1:AttributeName>" +
   " <q1:Operator>Equal</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">1</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +   
   " </q1:Conditions>" +
   " </q1:Criteria>" +
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>equipmentid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>equipment</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>activityparty</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>partyid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +   
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>activityid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>activityparty</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>serviceappointment</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>activityid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +
   " <q1:LinkCriteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledstart</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledend</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " </q1:Conditions>" +
   " </q1:LinkCriteria>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </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;var resultSet = GetResultSetWithOData("/EquipmentSet?$select=*&$expand=equipment_activity_parties&$filter=ScheduledStart ge '"+ sVon +"' and ScheduledStart le '"+ sBis +"' and ScheduledEnd ge '"+ sVon +"' and ScheduledStart le '"+ sBis +"'");6. Mai 2015 08:33
6. Mai 2015 13:27
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:Header>" +
   "<CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
   "<AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType>" +
   "<OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">Organisation</OrganizationName>" +
   "</CrmAuthenticationToken>" +
   "</soap:Header>" +
   " <soap:Body>" +
   " <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
   " <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
   " <q1:EntityName>equipment</q1:EntityName>" +
   " <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
   " <q1:Attributes>" +
   " <q1:Attribute>name</q1:Attribute>" +
   " </q1:Attributes>" +
   " </q1:ColumnSet>" +
   " <q1:Distinct>false</q1:Distinct>" +
   " <q1:Criteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>opd_ist_fahrzeug</q1:AttributeName>" +
   " <q1:Operator>Equal</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">1</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +   
   " </q1:Conditions>" +
   " </q1:Criteria>" +
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>equipmentid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>equipment</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>activityparty</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>partyid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +   
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>activityid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>activityparty</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>serviceappointment</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>activityid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +
   " <q1:LinkCriteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledstart</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledend</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " </q1:Conditions>" +
   " </q1:LinkCriteria>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </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;
6. Mai 2015 13:35
 
			
		6. Mai 2015 14:29
 ) mit eingebautem Soap Header und Browserunterscheidung. Da meckert auch das Validationtool nicht mehr bzw. nur noch an der Verzweigung zum alten IE wegen dem ActiveX aber das ist ja ok. Das ganze geht vielleicht auch eleganter aber das tut es auch.
 ) mit eingebautem Soap Header und Browserunterscheidung. Da meckert auch das Validationtool nicht mehr bzw. nur noch an der Verzweigung zum alten IE wegen dem ActiveX aber das ist ja ok. Das ganze geht vielleicht auch eleganter aber das tut es auch.function gebuchteFirmenwagen(sVon,sBis){ 
   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:Header>" +
   "<CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
   "<AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType>" +
   "<OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">"+Xrm.Page.context.getOrgUniqueName()+"</OrganizationName>" +
   "</CrmAuthenticationToken>" +
   "</soap:Header>" +
   " <soap:Body>" +
   " <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
   " <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
   " <q1:EntityName>equipment</q1:EntityName>" +
   " <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
   " <q1:Attributes>" +
   " <q1:Attribute>name</q1:Attribute>" +
   " </q1:Attributes>" +
   " </q1:ColumnSet>" +
   " <q1:Distinct>false</q1:Distinct>" +
   " <q1:Criteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>opd_ist_fahrzeug</q1:AttributeName>" +
   " <q1:Operator>Equal</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">1</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +   
   " </q1:Conditions>" +
   " </q1:Criteria>" +
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>equipmentid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>equipment</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>activityparty</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>partyid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +   
   " <q1:LinkEntities>" +
   " <q1:LinkEntity>" +
   " <q1:LinkFromAttributeName>activityid</q1:LinkFromAttributeName>" +
   " <q1:LinkFromEntityName>activityparty</q1:LinkFromEntityName>" +
   " <q1:LinkToEntityName>serviceappointment</q1:LinkToEntityName>" +
   " <q1:LinkToAttributeName>activityid</q1:LinkToAttributeName>" +
   " <q1:JoinOperator>Inner</q1:JoinOperator>" +
   " <q1:LinkCriteria>" +
   " <q1:FilterOperator>And</q1:FilterOperator>" +
   " <q1:Conditions>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledstart</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " <q1:Condition>" +
   " <q1:AttributeName>scheduledend</q1:AttributeName>" +
   " <q1:Operator>Between</q1:Operator>" +
   " <q1:Values>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sVon + "</q1:Value>" + 
   " <q1:Value xsi:type=\"xsd:string\">" + sBis + "</q1:Value>" + 
   " </q1:Values>" + 
   " </q1:Condition>" +
   " </q1:Conditions>" +
   " </q1:LinkCriteria>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </q1:LinkEntity>" +
   " </q1:LinkEntities>" +
   " </query>" +
   " </RetrieveMultiple>" +
   " </soap:Body>" +
   "</soap:Envelope>" +
   "";
   
   var xmlHttpRequest;
    var resultXml;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlHttpRequest = new XMLHttpRequest();
        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);
        resultXml = xmlHttpRequest.responseXML;
    }
    else {// code for IE6, IE5
        xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
        xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
        xmlHttpRequest.send(xml);
        resultXml = xmlHttpRequest.responseXML;
    }
   var resultSet = resultXml.xml.split("<q1:name>"); 
   var firmenwagenArray = new Array();
   for(i=1; i<resultSet.length; i++){
      var firmenwagen = resultSet[i].split("</q1:name>");
      var firmenwagenschonda = false;
      for(j=0; j<firmenwagenArray.length; j++){
         if(firmenwagen[0]==firmenwagenArray[j]){
            j=firmenwagenArray.length+1
            firmenwagenschonda = true;
         } else {
            firmenwagenschonda = false;
         }
      }
      if(!firmenwagenschonda){
         firmenwagenArray.push(firmenwagen[0]);
      }
   }
   
   return firmenwagenArray;
}
8. Mai 2015 09:11
 
			
		8. Juli 2015 10:25
 Das geht für CRM 2013 und 2015 dann natürlich nicht mehr. Das Upgrade meckert schon.
 Das geht für CRM 2013 und 2015 dann natürlich nicht mehr. Das Upgrade meckert schon. 10. August 2015 15:23