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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2009, 09:45   #1  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
Пользовательская форма
Добрый день! Знаю что можно в помошью "Ролей безопасности" можно настаивать доступ к объектам.. а можно ли как-нибудь настраивать доступ к полям этих объектов, т.е. один пользователь может редактировать все поля формы, а другой только одно поле?
Старый 23.03.2009, 09:53   #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
->
Цитата:
Сообщение от deniska Посмотреть сообщение
Добрый день! Знаю что можно в помошью "Ролей безопасности" можно настаивать доступ к объектам.. а можно ли как-нибудь настраивать доступ к полям этих объектов, т.е. один пользователь может редактировать все поля формы, а другой только одно поле?
Такого функционала нет в коробке. Есть коммерческие решения, например вот. Ну или писать свою реализацию такого механизма.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.03.2009, 09:58   #3  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
Такого функционала нет в коробке. Есть коммерческие решения, например вот. Ну или писать свою реализацию такого механизма.
А где писать такой механизм?
Старый 23.03.2009, 10:15   #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
->
Цитата:
Сообщение от deniska Посмотреть сообщение
А где писать такой механизм?
Например на OnLoad формы повесить скрипт вычитки ролей пользователя, проверять наличие определённой роли/ролей и в соответствии с этим - открывать/блокировать доступ к редактированию определённых полей.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.03.2009, 10:33   #5  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
А можно ли в форме подключить js?
что-нибудь на подобие этого
Код:
<script src="jquery.project.selector.js" type="text/javascript" charset="utf-8"></script>
в head страницы
Старый 23.03.2009, 10:37   #6  
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 Посмотреть сообщение
А можно ли в форме подключить js?
что-нибудь на подобие этого
Код:
<script src="jquery.project.selector.js" type="text/javascript" charset="utf-8"></script>
в head страницы
Можно вот такой код добавить в OnLoad странички:

Код:
var head = document.getElementsByTagName("head")[0];
var newScriptElement = document.createElement("<script type='text/javascript' src='jquery.project.selector.js'></script>");
head.appendChild(newScriptElement);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 23.03.2009, 10:56   #7  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
А как узнать через скрипт какой пользователь сейчас или какая роль у текущего пользователя? где это храниться?
Старый 23.03.2009, 11:00   #8  
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   #9  
deniska is offline
deniska
Участник
 
17 / 10 (1) +
Регистрация: 16.02.2009
Спасибо.. отблагодарю
Старый 23.03.2009, 12:54   #10  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Пока a33ik не увидел Ваше спасибо лучше нажмите аналогичную кнопочку
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сохраняется ли форма когда 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, время: 11:21.