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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2009, 17:04   #1  
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   #2  
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 можно удалить.
Может есть какое-то решение? Почему фильтр по полям верхней таблице отрабатывает на ура, а на дочерние - нет?
__________________
ѣ
Старый 07.11.2013, 12:29   #3  
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, время: 00:49.