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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.05.2011, 11:33   #1  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Данные из связанной сущности.
Приветствую, Коллеги.
Не подкажите как из скрипта получить данные связанной сущности.
То есть, есть бизнес-партнер и связанны ним контакт.
Нахожуcь в контакте :-) и хочу получить например Отрасть бизнес партнера и скопироваь ее в поле контакта.

Заранее спасибо за помощь.

Последний раз редактировалось a33ik; 18.05.2011 в 12:02. Причина: Орфография x_x
Старый 18.05.2011, 11:50   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Добрый день.

Первое - рекомендую в вопросах указывать про какую версию CRM говорится (3.0, 4.0, 2011).
Второе - не надо создавать тем - дублей.
Третье - на форуме это уже не раз обсуждалось, потому рекомендую польоваться поиском.

Данные можно получить при помощи JavaScript.
Для 4.0 хороший пример - http://technet.microsoft.com/en-us/l.../cc677076.aspx и готовый скрипт - http://jianwang.blogspot.com/2008/12...m-entitys.html
Для 2011 - http://technet.microsoft.com/en-us/l.../gg334427.aspx или http://technet.microsoft.com/en-us/l.../gg309549.aspx

И последнее - читайте SDK - там немало примеров.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 18.05.2011, 12:45   #3  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Спасибо.
Попытаюсь разобраться.
А как получить ID связанной запись. (знаю как получить name)

BR,
Старый 18.05.2011, 12:52   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от KKNDSTER Посмотреть сообщение
Спасибо.
Попытаюсь разобраться.
А как получить ID связанной запись. (знаю как получить name)

BR,
Вы игнорируете мою просьбу - указать версию системы...

Если поле вынесено на форму, то тогда примерно так:

для 4.0:
var id = crmForm.all.<поле лукапа связанной сущности>.DataValue[0].id;

для 2011:
var id = Xrm.Page.getAttribute(“поле лукапа связанной сущности”).getValue()[0].id;

