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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.12.2011, 14:41   #1  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Pustik Посмотреть сообщение
привязанных к одной и той же временной таблице.
Т.е. в свойствах датасорсов вы указали одно и тоже имя временной таблиц, и не забыли сделать setTmpData? Потому что без setTmpData два экземпляра временных таблиц никак не связаны друг с другом.
Старый 21.12.2011, 15:11   #2  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Потому что без setTmpData два экземпляра временных таблиц никак не связаны друг с другом.
Я знаю, что без этого это два разных объекта. У меня тупой пример, где 2 датасорса привязаны к одной таблице. Можно даже обойтись без кнопочки. Допустим у нас временная таблица называется TestTmpTable. На форме ничего кроме 2-ух датасорсов и 2-ух гридов, настроенных так как я описал выше. Можно описать одну переменную в форме TestTmpTable _TestTmpTable; , в ините написать такое :
X++:
    _TestTmpTable.Field1 = '111';
    _TestTmpTable.Field2 = '111';
    _TestTmpTable.insert();
    _TestTmpTable.Field1 = '222';
    _TestTmpTable.Field2 = '222';
    _TestTmpTable.insert();

    TestTmpTable.setTmp();
    TestTmpTable.setTmpData(_TestTmpTable);

    TestTmpTable_ds.executeQuery(); // первый датасорс
    TestTmpTable1_ds.executeQuery(); // второй датасорс
все равно работать не будет. Показывать записи будет только первый грид
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 21.12.2011, 15:17   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Pustik Посмотреть сообщение
все равно работать не будет. Показывать записи будет только первый грид
Ну вы же только первому сделали setTmpData. Сделайте ещё
X++:
TestTmpTable1.setTmpData(_TestTmpTable);
За это сообщение автора поблагодарили: Pustik (3).
Старый 21.12.2011, 15:24   #4  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Ну вы же только первому сделали setTmpData. Сделайте ещё
X++:
TestTmpTable1.setTmpData(_TestTmpTable);
Опередили , торможу .
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 21.12.2011, 15:19   #5  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
блин, вот так будет работать
X++:
TestTmpTable.setTmpData(_TestTmpTable);
TestTmpTable1.setTmpData(_TestTmpTable);
Хоть и указана одна таблица у обоих датасорсов он не понимает ее во втором.
Значит созданные 2 датасорса и привязанные к одной временной таблице, это тоже 2 разных экземпляра, так же как и объявленные две переменные на одну и тоже таблицу.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 21.12.2011 в 15:21.
Старый 21.12.2011, 15:27   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,449 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Pustik Посмотреть сообщение
Хоть и указана одна таблица у обоих датасорсов он не понимает ее во втором.
В общем случае имя датасурса (имя переменной) может не совпадать с именем таблицы (именем типа данных). SetTmpData работает не с абстрактной таблицей-типом, а с конкретными экземплярами-переменными.
Старый 21.12.2011, 15:42   #7  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
В общем случае имя датасурса (имя переменной) может не совпадать с именем таблицы (именем типа данных). SetTmpData работает не с абстрактной таблицей-типом, а с конкретными экземплярами-переменными.
У меня была задача в двух гридах отобразить один и тот же пакет данных, только с разными критериями. Весь пакет данных собирается во временную табличку. Я изначально подумал, что указав одну и ту же таблицу в разных датасорсах я ее легко решу, и она у меня заработает так же, как это работает и на обычных таблицах. Без setTmpData не обойтись. А ведь делал такое когда-то . Давно с временными не работал. Все больше на память и кэш налегаем.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Group by и временная таблица S.Kuskov DAX: Программирование 31 16.01.2015 10:25
dataSetLookup(), временная таблица и Query rDenis2 DAX: Программирование 3 19.05.2010 00:22
Временная таблица Antoncheg DAX: Программирование 21 15.08.2008 18:25
select sum(amount) from временная таблица ATimTim DAX: Программирование 6 11.06.2004 14:16
next и временная таблица Dron AKA andy DAX: Программирование 3 24.04.2003 16:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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