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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2005, 11:58   #1  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Здравствуйте. Есть такая проблема. Если кто сможет хоть как-то помочь - скажу большое спасибо.

Итак, надо из Х++ создать запись RLS (доступ на уровни записи). Основная проблема - автоматически заполнить контейнер запрос и внести эти данные в таблицу SYSRECORDLEVELSECURITY, в которой, как я понял, хранятся все данные об RLS.

Вопрос: как это лучше сделать?

ЗЫ Если что не так написал - поправьте. Я новичек в Аксапте.
__________________
С уважением,
Олег.
Старый 02.12.2005, 12:48   #2  
Delfins_imported is offline
Delfins_imported
Участник
 
147 / 10 (1) +
Регистрация: 24.03.2004
Chto oznochajet "luche"?
Vsje zavisit ot togo, kak vi budete vvodit dannie.. cherez `GUI` ili `static`

esli static, to prosto - zapisivajem v tablicu znachenija i vsje..
esli GUI, to zachem eto nado.. esli est' uzhe Wizard...
Старый 02.12.2005, 13:02   #3  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Я не очень понимаю, как заполнять поле restriction данной таблицы. Там же вроде как храниться сам запрос. Или нет?

ЗЫ Я собираюсь написать статик джоб заполнения этой таблицы.
__________________
С уважением,
Олег.
Старый 02.12.2005, 14:02   #4  
Delfins_imported is offline
Delfins_imported
Участник
 
147 / 10 (1) +
Регистрация: 24.03.2004
A vi kod hotja bi posmotreli? Tam zhe vsje napisano, dai vse ponjatno..

Код:
		if (sysRecordLevelSecurity.restriction)
		{
			queryRun = new SysQueryRun(sysRecordLevelSecurity.restriction);
		}
		else
		{
			query.addDataSource(sysRecordLevelSecurity.tabId);
			queryRun = new sysQueryRun(query);
		}
		queryRun.saveUserSetup(false);
		queryRun.prompt();

		sysRecordLevelSecurity.restriction = queryRun.pack();
		sysRecordLevelSecurity_ds.write();
tolko vmesto prompt() pishite datasourceTable(...).addRange(...).value(...)
Старый 08.12.2005, 09:16   #5  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Ой, совсем забыл зайти и поблагодарить всех откликнувшихся.
Так, вот: искренне благодарю Delfins. Спасибо.

На самом деле я так и делал, но у меня, почему-то, для некоторых таблиц это не работало. Т.е. я все заполнял, но когда заходил в форму с РЛС и нажимал на "ЗАПРОС", то для этих таблиц у меня никакого запроса там почему-то не было. Я долго не мог понять почему. А потом случайно заметил, что у меня по-какой-то причине нет прав на редактирование этих таблиц.
__________________
С уважением,
Олег.
Старый 22.12.2005, 13:38   #6  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Чтобы не плодить новую тему, спрошу в этой.

Итак, есть некий user, который входит в 2 группы, Group1 и Group2.
Далее, есть некая Table, у которой стоит SecurityKey. У Group1 этот SK выключен, у Group2 - включен. Так вот, если настроить RLS для Group1 для Table, то при просмотре user'ом Table этот RLS игнорируется, т.е. раз у Group1 нет доступа к Table, то вроде как по мнению Аксапты и на ее RLS для этой группы смотреть не надо (может это конечно и правильно, но надо как-то избежать проверку наличия SK), а раз смотреть не надо и для Group2 RLS не настроен, то и для user никакого RLS нет. Если включить SK для Group1, то все работает.

Ну и вопрос такой: можно ли как-нибудь сделать так, чтобы при данных условиях на Table для user RLS работал, можно ли как-то избежать проверки наличия у группы SK?
__________________
С уважением,
Олег.
Старый 22.12.2005, 14:40   #7  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
А какая Axapta и какой SP?
Кстати какой смысл Использовать Group1 с отключенным доступом к Table и включенным RLS по Table?
ИМХО это по меньшей мере странно, а аксапта видимо считает это не корректным.
Старый 22.12.2005, 14:51   #8  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Axapta 3.0 CIS SP3

Смысл долго объяснять и он странный (для меня), но задачу ставил не я, мне лишь надо разобраться можно ли сделать или нет.
__________________
С уважением,
Олег.
Старый 22.12.2005, 17:22   #9  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
RLS ИМХО не работают, если к таблице не дан доступ.
Старый 22.12.2005, 17:25   #10  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Это я вижу. Вопрос в том, можно ли это обойти.
__________________
С уважением,
Олег.
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.