30.05.2008, 20:02 | #1 |
Участник
|
Обновление поля во внешней сущности через JScript
Всем доброго времени суток. Ситуация следующая: из одного кастом объекта пытаюсь обновить значение поле в другом (по заданному guid). Использую событие OnSave и сл. скрипт:
var specialid=2; // значение для наглядности примера var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); var xmlPost = '<?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:Body>'+ '<Request xsi:type="UpdateRequest" xmlns="http://schemas.microsoft.com/crm/2006/WebServices">'+ '<Target xsi:type="TargetUpdatenew_custom_entity_name">'+ '<new_custom_entity_name>'+ '<new_custom_entity_nameid>{5C583880-D02D-DD11-9B54-000C2909D8F5}</new_custom_entity_nameid>'+ '<new_custom_attribute_name>specialid</new_custom_attribute_name>'+ '</new_custom_entity_name>'+ '</Target>'+ '</Request>'+ '</soap:Body>'+ '</soap:Envelope>'; xmlHttpRequest.open("POST", "/mscrmservices/2006/CrmService.asmx", false); xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); xmlHttpRequest.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2006/WebServices/Execute"); //alert(xmlPost); xmlHttpRequest.send(xmlPost); Скрипт отрабатывает но безрезультатно: не хочет, значение поля присваивать. Наверняка закралась досадная ошибка, но своими силами найти причину не удалось. Буду признателен за совет. |
|
30.05.2008, 20:07 | #2 |
Участник
|
колауты публиковать на сервере нет возможности, т.к. провайдер системы (crm 4.0) разрешает только jscript пользоваться.
|
|
31.05.2008, 23:14 | #3 |
Участник
|
http://www.unitek.com/training/micro...using-jscript/ Ссылка на исходный буржуйский пример - у них типа работет. Однако не понятно - может быть в 4.0 запрещено менять значения полей если запрос идет со страницы др. сущности или все же в моем скрипте ошибка допущена. Если удасться запустить этот скрипт можно значительно сократить потребность в плагинах (колаутах), т.е. всю (большую часть) isv логики можно делать на клиентской стороне.
|
|
02.06.2008, 07:32 | #4 |
CRM
|
new_custom_entity_name - есть такая сущность?
Что находится в xmlHttpRequest.responseXML? И еще Вы упустили строчку xmlHttpRequest.setRequestHeader("Content-Length", sXml.length);
__________________
MS CRM 3.0/4.0 Sharepoint 2003, MOSS 2007/2010 |
|
06.06.2008, 23:44 | #5 |
Участник
|
Спасибо за отклик. Добиться желаемого средствами Jcsript не удалось. Пришлось делать плагин.
|
|
|
|