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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2006, 13:57   #1  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
? Как вызвать изменение Query в DS1 не вызывая метод executeQuery?
В форме источники данных DS1 и DS2 связаны типом связи FormLinkType:elayed.
В RunTime формы выполняем для DS2.linkType(FormLinkType::ExistJoin).
Как вызвать изменение Query в DS1 не вызывая метод executeQuery?
Старый 13.10.2006, 14:55   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
А как вы себе это представляете?

В первом случае у вас на сервер идут отдельные селекты по двум разним таблицам
Во втором что-то типа этого
X++:
select *
from table1
where exists(select 'x' from table2 where table1.[linkfield] = table2.[linkfield])
При этом в табличная переменная, связанная с table2 будет пустая

Не забывайте, что в FormDataSource хранится результат выборки.

PS Не совсем понятно, зачем их вообще связывать в рантайме. Добавьте к первому датасоурсу еще одну таблицу с нужной вам связью
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 13.10.2006 в 14:57.
Старый 13.10.2006, 15:17   #3  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Полезной информации, к сожалению, не получил...
Старый 13.10.2006, 15:26   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Вы опишите, что хотите получить в итоге, может не все условия показали, тогда получите полезную информацию

А ответ на ваш вопрос - нельзя это сделать
__________________
Axapta v.3.0 sp5 kr2
Старый 13.10.2006, 15:29   #5  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
602 / 167 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Цитата:
Сообщение от AndyD Посмотреть сообщение
опишите, что хотите получить в итоге
К сожалению, в данном случае, предложения об альтернативных реализациях будут мало полезны...

Последний раз редактировалось Morpheus; 13.10.2006 в 15:42.
Старый 17.10.2006, 10:26   #6  
Andrew K. is offline
Andrew K.
Участник
 
29 / 12 (1) ++
Регистрация: 02.12.2004
Адрес: Minsk
По моему ваш метод изменения линка DS1 и DS2 работать не будет... Задача эта достаточно распространенная при разработке разных фильтров, поэтому посоветую:
- оставляем DS1 (Main) и DS2 (Child) как есть с delayed
- в методе Init DS1 добавляем связанную таблицу Child, like dsChild = ds1.addDatasource(tablenum(Child)), сохраняем dsChild на уровне формы
- затем меняем JoinType в dsChild в зависимости от условий фильтра
- ds1.executeQuery обязательно - там можно и линками управлять

Внимание, подобные связки работают нормально когда связанных таблиц не более 3, затем начинаются серьезные глюки в кернеле
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как вызвать метод для поля в FormDataSource? Maxim Gorbunov DAX: Программирование 3 08.05.2007 11:28
Динамическое изменение Query() на форме makos DAX: Программирование 22 05.07.2006 16:28
Как вызвать нужный метод класса? Pawlik DAX: Программирование 5 12.01.2006 15:47
Изменение Query у некоторых пользователей Владимир Максимов DAX: Программирование 9 23.09.2005 14:57
Как вызвать метод на COMVariant? Andronov DAX: Программирование 2 06.08.2003 08:29

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

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

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