06.07.2010, 13:43 | #1 |
Участник
|
CrmService.Update Method Using JScript
Имеем две связанные сущности, при в несении изменений в дочернюю требуется внести изменения в родительский объект.
Сабж описанный в SDK прекрасно работает когда изменяемый атрибут текстовый, но в данном случае требуется проапдейтить лукап. Может кто подсказать в каком формате и что нужно передавать в запросе. На изменене стоит примерно такой скрипт и выдает ошибку о не правильном формате Id Код: var lookupData = new Array(); var lookupItem= new Object(); // Prepare variables for updating var id = crmForm.all.parentcustomerid.DataValue[0].id;; lookupItem.id = crmForm.ObjectId.value; lookupItem.name = crmForm.ObjectId.name; lookupItem.typename = 'contact'; //объект lookupData[0] = lookupItem; // Prepare the SOAP message. 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>"+ "<Update xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ "<entity xsi:type='account'>"+ "<acc_ceoid>"+lookupData+"</acc_ceoid>"+ "<contactid>"+id+"</contactid>"+ "</entity>"+ "</Update>"+ "</soap:Body>"+ "</soap:Envelope>"; // Prepare the xmlHttpObject and send the request. var xHReq = new ActiveXObject("Msxml2.XMLHTTP"); xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false); xHReq.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Update"); xHReq.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xHReq.setRequestHeader("Content-Length", xml.length); xHReq.send(xml); // Capture the result var resultXml = xHReq.responseXML; |
|
06.07.2010, 14:03 | #2 |
Участник
|
Вы не посылаете ID Вы посылаете [object] Попробуй вот так Код: var id = crmForm.all.parentcustomerid.DataValue[0].id;;
__________________
Читайте SDK!!! |
|
06.07.2010, 15:19 | #3 |
Чайный пьяница
|
Цитата:
Сообщение от Konstantin Katsovich
Вы не посылаете ID Вы посылаете [object] Попробуй вот так Код: var id = crmForm.all.parentcustomerid.DataValue[0].id;; Код: 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>"+ "<Update xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ "<entity xsi:type='account'>"+ "<acc_ceoid>"+lookupData+"</acc_ceoid>"+ "<contactid>"+id+"</contactid>"+ "</entity>"+ "</Update>"+ "</soap:Body>"+ "</soap:Envelope>";
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|