Показать сообщение отдельно
Старый 31.07.2008, 17:53   #14  
Ametmail is offline
Ametmail
Участник
 
10 / 11 (1) +
Регистрация: 11.06.2008
Создание annotation:

//Prepare values for the new annotation.
var objectid = "{2FCDE26B-92C1-DC11-9A60-0003FF562152}";
var objecttypecode ="contact";
var subject = "11111111";
var notetext = "2222222";
var authenticationHeader = GenerateAuthenticationHeader();

//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'>"+
authenticationHeader+
"<soap:Body>"+
"<Create xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entity xsi:type='annotation'>"+
"<objectid >"+objectid +"</objectid>"+
"<subject>"+subject +"</subject>"+
"<notetext>"+notetext+"</notetext>"+
"<objecttypecode>"+objecttypecode+"</objecttypecode>"+
"</entity>"+
"</Create>"+
"</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/Create");
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;

//Check for errors.
var errorCount = resultXml.selectNodes('//error').length;
if (errorCount != 0)
{
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
alert(msg);
}
//Create annotation.
else
{
var contactid = resultXml.selectSingleNode("//CreateResult");
}

Из проблем которые надо решить:

-Проверку на создание нового контакта (а не на событие onSave как сейчас делаю ? )
-Получение objectid – а не задавать существующий
-Обновление после создания формы
Если кто что подскажет буду признателен.

П.С. Только разбираюсь опыта мало ((((