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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2007, 09:35   #21  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
oxbacc, а где проблема-то ?
Вы же сами настроили видимость производственных заказов таким образом, что будут видеться только те, у которых в спецификации есть хоть одна строка с указанной складской аналитикой(Произв. заказы -> Спецификация производства -> Складская аналитика - именно этим и сделали, воспроизведите подобное в форме и то же самое увидите).
Если Вам нужно видеть ВСЕ производственные заказы, но ограничить их спецификации по какой-то складской аналитике - настраивайте RLS для спецификаций, не трогая сами заказы.

Последний раз редактировалось TasmanianDevil; 24.04.2007 в 10:19.
Старый 01.08.2007, 12:01   #22  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Выложил код на аксаптапедию: предлагаю там его и вести
Старый 08.11.2009, 17:04   #23  
anykey is offline
anykey
Участник
 
35 / 26 (1) +++
Регистрация: 04.12.2006
DAX2009. Попробовал использовать этот код для отображения айтемов принадлежащих определенным кост группам. В итоге столкнулся с проблемой при установке рилейшенов в тру -
childDS.relations(true);

Суть можно увидеть на примере джобы
X++:
QueryBuildDataSource    qbdsInvTable, qbdsBOMCostGroup;
    Query                   query = new Query();
    ;
    qbdsInvTable = query.addDataSource(tablenum(InventTable));
    qbdsBOMCostGroup = qbdsInvTable.addDataSource(tablenum(BOMCostGroup));
    qbdsBOMCostGroup.relations(true);

    info(qbdsInvTable.toString());
Я рассчитывал получить нечто, наподобии:
SELECT * FROM InventTable JOIN * FROM BOMCostGroup WHERE InventTable.CostGroupId = BOMCostGroup.CostGroupId AND (0 = BOMCostGroup.CostGroupType OR 1 = BOMCostGroup.CostGroupType)

Это баг или я чего-то не понимаю? Спасибо за помощь
Старый 09.11.2009, 09:26   #24  
maximka is offline
maximka
Сам.AX
Аватар для maximka
Самостоятельные клиенты AX
 
96 / 24 (1) +++
Регистрация: 26.10.2006
Адрес: Тюмень
?
Штука клевая, но столкнулись с проблемой.
AX 4.0
Накладываем RLS на дочернюю таблицу


у пользователя имеем форму с работающим фильтром по коду номенклатуры, но не работающим по Складу. Сортировка хоть и есть в меню, но эффекта не дает.


Если в предложенном коде изменить
X++:
                                for(k=1;k<=qbdsRestriction.rangeCount();k++)
                                {
                                    qbrSecurity = qbdsChild.addRange(qbdsRestriction.range(k).field());
                                    qbrSecurity.value(qbdsRestriction.range(k).value());
                                    qbrSecurity.status(RangeStatus::Hidden);
                                    qbrSecurity.
                                }
на
X++:
                                    qbrSecurity.status(RangeStatus::Open);
и перезаписать RLS, то фильтровать можно, но тогда и наложенный в RLS range можно удалить.
Может есть какое-то решение? Почему фильтр по полям верхней таблице отрабатывает на ура, а на дочерние - нет?
__________________
ѣ
Старый 09.11.2009, 11:09   #25  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Мне в личные сообщения написали некоторые вопросы по поводу приведенного в данной теме кода. Простите, в данный момент времени нет возможности разбираться. Но могу сказать, что мы у себя некоторое время назад решили от данной модификации отказаться ввиду как раз возникающих и заранее неучтенных нюансов при сколько-нибудь сложных запросах. В простейших случаях вроде бы все работает, но заранее сложно предсказать, где в следующий раз возникнет проблема. Пользователи, по мере того, как начинают знакомиться с Аксаптой, выдвигают все меньше и меньше требований, которые противоречат возможностям стандартной Аксапты. Они к ней привыкают со всеми ее плюсами и минусами. То есть, на том этапе, три года назад, данная модификация была полезна. Клиенты довольны, все работает. Но, как стало со временем понятно, это было не более чем временное решение. До тех пор, пока пользователи не повзрослели. От лукавого все такие модификации. Механизм РЛС встроен в ядро и попытка что-то с ним сделать на более высоком уровне - это в любом случае только приближение. И нет никакой гарантии, что при переходе на очередной сервиспак, например, ничего не поменяется. Впрочем, может его и можно довести до ума. Но нам показалось, что менее затратно вообще отказаться от данной модификации. Что мы и сделали.
Старый 12.03.2010, 00:48   #26  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
для тех кто еще использует данный код 1 маленькое замечание.
такой RLS программно не отключается (то есть приходится делать лишние телодвижения, чтобы форма могла работать в 2х режимах с RLS и без оного)

либо добавить в начало проверку
if(q.recordLevelSecurity())
Старый 12.03.2010, 07:19   #27  
maximka is offline
maximka
Сам.AX
Аватар для maximka
Самостоятельные клиенты AX
 
96 / 24 (1) +++
Регистрация: 26.10.2006
Адрес: Тюмень
Lightbulb Расширенный RLS
Мы все-таки пошли дальше: чтобы использовать RLS по полной в случаях со множеством связанных таблиц, открыли возможность накладывать RLS на представления, создали представления в AOT'е и на сервере уже подкорректировали их так, чтобы в них присутствовали все нужные поля из этих таблиц. Таким образом, RLS можно накладывать какой угодно сложности, фильтры по полям работают адекватно. Единственный минус: правка вьюх в SQL, но если брать во внимание, что в аксапте реализация представлений уж очень убогая, то это не грех.
__________________
ѣ
Старый 07.11.2013, 12:29   #28  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от maximka Посмотреть сообщение
Штука клевая, но столкнулись с проблемой.
Мы это совсем не так решали Макс, мы решали это добавлением еще одной таблицы и работало прекрасно.
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
Теги
faq, rls, законченный пример, полезное, права доступа на уровне записей (rls), связанная таблица, связанные сущности

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Gustav: Unsorted, или Записки DAX-дилетанта - II Gustav DAX Blogs 39 20.05.2009 15:34
Как проверить наличие хотя бы одной записи в подчиненной таблице. demon46 DAX: Программирование 5 07.03.2008 09:41
RLS в Axapta 3.0 Peter Savintsev DAX: Функционал 0 14.07.2003 10:55
Торможение Аксапты - правда или так и должно?. ddadream DAX: Функционал 4 06.05.2003 09:53
[AXAPTA] Пересчет себестоимости. - Неужели это и должно быть так долго?? andrue DAX: Функционал 4 14.08.2002 19:49

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

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

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