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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2009, 11:00   #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
Цитата:
Сообщение от deniska Посмотреть сообщение
А как узнать через скрипт какой пользователь сейчас или какая роль у текущего пользователя? где это храниться?
Можно использовать такой скрипт:

Код:
function UserHasRole(roleName)
{
	//get Current User Roles, oXml is an object
	var oXml = GetCurrentUserRoles();
	if(oXml != null)
	{
		//select the node text
		var roles = oXml.selectNodes("//BusinessEntity/q1:name");
		if(roles != null)
		{
			for( i = 0; i < roles.length; i++)
			{
				if(roles[i].text == roleName)
				{
     					//return true if user has this role
					return true;
				}
			}
		}
	}

	//otherwise return false
 	return false;
}

function GetCurrentUserRoles()
{
	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>" +
	" <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" +
	" <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" +
	" <q1:EntityName>role</q1:EntityName>" +
	" <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" +
	" <q1:Attributes>" +
	" <q1:Attribute>name</q1:Attribute>" +
	" </q1:Attributes>" +
	" </q1:ColumnSet>" +
	" <q1:Distinct>false</q1:Distinct>" +
	" <q1:LinkEntities>" +
	" <q1:LinkEntity>" +
	" <q1:LinkFromAttributeName>roleid</q1:LinkFromAttributeName>" +
	" <q1:LinkFromEntityName>role</q1:LinkFromEntityName>" +
	" <q1:LinkToEntityName>systemuserroles</q1:LinkToEntityName>" +
	" <q1:LinkToAttributeName>roleid</q1:LinkToAttributeName>" +
	" <q1:JoinOperator>Inner</q1:JoinOperator>" +
	" <q1:LinkEntities>" +
	" <q1:LinkEntity>" +
	" <q1:LinkFromAttributeName>systemuserid</q1:LinkFromAttributeName>" +
	" <q1:LinkFromEntityName>systemuserroles</q1:LinkFromEntityName>" +
	" <q1:LinkToEntityName>systemuser</q1:LinkToEntityName>" +
	" <q1:LinkToAttributeName>systemuserid</q1:LinkToAttributeName>" +
	" <q1:JoinOperator>Inner</q1:JoinOperator>" +
	" <q1:LinkCriteria>" +
	" <q1:FilterOperator>And</q1:FilterOperator>" +
	" <q1:Conditions>" +
	" <q1:Condition>" +
	" <q1:AttributeName>systemuserid</q1:AttributeName>" +
	" <q1:Operator>EqualUserId</q1:Operator>" +
	" </q1:Condition>" +
	" </q1:Conditions>" +
	" </q1:LinkCriteria>" +
	" </q1:LinkEntity>" +
	" </q1:LinkEntities>" +
	" </q1:LinkEntity>" +
	" </q1:LinkEntities>" +
	" </query>" +
	" </RetrieveMultiple>" +
	" </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/RetrieveMultiple");
	xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	xmlHttpRequest.setRequestHeader("Content-Length", xml.length);
	xmlHttpRequest.send(xml);

	var resultXml = xmlHttpRequest.responseXML;
	return(resultXml);
}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: AlekseyS (1), deniska (1), a__ (1).
Старый 23.03.2009, 11:10   #2  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
Спасибо.. отблагодарю
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сохраняется ли форма когда IsDirty == false? Черничкин Станислав Dynamics CRM: Разработка 2 13.12.2007 21:20
Собственная форма в MS CRM Begemot Dynamics CRM: Разработка 10 31.10.2007 09:54
форма и представления:основное, быстрого просмотра SeregaK Dynamics CRM: Функционал 0 18.07.2007 09:30

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

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

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