AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2008, 20:02   #1  
Sergio_che is offline
Sergio_che
Участник
 
5 / 10 (1) +
Регистрация: 30.05.2008
! Обновление поля во внешней сущности через 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  
Sergio_che is offline
Sergio_che
Участник
 
5 / 10 (1) +
Регистрация: 30.05.2008
колауты публиковать на сервере нет возможности, т.к. провайдер системы (crm 4.0) разрешает только jscript пользоваться.
Старый 31.05.2008, 23:14   #3  
Sergio_che is offline
Sergio_che
Участник
 
5 / 10 (1) +
Регистрация: 30.05.2008
http://www.unitek.com/training/micro...using-jscript/ Ссылка на исходный буржуйский пример - у них типа работет. Однако не понятно - может быть в 4.0 запрещено менять значения полей если запрос идет со страницы др. сущности или все же в моем скрипте ошибка допущена. Если удасться запустить этот скрипт можно значительно сократить потребность в плагинах (колаутах), т.е. всю (большую часть) isv логики можно делать на клиентской стороне.
Старый 02.06.2008, 07:32   #4  
ShurikEv is offline
ShurikEv
CRM
 
213 / 28 (1) +++
Регистрация: 25.04.2006
Адрес: г. Новосибирск
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  
Sergio_che is offline
Sergio_che
Участник
 
5 / 10 (1) +
Регистрация: 30.05.2008
Спасибо за отклик. Добиться желаемого средствами Jcsript не удалось. Пришлось делать плагин.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить значение поля одной сущности при обработке формы другой сущности zhenek Dynamics CRM: Разработка 25 05.07.2011 16:19
Присвоение одного атрибута сущности значения другого атрибута связанной сущности vital.mih Dynamics CRM: Функционал 38 08.09.2010 10:53
Как создать экземпляр кастомной сущности через SOAP? Tony Green Dynamics CRM: Разработка 7 27.02.2009 08:37
Обращение к полю сущности MFCшный Wizard Dynamics CRM: Разработка 28 12.02.2009 14:35
Создание объекта сущности из другого объекта! SnSS Dynamics CRM: Разработка 5 29.05.2008 13:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:27.