22. Juni 2010 11:46
function setCustomer() {
var companyid = null;
var companyname = null;
var doc = null;
var customerInfo = null;
if (crmForm.all.customerid.DataValue != null) {
if (crmForm.all.customerid.DataValue[0].typename == "contact") {
customerInfo = GetCustomerInformation(crmForm.all.customerid);
companyid = customerInfo.nodeTypedValue;
var i = 0;
while (customerInfo.attributes[i].name != "name") {
i++;
}
companyname = customerInfo.attributes[i].nodeTypedValue;
var lookupitem = new Array();
var lookupitemobject = new Object();
lookupitemobject.id = companyid;
lookupitemobject.typename = 'account';
lookupitemobject.name = companyname;
lookupitem[0] = lookupitemobject;
crmForm.all.new_companyid.DataValue = lookupitem;
}
else {
companyid = crmForm.all.customerid.DataValue[0].id;
crmForm.all.new_companyid.DataValue = crmForm.all.customerid.DataValue
}
}
else {
crmForm.all.new_companyid.DataValue = null;
}
}
GetCustomerInformation = function(contactid)
{
var xml = null;
var xmlHttpRequest = null;
var resultXml = null;
var doc = null;
var companyid=null;
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>" +
" <Retrieve xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <entityName>contact</entityName>" +
" <id>" + contactid.DataValue[0].id + "</id>" +
" <columnSet xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:ColumnSet\">" +
" <q1:Attributes>" +
" <q1:Attribute>parentcustomerid</q1:Attribute>"+
" </q1:Attributes>"+
"</columnSet>"+
" </Retrieve>" +
" </soap:Body>" +
"</soap:Envelope>";
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Retrieve");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
resultXml = xmlHttpRequest.responseXML.xml;
doc = new ActiveXObject("MSXML2.DOMDocument");
doc.async = false;
doc.loadXML(resultXml);
companyid = doc.selectSingleNode('//q1:parentcustomerid');
return companyid;
}