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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.06.2009, 13:39   #1  
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
Цитата:
Сообщение от Murzin Andrey Посмотреть сообщение
Так идём дальше
Всё работает, нормально, НО только если искомое поле заполнено.
Если хоть одно поле пустое, то код не работает, ничего не вставляется.
Как быть?
Сделайте проверку вроде такой:

Код:
if (crmForm.all.customerid.DataValue != null && crmForm.all.customerid.DataValue[0] != null)
{
//вытаскивание телефона, запись в необходимое поле
}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 03.06.2009, 13:50   #2  
Murzin Andrey is offline
Murzin Andrey
Участник
 
12 / 10 (1) +
Регистрация: 03.06.2009
Адрес: Россия
Не помогло,
ошибка "Требуется объект"
Старый 03.06.2009, 14:08   #3  
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
Цитата:
Сообщение от Murzin Andrey Посмотреть сообщение
Не помогло,
ошибка "Требуется объект"
Код приведите. Я, к сожалению, не телепат.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 03.06.2009, 14:18   #4  
Murzin Andrey is offline
Murzin Andrey
Участник
 
12 / 10 (1) +
Регистрация: 03.06.2009
Адрес: Россия
Код следующий:

var lookupItem = new Array;

lookupItem = crmForm.all.customerid.DataValue;

var accountid = "lookupItem[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>account</entityName>"+
"<id>"+lookupItem[0].id+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>telephone1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>name</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_line1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_city</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>revenue</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>numberofemployees</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>industrycode</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/2007/WebServices/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
{
if (crmForm.all.customerid.DataValue != null && crmForm.all.customerid.DataValue[0] != null)
{
resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;
resultXml.selectSingleNode("//q1:name").nodeTypedValue;
resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;
resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;
resultXml.selectSingleNode("//q1:revenue").nodeTypedValue
resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;
resultXml.selectSingleNode("//q1:industrycode").nodeTypedValue;

crmForm.all.telephone1.DataValue = resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;

crmForm.all.companyname.DataValue = resultXml.selectSingleNode("//q1:name").nodeTypedValue;

crmForm.all.address1_line1.DataValue = resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;

crmForm.all.address1_city.DataValue = resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;

crmForm.all.revenue.DataValue = resultXml.selectSingleNode("//q1:revenue").nodeTypedValue;

crmForm.all.numberofemployees.DataValue = resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;

crmForm.all.industrycode.DataValue = resultXml.selectSingleNode("//q1:industrycode").nodeTypedValue;
}
}
Старый 03.06.2009, 14:30   #5  
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
Lightbulb
Цитата:
Сообщение от Murzin Andrey Посмотреть сообщение
Код следующий:

var lookupItem = new Array;

lookupItem = crmForm.all.customerid.DataValue;

