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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2004, 12:46   #1  
AlexP is offline
AlexP
Участник
 
13 / 10 (1) +
Регистрация: 01.12.2004
Адрес: SPb
Про фильтры
Добрый день.
Объясните пожалуйста про то, как в аксапте программируются фильтры)
Так например. Есть таблицы: Table1(fieldNum1, fieldNum2, UserId),
Users(userID)
как по UserId отфильтровать строки в таблице Table1 при входе пользователя.
И не будут ли они слетать, при выборе пользователем фильтра по др. признаку..например fieldNum2.
Заранее большое спасибо..
Старый 02.12.2004, 13:09   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
1) RLS
2) В executeQuery:
query.findRange(MyTable, UserId).value(curuserid());


С Уважением,
Георгий.
Старый 02.12.2004, 13:17   #3  
AlexP is offline
AlexP
Участник
 
13 / 10 (1) +
Регистрация: 01.12.2004
Адрес: SPb
А что такое RLS?
Старый 02.12.2004, 14:09   #4  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Record Level Security - Ограничение доступа по записям.

Администрирование - настройки - контроль доступа.

С Уважением,
Георгий
Старый 02.12.2004, 15:52   #5  
AlexP is offline
AlexP
Участник
 
13 / 10 (1) +
Регистрация: 01.12.2004
Адрес: SPb
как-то запутано..
пришел к выводу, что это попроще
QueryBuildRange qbrAuthor;
if (!boolIsUserAdmin)
{
qbrAuthor = SBR_Dev_Customs_ds.query().dataSourceTable(tablenum(SBR_Dev_Customs)).addRange(fieldNum(SBR_Dev_Customs, Author));
qbrAuthor.value(queryValue(curuserid()));
qbrAuthor.status(RangeStatus::Hidden);
}

хотя кто знает-кому ака проще)
Но все равно спасибо-хоть метод нашел куда вставить надо все это))
Старый 02.12.2004, 16:19   #6  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Вам же сказали:

addRange - 1 раз, в init'e

а потом - findRange!!
Иначе потом при каждом новом запросе у вас будет добавляться новый range!

Или 2й способ:
в classDeclaration: QBRange myRange
в init: myRange = MyTable_ds.query().dataSourceNo(1).addRange(fieldnum(MyTable_FLX, My_Field));
myRange.value(queryvalue(value));
в executeQuery
myRange.value(queryvalue(value));

С Уважением,
Георгий
Старый 02.12.2004, 16:24   #7  
max_woody_ru is offline
max_woody_ru
Участник
 
61 / 11 (1) +
Регистрация: 27.10.2004
Адрес: Москва
При твоем способе тебе придется вставлять дополнительные ограничения в квери повсюду где выводится твоя таблица (хоть на экран, хоть на бумагу). А RLS - это на века
__________________
C уважением, Максим
Старый 02.12.2004, 16:35   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Вот-вот.

К тому же, рэнж можно убрать.

С Уважением,
Георгий.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтры Asking questions DAX: Программирование 4 29.09.2010 10:56
фильтры, которые не видны через Grid chanchala DAX: Программирование 20 07.10.2008 12:30
Поле для ввода критерия фильтрации Андрей К. DAX: Программирование 16 09.08.2007 10:11
Сортировка и/или фильтры в lookup форме - howto. Maximin DAX: Программирование 5 07.06.2005 11:06
Сбрасываются фильтры gudzon DAX: Программирование 7 25.01.2005 12:52

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

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

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