Если не вынесено - тогда через скрипты.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 18.05.2011, 12:56   #5  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Да, моя ошибка.
Dynamics CRM 4.0
Старый 18.05.2011, 16:04   #6  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Что-то скрипт, господина - Jim Wang не работает:-(
Нет случаем, какой еще ссылки на разбор данной проблематики?
Старый 18.05.2011, 17:22   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от KKNDSTER Посмотреть сообщение
Что-то скрипт, господина - Jim Wang не работает:-(
Нет случаем, какой еще ссылки на разбор данной проблематики?
Скрипт - рабочий. Просто он не заработал у вас. Покажите пожалуйста скрипт, который используете вы.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 18.05.2011, 17:53   #8  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Уже задолбался прямо....
Использую вот этот:
function GetAttributeValueFromID(sEntityName, GUID, sAttributeName)
{
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:Body>"+
"<Retrieve xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entityName>"+sEntityName+"</entityName>"+
"<id>"+GUID+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>"+sAttributeName+"</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;
var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;
if (errorCount != 0)
{
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
result = " ";
alert(msg);
}
// Display the retrieved value.
else
{
return result;
}
}

crmForm.new_serialnumber.DataValue = GetAttributeValueByEntityId("new_nomenclaturalposition", "document.crmForm.all.new_nomenclaturashippinglin.DataValue[0].id", "new_warranty");

Пишет, что значение функции
Старый 18.05.2011, 18:01   #9  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
То о чём я и говорил. 2 ошибки в примитивном скрипте. Попробуйте так:


crmForm.all.new_serialnumber.DataValue = GetAttributeValueByEntityId("new_nomenclaturalposition", crmForm.all.new_nomenclaturashippinglin.DataValue[0].id, "new_warranty");
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 19.05.2011, 11:17   #10  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Приветствую, (спасибо)
Всё равно пишет что значение функции типа не определены, или Null или не является объектом Function....
:-(
Старый 19.05.2011, 11:36   #11  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от KKNDSTER Посмотреть сообщение
Уже задолбался прямо....
Использую вот этот:
function GetAttributeValueFromID(sEntityName, GUID, sAttributeName)
{
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:Body>"+
"<Retrieve xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entityName>"+sEntityName+"</entityName>"+
"<id>"+GUID+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>"+sAttributeName+"</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;
var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;
if (errorCount != 0)
{
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
result = " ";
alert(msg);
}
// Display the retrieved value.
else
{
return result;
}
}

crmForm.new_serialnumber.DataValue = GetAttributeValueByEntityId("new_nomenclaturalposition", "document.crmForm.all.new_nomenclaturashippinglin.DataValue[0].id", "new_warranty");

Пишет, что значение функции
Цитата:
Сообщение от KKNDSTER Посмотреть сообщение
Приветствую, (спасибо)
Всё равно пишет что значение функции типа не определены, или Null или не является объектом Function....
:-(
Чуточку внимательности в написании кода и всё будет ок. Красным выделил ошибку - надеюсь поймёте в чём дело. А то получается, что я решаю проблему, за решение которой вам платят, а мне - нет.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 19.05.2011, 11:41   #12  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Если вбить например вот так:
crmForm.all.new_serialnumber.DataValue = GetAttributeValueFromID("new_nomenclaturalposition", "crmForm.all.new_nomenclaturashippinglin.DataValue[0].id", "new_warranty");

То пишет - не удолось получить значение nodeTypedValue. Значение Null или оно не определено.
Старый 19.05.2011, 11:42   #13  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Про название функции я уже раньше нашел:-)
Старый 19.05.2011, 11:59   #14  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от KKNDSTER Посмотреть сообщение
Если вбить например вот так:
crmForm.all.new_serialnumber.DataValue = GetAttributeValueFromID("new_nomenclaturalposition", "crmForm.all.new_nomenclaturashippinglin.DataValue[0].id", "new_warranty");

То пишет - не удолось получить значение nodeTypedValue. Значение Null или оно не определено.
crmForm.all.new_serialnumber.DataValue = GetAttributeValueFromID("new_nomenclaturalposition", "crmForm.all.new_nomenclaturashippinglin.DataValue[0].id", "new_warranty");

и

crmForm.all.new_serialnumber.DataValue = GetAttributeValueFromID("new_nomenclaturalposition", crmForm.all.new_nomenclaturashippinglin.DataValue[0].id, "new_warranty");

Разницу видите? Советую просто поучить JavaScript перед тем, как браться за задачи посложнее...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 19.05.2011, 12:11   #15  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Вот я и учу. Разницу конечно вижу, просто я уже все варианты перепробовал. Сейчас на вставлял в код Аляртов.
.....
// Capture the result.
var resultXml = xHReq.responseXML;
alert(resultXml);
// Check for errors.
var errorCount = resultXml.selectNodes('//error').length;
var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;
alert(result);
if (errorCount != 0)
.....

Первый Алярт выводит [Object]
Второй не выводиться и пишет про "не удолось получить значение nodeTypedValue. Значение Null или оно не определено. "
Старый 19.05.2011, 12:28   #16  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Такое происходит когда поле пустое. Вы уверены, что поле заполнено?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: KKNDSTER (1).
Старый 19.05.2011, 12:59   #17  
KKNDSTER is offline
KKNDSTER
Участник
 
41 / 10 (1) +
Регистрация: 24.11.2008
Да, поле заполненно. Спасибо большое за помощь.
Воспользовался другим скриптом - Заработало.:-) Ух и на маялся.
На всякий случай выкладываю.
Да поле заполненно. Воспользовался другим скриптом заработало :-) (Ух) На всякий случай выкладываю.


function GetAttributeValueFromID(sEntityName, sGUID, sAttributeName, isTextField) {
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\">" +
GenerateAuthenticationHeader() +
" <soap:Body>" +
" <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <Request xsi:type=\"RetrieveRequest\" ReturnDynamicEntities=\"false\">" +
" <Target xsi:type=\"TargetRetrieveDynamic\">" +
" <EntityName>" + sEntityName + "</EntityName>" +
" <EntityId>" + sGUID + "</EntityId>" +
" </Target>" +
" <ColumnSet xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:ColumnSet\">" +
" <q1:Attributes>" +
" <q1:Attribute>" + sAttributeName + "</q1:Attribute>" +
" </q1:Attributes>" +
" </ColumnSet>" +
" </Request>" +
" </Execute>" +
" </soap:Body>" +
"</soap:Envelope>" +
"";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/200...rvices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml);
var result = null;
if(isTextField) {
result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).text;
} else {
result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).getAttribute('name');
}
if (result == null) {
return '';
} else
return result;
}

crmForm.all.new_serialnumber.DataValue = GetAttributeValueFromID("new_nomenclaturalposition", crmForm.all.new_nomenclaturashippinglin.DataValue[0].id, "new_serialnumber", "isTextField");
Старый 23.12.2011, 11:06   #18  
mistah is offline
mistah
Участник
 
169 / 13 (1) ++
Регистрация: 11.11.2011
Адрес: Коньково
товарищи!
подскажите, пожалуйста, почему при пустом значении поля, из которого берем значение(и подставляем в нужное поле связанной сущности), JS выдает ошибку

Ошибка: требуется объект.

условие проверки результата null ли он или нет имеется, но, видимо, скрипту необходимо непустое значение того поля, из которого берутся данные.

ещё какое-то условие нужно добавить?

спасибо!

код:

Код:
function Form_onload()
{
alert(GetAttributeValueFromID("new_competitormaterial", crmForm.all.new_materialid.DataValue[0].id, "new_links", "isTextField"));
}