var accountid = lookupItem[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>account</entityName>"+
"<id>"+lookupItem[0].id+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>telephone1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>name</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_line1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_city</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>revenue</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>numberofemployees</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>industrycode</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/2007/WebServices/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
{
if (crmForm.all.customerid.DataValue != null && crmForm.all.customerid.DataValue[0] != null)
{
resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;
resultXml.selectSingleNode("//q1:name").nodeTypedValue;
resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;
resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;
resultXml.selectSingleNode("//q1:revenue").nodeTypedValue
resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;
resultXml.selectSingleNode("//q1:industrycode").nodeTypedValue;

crmForm.all.telephone1.DataValue = resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;

crmForm.all.companyname.DataValue = resultXml.selectSingleNode("//q1:name").nodeTypedValue;

crmForm.all.address1_line1.DataValue = resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;

crmForm.all.address1_city.DataValue = resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;

crmForm.all.revenue.DataValue = resultXml.selectSingleNode("//q1:revenue").nodeTypedValue;

crmForm.all.numberofemployees.DataValue = resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;

crmForm.all.industrycode.DataValue = resultXml.selectSingleNode("//q1:industrycode").nodeTypedValue;
}
}
Сам не тестировал, но попробуйте так:

Код:
if (crmForm.all.customerid.DataValue != null && crmForm.all.customerid.DataValue[0] != null)
{
var lookupItem = new Array;

lookupItem = crmForm.all.customerid.DataValue;

var accountid = lookupItem[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>account</entityName>"+
"<id>"+lookupItem[0].id+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>telephone1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>name</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_line1</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>address1_city</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>revenue</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>numberofemployees</q1:Attribute>"+
"</q1:Attributes>"+

"<q1:Attributes>"+
"<q1:Attribute>industrycode</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/2007/WebServices/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
{
crmForm.all.telephone1.DataValue = resultXml.selectSingleNode("//q1:telephone1") == null ? "" : resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;

crmForm.all.companyname.DataValue = resultXml.selectSingleNode("//q1:name") == null ? "" : resultXml.selectSingleNode("//q1:name").nodeTypedValue;

crmForm.all.address1_line1.DataValue = resultXml.selectSingleNode("//q1:address1_line1") == null ? "" : resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;

crmForm.all.address1_city.DataValue = resultXml.selectSingleNode("//q1:address1_city") = null ? "" : resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;

crmForm.all.revenue.DataValue = resultXml.selectSingleNode("//q1:revenue") == null ? "" : resultXml.selectSingleNode("//q1:revenue").nodeTypedValue;

crmForm.all.numberofemployees.DataValue = resultXml.selectSingleNode("//q1:numberofemployees") == null ? "" : resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;

crmForm.all.industrycode.DataValue = resultXml.selectSingleNode("//q1:industrycode") == null ? "" : resultXml.selectSingleNode("//q1:industrycode").nodeTypedValue;

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

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 03.06.2009, 14:53   #6  
Murzin Andrey is offline
Murzin Andrey
Участник
 
12 / 10 (1) +
Регистрация: 03.06.2009
Адрес: Россия
Так тоже не работает.

Пробую каждое поле проверять, тоже не работает:
Цитата:
// 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
{
if (resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue);
crmForm.all.telephone1.DataValue = resultXml.selectSingleNode("//q1:telephone1").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:name").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:name").nodeTypedValue);
crmForm.all.companyname.DataValue = resultXml.selectSingleNode("//q1:name").nodeTypedValue;
}

if (resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue);
crmForm.all.address1_line1.DataValue = resultXml.selectSingleNode("//q1:address1_line1").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue);
crmForm.all.address1_city.DataValue = resultXml.selectSingleNode("//q1:address1_city").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:address1_stateorprovince").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:address1_stateorprovince").nodeTypedValue);
crmForm.all.address1_stateorprovince.DataValue = resultXml.selectSingleNode("//q1:address1_stateorprovince").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:address1_postalcode").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:address1_postalcode").nodeTypedValue);
crmForm.all.address1_postalcode.DataValue = resultXml.selectSingleNode("//q1:address1_postalcode").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:address1_country").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:address1_country").nodeTypedValue);
crmForm.all.address1_country.DataValue = resultXml.selectSingleNode("//q1:address1_country").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:revenue").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:revenue").nodeTypedValue);
crmForm.all.revenue.DataValue = resultXml.selectSingleNode("//q1:revenue").nodeTypedValue;
}
if (resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue != null)
{
alert(resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue);
crmForm.all.numberofemployees.DataValue = resultXml.selectSingleNode("//q1:numberofemployees").nodeTypedValue;
}
}
Неужели никак нельзя это реализовать?
Старый 03.06.2009, 14:55   #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
Можно. Цепляйтесь дебагером и отлаживайте.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Где найти веб-форму Преобразования интереса? Impulse Dynamics CRM: Разработка 2 28.09.2008 13:55
Ошибка при создании веб-ссылки в MS VS? Alexey-IT Dynamics CRM: Разработка 1 12.01.2008 03:24
Через веб не отображается полученная почта Hungrymar Dynamics CRM: Администрирование 14 19.12.2006 10:09
Не могу отправить почту через веб-интерфейс Hungrymar Dynamics CRM: Администрирование 0 18.11.2006 09:44
Ошибки в веб интерфесе DiMish Dynamics CRM: Администрирование 5 29.11.2005 17:50

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

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

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