AXForum  
Zurück   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Функционал
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen Alle Foren als gelesen markieren

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 01.04.2009, 07:55   #21  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
Code:
var invite4 =  GetAttributeValueFromID('new_date_protocol', crmForm.all.new_protocolsfordate.DataValue[0].id, 'new_invite4');

crmForm.all.new_invite.DataValue=invite4



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/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;

var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;

if (errorCount != 0)
{
 var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
result = " ";
}
// Display the retrieved value.
else 
{
alert('test')
return result;
}
}
Сначала показывает test, а затем нижеописанное сообщение

Geändert von vital.mih (01.04.2009 um 07:59 Uhr)
Alt 02.04.2009, 07:28   #22  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
ну что нет ни у кого идей??
Alt 02.04.2009, 12:05   #23  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Lightbulb
Zitat:
Zitat von vital.mih Beitrag anzeigen
ну что нет ни у кого идей??
Это только идеи, которые не могу проверить на практике, потому что в отпуске с ноутом на коленях .

Итак:
1. Стоит всё-таки везде где надо ставить ; В вашем случае это строка 3 - crmForm.all.new_invite.DataValue=invite4;

2. Перед присвоением - поставьте alert(invite4); и убедитесь, что возвращается корректное значение.

3. Убедитесь, что поле new_invite вынесено на форму и желательно таки указать его тип, чтобы знать с чем имеем дело.

4. Перед выполнением поиска желательно вставить проверку, что crmForm.all.new_protocolsfordate.DataValue != null &&crmForm.all.new_protocolsfordate.DataValue.length != 0

Пробуйте. Если опять не заработает - есди дождётесь меня из отпуска и Вам не помогут - постараюсь помочь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Alt 02.04.2009, 12:27   #24  
Bondonello ist offline
Bondonello
Kostya Afendikov
Benutzerbild von Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Registriert seit: 06.06.2008
Ort: Украина
Zitat:
Zitat von vital.mih Beitrag anzeigen
ну что нет ни у кого идей??
Да, пользуйтесь alert`ами, эту функцию привел как пример на основе sdk
сейчас заканчиваю проект у себя, так что пока нет свободного времени. На след неделе просмотрю и переделаю функцию. Так что сейчас дебажте сами
Alt 02.04.2009, 15:15   #25  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Lightbulb
Zitat:
Zitat von Bondonello Beitrag anzeigen
Да, пользуйтесь alert`ами, эту функцию привел как пример на основе sdk
сейчас заканчиваю проект у себя, так что пока нет свободного времени. На след неделе просмотрю и переделаю функцию. Так что сейчас дебажте сами
А ещё лучше - волшебной коммандой debugger; (при этом не забудьте включить отладку скриптов у себя в браузере).
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Alt 06.04.2009, 15:04   #26  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
не проходит короче эта строчка:
var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;

Как бы задать условие, чтобы она не выполнялась, если искомый атрибут null?
Alt 06.04.2009, 15:07   #27  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
или как задать, чтобы в строке
var errorCount = resultXml.selectNodes('//error').length;
errorCount становилось единицей в случае, если искомый атрибут null?
Alt 06.04.2009, 16:35   #28  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
А как вытащить значение атрибута с типом дата?
Alt 06.04.2009, 17:07   #29  
Bondonello ist offline
Bondonello
Kostya Afendikov
Benutzerbild von Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Registriert seit: 06.06.2008
Ort: Украина
Zitat:
Zitat von vital.mih Beitrag anzeigen
А как вытащить значение атрибута с типом дата?
Точно так же, только потом его необходимо преобразовать в необходимый для себя
вот вариант "по-быстрому"
var datec;

datec = GetAttributeValueFromID("new_entity","{63802E36-49AB-DC11-94ED-000423AF733E}","new_daterate");

var year;
var month;
var day;

year = datec.substr(0,4);
month = datec.substr(5,2);
day = datec.substr(8,2);

crmForm.all.new_mydaterate.DataValue =new Date(year,month,day);
Alt 06.04.2009, 17:16   #30  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
Zitat:
Zitat von Bondonello Beitrag anzeigen
Точно так же, только потом его необходимо преобразовать в необходимый для себя
вот вариант "по-быстрому"
var datec;

datec = GetAttributeValueFromID("new_entity","{63802E36-49AB-DC11-94ED-000423AF733E}","new_daterate");

var year;
var month;
var day;

year = datec.substr(0,4);
month = datec.substr(5,2);
day = datec.substr(8,2);

crmForm.all.new_mydaterate.DataValue =new Date(year,month,day);
все здорово, но у меня почему то дата на месяц больше. Хотя alert(month) показывает корректно...
Alt 06.04.2009, 17:51   #31  
SilentBlaze ist offline
SilentBlaze
Участник
 
