|
|
#25 |
|
Чайный пьяница
|
Цитата:
Сообщение от Tarasov E
Значит так: написал на основе данного запроса функцию по обновлению атрибута new_data в сущности new_web по нажатию на кнопку.
Далее привожу код функции: Код: //Обновление даты
function SetAttributeValueFromID(sEntityName, GUID)
 {

var contactId =GUID;
var data = (new Date()).getDate()+'/'+(new Date()).getMonth()+'/'+(new Date()).getYear()+' '+(new Date()).getHours()+':'+(new Date()).getMinutes();
var authenticationHeader = GenerateAuthenticationHeader();

// Prepare the SOAP message.

var xml = '';

xml = 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 запроса.
'<soap:Body>'+

//Обновление атрибута
'<Update xmlns=\'http://schemas.microsoft.com/crm/2007/WebServices\'>'+
'<entity xsi:type=sEntityName>'+
'<new_data>\'+data+\'</new_data>'+
'<contactid>\'+contactId+\'</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;


// Check for errors.

var errorCount = resultXml.selectNodes('//error').length;

if (errorCount != 0)
{
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
alert(msg);
}
// Display a confirmation message and open the updated contact.
else
{
alert('Contact with id = '+contactId+' successfully updated.');
window.open('/sfa/conts/edit.aspx?id={'+contactId+'}');
}
}
var a = getSelected('crmGrid'); 

SetAttributeValueFromID('new_web', a);В чем может быть ошибка? Также обратил внимание на строчку var contactId =GUID; передаётето вы туда - массив, соответвенно по идее следовало бы использовать ориентировочно такую конструкицю - var contactId = GUID[0].id; Но если ни одной записи не будет выделено - выполнение скрипта - вызовет исключение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 29.09.2009 в 11:10. |
|
|
|
|
|