function GetAttributeValueFromID(sEntityName, sGUID, sAttributeName, isTextField)
{ 
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\">" +
GenerateAuthenticationHeader() +
" <soap:Body>" +
" <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <Request xsi:type=\"RetrieveRequest\" ReturnDynamicEntities=\"false\">" +
" <Target xsi:type=\"TargetRetrieveDynamic\">" +
" <EntityName>" + sEntityName + "</EntityName>" +
" <EntityId>" + sGUID + "</EntityId>" +
" </Target>" +
" <ColumnSet xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:ColumnSet\">" +
" <q1:Attributes>" +
" <q1:Attribute>" + sAttributeName + "</q1:Attribute>" +
" </q1:Attributes>" +
" </ColumnSet>" +
" </Request>" +
" </Execute>" +
" </soap:Body>" +
"</soap:Envelope>" +
"";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml); 
var result = null;
if(isTextField) {
result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).text;
} else {
result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).getAttribute('name');
} 
if (result == null) {
return '';
} else
return result;
}
Старый 23.12.2011, 14:03   #19  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Не очень понятно, где на какой строке у вас возникает ошибка, но в любом случае стоит делать вот так:

X++:
function Form_onload()
{
    if (crmForm.all.new_materialid.DataValue != null)
    {
        alert(GetAttributeValueFromID("new_competitormaterial", crmForm.all.new_materialid.DataValue[0].id, "new_links", "isTextField"));
    }
}
За это сообщение автора поблагодарили: mistah (1).
Старый 23.12.2011, 14:29   #20  
mistah is offline
mistah
Участник
 
169 / 13 (1) ++
Регистрация: 11.11.2011
Адрес: Коньково
Цитата:
Сообщение от griefon Посмотреть сообщение
Не очень понятно, где на какой строке у вас возникает ошибка, но в любом случае стоит делать вот так:

X++:
function Form_onload()
{
    if (crmForm.all.new_materialid.DataValue != null)
    {
        alert(GetAttributeValueFromID("new_competitormaterial", crmForm.all.new_materialid.DataValue[0].id, "new_links", "isTextField"));
    }
}
Код:
griefon
спасибо!
это проверка заполнено ли поле лукапа на форме сущности1, что тоже, кстати, надо было добавить!
а у меня проблема была в получении данных из поля с формы связанной сущности2 - если оно не заполнено - возвращалась вышеупомянутая ошибка об объекте.
иначе говоря, если значение у sAttributeName не содержит данных/равно null.
сделал так:

X++:
function Form_onload()
{
  if (crmForm.all.new_materialid.DataValue != null)
    {
        alert(GetAttributeValueFromID("new_competitormaterial", crmForm.all.new_materialid.DataValue[0].id, "new_links", "isTextField"));
    }    
}

function GetAttributeValueFromID(sEntityName, sGUID, sAttributeName, isTextField)
{
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\">" +
GenerateAuthenticationHeader() +
" <soap:Body>" +
" <Execute xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
" <Request xsi:type=\"RetrieveRequest\" ReturnDynamicEntities=\"false\">" +
" <Target xsi:type=\"TargetRetrieveDynamic\">" +
" <EntityName>" + sEntityName + "</EntityName>" +
" <EntityId>" + sGUID + "</EntityId>" +
" </Target>" +
" <ColumnSet xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:ColumnSet\">" +
" <q1:Attributes>" +
" <q1:Attribute>" + sAttributeName + "</q1:Attribute>" +
" </q1:Attributes>" +
" </ColumnSet>" +
" </Request>" +
" </Execute>" +
" </soap:Body>" +
"</soap:Envelope>" +
"";
var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");
xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/Execute");
xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
xmlHttpRequest.send(xml); 
var result = null;
var new_v = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName);
if(new_v != null)
  {
  if(isTextField) 
    {
      result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).text;
    } 
  else 
    {
      result = xmlHttpRequest.responseXML.selectSingleNode("//q1:" + sAttributeName).getAttribute('name');
    } 
  }
if (result == null) 
  {
    return '';
  } 
else
return result;
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить значение поля одной сущности при обработке формы другой сущности zhenek Dynamics CRM: Разработка 25 05.07.2011 16:19
Присвоение одного атрибута сущности значения другого атрибута связанной сущности vital.mih Dynamics CRM: Функционал 38 08.09.2010 10:53
Тип грида (GridType) при выводе списка связанной сущности alsherin Dynamics CRM: Разработка 4 07.07.2009 19:18
Как вытащить данные из лукапа на 2 сущности? vital.mih Dynamics CRM: Функционал 1 06.07.2009 16:07
Как создать экземпляр кастомной сущности через SOAP? Tony Green Dynamics CRM: Разработка 7 27.02.2009 08:37
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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