1 / 10 (1) +
Registriert seit: 06.04.2009
А как присвоить Lookup-атрибут одной сущности Lookup аттрибуту другой сущности? Т.е. допустим у аккаунта есть связь c TestEntity (N:1) и у контакта есть связь с TestEntity (N:1). Как на форме создания (обновления) контакта при выборе Parent account подставить автоматически связь TestEntity аккаунта?
На OnChanged событии аттрибута parent_account я уже получил GUID TestEntity выбранного аккаунта. Осталось только присвоить crmForm.all.testentityid.DataValue значение. Но DataValue в этом случае NULL (пользователь ничего не выбрал). Кто-нибудь сталкивался с такой задачей? Есть идеи? Спасибо.
Alt 06.04.2009, 18:58   #32  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Lightbulb
Zitat:
Zitat von vital.mih Beitrag anzeigen
все здорово, но у меня почему то дата на месяц больше. Хотя alert(month) показывает корректно...
Месяцы нумеруются от 0 до 11. Об этом тут

Поэтому используйте примерно такой код:

Code:
var datec;

datec = GetAttributeValueFromID("new_entity","{63802E36-49AB-DC11-94ED-000423AF733E}","new_daterate");

var year;
var month;
var day;

year = datec.substr(0,4);
month = datec.substr(5,2) - 1;
day = datec.substr(8,2);

crmForm.all.new_mydaterate.DataValue =new Date(year,month,day);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Alt 06.04.2009, 19:04   #33  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Lightbulb
Zitat:
Zitat von SilentBlaze Beitrag anzeigen
А как присвоить Lookup-атрибут одной сущности Lookup аттрибуту другой сущности? Т.е. допустим у аккаунта есть связь c TestEntity (N:1) и у контакта есть связь с TestEntity (N:1). Как на форме создания (обновления) контакта при выборе Parent account подставить автоматически связь TestEntity аккаунта?
На OnChanged событии аттрибута parent_account я уже получил GUID TestEntity выбранного аккаунта. Осталось только присвоить crmForm.all.testentityid.DataValue значение. Но DataValue в этом случае NULL (пользователь ничего не выбрал). Кто-нибудь сталкивался с такой задачей? Есть идеи? Спасибо.
Тема заполнения лукапов уже не раз поднималась на форуме. Воспользовались бы поисковиком или SDK и нашли бы. Например такое
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Alt 14.04.2009, 09:48   #34  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
А каким образом,наоборот, присвоить атрибут из "подвязанной сущности" атрибуту "главной", ведь там нет лукапа.
Alt 14.04.2009, 14:19   #35  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Lightbulb
Zitat:
Zitat von vital.mih Beitrag anzeigen
А каким образом,наоборот, присвоить атрибут из "подвязанной сущности" атрибуту "главной", ведь там нет лукапа.
1. Из подвязанной сущности, как не крутись, а айдишик родительской - вытащить можно. Если не нет на форме, то воспользовавшись веб сервисами.
2. Выполнить апдейт полей родительской сущности по полученному айдишнику родительской записи средствами веб сервисов.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Geändert von a33ik (14.04.2009 um 15:14 Uhr)
Alt 07.07.2009, 08:39   #36  
vital.mih ist offline
vital.mih
Участник
 
114 / 10 (1) +
Registriert seit: 25.02.2009
Ort: Пермь
Кстати, так вопрос и не решился, если искомый атрибут null?
Alt 07.07.2009, 09:45   #37  
Dekan ist offline
Dekan
Участник
Benutzerbild von Dekan
 
171 / 11 (1) +
Registriert seit: 11.05.2009
Ort: Оренбург
Zitat:
Zitat von vital.mih Beitrag anzeigen
Кстати, так вопрос и не решился, если искомый атрибут null?
Я вопрос с null решил так:

telephone1= resultXml.selectSingleNode("//q1:telephone1");
if ( telephone1 !=null )
crmForm.all.telephone1.DataValue = telephone1.nodeTypedValue
else {crmForm.all.telephone1.DataValue = null}


работает.
Alt 08.09.2010, 05:49   #38  
Dicora ist offline
Dicora
Участник
 
109 / 15 (1) ++
Registriert seit: 12.07.2010
Молодцы =))

А с Гуидами в Пиклистке.... жжете.. ржал минуты 2 рассмешили =))))
Спасибо!
Alt 08.09.2010, 10:53   #39  
a33ik ist offline
a33ik
Чайный пьяница
Benutzerbild von a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.243 / 896 (36) +++++++
Registriert seit: 02.07.2008
Ort: Greenville, SC
Zitat:
Zitat von Dicora Beitrag anzeigen
Молодцы =))

А с Гуидами в Пиклистке.... жжете.. ржал минуты 2 рассмешили =))))
Спасибо!
Не совсем понял, почему посмешило. Можете объяснить?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Как получить значение поля одной сущности при обработке формы другой сущности zhenek Dynamics CRM: Разработка 25 05.07.2011 16:19
Получение атрибута из другого объекта Казарин Александр Dynamics CRM: Разработка 6 20.10.2008 18:08
Создание объекта сущности из другого объекта! SnSS Dynamics CRM: Разработка 5 29.05.2008 13:38
Отнимание одного значения от другое pkost Dynamics CRM: Разработка 2 14.03.2008 07:48
Rollup 2 и обкрытие атрибута сущности для кастомизации AHAPX1CT Dynamics CRM: Администрирование 1 23.08.2007 13:45
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 09:07 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.