Добрый день!
Такой (не)большой вопросик
Есть у меня три объекта:
Объект1 ссылается через лукап на Объект2.
Объект2 ссылается через лукап на Бизнес-партнеров.
Мне нужно на форме Объекта1 получить имя Бизнес-партнера, связанного с Объектом1 через Объект2.
На данный момент мне удалось с формы Объекта1 выцепить айдишник Бизнес-партнера с Объекта2.
Я могу аналогичным соап запросом выцепить имя Бизнес-партнера (айдишник у меня уже есть), но эти соап запросы жутко тормозят срм. Поэтому хотелось бы обойтись одним запросом. Говорят можно как-то использовать join, но что-то никакой внятной информации по этому поводу (применительно к срм и javascript) я в инете не нашел. Может кто знает как это можно сделать (или ссылочку подкинет

).
Вот код что у меня есть:
Код:
// Prepare variables for a contact to retrieve.
var statusid = crmForm.all.new_statusid.DataValue[0].id;
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>"+
"<Retrieve xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entityName>new_status</entityName>"+
"<id>"+statusid+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>new_accountid</q1:Attribute>"+
"</q1:Attributes>"+
"</columnSet>"+
"</Retrieve>"+
"</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/200...vices/Retrieve");
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 the retrieved value.
else
{
alert(resultXml.selectSingleNode("//q1:new_accountid").nodeTypedValue);
}
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога