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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2013, 21:26   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Не надо менять LinkType - это не работает. Если нужен отключаемый фильтр по дополнительному datasource'у, управляйте "включенностью" соотв. datasource'а в запросе с помощью свойства enabled:
X++:
QueryBuildDataSource qbds;
;
// ...
qbds = InventTable_QR.query().dataSource(tablenum(ItemsCompat));
qbds.enabled(FilterCheckBox.value());
InventTable_DS.research();
За это сообщение автора поблагодарили: NataLee (1), Logger (1), Helm (1), Vlad_ (1).
Старый 23.06.2013, 16:09   #2  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Как вариант для решения можно попытаться пойти по следующему пути:
Убрать из формы ItemsCompat.
При открытии формы сохранить Query на InventTable который будет стандартным.
При нажатии на checkbox вызвать например класс, в который отправится первоначальный Query.
В классе сделаете к dataSource InventTable - adddatasource ItemsCompat и join тот который надо.
Измененный Query вернуть в форму, потом InventTable_ds.query( Query ) и ExecuteQuery. Должно сработать.
Что бы вернуть обратно, просто сделать InventTable_ds.query( Query ), где Query тот сохраненный при открытии.

Однако может появится проблема, если возникнет необходимость отображать поля из таблицы ItemsCompat. Ее можно решить с помощью display методов. а это влечет за собой свои проблемы.
За это сообщение автора поблагодарили: NataLee (1).
Старый 23.06.2013, 20:58   #3  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от sparco Посмотреть сообщение
Как вариант для решения можно попытаться пойти по следующему пути:....
вариант плох хотя бы тем, что сбрасывает пользовательские фильтры и сортировки
gl00mie посоветовал абсолютно работоспособный и проверенный годами вариант без побочных эффектов - добавить еще один DS по ItemsCompat (можно сразу в дизайн, можно программно) по exists join и управлять его включением
За это сообщение автора поблагодарили: NataLee (1).
Старый 23.06.2013, 21:43   #4  
Helm is offline
Helm
Участник
 
15 / 11 (1) +
Регистрация: 24.09.2009
Thumbs up
Да, всё помогло. Спасибо большое, gl00mie!
Не знал про Enabled, позорище(
Старый 24.06.2013, 10:46   #5  
sparco is offline
sparco
Участник
Самостоятельные клиенты AX
 
44 / 21 (1) +++
Регистрация: 10.10.2011
Адрес: Москва
Цитата:
вариант плох хотя бы тем, что сбрасывает пользовательские фильтры и сортировки
Да, вы правы, спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Not exists join в форме запроса pedrozzz DAX: Программирование 3 08.06.2011 15:24
Динамическое создание DataSource на форме, и добавление элементов дизайна. epack DAX: Программирование 12 24.11.2010 15:31
Как join'ить временную таблицу и query на форме IvanS DAX: Программирование 1 07.05.2008 09:49
Динамическое изменение Query() на форме makos DAX: Программирование 22 05.07.2006 16:28
JOIN программно на форме не работает rohlenko DAX: Программирование 2 31.03.2005 15:41
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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