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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.04.2009, 11:08   #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
Lightbulb
Цитата:
Сообщение от O_Chiner Посмотреть сообщение
Будьте добры!
Вот такой код:
Код:
function GetBUId(userid)
{
	if (userid == null)
		return null;

	var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	xmlhttp.open("POST", "/mscrmservices/2007/crmservice.asmx", false);
	xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	xmlhttp.setRequestHeader("SOAPAction", "http://schemas.microsoft.com/crm/2007/WebServices/Fetch");

	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>" +
	"<Fetch xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+ 
	"<fetchXml> "+
	"&lt;fetch mapping='logical'&gt; " +
	"&lt;entity name='systemuser'&gt; " +
	"&lt;attribute name='businessunitid' /&gt; " +
	"&lt;filter type='and'&gt; " +
	"&lt;condition attribute='systemuserid' operator='eq' value='" + userid +"'/&gt; " +
	"&lt;/filter&gt; " +
	"&lt;/entity&gt; " +
	"&lt;/fetch&gt;"+
	"</fetchXml>"+ 
	"</Fetch>"+ 
	"</soap:Body>"+ 
	"</soap:Envelope>";

	xmlhttp.setRequestHeader("Content-Length", xml.length);
	xmlhttp.send(xml);

	var resultSet = new String(xmlhttp.responseXml.text);
	resultSet.replace('&lt;','<');
	resultSet.replace('&gt;','>');
	var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.async=false;
	xmlDoc.loadXML(resultSet);

	var lookupitem = new Object();
	lookupitem.typename = "businessunit";
	lookupitem.id = xmlDoc.selectSingleNode("//resultset/result/businessunitid").nodeValue;
	lookupitem.name = xmlDoc.selectSingleNode("//resultset/result/businessunitid").attributes.getNamedItem("name").text;
	retutn lookupItem;
}

if (crmForm.all.ownerid.DataValue != null
    && crmForm.all.ownerid.DataValue.length != 0
    && crmForm.all.ownerid[0] != null)
{
	var lookupData = new Array();
	lookupData[0] = GetBUId(crmForm.all.ownerid[0].id);
	crmForm.all.new_businessunitid.DataValue = lookupData;
}
Чтобы не забыть напишу, что у пользователя должны быть права на Assign To к сущности BusinessUnit иначе даже такое присвоение никакого результата не даст. Уже сталкивался. Удачи.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: O_Chiner (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как программно задавать обязательность поля на форме при заполнении? Bakai Madybaev Dynamics CRM: Функционал 6 10.10.2008 11:46
Заблокировать все поля на форме. IgorF Dynamics CRM: Разработка 12 07.04.2008 18:28
Как по названию поля определить название таблицы? Alexey-IT Dynamics CRM: Функционал 8 25.06.2007 13:06
Не отображаються закладки "Продажа" и "Маркетинг" pkost Dynamics CRM: Администрирование 1 31.10.2006 20:30

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

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

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